Zaawansowane Biblioteki Programistyczne

Transkrypt

Zaawansowane Biblioteki Programistyczne
Data:
16.04.2008r.
Wydanie: I
Załącznik
Symbol:
Z-5.4-1-1
Strona:
Status:
obowiązujący
1/1
KARTA PRZEDMIOTU
KARTA PRZEDMIOTU
Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010
Nazwa przedmiotu:
ZAAWANSOWANE
BIBLIOTEKI
PROGRAMISTYCZNE
Kierunek:
INFORMATYKA
Specjalność:
PRZEDMIOT OBIERALNY
Tryb studiów:
STACJONARNE JEDNOLITE MAGISTERSKIE
Rodzaj przedmiotu:
Instytut/ Katedra:
Semestr:
Prowadzący przedmiot:
Prowadzący zajęcia:
TECHNICZNY
Liczba pkt ECTS
INFORMATYKI
IX
dr inŜ. Sebastian Deorowicz
Liczba godzin
Wykład: dr inŜ. Sebastian Deorowicz
Wykład: 30
Ćwiczenia:
Ćwiczenia:
Kod/nr
Laboratorium: dr inŜ. Sebastian Deorowicz Laboratorium: 30
Projekt:
Projekt:
Seminarium:
Seminarium:
Powiązanie ze standardami i cel kształcenia
Celem przedmiotu jest zaznajomienie słuchaczy z bardziej zaawansowanymi aspektami
programowania w języku C++ z wykorzystaniem bibliotek STL (Standard Template
Library), Boost, blitz++ i innych oraz z techniką metaprogramowania. Przedstawione
takŜe zostaną najwaŜniejsze aspekty nowego standardu języka C++ (robocza nazwa C+
+0x)
Przedmioty wprowadzające oraz wymagania wstępne
Umiejętność programowania w języku C++
Załącznik
Data:
16.04.2008r.
Wydanie: I
Symbol:
Z-5.4-1-1
Strona:
Status:
obowiązujący
2/1
KARTA PRZEDMIOTU
Treść wykładów:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Szablony — tworzenie, wykorzystywanie, programowanie generyczne
Filozofia biblioteki STL
STL - Podstawowe kolekcje: list, vector, string
STL - Iteratory — pojęcie iteratora, realizowane zadania
STL - Kolekcje zaawansowane, m.in., queue, deque, stack, priority_queue, map,
multimap, set, multiset, bitset, hash_map
STL - Algorytmy, m.in., sort, find, for_each, copy, remove, nth_element, merge,
make_heap, next_permutation
Kolekcje numeryczne, m.in., valarray
Obiekty funkcyjne — funktory
Alokatory
Biblioteki Boost – inteligentne wskaźniki
Biblioteki Boost – wyraŜenia regularne
Biblioteki Boost – wyraŜenia lambda
Biblioteki Boost – grafy i inne
Biblioteka blitz++
Metaprogramowanie
Biblioteka LEDA
•
Standard C++0x
•
Treść/Tematy: Ćw./L./P./Sem.
Laboratorium przedmiotu składa się z dwóch części:
1. W pierwszej części semestru realizowane są ćwiczenia laboratoryjne mające na
celu praktyczne przećwiczenie wiadomości zdobytych na wykładzie.
2. W drugiej części semestru do zrealizowania będą nieco bardziej zaawansowane
zadania projektowe wykorzystujące szablony i bibliotekę STL.
Zadania laboratoryjne i projektowe będą dotyczyły:
1. Zastosowania poznanych kolekcji i algorytmów do zrealizowania nowych struktur
danych a takŜe do rozwiązania problemów praktycznych.
2. Porównania wydajności kolekcji i algorytmów oferowanych przez róŜne
implementacje biblioteki STL.
Wykorzystania w praktyce narzędzi oferowanych przez bliblioteki Boost, blitz++.
Metody dydaktyczne
Wykład uzupełniany slajdami
Forma egzaminu/zaliczenia przedmiotu
1. Wykład — Egzamin ustny (opcjonalny); w przypadku braku egzaminu zaliczenia na
podstawie laboratorium
2. Ćw./L./P./Sem. – oceny z zadań laboratoryjnych i projektowych
Data:
16.04.2008r.
Wydanie: I
Załącznik
Status:
obowiązujący
Symbol:
Z-5.4-1-1
Strona:
3/1
KARTA PRZEDMIOTU
Minimalne wymagania do egzaminu /zaliczenia
Egzamin: Znajomość zagadnień omawianych w ramach wykładu
Zaliczenie: zaliczenie wszystkich ćwiczeń laboratoryjnych i projektowych
Literatura (podstawowa i specjalistyczna)
 S. Prata, Szkoła programowania. Język C++, Helion, Gliwice, 2006
 B. Stroustrup, Język C++, Wydanie 5, WNT, Warszawa, 2000
 N.M. Josuttis, C++. Biblioteka standardowa. Podręcznik programisty, Helion, Gliwice,
2003
 S. Meyers, STL w praktyce. 50 sposobów efektywnego wykorzystania, Helion,
Gliwice, 2004
 S. Meyers, Język C++ bardziej efektywny, WNT, Warszawa, 1998
 S. Meyers, C++. 50 efektywnych sposobów na udoskonalenie Twoich programów,
Helion, Gliwice, 2004
 B. Stroustrup, Projektowanie i rozwój języka C++, WNT, Warszawa, 1996
 B. Karlsson, Więcej niŜ C++. Wprowadzenie do bibliotek Boost, Helion, 2006
 D. Abrahams, A. Gurtovoy, Język C++. Metaprogramowanie za pomocą szablonów,
Helion, 2006.
 D. Bulka, D. Mayhew, Efektywne programowanie w C++, Mikom, 2001
Zatwierdzono:
…………………………….
…………………………………………………
(data i podpis prowadzącego)
(data i podpis Dyrektora Instytutu/Kierownika Katedry)