How will this short course work?

The only way to learn computing skills is to do it. I’ll spend as little time as possible just talking to the class - mostly we’ll work through exercises together, or you’ll work on on your own.

Traffic lights

You should have two post-it notes. One green and the other red (well, pink). You use these to provide feedback about the progress we’re making and who needs help.

  • Each time we start something new, put both post-it notes down on the table.
  • If you need help, rather than waiting with your hand up, put the red note on the top of your laptop screen. Then I (or your collegues) can help out.
  • Once you’re done with a certain step, put the green note up. This shows me when the group is ready to move on.
  • At the end of the session, write one comment about what went well in the session on the green note, and one comment about what could have been better on the red note. I’ll use that feedback to taylor the course as we go along.

Support your peers

The MPECDT cohort is a team. Supporting each other is absolutely critical to your success over the next 4 years, so let’s start now. If you are done and your colleague has a red sticker up, help him or her out. You’ll get a deaper knowledge of the subject by helping others, and it will address my inability to be in 16 places at once!

Why Python? Why not [insert whatever language] instead?

Python is a modern, general-purpose, high-level programming language. It is widely used in science and engineering and overall has a significant share of the programming market share (see TIOBE). It is also one of the most popular introductory teaching languages. It’s advantages are:

  • Simplicity: It is easy to read and easy to learn.
  • Expressive: Fewer lines of code, fewer bugs and easy to maintain.
  • Powerful: Python is not a language you grow out of. It can also be used for large projects, Big Data, High Performance Computing applications, etc.

Supplementary material

This course loosely follows Hans Petter Langtangen’s book A Primer on Scientific Programming with Python, which may be downloaded free by machines connected to the Imperial network. Many chapters of the most recent edition are freely accessible online. You don’t need to read that book now, but if you want a more in-depth exposition of any of the Python we cover, that’s where to go.

One size does not fit all. Therefore, I encourage you to browse a few different resources suggested by students over the years (see below) which might appeal to your learning habits.