Algorytmy i struktury danych.

Podobne dokumenty
KARTA MODUŁU KSZTAŁCENIA

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizacja w roku akademickim 2016/17

Algorytmy i struktury danych

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010

Podstawy programowania.

PRZEWODNIK PO PRZEDMIOCIE

Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016. Forma studiów: Stacjonarne Kod kierunku: 11.

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

Opis efektów kształcenia dla modułu zajęć

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizacja w roku akademickim 2016/17

KARTA KURSU. Algorytmy, struktury danych i techniki programowania. Algorithms, Data Structures and Programming Techniques

Kierunek: Informatyka. Przedmiot:

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA Pod auspicjami Polskiej Akademii Nauk Warszawa, ul. Newelska 6, tel.

IZ2ZSD2 Złożone struktury danych Advanced data structures. Informatyka II stopień ogólnoakademicki niestacjonarne

Instytut Ekonomiczny 9 kierunek studiów

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

S Y L A B U S. język polski. Forma zaliczenia laboratorium 10 ZO 2 4 wykład 6 ZO Razem 16 2

Załącznik Nr 5 do Zarz. Nr 33/11/ Kod przedmiotu:aisd2

Algorytmy i struktury danych - opis przedmiotu

Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Niestacjonarne (stacjonarne / niestacjonarne)

ID2ZSD2 Złożone struktury danych Advanced data structures. Informatyka II stopień ogólnoakademicki stacjonarne

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Projektowanie i analiza algorytmów

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy i struktury danych Metody programowania Języki i paradygmaty programowania Nazwa jednostki prowadzącej przedmiot Instytut Matematyki

PRZEWODNIK PO PRZEDMIOCIE

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Algorytmy i struktury danych

PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne

Grafy i sieci w informatyce - opis przedmiotu

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I

koordynator modułu dr hab. Michał Baczyński rok akademicki 2012/2013

Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólnoakademicki / praktyczny)

Sylabus modułu: Matematyczne podstawy informatyki (kod modułu:03-mo2n-12-mpln)

KARTA MODUŁU KSZTAŁCENIA

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010.

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Struktury danych i algorytmy. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia

E-1EZ1-03-s2. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

Rok akademicki: 2018/2019 Kod: ITE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

KARTA MODUŁU KSZTAŁCENIA

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

PRZEWODNIK PO PRZEDMIOCIE

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I

CAD NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

Języki programowania II - opis przedmiotu

Wykłady specjalistyczne. (Matematyka w finansach i ekonomii; Matematyczne metody informatyki)

Algorytmika i pseudoprogramowanie

Podstawy Informatyki Information Technology. Inżynieria Środowiska I stopień (I stopień / II stopień) akademicki (ogólno akademicki / praktyczny)

Geodezja i Kartografia I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Opisy efektów kształcenia dla modułu

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA. Scenariusz lekcji. 2.1 Wiadomości: 2.2 Umiejętności: Scenariusz lekcji

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

E-2IZ1-03-s3. Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

Podstawy elektroniki i miernictwa

WSTI w Katowicach, kierunek Informatyka opis modułu Teleinformatyka i teoria sieci komputerowych

Z-LOG-1004 Matematyka dyskretna Discrete mathematics. Przedmiot podstawowy Wybieralny polski Semestr III

przedmiot kierunkowy (podstawowy / kierunkowy / inny HES) obowiązkowy (obowiązkowy / nieobowiązkowy) polski semestr I

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

Rozdział 4. Algorytmy sortowania 73 Rozdział 5. Typy i struktury danych 89 Rozdział 6. Derekursywacja i optymalizacja algorytmów 147

PRZEWODNIK PO PRZEDMIOCIE

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

Scenariusz lekcji. podać definicję matematyczną grafu; wymienić podstawowe rodzaje grafów;

1. Algorytmika. WPROWADZENIE DO ALGORYTMIKI Wprowadzenie do algorytmów. Pojęcie algorytmu.

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA: Podstawy animacji i interakcji

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA: Podstawy animacji i interakcji

Wprowadzenie do algorytmów / Thomas H. Cormen [et al.]. - wyd. 7. Warszawa, Spis treści. Wprowadzenie 2

Podstawy programowania strukturalnego (C) SYLABUS A. Informacje ogólne

przedmiot kierunkowy (podstawowy / kierunkowy / inny HES) obowiązkowy (obowiązkowy / nieobowiązkowy) polski semestr I

Karta (sylabus) modułu/przedmiotu ELEKTROTECHNIKA (Nazwa kierunku studiów)

Język programowania C C Programming Language. ogólnoakademicki

Algorytmy i Struktury Danych.

Zaawansowane algorytmy i struktury danych

ALGORYTMY I STRUKTURY DANYCH

