- Nazwa przedmiotu:
- Programowanie
- Koordynator przedmiotu:
- dr inż. Tomasz Marks
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- Semestr nominalny:
- 2 / rok ak. 2011/2012
- Liczba punktów ECTS:
- 5
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium0h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Podstawy programowania strukturalnego
- Limit liczby studentów:
- Cel przedmiotu:
- Celem przedmiotu jest zapoznanie studentów z programowaniem w języku C++ będącym zaawansowanym narzędziem programowania obiektowego. Przedmiot obejmuje przedstawienie elementów składowych tego języka oraz naukę technik programowania związanych z wykorzystaniem samodzielnie definiowanych klas uwzględniających pojęcia hermetyzacji, dziedziczenia, polimorfizmu, metod wirtualnych i obsługi wyjątków, a także korzystania z wybranych elementów biblioteki standardowej C++.
- Treści kształcenia:
- 1. Język C a C++. Definiowanie prostych klas.
2. Podstawowe założenia paradygmatu obiektowego.
3. Typy referencyjne. Domyślne wartości argumentów. Przeciążanie funkcji.
4. Konstruktory, destruktory. Definiowanie operatorów. Strumieniowe operacje we/wy.
5. Wskaźnik this. Operatory new, delete. Funkcje zaprzyjaźnione.
6. Klasa Vector z dynamicznie alokowaną tablicą składowych.
7. Pola i metody statyczne. Dostępność składowych klasy.
8. Klasa z polem obiektowym typu Vector.
9. Dziedziczenie, polimorfizm i metody wirtualne.
10. Jak realizowany jest mechanizm wirtualności? Metody czysto wirtualne i ATD.
11. Obsługa błędów. Obsługa wyjątków. Wyjątki jako mechanizm sterujący.
12. Konwersje, operatory konwersji i konwertery.
13. Definiowanie i wykorzystanie szablonów funkcji i klas.
14. Elementy biblioteki STL.
15. C++ a inne języki programowania obiektowego
- Metody oceny:
- Zaliczenie przedmiotu wymaga uzyskania zaliczenia zajęć laboratoryjnych. 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 poszczególnych zadań.
Uwagi dodatkowe:
Po każdym wykładzie jego treść jest udostępniana w formie pliku *.pdf na stronie wykładowcy: www.mini.pw.edu.pl/~tmarks
- Egzamin:
- 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 programisty; Helion 2003
- Witryna www przedmiotu:
- Uwagi:
Efekty uczenia się