zaawansowane techniki C++
Wykład omawia mniej znane, lecz szeroko wykorzystywane w bibliotekach mechanizmy C++, które znacznie przyspieszają pracę sprytnego programisty. Przedstawione zostaną także biblioteki, które, choć trudne do opanowania, znacząco mogą zwiększyć wydajność programistyczną oraz bezpieczeństwo i bezbłędność pisanych programów. Na wykładzie zostanie pokazane, że vector i map dla dowolnego typu to tylko efekt uboczny biblioteki STL a nie jej główny atut. Ponadto przedstawiony zostanie najnowszy wschodzący standard C++ czyli C++0x - pokazane zostanie czemu zmiany w języku, które niedzielnym programistom zdają się niewielkie w rzeczywistości znacznie ułatwią pracę z językiem.
wymagane przygotowanie
- dobra znajomość języka C++
- umiejętność projektowania i programowania obiektowego
literatura
- Andrei Alexandrescu: Modern C++ Design. Addison Wesley, 2009.
- David Abrahams, Aleksey Gurtovoy: C++ Template Metaprogramming. Addison Wesley, 2005.
- The C++ Standards Committee. Dokumenty: ISO/IEC TR 19768, ISO/IEC 14882:2003, C++0x draft N3000.
terminarz
- wykład (K.Kisielewicz): poniedziałek 16-18 s.119
-
laboratorium (P.Rzechonek):
środa 10-12 s.108
czwartek 8-10 s.110
Laboratorium
Notatki do wykładu, listy z zadaniami i zasady zaliczania laboratorium znajdują się na stronie Kornela Kisielewicza.
zasady zaliczania przedmiotu
- ogólnie:
- W semestrze będzie opublikowanych (linki na tej stronie) kilkanaście list z zadaniami do zaprogramowania. Za każde poprawnie zaprogramowane zadanie i oddane w terminie można będzie dostać pewną liczbę punktów (określoną przy każdym zadaniu).
- terminy:
- Zadania do zaprogramowania będą ogłaszane w tygodniu poprzedzającym termin ich realizacji. Zadania należy oddawać w wyznaczonym terminie. Spóźnienia nie będą tolerowane, za wyjątkiem uzasadnionych sytuacji: choroba potwierdzona zwolnieniem lekarskim, wezwanie do Sądu, itp.
- prezentacje:
- Programy należy prezentować osobiście w czasie pracowni (proszę nie wysyłać programów pocztą elektroniczną, ani nie przekazywać ich poprzez kolegów czy koleżanki). W trakcie prezentacji programu trzeba się liczyć z pytamiami dotyczącymi zadania: metoda rozwiązania, zastosowane konstrukcje językowe, wykorzystane technologie, itp.
- oceny:
- Aby zaliczyć laboratorium na ocenę dostateczną trzeba do końca semestru zdobyć 50% z wszystkich możliwych do uzyskania punktów; na ocenę bardzo dobrą trzeba będzie zgromadzić 90% punktów; oceny pośrednie pozostją w liniowej zależności od przedstawionych wymagań granicznych.
zadania
- 17/18.03.2010: lista 1 (20 punktów)
- 24/25.03.2010: lista 2 (20 punktów)
- 31.03/1.04.2010: lista 3 (20 punktów)
- 19.04.2010: kolokwium I (45 punktów)
- 21/22.04.2010: lista 4 (10 punktów)
- 28/29.04.2010: lista 5 (15 punktów)
- 5/6.05.2010: lista 6 (15 punktów)
- 19/20.05.2010: lista 7 (10 punktów)
- 9/10.06.2010: lista 8 (10 punktów)
- 16/17.06.2010: lista 9 (10 punktów)
ranking
-
bieżący stan punktowy w moich grupach:
środa 10-12
czwartek 8-10
Ogłoszenia
- 24.05.2010
- W tym tygodniu (środa 26 i czwartek 27 maja) zajęcia laboratoryjne są odwołane - nie ma nowej listy a ja jestem mocno przeziębiony.
- 19.05.2010
- Jutrzejsze zajęcia (czwartek 20 maja) skończą się trochę wcześniej - przed 9:30. Proszę więc o wcześniejsze przybycie!
- 15.04.2010
- Pierwsze kolokwium odbędzie się 19 kwietnia o 18:15 (zaraz po wykładzie). Obecność obowiązkowa!
- 7.04.2010
- Laboratoria w tygodniu po Świętach (7/8.04.2010) nie odbędą się.
- 25.03.2010
- Przyszłotygodniowe zajęcia w dniach 31.03 i 1.04.2010 normalnie się odbywają (wbrew temu co wydawało mi się jeszcze dziś rano na laboratorium). Obowiązuje lista 3. A ferie świąteczne rozpoczynają się dopiero 2.04.2010.
- 10.03.2010
- Pierwsze laboratoria w moich grupach odbędą się w przyszłym tygodniu - w środę 17.03.2010 i w czwartek 18.03.2010.
- 1.03.2009
- W tym miejscu będą się pojawiać ogłoszenia organizacyjne dotyczące zajęć w mojej grupie laboratoryjnej.