{"id":23870015,"url":"https://github.com/bropenguin847/python-learning","last_synced_at":"2026-04-13T15:32:24.059Z","repository":{"id":261885407,"uuid":"885630922","full_name":"bropenguin847/Python-Learning","owner":"bropenguin847","description":"Learning Python for Scientific Programming. Intended for beginners with some knowledge of Python.","archived":false,"fork":false,"pushed_at":"2025-02-14T10:08:23.000Z","size":4826,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-14T11:23:44.843Z","etag":null,"topics":["array-manipulations","convolution","jupyter","matlab","matplotlib-pyplot","numpy","pandas-python","pep8","python","python3","scientific-programming","scipy","spyder-ide","vscode"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bropenguin847.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-09T01:33:14.000Z","updated_at":"2025-02-14T10:08:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"00134ab9-0a00-4ab5-b2c8-b96c94a7b711","html_url":"https://github.com/bropenguin847/Python-Learning","commit_stats":null,"previous_names":["bropenguin847/python_learning"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bropenguin847%2FPython-Learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bropenguin847%2FPython-Learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bropenguin847%2FPython-Learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bropenguin847%2FPython-Learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bropenguin847","download_url":"https://codeload.github.com/bropenguin847/Python-Learning/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240215621,"owners_count":19766446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["array-manipulations","convolution","jupyter","matlab","matplotlib-pyplot","numpy","pandas-python","pep8","python","python3","scientific-programming","scipy","spyder-ide","vscode"],"created_at":"2025-01-03T13:33:54.815Z","updated_at":"2025-11-13T15:03:17.053Z","avatar_url":"https://github.com/bropenguin847.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📖 Python Learning 🚀\nFor **Scientific Programming Course** which introduces the fundamentals of Scientific Programming.\nThe focus is on programming fundamentals, algorithm implementation, program design, and visualization, aiming to develop skills in scientific computing along with tools and techniques for solving engineering challenges.\n\u003cbr\u003e\n\nThere are 12 chapters in Scientific Programming course:\n- Chapter 1: Overview of Languages\n- Chapter 2: Introduction to Programming Platform (Python)\n- Chapter 3: Complex Data Type\n- Chapter 4: Control FLow\n- Chapter 5: Functions\n- Chapter 6: Input \u0026 Output\n- Chapter 7: Debugging [Excluded]\n- Chapter 8: Graphics\n- Chapter 9: Data Interpolation\n- Chapter 10: Polynomials\n- Chapter 11: Data Analytics\n- Chapter 12: Object Oriented Programming (OOP) [Excluded]\nThe notes for the excluded slides will still be provided\n\u003cbr\u003e\n\n🐍🐍🐍\n\nThis repo is currently used as my personal notes, with scripts to aid my learning.\n\nI would like to keep this as my way of learning how to maintain a repo, make documentation that is neat and user friendly.\n\nIn the future, perhaps I will make a wiki page for all the shortcuts to learn Python.\n\n---\n## [**Notes** ✍️](https://github.com/bropenguin847/Python-Learning/tree/main/Notes)\nContains notes for each chapter. Notes will be continually updated.\nFor array notes, contain specific notes regarding numpy arrays, numpy functions and so on.\nFurther references can be found in the appendix.\n\nAlso included a very basics for absolute beginners about the terms used daily.\n\n---\n## [Exercises ᕙ( •̀ ᗜ •́ )ᕗ](https://github.com/bropenguin847/Python-Learning/tree/main/exercises)\nIn exercises folder, contain exercises for python, such as array manipulation, bubble sort \nand mistakes that I have made during my tests\n(regretting life)\n\n---\n## [Assignment 📚](https://github.com/bropenguin847/Python-Learning/tree/main/Assignment)\nIn the assignment folder, contains 3 tasks. All requires using Python to extract data from csv file using Python libraries such as Pandas.\n\nIn all the .py file, the problem scenario's are stated on the top.\ndatastat_module is a custom Python file that contains all the functions that can help out with the other files. It is essentially a custom library.\n\nFor the data in Assignment, outliers and missing values have been added in the .csv files.\n\n---\n## [Quiz](https://github.com/bropenguin847/Python-Learning/tree/main/Quiz)\nIn this folder, There are several questions from my quiz in class. Quiz 1 and Quiz 2 are very similar, with almost same way to solve the problems, just using different datas. A good way to learn how to read xlsx file using python and plot graphs.\nDatas are included in the folder for each question.\n\n---\n## [Final Exam 💯](https://github.com/bropenguin847/Python-Learning/tree/main/Final%20Exam)\nContains tips for final exam. Have 4 questions, each located in 4 .py files.\nDocstring in each file explains the details of the question.\n\n---\n## Scripts 📝\nAll the folders labeled with Chapter contain scripts for each chapter. Some have xlsx or csv files used as data. Feel free to try it out.\n\nSome Python files are combined together to reduce clutter and because the codes are very similar.\nSuch as example1\u00262 are combination of example1 and example2 in Chapter 4.\n\nIn Chapter 8, the folder 'Signals' is for Signals and System course. It's an assignment, the code is an alternative to plotting graphs using MatLab. However, a MatLab version of the code is also available.\nThere is also another folder called Class Activity which includes solutions from Asynchronous Class Activity questions.\n\nChapter 7 (Debugging) and Chapter 12 (OOP) is not included in this repo, but I will try to find the notes for both of those chapter.\n\nAdditional links for Debugging and OOP:\u003cbr\u003e\n[Debugging in VS Code](https://www.youtube.com/watch?v=b4p-SBjHh28)\u003cbr\u003e\n[OOP](https://www.youtube.com/watch?v=JeznW_7DlB0)\u003cbr\u003e\n\n---\n## Setup\nThis course uses Python as its high level programming language with various libraries such as NumPy and Matplotlib, with [VSCode as IDE](https://code.visualstudio.com/download).\nA few setups are required when programming Python using VSCode. [Here are the steps](https://code.visualstudio.com/docs/languages/python).\nUsers will need to manually install Python and the [libraries](#libraries-) as well.\n\n[Enable variable explorer in VSCode](https://stackoverflow.com/questions/69240557/does-vs-code-have-variable-explorer-object-like-we-have-it-in-spyder)\n\nAlternatively, [SpyderIDE](https://www.spyder-ide.org/) can be used. Spyder IDE offers an integrated environment combining an editor, console, and variable explorer, making it ideal for scientific computing. It supports data visualization, efficient debugging, and preinstalled with libraries like NumPy, Pandas, and Matplotlib.\n\n|IDE|Advantages|Disadvantages|\n|---|---|---|\n|VSCode|Vast library of extensions, built-in version control, versatile for various programming languages|Steep learning curve, manual setup for each language|\n|Spyder|Strong focus on scientific programming, integrated variable explorer and plotter, easy to use|Limited extensions, less versatile|\n\n\nEvery Python file is saved in .py file format. Conventionally, Python files follow the camel_case naming style.\u003cbr\u003e\nUse #%% to create seperate cells in code to run them individually.\nTo create an interactive notebook, create a file that ends with \".ipynb\"\n\n### Pick your poison and learn Python ( ◡̀_◡́)ᕤ\n\n---\n## Libraries 📖\nNumpy, Matplotlib, Pandas \u0026 SciPy. With links for official documentation.\n```python\npython -m pip install numpy\npython -m pip install matplotlib\npython -m pip install pandas\npython -m pip install scipy\n```\n[🎲 NumPy documentation](https://numpy.org/doc/stable/user/absolute_beginners.html)\u003cbr\u003e\n[📈 MatPlotLib documentation](https://matplotlib.org/stable/index.html)\u003cbr\u003e\n[🐼 Pandas Documentation](https://pandas.pydata.org/docs/index.html)\u003cbr\u003e\n[🐍 SciPy Documentation](https://docs.scipy.org/doc/scipy/tutorial/index.html#user-guide)\u003cbr\u003e\n\n[NumPy Tutorial](https://www.w3schools.com/python/numpy/default.asp)\u003cbr\u003e\n[Matplotlib Tutorial](https://www.w3schools.com/python/matplotlib_intro.asp)\u003cbr\u003e\n[Pandas Tutorial](https://www.w3schools.com/python/pandas/default.asp)\u003cbr\u003e\n[SciPy Tutorial](https://www.w3schools.com/python/scipy/scipy_intro.php)\u003cbr\u003e\n\n---\n## Appendix 📌\nCheatsheet for subscripting and operator precedence\n\u003cimg src=\"images\\syntax_reference.png\" alt=\"syntax_reference\"\u003e\u003cbr\u003e\n\u003cimg src=\"images\\appendix1.png\" alt=\"subscripting\"\u003e\u003cbr\u003e\n\u003cimg src=\"images\\appendix2.png\" alt=\"operator precedence\"\u003e\u003cbr\u003e\n\u003cimg src=\"images\\extra_appen.png\" alt=\"extra_appen\"\u003e\u003cbr\u003e\n\u003cimg src=\"images\\special_character.png\" width=\"600\" height=\"400\" alt=\"Special Character\"\u003e\u003cbr\u003e\n\u003cimg src=\"images\\unicode_symbol.png\" width=\"600\" height=\"400\" alt=\"Unicode Symbol\"\u003e\u003cbr\u003e\n\nAll the colors for matplotlib\u003cbr\u003e\n[Simple matplotlib markers, line style and color](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html)\u003cbr\u003e\n[🔴🔵🟡matplotlib colors🟢🟠🟣](https://matplotlib.org/stable/gallery/color/named_colors.html#css-colors)\u003cbr\u003e\n\n[Python SpeedSheet](https://speedsheet.io/s/python)\u003cbr\u003e\n\nHow to write clean Python code\u003cbr\u003e\n[Pep8 Style Guide for Python Code](https://pep8.org/)\u003cbr\u003e\n\n---\n## For beginners / Helpful Links\n[CS50 Introduction to Python](https://www.youtube.com/playlist?list=PLhQjrBD2T3817j24-GogXmWqO5Q5vYy0V)\n\n[Python explained simply](https://www.youtube.com/watch?v=x7X9w_GIm1s)\n\n[Python Full Course for Beginners by Mosh Hamedani](https://www.youtube.com/watch?v=_uQrJ0TkZlc)\n\n[Python in 1 hour by Mosh Hamedani](https://www.youtube.com/watch?v=kqtD5dpn9C8)\n\n[Python Beginners by NeetCode (follow-along)](https://www.youtube.com/watch?v=s3KhqPjBPaQ)\n\n[Python Exercises](https://www.w3schools.com/python/python_exercises.asp)\u003cbr\u003e\n\n[Python Roadmap](https://roadmap.sh/python)\u003cbr\u003e\n\n[Python for coding interviews](https://www.youtube.com/watch?v=0K_eZGS5NsU)\u003cbr\u003e\n\n[Online Python Interpreter](https://www.onlinegdb.com/online_python_compiler)\n\n[Python Online Game Tutorial Playlist](https://www.youtube.com/playlist?list=PLzMcBGfZo4-kR7Rh-7JCVDN8lm3Utumvq)\n\n[Data Analysis with Python Full Course](https://www.youtube.com/watch?v=r-uOLxNrNk8)\u003cbr\u003e\n\n\u003cbr\u003e\n[Awesome ChatGPT prompts](https://github.com/f/awesome-chatgpt-prompts)\n\n[ChatPGT prompts for writing and generating codes](https://dev.to/techiesdiary/chatgpt-prompts-for-writing-and-generating-codes-59kf)\n\n### [A Comprehensive Guide to Using ChatGPT Prompts for Coding Tasks](https://www.learnprompt.org/chat-gpt-prompts-for-coding/)\n\n---\n## Feel free to raise any issues if you found any mistakes or outdated information in this repo. Have a nice journey into the world of Python. All the best ᯓ★!!\n### *ੈ✩‧₊˚༺☆༻*ੈ✩‧₊˚","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbropenguin847%2Fpython-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbropenguin847%2Fpython-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbropenguin847%2Fpython-learning/lists"}