# Python 101 - Python for Beginners ![python.org logo](https://www.python.org/static/community_logos/python-logo-master-v3-TM.png) [![License](https://img.shields.io/github/license/Python-Crash-Course/Python101)](https://github.com/Python-Crash-Course/Python101/blob/master/LICENSE) [![GitHub stars](https://img.shields.io/github/stars/Python-Crash-Course/Python101)](https://github.com/Python-Crash-Course/Python101/stargazers) [![Issues Open](https://img.shields.io/github/issues-raw/Python-Crash-Course/Python101)](https://github.com/Python-Crash-Course/Python101/issues) [![Issues Closed](https://img.shields.io/github/issues-closed-raw/Python-Crash-Course/Python101)](https://github.com/Python-Crash-Course/Python101/issues) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/dwyl/esta/issues) [![Last Commit](https://img.shields.io/github/last-commit/Python-Crash-Course/Python101)](https://github.com/Python-Crash-Course/Python101/commits/master) [![Contributors](https://img.shields.io/github/contributors/Python-Crash-Course/Python101)](https://github.com/Python-Crash-Course/Python101/graphs/contributors) This GitHub repository contains material for a beginner Python course held in COWI Lyngby during 2019/2020. Check out its [GitHub page](https://python-crash-course.github.io/Python101/). If you don't have Python installed please check out the [Python environment installation guideline](https://python-crash-course.github.io/Python101/Installation/installation_guide.html). ## Sessions Notes and Exercises Descriptions and exercises for each session are in the format of Jupyter Notebooks. The links below provide convenient ways to view the notebooks for each session. In the *code* tab of this repository there will be a folder for each session. In case an exercise requires additional files like csv files or scripts, they will be present there. * [Session 0 - Warm-up exercises](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%200%20-%20Introduction/Session%200%20-%20Exercises.ipynb) (Download introduction PowerPoint [here](https://github.com/Python-Crash-Course/Python101/raw/master/Session%200%20-%20Introduction/Session%200%20-%20Introduction.pptx)) * [Session 1 - Data Types](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%201%20-%20Data%20Types/Session%201%20-%20Data%20Types.ipynb) * [Session 2 - Data Structures](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%202%20-%20Data%20Structures/Session%202%20-%20Data%20Structures.ipynb) * [Session 3 - Functions](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%203%20-%20Functions/Session%203%20-%20Functions.ipynb) * [Session 4 - Plotting with matplotlib](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%204%20-%20Plotting/Session%204%20-%20Plotting.ipynb) * [Session 5 - DataFrames](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%205%20-%20Dataframes/Session%205%20-%20Dataframes.ipynb) * [Session 6A - Practical Exercise](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%206%20-%20Practical_Exercise/Session%206A%20-%20Exercise.ipynb) * [Session 6B - Practical Exercise](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%206%20-%20Practical_Exercise/Session%206B%20-%20Exercise.ipynb) * [Session 7 - Coordinate Transformation](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%207%20-%20Coordinate%20Transformation/Session%207%20-%20Coordinate%20Transformation.ipynb) * [Session 8 - Interpolation](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%208%20-%20Exercise%20(Interpolation)/Session%208%20-%20Exercise%20(Interpolation).ipynb) * [Session 9 - Heatmaps and Merging Operation](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%209%20-%20Heatmaps%20and%20merging%20operation/Session%209%20-%20Heatmaps%20and%20merging%20operations.ipynb) ## Session Exercise Solutions * Session 0 - Introduction (No solutions) * Session 1 - Data Types (No solutions) * [Session 2 - Data Structures](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%202%20-%20Data%20Structures/Session%202%20-%20Exercise%20solutions.ipynb) * [Session 3 - Functions](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%203%20-%20Functions/Session%203%20-%20Exercise%20Solutions.ipynb) * [Session 4 - Plotting](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%204%20-%20Plotting/Session%204%20-%20Exercise%20Solutions.ipynb) * [Session 5 - DataFrames](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%205%20-%20Dataframes/Session%205%20-%20Exercise%20Solutions.ipynb) * [Session 6A - Exercise (shear key plots)](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%206%20-%20Practical_Exercise/Session%206A%20-%20Exercise%20Solutions.ipynb) * [Session 6B - Exercise (bending moment plots)](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%206%20-%20Practical_Exercise/Session%206B%20-%20Exercise%20Solutions.ipynb) * [Session 7 - Coordinate Transformation](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%207%20-%20Coordinate%20Transformation/Session%207%20-%20Exercise%20solutions.ipynb) * [Session 8 - Interpolation](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%208%20-%20Exercise%20(Interpolation)/Session%208%20-%20Exercise%20Solutions.ipynb) * [Session 9 - Heatmaps and Merging Operations](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%209%20-%20Heatmaps%20and%20merging%20operation/Session%209%20-%20Exercise%20Solutions.ipynb) ## Course Notes Some notes have been prepared for the course, but is still work in progress: [Course Notes (work in progress)](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Course%20Notes/Python%20Course%20Notes.ipynb) These notes have some content that overlaps with the notes for each session, but is in general a more overall description. It also contains more detailed explanations of some topics that did not fit into the session notes. ## Useful Links ### General * [PEP8 (Style guide for Python code)](https://www.python.org/dev/peps/pep-0008/) * [Online interpretor (write code without installing an editor)](https://www.onlinegdb.com/online_python_interpreter#) ### Beginner Tutorials * [Interactive Tutorial from DataCamp](https://www.datacamp.com/courses/intro-to-python-for-data-science) ### Videos * [Corey Schafer](https://www.youtube.com/channel/UCCezIgC97PvUuR4_gbFUs5g) * Videos with very clear and beginner friendly explanations of programming. Most of the videos focus on Python. Go to playlists and find the beginner tutorials to get started. * [Sentdex](https://www.youtube.com/user/sentdex) * Videos on many topics ranging from beginner to advanced. ### Git and GitHub * [What is GitHub?](https://www.youtube.com/watch?v=w3jLJU7DT5E) - Good video explanation from the GitHub Youtube Channel * [The GitHub workflow](https://www.youtube.com/watch?v=PBI2Rz-ZOxU) - Youtube video explaining a simple and effective workflow using Git and GitHub * [GitHub Learning Lab](https://lab.github.com/) - Interactive tutorial that goes through usage GitHub * [Ressources to Learn Git](https://try.github.io/) * [Git and GitHub for Beginners](https://readwrite.com/2013/09/30/understanding-github-a-journey-for-beginners-part-1/) ### Coding Challenge Sites * [CodeWars (Coding challenge site)](https://www.codewars.com/) * [Edabit (Coding challenge site)](https://edabit.com/) ### Miscellaneous * [Python Data Science Handbook](https://jakevdp.github.io/PythonDataScienceHandbook/) * [Python Cheat Sheets](https://www.pythonsheets.com/) * [Top 50 Matplotlib Visualizations](https://www.machinelearningplus.com/plots/top-50-matplotlib-visualizations-the-master-plots-python/) * [Pactical Business Python (Pandas focused website)](https://pbpython.com/) * [Common Excel Tasks Demonstrated in Pandas](https://pbpython.com/excel-pandas-comp.html)