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)