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)