Programming syllabus walk-throughs

I made two Jupyter notebooks that guide you through most of the Python programming topics. I try my best to

  • cover fundamental areas that textbooks don’t discuss adequately
  • offer an alternate explanation, than those presented by most courses or textbooks
  • talk generally about topics, so as to develop transferable skills
  • prompt you to research and explore on your own
  • provide silly examples.

The notebooks are also available using Binder and Google Colaboratory, which can run in a web browser, so you don’t have to install any software to view them. Binder is one of the recommended platforms for Jupyter notebooks.

These notebooks were originally designed for the CAIE 9608 Computer Science syllabus. However, they have been updated to cover the following CAIE syllabuses:

  • IGCSE 0478
  • IGCSE 0984
  • AS & A Level 9608
  • AS & A Level 9618

Having said that, please do read and follow your syllabus specifications—there are some topics I choose not to cover because textbooks already do a good job there. I suspect these notebooks cover other syllabuses or exam boards too, but again—match against the syllabus specifications.

December 2021 UPDATE

Hey, I’ve completed my A Levels since writing these resources. Now I know a lot more about this stuff, especially about the quirks of Python in comparision to other languages like C++, and I think I’m a little bit better at writing exposition. So I’m working on a new version of these notebooks. What you’ll find below is the old version, but rest assured that everything has been checked for accuracy.

Coming soon!

Once I have a reasonably complete version, I’ll update this page with a link to an early preview.

Syllabuses Notebooks Source Code
0478/2, 0984/2, 9608/2, 9618/2 Binder
Open In Colab
GitHub
9608/4, 9618/4 Binder
Open In Colab
GitHub

Note: Like all things in technology, Python is frequently updated. Sometimes, these changes result in syntax changes, such as mandatory parenthesis in print() from Python 2 to Python 3. It’s possible that my work is out of date from the most recent Python version. I’ll try to update it when I can, but you can see my last updated version below.

Current version: Python 3.8.8




Visit this website’s repo

Visit the notebooks’ repo