Wydział Informatyki
Kierunek studiów Matematyka Stosowana Poziom i forma studiów pierwszego stopnia inżynierskie stacjonarne
Specjalność / Ścieżka dyplomowania Przedmiot wspólny Profil kształcenia praktyczny
Nazwa przedmiotu Programowanie obiektowe Kod przedmiotu MAT1POB
Rodzaj przedmiotu obowiązkowy
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 2
30 30 Punkty ECTS 4
Przedmioty wprowadzające
Cele przedmiotu

Zapoznanie studentów z podstawowymi technikami programowania obiektowego i realizacją tych technik w języku programowania Python. Nauczenie praktycznego stosowanie technik programowania obiektowego w prostych programach w języku programowania Python. Nauczenie projektowania i implementowania większych programów z wykorzystaniem programowania obiektowego. Wykształcenie praktyki korzystania z dokumentacji technicznej wybranych języków programowania (przede wszystkim w zakresie API tych języków).

Treści programowe

Wykład:
1. Klasa i obiekt: podstawowe definicje, składowe klasy, metody i ich wywoływanie, inicjowanie obiektów.
2. Projektowanie klas programu na podstawie opisu słownego systemu.
3. Przeciążanie operatorów.
4. Interfejs i implementacja klasy, hermetyzacja, gettery oraz settery (@property).
5-6. Dziedziczenie, dziedziczenie wielokrotne oraz MRO.
7. Metody specjalne (magiczne) w klasach.
8. Dekoratory.
9. @classmethod oraz @staticmethod.
10-11. Polimorfizm w Pythonie. Duck typing, interfejsy oraz klasa i metoda abstrakcyjna.
12. Błędy czasu wykonania, mechanizm wyjątków.
13. Klasy wewnętrzne.
14. Introspekcja.

Pracownia specjalistyczna:
Tworzenie i usuwanie obiektów. Tworzenie klas. Stosowanie hermetyzacji. Użycie kompozycji i dziedziczenia do tworzenia nowych klas. Rozpoznawanie typu obiektów. Użycie metod wirtualnych. Stosowanie wyjątków do obsługi błędów czasu wykonania. Projektowanie klas programu na podstawie opisu słownego systemu. Implementowanie większych programów.

Metody dydaktyczne

wykład problemowy,   programowanie z użyciem komputera,   wykład informacyjny,  

Forma zaliczenia

Wykład - zaliczenie pisemne (wymagane zaliczenie Pracowni specjalistycznej).
Pracownia specjalistyczna - sprawdziany wiedzy teoretycznej przed zajęciami, ocena wybranych programów realizowanych na zajęciach, większy program/projekt realizowany poza zajęciami.

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 opisuje techniki programowania obiektowego wraz z przykładami w wybranych językach programowania obiektowego (np. Python) oraz odpowiada na pytania z tego zakresu K_W09
K_W14
EU2 praktycznie stosuje techniki programowania obiektowego w tworzonych programach i ich fragmentach K_U11
EU3 implementuje proste programy obiektowe na podstawie diagramu klas i opisu K_U10
K_U11
K_U13
EU4 projektuje architekturę (diagram klas) prostych programów obiektowych na podstawie ich opisów K_U10
K_U13
K_U17
EU5 wykształca nawyk regularnego przyswajania wiedzy z zakresu wykładu K_U19
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 zaliczenie wykładu W
EU2 ocena realizowanych programów Ps
EU3 ocena realizowanych programów, ocena prostego projektu Ps
EU4 ocena zaprojektowanej struktury prostego programu (projektu) Ps
EU5 sprawdziany wejściowe Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - Udział w wykładach 30
2 - Udział w pracowni specjalistycznej 30
3 - Przygotowanie do pracowni specjalistycznej 7
4 - Udział w konsultacjach 4
5 - Przygotowanie do zaliczenia wykładu 8
6 - Realizacja zadań projektowych (w tym przygotowanie prezentacji) 15
7 - Pisanie (kończenie) poza zajęciami programów z pracowni specjalistycznej 6
RAZEM: 100
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 64
(1)+(2)+(4)
2.6
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 58
(2)+(6)+(7)+(3)
2.3
Literatura podstawowa

1. M. Summerfield, Python 3 : Kompletne wprowadzenie do programowania. Wyd.2. ed. Gliwice: Helion, 2010.
2. P. Norton, Python Od Podstaw. Gliwice: Helion, 2006.
3. Z.A. Shaw, Python 3 : Proste wprowadzenie do fascynującego świata programowania. Gliwice: Helion, 2018.

Literatura uzupełniająca

1. D. Hillard, Python : Dobre Praktyki Profesjonalistów. Gliwice: Helion, 2020.
2. C. Jackson, Python Ninja : 70 Sekretnych Receptur I Taktyk Programistycznych. Gliwice: Helion, 2019.
3. S. Kapil, Czysty Kod W Pythonie. Gliwice: Helion, 2019.
4. K. Rother, Python Dla Profesjonalistów : Debugowanie, Testowanie I Utrzymywanie Kodu. Gliwice: Helion, 2018.
5. Dokumentacja języka Python, https://docs.python.org/3/.
6. B.D. McLaughlin, G. Pollice, D. West, Analiza I Projektowanie Obiektowe. Gliwice: Helion, 2010.

Jednostka realizująca Katedra Oprogramowania Data opracowania programu
Program opracował(a) dr inż. Tomasz Łukaszuk 2021.04.20