algorytmy i struktury danych
Transkrypt
algorytmy i struktury danych
Politechnika Opolska Wydział Elektrotechniki, Automatyki i Informatyki Karta Opisu Przedmiotu Kierunek studiów Profil kształcenia Poziom studiów Specjalność Forma studiów Semestr studiów INFORMATYKA OGÓLNOAKADEMICKI STUDIA PIERWSZEGO STOPNIA Nazwa przedmiotu ALGORYTMY I STRUKTURY DANYCH Subject Title Całk. 5 Wymagania wstępne w zakresie przedmiotu Studia stacjonarne III Nauki podst. (T/N) N Algorithms and data structures ECTS (pkt.) Tryb zaliczenia przedmiotu Kod przedmiotu Kont. 2,4 Prakt. Egzamin K Nazwy TECHNOLOGIA INFORMACYJNA, INFORMATYKA I, INFORMATYKA II przedmiotów 1. Ma wiedzę w zakresie podstawowych pojęć z dziedziny algorytmiki. Ma wiedzę w zakresie programowania w minimum jednym języku Wiedza programowania. Student rozróżnia instrukcje warunkowe, potrafi 2. formułować warunki, zna podstawowe mechanizmy związane z pętlami. Potrafi wykorzystać poznane języki programowania do zastosowania Umiejętności 1. ich w celu rozwiązania konkretnego problemu logicznego. Kompetencje społeczne 1. Potrafi współdziałać i pracować w grupie. Program przedmiotu Forma zajęć Wykład Ćwiczenia Laboratorium Projekt Seminarium L. godz. zajęć w sem. Prowadzący zajęcia Całkowita Kontaktowa (tytuł/stopień naukowy, imię i nazwisko) 60 30 dr inż. Artur Smolczyk, dr inż. Szczepan Paszkiel | 60 30 zgodnie z przydziałem obowiązków | | | | Treści kształcenia Wykład Lp. 1. 2. 3. 4. 5. 6. 7. 8. 9. Sposób realizacji Wykład w sali audytoryjnej Tematyka zajęć Liczba godzin Zajęcia organizacyjne, przedstawienie tematyki wykładów, warunki zaliczenia 1 Wprowadzenie do algorytmów, ich własności, użyteczność, złożoność, opis 3 słowny, pseudokod, schematy blokowe. Operatory relacji. Algorytm Euklidesa. Teoria grafów: rodzaje, zastosowania etc. Algorytmy optymlizacji grafów: Dijkstry, 4 Floyda-Warshalla, Forda-Bellmana. Cykle Eulera oraz Hamiltona. Eksploracja danych - algorytmy odkrywania asocjacji. Metody eksploracji grafów 4 Breadth-first search oraz Depth-first search. Sortowania stabilne i niestabilne, klasyfikacja sortowań. Sortowanie kubelkowe na 4 wyrazach i liczbach. Sortowanie grzebieniowe. Sortowanie przez scalanie. Struktury dynamiczne - drzewa, lista, kolejka, stos, ONP. Programowanie 4 dynamiczne. Drzewa binarne - metody przeglądania drzew: preorder, inorder, postorder. 3 Reprezentacja wyrażeń algebraicznych. Podstawy kryptografii, Szyfr Vernama, Twierdzenie Shannona, Algorytm RSA 4 generowanie kluczy. Problem Komiwojażera, Sito Eratostenesa, Ciąg Fibonacciego. Problemy 3 klasyfikacji. L. godz. pracy własnej studenta 30 L. godz. kontaktowych w sem. Sposoby sprawdzenia zamierzonych egzamin pisemny efektów kształcenia Ćwiczenia Sposób realizacji Ćwiczenia praktyczne w sali Lp. Tematyka zajęć Zajęcia organizacyjne 1. 2. Ćwiczenia z projektowania schematów blokowych algorytmów. Eksploracja grafów - Metoda DFS i BFS - ćwiczenia praktyczne. 3. 30 Liczba godzin 1 4 3 Sortowania wartości liczbowych - przez wstawianie, wybieranie, kubełkowe, bąbelkowe. Sortowania wartości liczbowych - szybkie - qiucksort. Sito Eratostenesa. Ciąg Fibonacciego. 2 6. Algorytmy optymalizacji grafów: Dijkstry, Floyda-Warshalla, Forda-Bellmana. Macierze wag krawędzi. Tabele obliczeń. 3 7. 8. Algorytmy eksploracji sieci web: Page Rank, H&A. Macierze stochastyczne. Struktury danych: stos na przykładzie ONP, kolejka - struktura. 4 2 4. 5. 3 Lista jendokierunkowa, dwukierunkowa - struktura, drzewa - opisywanie 2 własności. 10. Metody przeglądania drzew binarnych. 2 11. Reprezentacja wyrażeń algebraicznych na drzewach binarnych. 2 12. Algorytmy tworzenia numerów identyfikacyjnych: NIP, PESEL, ID. 2 L. godz. pracy własnej studenta 30 L. godz. kontaktowych w sem. 30 Sposoby sprawdzenia zamierzonych Dwa kolokwia zaliczeniowe w trakcie trwania semestru, listy zadań, odpowiedzi studentów z zadań przy tablicy. efektów kształcenia 9. Ma podstawową wiedzę w zakresie budowania schematów 1. blokowych algorytmów oraz pozostałych metod implementacji zagadnień algorytmicznych (W, Ć). Wiedza 2. 1. Efekty kształcenia dla przedmiotu - po zakończonym cyklu kształcenia Umiejętności 2. 3. Kompetencje społeczne Ma podstawową wiedzę w zakresie teorii grafów oraz struktur danych, zna i rozumie metody eksploracji i optymalizacji grafów, a także inne omawiane na zajęciach popularne problemy algorytmiczne (Ć). Potrafi pozyskiwać informacje z literatury i innych źródeł, integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie (Ć). Potrafi pracować indywidualnie i w zespole, stosować zasady bezpieczeństwa i higieny pracy oraz oszacować czas potrzebny na realizację zleconego zadania zapewniający dotrzymanie terminów (Ć). Potrafi zastosować odpowiedni algorytm do danego problemu technicznego (Ć). Rozumie potrzebę stałego dokształcania oraz uczenia się przez całe życie. Potrafi w kreatywny sposób zastosować 1. zdobytą wiedzę. Potrafi zdobywać potrzebne informacje i dzielić się wiedzą z innymi (W, Ć). Ma świadomość odpowiedzialności za pracę własną oraz gotowość podporządkowania się zasadom pracy w zespole. 2. Prawidłowo identyfikuje i rozstrzyga dylematy związane z wykonywaniem zawodu (Ć). Metody dydaktyczne: Wykład informacyjny. Prezentacje multimedialne. Dyskusja dydaktyczna w ramach wykładu i ćwiczeń. Materiały informacyjne do ćwiczeń na stronie internetowej prowadzących zajęcia. Konsultacje Forma i warunki zaliczenia przedmiotu: Ćwiczenia: poprawne wykonanywanie przewidzianych programem ćwiczeń, pozytywne oceny z aktywności przy tablicy, pozytywne zaliczenie kolokwiów zaliczeniowych; Wykład : pozytywna ocena z egzaminu pisemnego (uzyskanie co najmniej 50% punktów), uzyskanie zaliczenia z ćwiczeń. Ćwiczenia: poprawne wykonanywanie przewidzianych programem ćwiczeń, pozytywne oceny z aktywności przy tablicy, pozytywne zaliczenie kolokwiów zaliczeniowych; Wykład : pozytywna ocena z egzaminu pisemnego (uzyskanie co najmniej 50% punktów), uzyskanie zaliczenia z ćwiczeń. Literatura podstawowa: [1] Aho, A. V., Hopcroft, J. E., Ullman, J. D., The Design and Analysis of Computer Algorithms [2] Sedgewick R., Algorithms in C, Wyd. Addison-Wesley, 1990 [3] Wirth N., Algorithms + Data Structures = Programs, Wyd. Prentice-Hall Of India Pvt. Ltd. Literatura uzupełniająca: Cormen T.H., Leiserson C.E., Rivest R.L., Introduction to Algorithms, Wyd. Massachusetts Institute of [1] Technology, 2009 [2] Knuth D E. The art of computer programming. Volume 1, Volume 2, Volume 3 ______________ * niewłaściwe przekreślić ………………………………………………….. ………………………………………………………. (kierownik jednostki organizacyjnej/bezpośredni przełożony: pieczęć/podpis (Dziekan Wydziału pieczęć/podpis)