Skip to content
David R. Pugh edited this page May 30, 2013 · 28 revisions

Python "Boot Camp"

Sketch curriculum for the inaugural "Python Boot Camp" held for the Scottish Graduate Programme in Economics at the University of Edinburgh, June 3-7 2013.

Curriculum mainly follows Think Python by Allen Downey. The book is freely available on-line in both pdf and html.

Monday, 3 June:

Morning:

Afternoon:

For the afternoon sessions, I will switch from discussing the basics of Python programming to more specialized topics. I will start by covering Chapter 3 from Wes McKinney's book Python for Data Analysis on IPython. The code for the entire book can be forked from it's github repository.

Tuesday, 4 June:

Morning:

Afternoon:

Basic plotting and data visualization using Matplotlib.

Wednesday, 5 June:

Morning:

Afternoon:

Chapters 4 and 12 on NumPy from Wes McKinney's book Python for Data Analysis.

Thursday, 6 June:

Morning:

Afternoon:

Some stuff to do with Scipy. But also might need to discuss Dynare and Dynare++ at some point. Maybe we can have break away sessions during the summer for those who are doing RBC/DSGE modelling for their MSc theses.

Friday, 7 June:

Today, I will introduce you to object-oriented programming (OOP) and agent-based modelling (ABM) by replicating results from Allan Issac's paper on Simulating Evolutionary Games. The objective will be to write a program that will simulate a large number of agents repeatedly playing the Prisoner's Dilemma with one another. Along the way you will learn some of the basic concepts of OOP.

More detail on the theory can be found in chapters 15-19 of Think Python:

Where to go to learn more:

Hopefully, by this point you will have fallen in love with Python programming and want to know where you can learn more...

Allen Downey also has two other books on Python programming that you might find interesting:

  • Think Complexity: Picking up where Think Python leaves off, this book is about complexity science, data structures and algorithms, intermediate programming in Python, and the philosophy of science. Available in both .html and .pdf formats.
  • Think Stats: Introduction to Bayesian and Frequentist statistics for Python programmers. Available in both .html and .pdf formats. A good place to start is the SciPy lecture notes on Scientific Programming in Python.