Python Arena

The course

Python Arena follows the order and topics of the University of Helsinki's Python Programming MOOC, parts 1 to 14, with its own lessons and exercises.

Projects: larger programs built over several milestones, each after the modules it needs.

Pro Track: projects for your own computer, for after the course.

Topics A to Z: Python keywords, functions, methods and ideas, each with the steps that teach it.

Introduction to Programming

Parts 1 to 7 of the MOOC: printing and input, variables, conditions, loops, strings, functions, lists, dictionaries, files, errors and modules.

  1. Printing and comments
  2. Information from the user
  3. Variables and f-strings
  4. Arithmetic operations
  5. Conditional statements
  6. Programming terminology
  7. More conditionals
  8. Combining conditions
  9. Simple loops
  10. Loops with conditions
  11. Working with strings
  12. More loops
  13. Defining functions
  14. More functions
  15. Lists
  16. Definite iteration
  17. Print statement formatting
  18. More strings and lists
  19. More lists
  20. References
  21. Dictionary
  22. Tuple
  23. Reading files
  24. Writing files
  25. Handling errors
  26. Local and global variables
  27. Modules
  28. Randomness
  29. Times and dates
  30. Data processing
  31. Creating your own modules
  32. More Python features

Advanced Course in Programming

Parts 8 to 14 of the MOOC: classes and objects, encapsulation, inheritance, operator overloading, comprehensions, recursion, functional programming, regular expressions and games with pygame.

  1. Objects and methods
  2. Defining classes
  3. Defining methods
  4. More examples of classes
  5. Objects and references
  6. Objects as attributes
  7. Encapsulation
  8. Class attributes
  9. Class hierarchies
  10. Access modifiers
  11. Object oriented programming techniques
  12. Developing a larger application
  13. List comprehensions
  14. More comprehensions
  15. Recursion
  16. More recursion examples
  17. Functions as arguments
  18. Generators
  19. Functional programming
  20. Regular expressions
  21. Pygame
  22. Animation
  23. Events
  24. More pygame techniques
  25. Game project
  26. Your own game

Data structures and algorithms

Python Arena's own modules, not part of the MOOC: the data structures and algorithms that coding interviews ask about, built in Python. Their tests are big enough that a slow solution runs out of time, so a way that works must also be fast. Optional, for after the course. The Interview prep page puts them together with interview questions to practice.

  1. Complexity and searching Extra
  2. Sorting algorithms Extra
  3. Hash tables Extra
  4. Trees and heaps Extra
  5. Graphs Extra
  6. Recursion and backtracking Extra
  7. Dynamic programming Extra