Un-tit-led

University of Helsinki: Python Programming MOOC 2026

Source

Part 1

DON'T TRY TO CRACK THE GAME OR THINK YOU ARE GOING TOO FAR IF YOU ARE THINKING IN A DIFFERENT WAY THAT INTENDED. SOLVE IT HOW YOU BEST THINK IS BEST.

This course has reminded me how important recall is over recognition and the reason why many "video only lectures/courses" fail at it.
You feel you are getting something, sometimes smugly, and never get to practice them. And when it comes to actually trying to solve a problem you come up blank.

To be very clear, mooc.fi's Java hands on Java course(still incomplete BTW) was the reason I qualified for a job interview: #TODO insert video here once moved

Part 2

  • Statement is a part of the program which executes something.
  • Block is a group of consecutive statements that are at the same level in the structure of the program.
  • Expression is a bit of code that reulsts in a determined data type.
  • Function executes some functionality, they also can take arguments/parameters.
  • else branch is not mandatory especially when a lot of elif are involved. However, else incompasses all the conditions not accounted for so it's still a good check for outside expected cases.
  • #TODO: ?: statement
  • x>=a & x<=b can be rewritten as a<=x <=b , although not higely used as it's missing from other langauges
  • The order of conditional statements especially involving loops is a common source of bugs. Debugging is often the simplest way to finding their cause.

PART 3

PART 4

5. Print statement formatting 6. More strings and lists

PART 5

1. More lists 2. References 3. Dictionary 4. Tuple

PART 6

1. Reading files 2. Writing files 3. Handling errors 4. Local and global variables

PART 7

1. Modules 2. Randomness 3. Times and dates 4. Data processing 5. Creating your own modules 6. More Python features

PART 8

1. Objects and methods 2. Classes and objects 3. Defining classes 4. Defining methods 5. More examples of classes

PART 9

1. Objects and references 2. Objects as attributes 3. Encapsulation 4. Scope of methods 5. Class attributes 6. More examples with classes

PART 10

1. Class hierarchies 2. Access modifiers 3. Object oriented programming techniques 4. Developing a larger application

PART 11

1. List comprehensions 2. More comprehensions 3. Recursion 4. More recursion examples

PART 12

1. Functions as arguments 2. Generators 3. Functional programming 4. Regular expressions

PART 13

1. Pygame 2. Animation 3. Events 4. More pygame techniques

PART 14

1. Game project 2. Robot and boxes 3. Finishing the game 4. Your own game