- Nazwa przedmiotu:
- Programowanie 2 - obiektowe
- Koordynator przedmiotu:
- dr inż. Ewa Pawelec
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- 1120-IN000-ISP-0125
- Semestr nominalny:
- 2 / rok ak. 2015/2016
- Liczba punktów ECTS:
- 5
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 1. godziny kontaktowe – 60 h; w tym
a) obecność na wykładach – 30 h
b) obecność na laboratoriach – 30 h
2. praca własna studenta – 90 h; w tym
a) zapoznanie się z literaturą – 30 h
b) przygotowanie się do zajęć laboratoryjnych – 60 h
Razem 150 h, co odpowiada 5 pkt. ECTS
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 1. obecność na wykładach – 30 h
2. obecność na laboratoriach – 30 h
Razem 60 h, co odpowiada 2 pkt. ECTS
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 1. obecność na laboratoriach – 30 h
2. przygotowanie do zajęć laboratoryjnych – 60 h
Razem 90 h, co odpowiada 3 pkt. ECTS
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium30h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Programowanie 1 – strukturalne
- Limit liczby studentów:
- Laboratoria (ćwiczenia komputerowe) – 15 os. /grupa
- Cel przedmiotu:
- Celem przedmiotu jest wyrobienie umiejętności posługiwania się podstawowymi pojęciami i konstrukcjami obiektowego języka pro-gramowania. Po ukończeniu kursu studenci powinni:
- posiadać podstawową wiedzę na temat pojęć objętych paradygmatem programowania obiektowego;
- umieć samodzielnie definiować typy danych opisujące proste obiekty odwzorowujące podstawowe pojęcia matematyczne (np. liczby zespolone, wektory, macierze);
- umieć samodzielnie definiować typy danych opisujące bardziej złożone obiekty odwzorowujące abstrakcyjne dynamiczne struktury danych (np. lista, kolejka, stos, drzewo);
- umieć wykorzystywać pliki (strumienie) w samodzielnie realizo-wanych programach;
- umieć samodzielnie realizować proste aplikacje użytkowe w postaci projektów jedno- i wieloplikowych;
- umieć wykorzystywać elementy biblioteki standardowej języka (typy wzorcowe i algorytmy) w samodzielnie realizowanych programach;
- umieć pracować w profesjonalnym środowisku uruchomieniowym (MS Visual Studio) i wykorzystywać je do pisania, testowania, debu-ggowania i tworzenia wersji wynikowej aplikacji.
- Treści kształcenia:
- Język C a C++. Definiowanie prostych klas.
Podstawowe założenia paradygmatu obiektowego.
Typy referencyjne. Domyślne wartości argumentów. Przeciążanie funkcji.
Konstruktory, destruktory. Definiowanie operatorów. Strumieniowe operacje we/wy.
Wskaźnik this. Operatory new, delete. Funkcje zaprzyjaźnione.
Klasa Vector z dynamicznie alokowaną tablicą składowych.
Pola i metody statyczne. Dostępność składowych klasy.
Klasa z polem obiektowym typu Vector.
Dziedziczenie, polimorfizm i metody wirtualne.
Jak realizowany jest mechanizm wirtualności? Metody czysto wirtu-alne i ATD.
Obsługa błędów. Obsługa wyjątków. Wyjątki jako mechanizm steru-jący.
Konwersje, operatory konwersji i konwertery.
Definiowanie i wykorzystanie szablonów funkcji i klas.
Elementy biblioteki STL.
C++ a inne języki programowania obiektowego
- Metody oceny:
- Zaliczenie przedmiotu wymaga uzyskania zaliczenia zajęć laborato-ryjnych. Obecność na zajęciach jest obowiązkowa.
Zajęcia laboratoryjne obejmują wykonanie 13 zadań o różnym stopniu trudności, punktowanych w skali od 1 do 5 (maksymalnie). Ocena z laboratorium (ocena pracy semestralnej) jest ustalana przez prowadzących zajęcia na podstawie sumy ważonej ocen z wszystkich zadań. Nie przewiduje się możliwości poprawiania ocen z poszcze-gólnych zadań
- Egzamin:
- nie
- Literatura:
- 1. B. Stroustrup – Język C++, WNT, 2002
2. B. Eckel – Thinking in C++. Edycja polska, Helion, 2002
3. J. Grębosz – Symfonia C++ standard, Edition, 2005
4. N. M. Josuttis - C++ Biblioteka standardowa. Podręcznik programi-sty; Helion 2003
- Witryna www przedmiotu:
- e.mini.pw.edu.pl
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Efekt W01
- Zna podstawowe pojęcia związane z paradygmatem programowania obiektowego i ich szczegółową egzemplifikację w wybranym języku programowania (C++)
Weryfikacja: punktowane zadania laboratoryjne
Powiązane efekty kierunkowe:
K_W06, K_W08
Powiązane efekty obszarowe:
T1A_W03, T1A_W04
- Efekt W02
- Zna podstawowe metody, techniki i narzędzia stosowane przy rozwiązywaniu prostych zadań informatycznych realizowanych w języku C++.
Weryfikacja: punktowane zadania laboratoryjne
Powiązane efekty kierunkowe:
K_W04, K_W10, K_W12, K_W13
Powiązane efekty obszarowe:
T1A_W03, T1A_W07, T1A_W07, T1A_W07
Profil ogólnoakademicki - umiejętności
- Efekt U01
- Potrafi – zgodnie z zadaną specyfikacją – zaprojektować oraz zrealizować prostą aplikację informatyczną, używając samodzielnie definiowanych typów danych i elementów biblioteki standardowej, w tym strumieni.
Weryfikacja: punktowane zadania laboratoryjne
Powiązane efekty kierunkowe:
K_U12, K_U30
Powiązane efekty obszarowe:
T1A_U09, T1A_U16
- Efekt U02
- Ma umiejętność pracy w profesjonalnym środowisku uruchomieniowym (MS Visual Studio) , a w szczególności potrafi korzystać z dostępnych w nim narzędzi do przeprowadzania testów funkcjonalnych opracowanych aplikacji.
Weryfikacja: punktowane zadania laboratoryjne
Powiązane efekty kierunkowe:
K_U11, K_U21
Powiązane efekty obszarowe:
T1A_U09, T1A_U14, T1A_U15, T1A_U09, T1A_U13, T1A_U14
Profil ogólnoakademicki - kompetencje społeczne
- Efekt K01
- Potrafi pracować indywidualnie oraz rozumie konieczność dostosowania się do standardów i dobrych praktyk programowania
Weryfikacja: punktowane zadania laboratoryjne
Powiązane efekty kierunkowe:
K_K05
Powiązane efekty obszarowe:
T1A_K03, T1A_K04