Technologie programowania

INP001002W: wykład dla studentów kierunku Inżynieria Kwantowa

Przedmiot przedstawia techniki programowania zorientowanego obiektowo na przykładzie języka C++. Pokazane również będą pewne elementy właściwe dla języka Java. W końcowych tygodniach zaprezentowany będzie język Processing.

Zaliczenie przedmiotu następuje na podstawie oceny uzyskanej na zajęciach laboratoryjnych. Konkretne progi punktowe zostaną podane później.

Wykład

Wykład odbywa się we wtorki, w tygodnie nieparzyste w sali C13/1.30 o godzinie 15:15.

  • 28.02: wprowadzenie do wykładu, właściwości języków zorientowanych obiektowo, metody, pola klasy, dziedziczenie. Notatki:
  • 14.03: klasy, konstruktory, komponenty statyczne, obsługa wyjątków. Notatki: . Kody (Java, C++ wyjątki):
  • 28.03: przeciążanie funkcji i operatorów, dziedziczenie. Notatki:
  • 11.04: klasa std::exception, wyjątki, dokumentacja kodu. Notatki: . Kod "wyprawy": , przykładowy kod z dokumentacją (autor: Maciej Gębala): .
  • 09.05: funkcje i klasy szablonowe: .
  • 23.05: biblioteka STL - kontenery, iteratory. Notatki: . Kod pomocniczy: .
  • 06.06: biblioteka STL - algorytmy; słów kilka o UML; wprowadzenie do Processing. Notatki: . Kod pomocniczy: .

Ćwiczenia

Ćwiczenia obdywają się co tydzień. Prowadzący:

  • dr Marta Gładysiewicz Kudrawiec (Śr 13:15)
  • dr inż. Paweł Karwat (Cz 17:05)
  • mgr Herbert S. Mączko (Śr 11:15, Śr 13:15)

Na listach zaznaczona jest forma ich zaliczenia. W przypadku listy punktowanej, prowadzący sprawdza umiejętności studenta w zakresie listy np. poprzez polecenie zmodyfikowania prezentowanego programu. Warunkiem uzyskania oceny z przedmiotu jest ukończenie wszystkich list.

  • Lista 1: podstawy strumieni WE/WY
  • Lista 2: klasa - metody i pola, funkcje zaprzyjaźnione kod:
  • Lista 3: czytanie z klawiatury i pliku, działanie dziedziczenia na przykładzie strumieni ifstream i istream, diagram przepływu (UML)
  • Lista 4: obsługa wyjątków, podział programu na moduły, UML: diagram klas
  • Lista 5: przeciążanie operatorów
  • Lista 6: podsumowanie wiedzy o klasach
  • Lista 7: implementacja filtra cyfrowego (FIR, IIR)
  • Lista 8: klasy szablonowe
  • Lista 9: symulacje grawitacji (lista na 5.5 lub jako ratunkowa na 3.0)