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: