Python101/README.md

125 lines
8.3 KiB
Markdown
Raw Permalink Normal View History

2019-11-13 20:38:25 +08:00
# 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)
2019-10-19 05:34:19 +08:00
[![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)
2020-02-09 08:19:11 +08:00
[![Contributors](https://img.shields.io/github/contributors/Python-Crash-Course/Python101)](https://github.com/Python-Crash-Course/Python101/graphs/contributors)
2019-12-03 02:29:17 +08:00
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).
2019-11-13 20:38:25 +08:00
## Sessions Notes and Exercises
2019-11-12 17:50:47 +08:00
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.
2019-09-02 21:00:15 +08:00
2019-11-12 17:50:47 +08:00
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.
2019-09-02 21:00:15 +08:00
2019-11-21 22:57:50 +08:00
* [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))
2019-09-02 21:00:15 +08:00
* [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)
2019-09-02 21:00:15 +08:00
* [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)
2019-09-02 21:00:15 +08:00
* [Session 3 - Functions](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%203%20-%20Functions/Session%203%20-%20Functions.ipynb)
2019-09-02 21:00:15 +08:00
* [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)
2019-09-02 21:00:15 +08:00
* [Session 5 - DataFrames](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%205%20-%20Dataframes/Session%205%20-%20Dataframes.ipynb)
2019-09-02 21:00:15 +08:00
* [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)
2019-09-02 21:00:15 +08:00
* [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)
2019-09-03 21:54:25 +08:00
* [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)
2019-09-03 21:54:25 +08:00
* [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)
2019-09-03 21:54:25 +08:00
## Session Exercise Solutions
2019-09-03 21:54:25 +08:00
2019-11-12 17:50:47 +08:00
* Session 0 - Introduction (No solutions)
2019-09-03 21:54:25 +08:00
* Session 1 - Data Types (No solutions)
2019-09-02 21:00:15 +08:00
* [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)
2019-09-03 21:54:25 +08:00
* [Session 3 - Functions](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%203%20-%20Functions/Session%203%20-%20Exercise%20Solutions.ipynb)
2019-09-03 21:54:25 +08:00
* [Session 4 - Plotting](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%204%20-%20Plotting/Session%204%20-%20Exercise%20Solutions.ipynb)
2019-09-03 21:54:25 +08:00
* [Session 5 - DataFrames](https://nbviewer.jupyter.org/github/Python-Crash-Course/Python101/blob/master/Session%205%20-%20Dataframes/Session%205%20-%20Exercise%20Solutions.ipynb)
2019-09-03 21:54:25 +08:00
* [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)
2019-09-03 21:54:25 +08:00
* [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)
2019-09-02 21:00:15 +08:00
* [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)
2019-09-02 21:00:15 +08:00
* [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
2019-11-13 20:38:25 +08:00
2019-09-03 22:00:19 +08:00
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)
2019-09-03 22:00:19 +08:00
2019-11-13 20:38:25 +08:00
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.
2019-09-02 21:00:15 +08:00
## Useful Links
2019-09-02 22:45:57 +08:00
### General
2019-11-13 20:38:25 +08:00
2019-09-04 19:40:16 +08:00
* [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
2019-09-04 19:40:16 +08:00
2019-11-13 20:38:25 +08:00
* [Interactive Tutorial from DataCamp](https://www.datacamp.com/courses/intro-to-python-for-data-science)
### Videos
2019-09-04 19:40:16 +08:00
* [Corey Schafer](https://www.youtube.com/channel/UCCezIgC97PvUuR4_gbFUs5g)
2019-11-13 20:38:25 +08:00
* 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.
2019-09-04 19:40:16 +08:00
* [Sentdex](https://www.youtube.com/user/sentdex)
2019-11-13 20:38:25 +08:00
* Videos on many topics ranging from beginner to advanced.
### Git and GitHub
2019-10-25 03:48:39 +08:00
* [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
2019-09-04 19:40:16 +08:00
* [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
2019-11-13 20:38:25 +08:00
2019-09-04 19:40:16 +08:00
* [CodeWars (Coding challenge site)](https://www.codewars.com/)
2019-11-13 20:38:25 +08:00
* [Edabit (Coding challenge site)](https://edabit.com/)
2019-10-25 03:48:39 +08:00
### Miscellaneous
2020-02-09 08:19:11 +08:00
2019-09-04 19:40:16 +08:00
* [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)