Python Project
Python Project
This course introduces Python programming to students who already have experience with procedural programming in C and object-oriented programming in C++.
The laboratories focus on the differences between C/C++ and Python, Python-specific programming concepts, and the development of a complete software project.
Throughout the course, familiar C/C++ constructs are compared directly with their Python equivalents.
Laboratories
- Lab 1 — Python for C/C++ Programmers
- Lab 2 — Object-Oriented Programming in Python
- Lab 3 — Modules, Packages, Files and Type Hints
- Lab 4 — Testing and Software Quality
- Lab 5 — Project Development I
- Lab 6 — Project Development II
- Lab 7 — Final Integration and Presentation
Course structure
The course consists of 7 laboratory meetings, each with a duration of 2 hours.
The first laboratories introduce the Python language and its software ecosystem, while the later meetings are primarily dedicated to the semester project.
| Laboratory | Main topic | Type |
|---|---|---|
| Lab 1 | Python for C/C++ programmers | Theory + exercises |
| Lab 2 | Object-oriented programming and the Python object model | Theory + exercises |
| Lab 3 | Modules, packages, files, exceptions and type hints | Theory + exercises |
| Lab 4 | Testing, debugging and software quality | Theory + project |
| Lab 5 | Project implementation | Project work |
| Lab 6 | Testing, refactoring and documentation | Project work |
| Lab 7 | Final integration, demonstration and code review | Project work + presentation |
Semester project
During the course, students will develop a Python software project individually or in teams.
The project should demonstrate the ability to:
- organize a Python project into multiple modules;
- use appropriate Python data structures and language features;
- use external libraries where appropriate;
- handle invalid input and exceptional situations;
- write readable and maintainable code;
- use Git for version control;
- document the application;
- test the main functionality of the application.
The objective is not simply to translate C/C++ programs into Python, but to learn how to design and implement software using Python's own abstractions, conventions and ecosystem.
Recommended software
Students should have the following software available:
- Python 3;
- Git;
- a text editor or IDE;
- a terminal;
- access to the course Git repository.
Recommended development environments include:
- Visual Studio Code;
- PyCharm;
- any editor with Python and Git support.
Start with: