Learning Scientific Python with IPython

These lessons below are an introduction to programming in Python. Ideally, these lessons are intedend particularly for people who are already comfortable in some other language such as MATLAB or GNU-Octave. However, novice students to programming are welcome to try. These lessons references the IPython (or Jupyter/Colab if a must!) – the interactive python – but can be taught using a regular Python interpreter as well. Please note that this lesson uses Python 3 rather than Python 2.


  1. 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.

  2. Learners must install Python and IPython before the class starts.

    Please see the setup instructions for details.


Setup Download files required for the lesson
09:00 1. Basics 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?
10:15 3. Libraries 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?
12:00 7. Lunch Break
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?
15:35 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.