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ę