Rok akademicki: 2012/2013 Kod: EAR s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Opis. Wymagania wstępne (tzw. sekwencyjny system zajęć i egzaminów) Liczba godzin zajęć dydaktycznych z podziałem na formy prowadzenia zajęć

Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Szczegółowy program kursów szkoły programowania Halpress

PROGRAM KOŁA INFORMATYCZNEGO

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: Algorytmy z nawrotami 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA

Roman Mocek Zabrze Opracowanie zbiorcze ze źródeł Scholaris i CKE

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA: Projektowanie serwisów internetowych

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016. Forma studiów: Niestacjonarne Kod kierunku: 11.

Z-ZIP-1004 Matematyka dyskretna Discrete mathematics. Stacjonarne Wszystkie Katedra Matematyki Dr hab. Artur Maciąg, prof. PŚk

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

WSTĘP DO INFORMATYKI. SYLABUS A. Informacje ogólne

Inżynieria oprogramowania - opis przedmiotu

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

PRZEWODNIK PO PRZEDMIOCIE

KARTA KURSU. Kod Punktacja ECTS* 2

KARTA MODUŁU KSZTAŁCENIA

Transkrypt:

Kod przedmiotu: ASD Rodzaj przedmiotu: Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Algorytmy i struktury danych. kierunkowy ; obowiązkowy Poziom studiów: pierwszego stopnia Profil studiów: ogólnoakademicki Forma studiów: Rok: 1 Semestr: 2 Formy zajęć i liczba godzin: stacjonarne, niestacjonarne w formie stacjonarnej: wykłady 45 ; ćwiczenia audytoryjne 45 w formie niestacjonarnej: wykłady 25 ; ćwiczenia audytoryjne 30 Język/i, w którym/ch realizowane są zajęcia: zajęcia w języku polskim Liczba punktów ECTS: 7 Założenia i cele przedmiotu Celem przedmiotu jest przekazanie studentom wiedzy na temat podstaw algorytmiki: począwszy od pojęcia i cech algorytmu, poprzez metody weryfikacji poprawności i złożoności algorytmów do przeglądu algorytmów rozwiązujących różnorodne problemy od najprostszych, do NP-trudnych. Towarzyszy temu omówienie (przypomnienie) struktur danych, w szczególności tablic, rekordów czy wskaźników, za pomocą których zapisuje się przetwarzana dane. Studenci powinni zapoznać się z szeroką gamą istniejących algorytmów zapisywanych w różnych notacjach (opis słowny, schematy blokowe, pseudokody), aby potrafić je zastosować w praktyce (np. na przedmiotach związanych z programowaniem), a także aby algorytmy te modyfikować lub na ich podstawie tworzyć nowe algorytmy rozwiązujące nowe zadania. Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Podstawy programowania, Języki programowania student powinien znać podstawowe struktury danych stosowane w językach programowania oraz podstawowy zestaw instrukcji do zapisu algorytmów. Opis form zajęć a) Wykłady Treści programowe 1. Pojęcie algorytmu. 2. Cechy i rodzaje algorytmów. 3. Metody zapisu algorytmu: opis słowny, schematy blokowe, pseudokod. 4. Pojęcie typu danych. 5. Proste typy danych liczbowe, znakowe, logiczne. 6. Złożone typy danych tablice, rekordy, zbiory, pliki. Typy wskaźnikowe 7. Reprezentacja fizyczna struktur danych. 8. Weryfikacja poprawności algorytmów. Pojęcie niezmiennika, metoda Floyda. Algorytmy i struktury danych, strona 1 z 5

