This lesson is an introduction to programming in Python for people who are already comfortable in some other language such as Perl or MATLAB. This lesson references the Jupyter Notebook, but can be taught using a regular Python interpreter as well. Please note that this lesson uses Python 3 rather than Python 2.
This lesson is currently in its early design stage; please check the design notes to see an outline of what we have so far, or the episodes for more details. Contributions are very welcome: we would be particularly grateful for exercises and for commentary on the ones already there.
Learners need to understand what files and directories are, what a working directory is, how to start a Python interpreter, and what variables, loops, conditionals, indexing, and function calls are.
Learners must install Python before the class starts.
Please see the setup instructions for details.
|Setup||Download files required for the lesson|
How do I run Python programs?
What are Python’s basic data types?
|09:45||2. Control Flow||
How do I repeat operations?
How do I make decisions?
How do I call built-in functions?
How can I use Python’s standard libraries?
Where do I find documentation on Python’s standard libraries?
|10:35||4. Morning Coffee||Break|
|10:50||5. Writing Functions||
How can I make code more readable?
How can I make code reusable?
|11:25||6. Sets, Dictionary & Tuples||How can I store and manipulate non-rectangular data?|
|13:00||8. NumPy Arrays||
How can I store and manipulate arrays?
How can I do linear algebra?
|13:40||9. Pandas||How can I do statistical analysis of tabular data?|
|14:20||10. Afternoon Coffee||Break|
|14:35||11. Plotting||How can I plot my results?|
|15:05||12. File I/O||
How can I read data from a file?
How can I write data to a file?
|15:20||13. Programming Style||
How can I make programs more robust?
How can I make programs easier to understand?
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.