(Średnio)zaawansowane programowanie w C++
Transkrypt
(Średnio)zaawansowane programowanie w C++
(Średnio)zaawansowane programowanie w C++ Regulamin dr inż. Robert Nowak Semestr 2007L Harmonogram zajęć Celem przedmiotu jest zapoznanie słuchaczy z zagadnieniami tworzenia oprogramowania w języku C++, w oparciu o współcześnie stosowane techniki i biblioteki. Zakładana jest znajomość programowania strukturalnego i obiektowego oraz praktyczna znajomość języka C++. Nr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Opis Sprawy organizacyjne. Powtórzenie: iteracja i rekurencja, wskaźniki, klasy autonomiczne, cykl życia obiektów, składowe statyczne klas, przeciążania operatorów. Agregacja i dziedziczenie, funkcje wirtualne, polimorfizm, klasy abstrakcyjne. Laboratorium 1: funkcje wirtualne, hierarchia klas. Wzorce projektowe. Obsługa błędów, mechanizm wyjątków, zasoby, sprytne wskaźniki. Laboratorium 2: wyjątki. Rozdanie zadań projektowych. Rola projektowania i testowania, programowanie ekstremalne, repozytorium, boost::test_unit i inne. Szablony, wstęp do biblioteki standardowej, strumienie, kontenery, algorytmy. Laboratorium 3: Biblioteka standardowa, obiekty funkcyjne, boost::bind, boost::lambda. Laboratorium 4: Kolokwium. Laboratorium 5: realizacja projektu Laboratorium 6: realizacja projektu Aplikacje wielowątkowe, synchronizacja, boost::thread. Laboratorium 7: aplikacje wielowątkowe. Zaliczenie Przedmiot jest oceniany na podstawie: kolokwium 0 – 30pkt ćwiczeń laboratoryjnych 0 – 40pkt projektów 0 – 30pkt Ocena jest następująca: 91 – 100 punktów ocena 5 81 – 90 pkt. ocena 4 21 71 – 80 pkt. ocena 4 61 – 70 pkt. ocena 3 21 51 – 60 pkt. ocena 3 0 – 50 pkt. ocena 2 Literatura • Bjarne Stroustrup, Język C++, WNT 2002. • Bruce Eckel, Thinking in C++, Helion 2002. • E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Wzorce projektowe, WNT, 2005. • A. Alexandrescu, Nowoczesne projektowanie w C++, WNT, 2005. • A. Alexandrescu and H. Sutter, Jȩzyk C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktyk, Helion, 2005. • B. Karlsson, Wiȩcej niż C++. Wprowadzenie do bibliotek Boost, Helion, 2006. • S. Meyers, 50 efektywnych sposobów na udoskonalenie Twoich programów, Helion, 2003.