9. Złożoność obliczeniowa algorytmów pamięciowa i czasowa. Złożoność czasowa średnia, pesymistyczna. 10. O-notacja dla złożoności algorytmów. Podział algorytmów ze względu na złożoność. Problemy NP-zupełne, nierozstrzygalność. 11. Przykłady szacowania złożoności czasowej. 12. Sortowanie: przez proste wstawianie, przez proste wybieranie, sortowanie bąbelkowe. 13. Sortowanie drzewiaste i stogowe (kopcowanie). 14. Metoda dziel i zwyciężaj - sortowanie szybkie. 15. Wyszukiwanie liniowe, blokowe i binarne. Rola wartownika w wyszukiwaniu. 16. Haszowanie. Metody przezwyciężania kolizji. Doskonała, minimalna funkcja haszująca. 17. Wyszukiwanie wzorca w tekście, słowniki. 18. Abstrakcyjne struktury danych listy, stosy, kolejki, kolejki priorytetowe. 19. Realizacja fizyczna list, stosów i kolejek (wskaźniki, tablice). 20. Grafy definicja, cechy, rodzaje. 21. Reprezentacje grafów skierowanych i nieskierowanych (wskaźniki, tablice, uporządkowanie lewolistowe). 22. Podstawowe operacje na grafach, przeszukiwanie grafu w głąb, wszerz. Przeszukiwanie z nawrotami. 23. Pojęcie i definicje drzew. Cechy drzew wysokość, moment, rząd itd. 24. Drzewa binarne, reprezentacja tablicowa. 25. Zastosowanie drzew (np. drzewo rozbioru gramatycznego wyrażeń arytmetycznych, drzewa BST w sortowaniu i wyszukiwaniu, drzewa jako reprezentacja wyrażeń arytmetycznych odczyt postaci prefuksowej, infiksowej i postfiksowej). 26. Generowanie kodu Huffmana algorytmem zachłannym z wykorzystaniem drzewa. 27. Znajdowanie minimalnego drzewa rozpinającego algorytmami Prima i Kruskala. 28. Znajdowanie cyklu Eulera w grafach. 29. Znajdowanie najkrótszej ścieżki w grafach (porównanie algorytmu zachłannego z programowaniem dynamicznym). 30. Znajdowanie cyklu Hamiltona w grafach. 31. Analiza problemu komiwojażera, zastosowanie heurystyki. 32. Zalety i wady rekurencji na przykładzie algorytmów (porównanie algorytmów rekurencyjnych i iteracyjnych): - silnia, - liczby Fibonacciego - wieże Hanoi. 33. Algorytmy tworzenia trójkąta Sierpińskiego i innych fraktali. Metody dydaktyczne: Wykład prowadzony metodą tradycyjną z wykorzystaniem rzutnika multimedialnego i prezentacją algorytmów oraz programów. Forma i warunki zaliczenia: Warunkiem zaliczenia całości przedmiotu jest zdanie u w formie zadaniowej i testowej. Część testowa powinna uwzględniać przede wszystkim część teoretyczną. Literatura podstawowa: 1. Banachowski L., Diks K., Rytter W.: Algorytmy i struktury danych. WNT, Warszawa 1996. 2. Cormen T.H., Leiserson C.E., Rivest R.L.: Wprowadzenie do algorytmów. WNT, Warszawa 1997. 3. Harel D.: Rzecz o istocie informatyki. Algorytmika, WNT, Warszawa 1992. 4. Wilson R.J.: Wprowadzenie do teorii grafów, PWN, Warszawa 2002. 5. Wróblewski P.: Algorytmy: struktury danych i techniki programowania. Helion, Gliwice 2003. Literatura uzupełniająca: 1. Knuth D.E.: Sztuka programowania, WNT, Warszawa 2003 Algorytmy i struktury danych, strona 2 z 5

2. Aho A.V., Hopcroft J.E., Ullman J.D.: Projektowanie i analiza algorytmów komputerowych. PWN, Warszawa 1983. 3. Buczek B.: Algorytmy. Ćwiczenia. Helion, 2008. 4. Krok E., Stempnakowski Z.: Podstawy algorytmów. Schematy blokowe. Difin, 2008. 5. Wirth N.: Algorytmy + struktury danych = programy. WNT, Warszawa 2004. b) Ćwiczenia audytoryjne Treści programowe (tematyka zajęć): 1. Konstrukcja algorytmów i ich zapis za pomocą metod: opis słowny, schematy blokowe, pseudokod. 2. Wyznaczanie złożoności obliczeniowej algorytmów średniej i pesymistycznej. 3. Analiza metod sortowanie: przez proste wstawianie, przez proste wybieranie, bąbelkowego, drzewiastego, stogowego i szybkiego. 4. Analiza metod wyszukiwania: liniowego, binarnego. 5. Haszowanie. Metody przezwyciężania kolizji. Wyszukiwanie wzorca w tekście, słowniki. 6. Realizacja fizyczna list, stosów i kolejek (wskaźniki, tablice). 7. Operacje na listach w reprezentacji ze wskaźnikami osadzonymi i w reprezentacji tablicowej (Front, Push, Pop, Rear, Inject, Eject). 8. Grafy przykłady, reprezentacja grafów skierowanych i nieskierowanych (wskaźniki, tablice, uporządkowanie lewolistowe). 9. Wykonywanie podstawowych operacji na grafach, przeszukiwanie grafu w głąb, wszerz. 10. Drzewa: cechy i metody zapisu, reprezentacja tablicowa, wskaźnikowa, zapis lewolistowy. 11. Przykładowe zastosowania drzew (np. drzewo rozbioru gramatycznego wyrażeń arytmetycznych, drzewa BST w sortowaniu i wyszukiwaniu). 12. Generowanie kodu Huffmana algorytmem zachłannym z wykorzystaniem drzewa. 13. Znajdowanie minimalnego drzewa rozpinającego algorytmami Prima i Kruskala. 14. Znajdowanie cyklu Eulera w grafach. 15. Znajdowanie najkrótszej ścieżki w grafach (porównanie algorytmu zachłannego z programowaniem dynamicznym). 16. Znajdowanie cyklu Hamiltona w grafach. 17. Rekurencyjne i iteracyjne realizacje algorytmów: - silnia, - liczby Fibonacciego, - wieże Hanoi. 18. Algorytmy tworzenia trójkąta Sierpińskiego i innych fraktali. Metody dydaktyczne: Na ćwiczeniach studenci powinni analizować, modyfikować i rozszerzać podane algorytmy oraz budować ich nowe wersje służące do rozwiązywania nowych problemów. W miarę możliwości i umiejętności programowania, niektóre algorytmy mogą być zaprogramowane na komputer. Forma i warunki zaliczenia: Warunkiem zaliczenia całości przedmiotu jest zdanie u w formie zadaniowej i testowej. Część testowa powinna uwzględniać przede wszystkim część teoretyczną. Literatura podstawowa: 1. Banachowski L., Diks K., Rytter W.: Algorytmy i struktury danych. WNT, Warszawa 1996. 2. Cormen T.H., Leiserson C.E., Rivest R.L.: Wprowadzenie do algorytmów.wnt, Warszawa 1997. 3. Harel D.: Rzecz o istocie informatyki. Algorytmika, WNT, Warszawa 1992. 4. Wilson R.J.: Wprowadzenie do teorii grafów, PWN, Warszawa 2002. 5. Wróblewski P.: Algorytmy: struktury danych i techniki programowania. Helion, Gliwice 2003. Algorytmy i struktury danych, strona 3 z 5

