- Nazwa przedmiotu:
- Programowanie obiektowe
- Koordynator przedmiotu:
- Robert KURJATA
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Inżynieria Biomedyczna
- Grupa przedmiotów:
- Przedmioty techniczne
- Kod przedmiotu:
- PROBI
- Semestr nominalny:
- 2 / rok ak. 2018/2019
- Liczba punktów ECTS:
- 5
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- liczba godzin kontaktowych – 65 godz., w tym
obecność na wykładach 30 godz.,
obecność na laboratorium 15 godz,
konsultacje projektowe 15 godz,
konsultacje przed kolokwiami i sprawdzianem praktycznym 5 godz.
praca własna studenta – 60 godz., w tym
przygotowanie do wykładów 15 godz.,
przygotowanie do laboratoriów 15 godz.,
wykonanie projektu 25 godz,
przygotowanie do sprawdzianów 5 godz.
Łączny nakład pracy studenta wynosi 125 godz., co odpowiada 5 pkt. ECTS.
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 2,6 pkt. ECTS, co odpowiada 65 godz. kontaktowym.
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 1,4 pkt. ECTS, co odpowiada 35 godz. (laboratorium 15h, projekt 20h)
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium15h
- Projekt15h
- Lekcje komputerowe0h
- Wymagania wstępne:
- brak
- Limit liczby studentów:
- 90
- Cel przedmiotu:
- Celem przedmiotu jest zapoznanie studentów z podstawami programowania obiektowego z
wykorzystaniem języka C++. W ramach przedmiotu studenci opanują podstawowe paradygmaty i mechanizmy programowania obiektowego. Poznają także rozszerzenia programowania strukturalnego oferowane przez język C++. Bazowym standardem dla wykładu jest wersja C++11.
- Treści kształcenia:
- Treść wykładu (30h):
• Podstawowe pojęcia: klasa, obiekt, kapsułkowanie, dziedziczenie. Paradygmat
projektowania obiektowego. Zasady dostępu w klasie: pola prywatne i publiczne. Kontekst
wprowadzany przez klasę. Konstruktory i destruktory. Konstruktor kopiujący.
• Referencja i wskaźnik. Modyfikator const. Zarządzanie pamięcią. Inteligentne wskaźniki
(std::unique_ptr).
• Funkcje anonimowe (lambda). Pętle zakresowe. Delegacja konstruktorów.
• Identyfikacja funkcji przez nagłówek. Przeciążanie funkcji. Przeciążanie operatorów. Domyślne wartości parametrów formalnych.
• Strumieniowe wejście/wyjście. Funkcje i klasy zaprzyjaźnione.
• Wyjątki: sposób zgłaszania i przechwytywania, dziedziczenie wyjątków.
• Dziedziczenie. Dziedziczenie wielokrotne klasy bazowej. Zasady dostępu do pól klasy
bazowej. Sposób realizacji dziedziczenia. Wirtualne dziedziczenie. Wirtualne metody.
• Biblioteka standardowa C++.
• Szablony. Tworzenie i wykorzystywanie szablonów. Standardowa biblioteka klas
szablonowych.
Laboratorium:
• Konstrukcja podstawowych klas. Metody. Konstruktory i destruktory. (2h)
• Klasa z operatorami. (2h)
• Dziedziczenie. Klasa abstrakcyjna. (2h)
• Wzorce. Klasy kontenery. (4h)
• Wykorzystanie biblioteki STL. (4h)
Projekt:
W ramach projektu studenci implementują jeden z przygotowanych przez prowadzącego tematów obejmujących całokształt przedmiotu, w szczególności wykorzystanie podstawowych paradygmatów programowania obiektowego oraz implementację wykorzystującą klasy szablonowe biblioteki standardowej C++.
- Metody oceny:
- kolokwium, ocena projektu, oceny laboratoriów
- Egzamin:
- nie
- Literatura:
- Literatura i oprogramowanie:
● Bjarne Stroustrup, Język C++. Kompendium wiedzy. Wydanie IV, Helion, 2014
● Piotr Wróblewski, Algorytmy, struktury danych i techniki programowania. Wydanie V,
Helion, 2015,
● Bruce Eckel, Chuck Allison, Thinking in C++. Edycja polska. Tom I i II, Helion, 2004
● David Abrahams, Aleksey Gurtovoy, Język C++. Metaprogramowanie za pomocą
szablonów, Helion, 2005
- Witryna www przedmiotu:
- Uwagi:
- brak
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Charakterystyka W01
- Posiada podstawową wiedzę w zakresie programowania obiektowego
Weryfikacja: kolokwium, ocena projektu
Powiązane charakterystyki kierunkowe:
K_W04
Powiązane charakterystyki obszarowe:
I.P6S_WG
- Charakterystyka W02
- Posiada wiedzę w zakresie zaawansowanych algorytmów komputerowych
Weryfikacja: kolokwium, ocena projektu
Powiązane charakterystyki kierunkowe:
K_W01, K_W04
Powiązane charakterystyki obszarowe:
I.P6S_WG
- Charakterystyka W03
- Ma wiedzę w zakresie metodyki i technik programowania
Weryfikacja: kolokwium, ocena projektu
Powiązane charakterystyki kierunkowe:
K_W04
Powiązane charakterystyki obszarowe:
I.P6S_WG
Profil ogólnoakademicki - umiejętności
- Charakterystyka U01
- Potrafi formułować zagadnienia w postaci algorytmicznej i zapisywać algorytmy w językach
programowania
Weryfikacja: Oceny laboratorium i projektu
Powiązane charakterystyki kierunkowe:
K_U08
Powiązane charakterystyki obszarowe:
I.P6S_UW, III.P6S_UW.4.o
- Charakterystyka U02
- Potrafi przygotować i zaprezentować dokumentację prostego zagadnienia inżynierskiego
Weryfikacja: Oceny laboratorium i projektu
Powiązane charakterystyki kierunkowe:
K_U02
Powiązane charakterystyki obszarowe:
I.P6S_UK
- Charakterystyka U03
- Potrafi samodzielnie zdobywać informacje z dostępnych źródeł, ma umiejętność samokształcenia
Weryfikacja: ..
Powiązane charakterystyki kierunkowe:
K_U01, K_U05
Powiązane charakterystyki obszarowe:
I.P6S_UW, I.P6S_UU
Profil ogólnoakademicki - kompetencje społeczne
- Charakterystyka K01
- Potrafi organizować własną pracę i pracować w małej grupie
Weryfikacja: Kolokwium, ocena laboratorium i projektu
Powiązane charakterystyki kierunkowe:
K_K07
Powiązane charakterystyki obszarowe:
I.P6S_KR
- Charakterystyka K02
- Rozumie potrzebę dokształcania się przez całe życie
Weryfikacja: Kolokwium, ocena laboratorium i projektu
Powiązane charakterystyki kierunkowe:
Powiązane charakterystyki obszarowe: