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
  1. 17/18.03.2010: lista 1 (20 punktów)
  2. 24/25.03.2010: lista 2 (20 punktów)
  3. 31.03/1.04.2010: lista 3 (20 punktów)
  4. 19.04.2010: kolokwium I (45 punktów)
  5. 21/22.04.2010: lista 4 (10 punktów)
  6. 28/29.04.2010: lista 5 (15 punktów)
  7. 5/6.05.2010: lista 6 (15 punktów)
  8. 19/20.05.2010: lista 7 (10 punktów)
  9. 9/10.06.2010: lista 8 (10 punktów)
  10. 16/17.06.2010: lista 9 (10 punktów)
ranking

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.

powrót na początek strony