ApliQt »

Programowanie aplikacji w Qt

Informacje podstawowe

Celem przedmiotu Programowanie aplikacji w Qt jest rozwinięcie umiejętności programowania obiektowego w C++ poprzez naukę programowania aplikacji okienkowych z wykorzystaniem biblioteki Qt. Po ukończeniu kursu, student będzie potrafił zaprogramować w pełni funkcjonalną aplikację okienkową, zawierającą dostosowane do konkretnych potrzeb elementy interfejsu użytkownika. Aplikacja napisana z wykorzystaniem Qt może być skompilowana i uruchomiona w dowolnym systemie operacyjnym (Windows, Linux, Mac OS X, QNX, Android) lub platformie sprzętowej (PC, smartfon/tablet, systemy wbudowane). Zdobyte umiejętności przydadzą się zarówno w dalszej nauce (mogą ułatwić realizację projektów i pracy dyplomowej) jak i w pracy zawodowej.

Przedmiot obieralny Programowanie aplikacji w Qt, uruchomiony na 6 lub 7 semestrze studiów I stopnia, stanowi podstawę dla następujących obieralnych przedmiotów specjalistycznych:

  • Wizualizacja danych biomedycznych - 1 semestr na II st. studiów, przedmiot rozwijający umiejętności programistyczne, dający nowe możliwości w prezentacji i przetwarzaniu danych medycznych, zwłaszcza w środowisku 3D, wykorzystywana jest biblioteka VTK i Qt.
  • Algorytmy przetwarzania i analizy obrazów medycznych - 2 semestr na II st. studiów, przedmiot rozwijający umiejętności zaawansowanego przetwarzania danych medycznych, wykorzystaniem Matlaba oraz bibliotek ITK, VTK i Qt.

Trzy powyższe przedmioty tworzą merytoryczną całość.

Tematyka kursu w znacznej mierze (ale nie w całości!) pokrywa wymagania potrzebne do zdania certyfikowanego egzaminu Qt Essentials (organizowanego przez PearsonVUE dla Digia). Certyfikat ten jest bardzo cenny na współczesnym rynku pracy.

Wymagania:

  • ukończony kurs informatyki na ocenę przynajmniej 4.0,
  • dobra znajomość programowania w języku C, podstawowa znajomość programowania obiektowego w C++,
  • wewnętrzne przeświadczenie, że programowanie nie boli - osoby mające trudności z ogarnięciem programowania będą miały poważny problem z zaliczeniem kursu.

Cele dydaktyczne:

  • ugruntowanie posiadanej wiedzy na temat programowania obiektowego,
  • dostarczenie nowej wiedzy na temat projektowania aplikacji okienkowych, poprawnego projektowania graficznego interfejsu użytkownika (GUI),
  • dostarczenie wiedzy na temat tworzenia wieloplatformowego i przenośnego kodu, niezależnego od platformy sprzętowej i systemu operacyjnego,
  • dostarczenie nowych narzędzi i umiejętności informatycznych, takich jak: projektowanie i tworzenie GUI, zarządzanie złożonymi projektami informatycznymi, tworzenie dokumentacji, praca zespołowa,
  • dostarczenie wiedzy i umiejętności, które umożliwią realizację projektów, prac dyplomowych inżynierskich i magisterskich, wymagających opracowania oprogramowania z graficznym interfejsem użytkownika,
  • dostarczenie wiedzy i praktycznych umiejętności na temat projektowania aplikacji okienkowych i mobilnych, poszukiwanych przez pracodawców.

Sposób oceniania i warunki zaliczenie:

  • wiedza: testy wielokrotnego wyboru na platformie e-learningowej, sprawdzające wiedzę po każdej partii materiału, testy będą oceniane punktowo,
  • umiejętności: realizacja zadań programistycznych po każdej partii materiału, każdy student w trakcie zajęć będzie rozbudowywał własny program (miniprojekt), dodając kolejne funkcjonalności, oceniane będą osiągnięte wyniki oraz stworzona dokumentacja,
  • zaliczenie - ocena końcowa to średnia ważona (system punktowy):
    • obecność na zajęciach,
    • zdane testy potwierdzające wiedzę,
    • zaliczone miniprojekty (zadania) cząstkowe,

Program wykładów

Organizacja: 15 wykładów po 2 godz lub 10 po 3 godziny

  1. Wprowadzenie do przedmiotu: omówienie tematyki przedmiotu, literatury i zasad zaliczenia, wprowadzenie do biblioteki Qt.
  2. Podstawy obiektowego modelu Qt, koncepcja sygnałów i slotów.
  3. Dostępne kontrolki graficzne (widget).
  4. Okno główne aplikacji, zarządzanie wyglądem (layouts).
  5. Podstawowe typy danych.
  6. Wykorzystanie kontenerów danych.
  7. System plików i operacje na plikach.
  8. Modele i widoki (Model-view framework).
  9. Zaawansowane mechanizmy kontrolek.
  10. Implementacja własnych kontrolek.
  11. Wielowątkowość aplikacji.
  12. Multimedia i obsługa usług sieciowych.
  13. Wieloplatformowość Qt.
  14. Qt na urządzeniach mobilnych - Qt Quick.
  15. Zasady projektowania graficznych interfejsów użytkownika (GUI).

Program ćwiczeń laboratoryjnych

Organizacja: 10 ćwiczeń po 3 godziny

  1. Zajęcia organizacyjne: program laboratorium, zasady oceniania i zaliczenia, wprowadzenie do linuksa i podstawy środowiska Qt.
  2. Podstawowe obiekty Qt, mechanizm sygnałów i slotów.
    • miniprojekt A - konwerter jednostek.
  3. Dostępne kontrolki graficzne (ang. widgets) oraz zarządzanie ich wyglądem.
    • miniprojekt B.1 - kalkulator.
  4. Podstawowe typy danych.
    • miniprojekt B.2 - kalkulator naukowy.
  5. System plików i operacje na plikach.
    • miniprojekt C.1 - analizator zawartości dysku twardego.
  6. Architektura model-widok.
    • miniprojekt C.2 - prezentacja zawartości dysku w dostępnych kontrolkach.
  7. Implementacja własnej kontrolki.
    • miniprojekt C.3 - graficzna wizualizacja zebranych danych.
  8. Wielowątkowość aplikacji.
    • miniprojekt C.4 - rozdzielenie na oddzielne wątki: zbierania i analizy danych oraz wizualizacji.
  9. Multimedia i integracja z usługami sieciowymi.
    • miniprojekt D - klient treści internetowych: np. przeglądarka www, rss, pogody, grafiki lub multimediów, itp. (projekt indywidualny).
  10. Kolokwium sprawdzające wiedzę teoretyczną i praktyczną, ocena miniprojektów, wystawienie i wpisanie ocen.

Literatura

  1. Jasmin Blanchette, Mark Summerfield: C++ GUI Programming with Qt 4,
  2. Daniel Molkentin: The Book of Qt 4, The Art of Building Qt Applications,
  3. Mark Summerfield: Biblioteki Qt. Zaawansowane programowanie przy użyciu C++ Helion 2013,
  4. Paul Ezust, Alan Ezust: C++ i QT. Wprowadzenie do wzorców projektowych, Helion 2013,
  5. Jenifer Tidwell: Projektowanie interfejsów. Sprawdzone wzorce projektowe, Helion 2012.

HomePage

Dydaktyka

Materiały do pobrania

Praca naukowa

Programowanie

Projekty

Lista stron


edit

Page last modified on 06.05.2014, 21:54 - Powered by PmWiki

|