Wydział Informatyki
Kierunek studiów Informatyka Poziom i forma studiów pierwszego stopnia inżynierskie stacjonarne
Specjalność / Ścieżka dyplomowania --- Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Programowanie obiektowe Kod przedmiotu INF1POB
Rodzaj przedmiotu obowiązkowy
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 2
30 30 Punkty ECTS 5
Przedmioty wprowadzające Podstawy programowania (INF1PPR),  
Cele przedmiotu

Zapoznanie studentów z podstawowymi technikami programowania obiektowego i realizacją tych technik w wybranych językach programowania (C++, Java, C#). Nauczenie praktycznego stosowanie tych technik w prostych programach w wybranych językach programowania. 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).

Odniesienia do standardu SFIA:
Programming/software development PROG - poziom 2
Software design SWDN - poziom 2
Testing TEST - poziom 1

Treści programowe

Wykład:
Pojęcia: klasy, obiektu, metody, pola. Projektowanie klas programu na podstawie opisu słownego systemu. Tworzenie i usuwanie obiektów. Interfejs i implementacja klasy, hermetyzacja. Składowe statyczne. Kompozycja i dziedziczenie jako metody wielokrotnego wykorzystywania klas (reusability). Polimorfizm. Klasy wewnętrzne. Błędy czasu wykonania, mechanizm wyjątków. Klasy generyczne – uzależnione od typu.

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. Używanie typów interfejsowych. Tworzenie klas generycznych. 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: egzamin pisemny.
Pracownia specjalistyczna: ocena wybranych programów realizowanych na zajęciach, większy program/projekt realizowany poza zajęciami - ocena struktury i implementacji.

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 techniki programowania obiektowego wraz z przykładami w wybranych językach programowania obiektowego INF1_W04
EU2 praktycznie stosować techniki programowania obiektowego w tworzonych programach i ich fragmentach INF1_U05
EU3 projektować architekturę (diagram klas) prostych programów obiektowych na podstawie ich opisów INF1_U04
EU4 używać w swoich programach bibliotek opisanych w dokumentacji technicznej wykorzystanych języków oprogramowania (w tym w j. angielskim) INF1_U13
INF1_U18
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 egzamin pisemny W
EU2 ocena pisanych programów Ps
EU3 ocena zaprojektowanej struktury prostego programu (projektu) Ps
EU4 ocena prostego projektu z uwzględnieniem wykorzystanych bibliotek Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - Udział w wykładach 30
2 - Udział w pracowni specjalistycznej 30
3 - Realizacja prostych programów poza zajęciami 10
4 - Udział w konsultacjach 5
5 - Realizacja zadań projektowych (w tym przygotowanie prezentacji) 38
6 - Przygotowanie do egzaminu 10
7 - Obecność na egzaminie 2
RAZEM: 125
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 67
(1)+(4)+(2)+(7)
2.7
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 78
(5)+(3)+(2)
3.1
Literatura podstawowa

1. M. Wejsfeld, Myślenie obiektowe w programowaniu, Helion, 2014
2. H. Schildt, Java przewodnik dla początkujących. Wydanie 8. Helion, 2020
3. B. Stroustrup, C++ : podróż po języku dla zaawansowanych. Helion, 2019
4. A. Stellman, J. Green, J, C# : doskonały podręcznik do nauki programowania w C# i .NET Core, Wyd. 4, Helion, O'Reilly, 2022

Literatura uzupełniająca

1. B. Eckel, Thinking in Java: edycja polska: wprowadzenie do programowania zorientowanego obiektowo w sieci WWW, Helion, 2006
2. J. Grębosz, Opus magnum C++11: programowanie w języku C++. T.1-3, Helion, 2018
3. B. Eckel, Thinking in C++, https://github.com/t-towtdi/B.Eckel-Thinking-in-CPP-vol.1/2

Jednostka realizująca Katedra Oprogramowania Data opracowania programu
Program opracował(a) dr inż. Marek Tabędzki 2023.04.04