English
Seven programming courses, now in English and Ukrainian
I teach programming at university, and for years my lectures, lab assignments and task variants lived in PDF files that only my students saw. Now they have a proper home on this site: seven complete courses, free and open to everyone.
The courses
- Object-oriented programming in C++: from your first program to classes, templates, containers, ranges and C++26 modules. Visual Studio 2026.
- Object-oriented programming in C# I: the .NET platform, classes, interfaces, generics, LINQ, files, SOLID and unit testing. Visual Studio 2026, .NET 10.
- Object-oriented programming in C# II: the follow-up. Git, regular expressions, Windows Forms, async/await, databases, REST, SignalR, WPF, .NET MAUI and AI models.
- Object-oriented programming in Java: JDK 27 and IntelliJ IDEA, records, generics, collections, the Stream API, JDBC and JavaFX.
- Object-oriented programming in Kotlin: null safety, data classes, coroutines, databases with Exposed and Compose Multiplatform.
- Object-oriented programming in Python: Python 3.14 and PyCharm, classes and protocols, pytest, SQLite, NumPy and pandas, PySide6.
- Parallel and distributed computing: threads and TPL, SIMD, OpenMP, CUDA and MPI on a Slurm cluster, RabbitMQ, Orleans, Docker and Kubernetes.
The OOP courses start from the basics of the language, so you don't need any experience with it. The parallel computing course is for those who have already finished an OOP course.
What's inside a topic
Each course has 16–18 topics, and every topic is one lecture plus one lab assignment:
- Lecture: theory split into short chapters, with code you can run, diagrams and real program output.
- Practice: worked examples with complete code that show how to approach the lab.
- Tasks: 30 variants of the assignment, each at three levels of difficulty, so everyone gets their own problem.
- Summary: conclusions, self-check questions and useful links.
On top of that, every course has review questions, review tasks for exam preparation, and a list of recommended reading.
What's new
Every course is available in English and Ukrainian. The language switcher in the top bar opens the same page in the other language, so you can compare a tricky paragraph with the translation.
Real screenshots. The lectures now show the actual tools, such as IntelliJ IDEA, Visual Studio, DataGrip and the Android emulator, instead of placeholders.
Where to start
Open the course catalog, pick your course and read its Introduction page: it explains how the course is organized and how to study it. Then install the development environment from the first topic and dive in.
🚀 Found a mistake or have an idea? I'd love to hear from you. Happy coding!