Literatura uzupełniająca: 1. Knuth D.E.: Sztuka programowania, WNT, Warszawa 2003 2. Aho A.V., Hopcroft J.E., Ullman J.D.: Projektowanie i analiza algorytmów komputerowych. PWN, Warszawa 1983. 3. Buczek B.: Algorytmy. Ćwiczenia. Helion, 2008. 4. Krok E., Stempnakowski Z.: Podstawy algorytmów. Schematy blokowe. Difin, 2008. 5. Wirth N.: Algorytmy + struktury danych = programy. WNT, Warszawa 2004. Zakładane efekty kształcenia nr ASDinż_01 ASDinż_02 Efekty kształcenia dla modułu: Algorytmy i struktury danych Opis: student Zna pojęcie i metody zapisu algorytmu i struktur danych oraz ich implementację, pojęcie optymalizacji oraz rekurencji Zna pojęcie, cechy, rodzaje i sposób implementacji grafów, w tym drzew Odniesienie do efektów kształcenia dla kierunku ASDinż_03 Rozumie działanie algorytmów sortownia, wyszukiwania, wybranych algorytmów grafowych i stosujących drzewa ASDinż_04 Potrafi ocenić poprawność algorytmu oraz jego złożoność obliczeniową Potrafi zastosować odpowiedni algorytm do rozwiązania postawionego problemu Potrafi skonstruować odpowiednie struktury danych dla podanego zadania oraz algorytmu ASDinż_07 Rozumie konieczność podnoszenia swoich kompetencji zawodowych I1inż_K06, I1inż_K08 ASDinż_08 Potrafi pracować w zespole projektowo-programistycznym I1inż_K01 Odniesienie efektów kształcenia do form zajęć i sposób oceny osiągnięcia przez studenta efektów kształcenia Efekt nr Forma zajęć wykład ćwiczenia ASDinż_01 ASDinż_02 ASDinż_03 ASDinż_04 Sposób sprawdzenia osiągnięcia efektu Algorytmy i struktury danych, strona 4 z 5

ASDinż_07 ASDinż_08 prezentacja Kryteria uznania osiągnięcia przez studenta efektów kształcenia. Efekt ASDinż_01 ASDinż_02 ASDinż_03 ASDinż_04 ASDinż_07 ASDinż_08 Efekt jest uznawany za osiągnięty gdy: Na ach oraz ie wykaże się znajomością pojęcia i metod zapisu algorytmu i struktur danych oraz ich implementacji, pojęcia optymalizacji oraz rekurencji Na ach oraz ie wykaże się znajomością pojęcia, cech, rodzajów i sposobów implementacji grafów, w tym drzew Na ach oraz ie zademonstruje działanie algorytmów sortownia, wyszukiwania, wybranych algorytmów grafowych i stosujących drzewa Na ach oraz ie oceni poprawność podanego algorytmu oraz jego złożoność obliczeniową Na ach oraz ie zastosuje odpowiedni algorytm do rozwiązania postawionego problemu Na ach oraz ie skonstruuje odpowiednie struktury danych dla podanego zadania oraz algorytmu W prezentacji pokaże rozwinięcie pojęć przekazanych na zajęciach W czasie realizacji u zespołowego i przy tworzeniu pracy kontrolnej potrafi pracować w zespole projektowo-programistycznym Algorytmy i struktury danych, strona 5 z 5