125 lines
8.3 KiB
Markdown
125 lines
8.3 KiB
Markdown
# 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)
|