Lecture
Python × CUB
We’ll keep this page up to date with lecture slides, additional materials, and links to every task and homework. Check back anytime for the latest course information.
Sep 5–11
Seminar
Basic Python
Simple types: int, float, string, bool
complex Advanced
Collections: list, tuple, dict, set
Time complexity of collections Advanced
import collections Advanced
Functions
Nested functions, scoping Advanced
IDE and debugging, Jupyter, venv/uv
Shallow vs deep copy
Sep 12–18
Seminar
How to work on a homework
I/O — Recap from the lecture
Modules and HTTP
Libraries/modules, PyPI
Requests
Virtual env, pyproject.toml, pip, uv
if __name__ == "__main__"Cyclic imports
HTTP API, JSON
Homework
Homework 1
- Implement a running key cipher
- Reformat git log
- Find a “wiki distance” between two articles
- Find the most productive committed across all repositories in github organisation (excl. merge commits, without using github client libraries).
- Implement
tail()function returning last n lines of a file Advanced
Talks
Topics announcement
Sep 19–25
Seminar
Comprehensions
List, dict, set comprehensions
Comprehensions with filters
Nested comprehensive
match-case Advanced
Exceptions
Raising and catching exceptions
Exception inheritance
Try-finally
except* and ExceptionGroup Advanced
Lab
Lab 1
Optimisation task
Deadline
For Homework 1
Sep 26–Oct 2
Seminar
Decorators
What decorator is, how to define own decorator
@staticmethod, @classmethod
@functools.lru_cache
Decorators with parameters
Homework
Homework 2
- Implement retry decorator
- Implement logging decorator
- Implement secret masking decorator
Talks
Deadline
Plan/proposal deadline
Oct 3–9
Seminar
Regexps
Deadline
For Homework 2
Oct 10–16
Seminar
Deadline
Defense of Lab 1
Oct 17–23
Lecture
Functional programming
Concurrency and Async programming
OOP
Testing
Seminar
Classes and OOP
Constructors, instance vs class attributes, methods
Magic methods
@dataclass
Inheritance, super(), method overriding
Multiple inheritance Advanced
Polymorphism Advanced
Homework
Homework 3
Implement map, filter, reduce and zip without using map, filter, reduce and zip.
Lab
Lab 2
Feature for the open-source project · Defence a feature idea in advance · Paired work?
Oct 24–30
Seminar
Async programming
Deadline
For Homework 3
Talks
Deadline
Text/material is ready
Contest
Competition?
Oct 31–Nov 6
Seminar
numpy, scipy, pandas
pytest
Nov 7–13
Seminar
Deadline
Defense of Lab 2
Talks
Deadline
Presentation draft
Nov 14–20
Lecture
Details will be added later
Seminar
FastAPI, creating HTTP API
Databases? Sqlite and SqlAlchemy?
Nov 21–27
Seminar
Talks
A conference with your talks!
Nov 28–Dec 4
Seminar
Details will be added later
Dec 5–11
Seminar
Details will be added later
Dec 12–18