Tworzenie aplikacji desktopowych

Opis kursu:

Kurs składa się z ok. 30-tu zajęć wykładowych oraz ok. 60-ciu zajęć laboratoryjnych i dotyczy technicznych oraz algorytmicznych zagadnień umożliwiających tworzenie dużych aplikacji okienkowych w językach C/C++, C# oraz Python.

Cele kursu:

Podstawowym technicznym celem kursu jest nabycie kompentencji w programowaniu aplikacji istotnie wykorzystujących rozbudowany interfejs graficzny. W związku z tym zostanie na nim zaprezentowane kilka wiądących w językach C++, C# oraz Python bibliotek okienkowych. Biblioteki takie z natury wykorzystują paradygmat obiektowy programowania, więc pośrednim celem kursu jest ustabilizowanie umiejętności programowania obiektowego.

Część 1 kursu - tworzenie aplikacji w języku C++

Język C++ ze względu na swoją specyfikę umożliwia głębokie zrozumienie wielu koncepcji dotyczących programowania komputerów. Prezentowany kurs jest ukierunkowany przede wszystkim na nabycie kompetencji w programowaniu obiektowym wraz z szablonami i biblioteką standardową. Zawiera on zatem dość dużą ilość wiedzy pojęciowej, wzbogaconej sporą ilością ćwiczeń uzupełniających czysto językowy charakter kursu o aspekty algorytmiki różnego typu, programowania współbieżnego i in. Z tego względu część omawianych na kursie zagadnień będzie opcjonalna (dla chętnych). Dobre poznanie nowoczesnego standardu C++ (obecnie jest to standard C++23) powoduje, że uczenie się kolejnych, porównywalnie silnych, języków (C#, Java) nie wymaga większego wysiłku - są to języki bardzo podobne składniowo do C++, ale ze względu na raczej 'produkcyjny' ich charakter są znacznie mniej efektywne w edukacji podstaw programowania.

Pozycje referencyjne:

  1. Charles E. Leiserson, Clifford Rivest, Thomas H. Cormen, Wprowadzenie do algorytmów, PWN 2013.
  2. J. Grębosz, Opus magnum C++11, Helion 2018.
  3. B. Coepp, Indroducing Qt6, Apress 2022.
  4. N. Smyth, C# 13 Programming Essentials - .NET 9 Edition, Payload Media 2024
  5. M.J. Wilson, C# and WinForms Beginner's Guide Windows desktop development, 2024
  6. M.J. Wilson, MASTERING WINFORMS AND C# ADVANCED DESKTOP APPLICATION DEVELOPMENT AND MODERNIZATION, 2024
  7. A. Kempa, Wprowadzenie do WPF. Tworzenie aplikacji w WPF przy u¿yciu XAML i C#, Helion 2017
  8. R. Ye, Projektowanie aplikacji w .NET MAUI, Helion 2024.
  9. R. Ye, .NET MAUI Cross-Platform Application Development, Packt Publishing 2024.
  10. S. Prata, Język C++. Szkoła programowania, Wydanie VI., Helion 2012.
  11. A. Allain, C++. Przewodnik dla poczÄ…tkujÄ…cych, Helion 2014.
  12. A. Stasiewicz, C++. Ćwiczenia praktyczne, Wydanie III (ebook), Helion 2011.
  13. W. Anggoro, C++. Struktury danych i algorytmy, Helion 2019.
  14. L. Zhi Eng, Qt 6 C++ GUI Programming Cookbook. Practical recipes for building cross-platform GUI applications, widgets, and animations with Qt 6 - Third Edition, Packt Publishing 2024.