This course focuses on the fundamentals of software engineering. Proper design is an important part of any project. This course covers the basics of the Python programming language, basic concepts and language constructs. Along with this, this course provides tools for using Python programming language in complex projects. You will gain insight into the correct design of the code, maintaining the codebase and integrating your applications with others.
- Communication
- Homework
- Marks, missed deadlines and non-attendance
- Superstars
- Organize your homework
- Code review tips
Course plan contains topics divided by weeks. Plan is approximate and being improved during the course.
Literature: books, articles and instruments useful for Python learning. Your suggestions for this page are appreciated.
# | Topic | Materials | Home Assignment | Sending / Review Deadlines |
---|---|---|---|---|
01 |
OOP Design Patterns | seminar01 | ha04 / review | 03.04.2022 / 10.04.2022 |
02 |
OOP Design Patterns | seminar02 | ha05 / review | 24.04.2022 / 03.05.2022 |
03 |
Taggers implementation | seminar03 | extra-ha01 / review | 15.05.2022 / 22.05.2022 |
04 |
OOP, metaclasses | lecture01 seminar04 | ha06 / review | 08.05.2022 / 15.05.2022 |
05 |
Threading, multiprocessing | seminar05 | extra-ha02 / review | 22.05.2022 / 30.05.2022 |
06 |
Synchronization primitives, asyncio | seminar06 | TODO | TODO |
07 |
Sync and Async web frameworks | seminar07 | TODO | TODO |
08 |
Databases | lecture02 seminar08 | TODO | TODO |
09 |
Unit tests, more taggers | seminar09 | TODO | TODO |
10 |
pytest, web app tests | seminar10 | TODO | TODO |
11 |
ORM usage, migrations, requirements | seminar11 | TODO | TODO |
12 |
linters, logging | seminar12 | TODO | TODO |