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.
- Printing and comments
- Information from the user
- Variables and f-strings
- Arithmetic operations
- Conditional statements
- Programming terminology
- More conditionals
- Combining conditions
- Simple loops
- Loops with conditions
- Working with strings
- More loops
- Defining functions
- More functions
- Lists
- Definite iteration
- Print statement formatting
- More strings and lists
- More lists
- References
- Dictionary
- Tuple
- Reading files
- Writing files
- Handling errors
- Local and global variables
- Modules
- Randomness
- Times and dates
- Data processing
- Creating your own modules
- 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.
- Objects and methods
- Defining classes
- Defining methods
- More examples of classes
- Objects and references
- Objects as attributes
- Encapsulation
- Class attributes
- Class hierarchies
- Access modifiers
- Object oriented programming techniques
- Developing a larger application
- List comprehensions
- More comprehensions
- Recursion
- More recursion examples
- Functions as arguments
- Generators
- Functional programming
- Regular expressions
- Pygame
- Animation
- Events
- More pygame techniques
- Game project
- 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.
- Complexity and searching Extra
- Sorting algorithms Extra
- Hash tables Extra
- Trees and heaps Extra
- Graphs Extra
- Recursion and backtracking Extra
- Dynamic programming Extra