Pole | KOD | Znaczenie kodu |
---|
Zamierzone efekty kształcenia | I_1A_C/04_U01 | Student powinien umieć od podstaw implementować specyfikację rozwiązywanego problemu wykorzystując programistyczne mechanizmy implementacji paradygmatu obiektowego |
---|
Odniesienie do efektów kształcenia dla kierunku studiów | I_1A_U20 | ma umiejętności samokształcania się |
---|
I_1A_U01 | potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie |
I_1A_U02 | potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych |
I_1A_U14 | ma umiejętność tworzenia interfejsów użytkownika oraz wykorzystania różnych sposobów komunikacji z systemami komputerowymi |
I_1A_U19 | ma umiejętność wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego |
I_1A_U03 | umie oceniać przydatność i stosować różne paradygmaty programowania, języki i środowiska programistyczne do rozwiązywania problemów dziedzinowych |
I_1A_U05 | potrafi tworzyć i posługiwać się dokumentacją techniczną |
Cel przedmiotu | C-1 | Zapoznanie studentów z zasadami programowania obiektowego. |
---|
C-2 | Ukształtowanie umiejętności z zakresu technik programowania obiektowego |
Treści programowe | T-W-2 | Zarządzanie czasem życia i dostępem do składowych obiektów złożonych. Agregacja a kompozycja. |
---|
T-W-4 | Dziedziczenie. Technika programowania. |
T-W-5 | Polimorfizm. Metody wirtualne i klasy polimorficzne. |
T-W-6 | Programowanie uogólnione. Funkcje wzorcowe i wzorce klas. |
T-W-7 | Programowanie generyczne za pomocą biblioteki standardowej, STL. |
T-W-3 | Przeładowanie operacji, funkcji oraz przeciążanie operatorów. |
T-W-1 | Paradygmat programowania obiektowego. Języki oraz środowiska programowania obiektowego. Inkapsulacja jako element paradygmatu. |
T-W-8 | Rozpoznanie typu w czasie wykonania programu. Obsługa wyjątków. |
T-L-7 | Metody wirtualne; definicja metody wirtualnej; wirtualne destruktory; wywołanie metody wirtualnej; wirtualne klasy podstawowe; definicja wirtualnej klasy podstawowej; dostęp do składowych wirtualnej klasy podstawowej; kolejność wywoływania konstruktorów i destruktorów. |
T-L-8 | Definicja klasy wzorcowej; konkretyzowanie klasy wzorcowej; specjalizowanie klasy wzorcowej; pola statyczne klas wzorcowych; wyrażenia stałe jako parametry klas wzorcowych; typy zagnieżdżone w treść klasy wzorcowej; deklaracja zaprzyjaźnienia klas wzorcowych. Specjalizacja szablonów. Dziedziczenie a klasy wzorcowe - wzorcowa klasa pochodna. |
T-L-9 | Listy jednokierunkowe i dwukierunkowe; tworzenie węzła; pojęcie i opracowanie iteratora; definicje metod podstawowych listy. Definicja metod podstawowych stosu i kolejki. Rekursja. Drzewa binarne. |
T-L-1 | Środowisko implementacji. Tworzenie obiektów na stosie za pomocą struktur. Przekazanie obiektów przez argumenty funkcji globalnych i zwrot obiektów. Programowanie funkcji przeładowanych. |
T-L-2 | Tworzenie obiektów na stercie za pomocą klas. Zarządzanie obiektami na stercie. Operatory new oraz delete. Tablicy obiektów i wskaźników na obiekty. |
T-L-3 | Konstruowanie złożonych obiektów: agregacja i kompozycja. Programowanie konstruktorów, destruktorów, inicjalizacja i kasowanie obiektów dynamicznych. |
T-L-4 | Programowanie klas zagnieżdżonych, statycznych oraz lokalnych. Wykorzystanie deklaracji friend, wskaźnika this oraz uzycie wskaźników do składowych, w tym statycznych. |
T-L-5 | Przeciążanie operatorów oraz programowanie operatorów konwersji typów. |
T-L-10 | Definicja i uzycie przestrzeni nazw, programowanie kontejnerów sekwencyjnych biblioteki STL: string, vector, lista, kolejka dwukierunkowa. |
T-L-11 | Strumieni wejścia –wyjścia: pojęcie strumienia, strumienie związane z plikami, łańcuchowe strumienie, formatowanie strumienie, manipulatory. |
T-L-6 | Klasy podstawowe i pochodne. Programowanie dziedziczenia. Dostęp do składowych, inicjowanie klasy dziedziczonych, dziedziczenie a konwersja typu, dziedziczenie operatorów. |
T-L-12 | Programowanie kontenerów asocjacyjnych : map, multimap, set, multiset. |
T-L-13 | Pojęcie predykatu. Obiekty funkcyjne. Adaptowanie obiektów funkcyjnych. Biblioteka predykatów. Algorytmy uogólnione: manipulowanie sekwencjami, sortowanie i operacji na sekwencjach posortowanych, algorytmy numeryczne. |
T-L-14 | Rzutowanie w czasie wykonania. Operator typeid. Zastosowanie mechanizmu RTTI. |
T-L-15 | Przychwytywanie wyjątku, dopasowanie wyjątków, wyjątki standardowe, specyfikacja wyjątków, bezpieczeństwo wyjątków. |
Metody nauczania | M-1 | Wykład informacyjny połączony z metodą badania przypadków oraz komputerową demonstracją |
---|
M-2 | Ćwiczenia laboratoryjne |
Sposób oceny | S-1 | Ocena formująca: Wejciówka. Pozwala oceniać przygotowanie studenta do ćwiczeń laboratoryjnych. |
---|
S-2 | Ocena formująca: Sprawdzenie programistycznych zadań domowych. Pozwala ocenić przyswojoną wiedzę z wcześniejszych tematów . |
S-3 | Ocena formująca: Ocena zadań ćwiczeniowych wykonywanych w ramach zajęć laboratorinyjch. Pozwala ocenić stopień przygotowania studenta do samodzielnego wykonania programistycznych ćwiczeń domowych. |
S-4 | Ocena podsumowująca: Testowy ekzamin pisemny |
Kryteria oceny | Ocena | Kryterium oceny |
---|
2,0 | nie spełnia kryteriów okreslonych dla oceny 3 |
3,0 | potrafi implementować główne podstatowe zasady paradygmatu obiektowego |
3,5 | potrafi implementować główne podstatowe zasady paradygmatu obiektowego oraz zarządzania wyjątkami |
4,0 | potrafi implementować podstatowe zasady paradygmatu obiektowego, zasady zarządzania wyjakami oraz wybrane podstawowe mechanizmy programowania uogólnionego. |
4,5 | potrafi implementować podstatowe zasady paradygmatu obiektowego, zasady zarządzania wyjątkami, dowolne mechanizmy programowania uogólnionego. |
5,0 | potrafi implementować podstatowe zasady paradygmatu obiektowego, zarządzania wyjątkami, dowolne mechanizmy programowania uogólnionego oraz biblioteki standardowej. |