Online Courses

Table of contents

CS50x

Highly recommended if you are a beginner to Computer Science. I can imagine this course being very useful to someone who has just started (or is about to start) studying CS. I only ended up auditing the course for a couple of weeks because university studies took precedence, but I recently went through their syllabus and was reminded how well David Malan and Co. have designed CS50x. This definitely needs to be on my list of recommended resources.

Nand2Tetris Part I and Part II

Building a computer from the ground up. Literally, from a NAND gate to a machine capable of running Tetris.

How to Design Programs Part I and Part II

2023.08.18: I am doing the first of this two-part course right now. While it is true that I graduated university a year ago and has been working as a developer since, I realized that I have been leaning towards more of a make-it-work approach to programming instead of the far more well-thought-out one that this course (and its accompanying book) advocates. I figured it was about time I started focusing on programming the right way.

This course is now called “How to Code” but I cannot bring myself to call it that. I find the original title more fitting, as it makes you think programs as entities that you can actively design and implies that the design of a program has the power to change the program. Maybe I am giving this too much thought, but still, I’d like to stick with this.

Complete Python Bootcamp

So you just started learning to code and want Python to be your first language? Alternatively, you are already familiar with programming and just want to familiarise yourself with Python? In either case, this is just the course for you. Jose Portilla does a good job with holding your hand through Python programming, explaining both basic programming concepts and Python’s functionality along the way.