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)