Marek_Suchenek - Projekty EFS WWSI

advertisement
Sylabus
1. Nazwa jednostki prowadzącej kierunek,
Warszawska Wyższa Szkoła Informatyki
2. Nazwa kierunku,
Informatyka
3. Nazwa przedmiotu,
Programowanie w Abstrakcyjnych Typach Danych
4. Określenie przedmiotów wprowadzających wraz z wymaganiami
wstępnymi,
− Analiza matematyczna:
ciągi, szeregi, zbieżność, reguła de L'Hopitala, pojecie całki.
− Matematyka Dyskretna:
podstawy rachunku zdań, kwantyfikatory, dowody indukcyjne, operacje na zbiorach,
relacje, funkcje, podstawy kombinatoryki, podstawowe własności grafów i drzew.
− Metody probabilistyczne i statystyka:
elementarny rachunek prawdopodobieństwa, wartość oczekiwana,
prawdopodobieństwo
warunkowe (do wzoru Bayes'a włącznie).
− Metody programowania:
znajomość podstaw programowania obiektowego wraz z praktyczna znajomością języka
programowania wysokiego poziomu zorientowanego obiektowo (np. C++);
− Algorytmy i struktury danych:
złożoność obliczeniowa, notacja "duże O"; weryfikacja poprawności;
podstawowe struktury danych: tablice, struktury wskaźnikowe; podstawowe
algorytmy:
wyszukiwanie, sortowanie; rekurencja.
„Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego”
5. Liczba godzin zajęć dydaktycznych, w tym wykładów, ćwiczeń,
laboratoriów, seminariów itp., realizowanych w systemie studiów
stacjonarnych i niestacjonarnych,
− Studia stacjonarne
− 15 godzin wykładów
− 5 godzin laboratoriów
− Studia niestacjonarne
− 15 godzin wykładów
− 5 godzin laboratoriów
6. Liczba punktów ECTS,
???
7. Założenia i cele przedmiotu,
Celem przedmiotu jest zaznajomienie słuchaczy z metodami programowania na poziomie
abstrakcyjnych typów danych wraz z ich praktycznymi zastosowaniami. Mimo ze przedmiot
należy do grupy Programowanie, bazować on będzie na pojęciach matematycznych oraz
teoretycznych. Po zaliczeniu przedmiotu, studenci powinni posiąść dyscyplinę
programowania która umożliwi im stosunkowo łatwe i klarowne rozwiązywanie złożonych
problemów. Wykład ilustrowany będzie ciekawymi zastosowaniami w informatyce i
sztucznej inteligencji. Nacisk będzie położony na wyrobienie praktycznych umiejętności i
wzbudzenie zainteresowania tematyka przedmiotu a nie na jego aspekty teoretycznoformalne.
8. Metody dydaktyczne,
− Część wykładowa przedmiotu jest prezentowana w formie klasycznego
wykładu audytoryjnego, z użyciem środków multimedialnych i interakcyjnych
narzędzi programowania.
− W części laboratoryjnej studenci będą implementować
zadane programy w zintegrowanym środowisku programowym.
„Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego”
9. Forma i warunki zaliczenia przedmiotu,
− Warunkami zaliczenia przedmiotu są:
obecność na wykładach,
kodowanie i wykonywanie zadanych programów w laboratoriach, oraz
zdanie pisemnego egzaminu końcowego
składającego sie z zadania laboratoryjnego, którego rozwiązanie wymagać
będzie umiejętności programowania obiektowego z użyciem abstrakcyjnych
typów danych.
10. Program zajęć
1 tydzień 23-27.05.2011, w godz. od 15.00 do 19.00.
Poniedziałek
Wykład:
Godzina 1: Przegląd preliminariów matematycznych; definiowanie przez indukcje, listy,
drzewa, grafy, zbiory.
Godzina 2: Wprowadzenie do języka programowania Java; klasy, obiekty, i metody;
specyfika wywołań przez wartość; techniczne uwagi n.t. rekursji.
Godzina 3: Pojecie abstrakcyjnego typu danych - przykład wstępny.
Laboratorium:
Godzina 4: Wprowadzenie do zintegrowanego środowiska programowania; uruchomienie
pierwszego programu.
Wtorek
Wykład:
Godzina 1: Abstrakcyjne typy danych: LIST (lista), QUEUE (kolejka), i STACK (stos).
Godzina 2: Abstrakcyjne typy danych: TREE (drzewo).
Godzina 3: Szacowanie złożoności obliczeniowej drzew; zastosowania.
Laboratorium:
Godzina 4: Przeszukiwanie drzew.
„Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego”
Środa
Wykład:
Godzina 1: Abstrakcyjne typy danych: GRAPH (graf) i DIAGRAPH (graf skierowany)
Godzina 2: Przeszukiwanie grafów z zastosowaniami.
Godzina 3: Wyszukiwanie punktów artykulacji grafu; grafy dwuczęściowe; kolorowanie
grafów.
Laboratorium:
Godzina 4: Wyszukiwanie cykli w grafach
Czwartek
Wykład:
Godzina 1: Abstrakcyjne typy danych SET (zbiór).
Godzina 2: Implementacja zbiorów metoda drzew; złożoność obliczeniowa.
Godzina 3: Adaptacyjne metody implementacji zbiorów; złożoność obliczeniowa.
Laboratorium:
Godzina 4: Konstrukcja optymalnego drzewa pokrywającego wierzchołki zadanego grafu.
Piątek
Wykład:
Godzina 1: Zastosowania w sztucznej inteligencji i sieciach komputerowych.
Godzina 2: Szacowanie złożoności problemów; ograniczenia teoretyczne praktycznej
rozwiązywalności.
„Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego”
Egzamin:
Godzina 3, 4: Egzamin pisemny - projekt i implementacja wykonywalnego programu z
użyciem abstrakcyjnych typów danych.
Ocena z egzaminu zależeć będzie od jakości, poprawności, złożoności, i kompletności
implementacji.
11. Wykaz literatury podstawowej i uzupełniającej,
Literatura podstawowa:
1) Notatki z wykładu - będą udostępnione dla studentów na Internecie.
2) Podręcznik do programowania w języku Java (do indywidualnego wyboru przez
studentów).
Klasyczna literatura uzupełniająca (nieobowiązkowa):
1) Aho, A. V., Hopcroft, J.E., Ullman, J.D. (1983). "Data Structures and Algorithms."
Addison-Wesley.
2) Knuth D.E. (1997). "The Art of Computer Programming, Volume 1: Fundamental
Algorithms." Addison-Wesley.
3) Knuth D.E. (1998). "The Art of Computer Programming, Volume 3: Sorting and
Searching." Addison-Wesley.
4) Standish, T. A. (1998). "Data Structures in Java." Addison-Wesley.
12. Nazwisko osoby prowadzącej/osób prowadzących,
Wykład i Laboratorium:
Prof. dr inż. Marek A. Suchenek, California State University Dominguez Hills.
„Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego”
Download