Why Python?
- fast to write - suitable for research,
- allows quick iteration over ideas,
- can be put into production.
- massive ecosystem, mature language.
This folder has a collection of notebooks that teach Python from the top down - introducing language features as they are needed in a real example.
They provide the student with a view of an entire Python program, immersing the student in a big picture and explaining concepts & components as they appear, in the context of using them in the program.
Two notebooks introduce two methods for getting data from the internet - API's and web scraping. Being able to create datasets using these two methods are key skills for any data scientist.
The final notebook introduces a technique that has been invaluable in every job I've had - linear programming. While it is not commonly taught as part of a data science education, it is very useful in industry. Many business problems are linear!
It is recommended that the notebooks are taught in the following order:
Also contained here is a more traditional bottom up introduction to Python, where concepts & syntax are taught explicitly.
I maintain a larger collection of Python resources (blog posts, talks etc) at programming-resoruces/python.