Selected projects from the Programming Languages course at the University of Gdańsk. The work covers algorithmic problem solving, object-oriented design, simulation, and automated testing.
| Project | What it contains |
|---|---|
Project01 |
Exercism practice; solutions are hosted on Exercism.org rather than in this repository. |
Project02 |
Python exercises: prime numbers, amicable numbers, the Josephus problem, and insertion sort for dates. |
Project03 |
Chessboard puzzle with queen-attack detection, randomized pieces, and a Pygame interface. This is a Git submodule. |
Project04 |
Turn-based grid simulation with plants and animals, movement, combat, reproduction, aging, and a plague event. Includes pytest tests. |
Project05 |
Shop, invoice, and inventory model using dependency injection; tests demonstrate fake, dummy, stub, spy, and mock test doubles. |
Install pytest if it is not already available:
python3 -m pip install pytestRun the simulation tests:
cd Project04
python3 -m pytest -q tests.pyRun the shop tests from the repository root. PYTHONPATH is set because the exercise uses direct module imports:
cd Project05
PYTHONPATH=Invoice:. python3 -m pytest -q Invoice/test_shop.pyProject03's graphical interface requires pygame, pygame_gui, and pygame_widgets:
cd Project03
python3 main.pyThe repository does not currently include a dependency manifest.
git clone --recurse-submodules https://github.com/szfkamil/programming-languages.gitIf the repository was cloned without its submodule, initialize it with:
git submodule update --init --recursive