informatyka - Wydział Elektrotechniki, Automatyki i Informatyki

Transkrypt

informatyka - Wydział Elektrotechniki, Automatyki i Informatyki
Politechnika Opolska
Wydział Elektrotechniki, Automatyki i Informatyki
Załącznik nr 1
do Uczelnianego Systemu Zapewnienia Jakości Kształcenia
KARTA OPISU PRZEDMIOTU
INFORMATYKA
KIERUNEK STUDIÓW
SPECJALNOŚĆ
STACJONARNE I-GO STOPNIA
RODZAJ STUDIÓW
ALGORYTMY I STRUKTURY DANYCH
NAZWA PRZEDMIOTU
ALGORITHMS AND DATA STRUCTURES
SUBJECT TITLE
RODZAJ PRZEDMIOTU *)
PODSTAWOWY; KIERUNKOWY; HUMANISTYCZNY; DODATKOWY; OBIERALNY
SEMESTR STUDIÓW
ECTS (pkt.)
TRYB ZALICZENIA PRZEDMIOTU
KOD PRZEDMIOTU:
3
5
EGZAMIN – ZALICZENIE NA OCENĘ *)
B2
Przedmioty wprowadzające
oraz wymagania ogólne**)
PROGRAM PRZEDMIOTU
FORMA ZAJĘĆ
WYKŁAD
ĆWICZENIA
PROWADZĄCY ZAJĘCIA
(tytuł/stopień naukowy, imię i nazwisko)
LICZBA GODZIN
ZAJĘĆ W SEMESTRZE
30
30
DR INś.
ARTUR SMOLCZYK
MGR INś.
TERESA WIŚNIEWSKA
LABORATORIUM
PROJEKT
SEMINARIUM
TREŚCI KSZTAŁCENIA (PROGRAM NAUCZANIA)
WYKŁAD
Lp.
Tematyka zajęć
Liczba godzin
1.
Zadanie algorytmiczne. Specyfikacja algorytmu. Poprawność algorytmu (częściowa i
całkowita). Niezmienniki. Metody zapisu algorytmów (m.in. NSD, notacja Owsiaka).
2
2.
ZłoŜoność pamięciowa i czasowa algorytmów. Operacja dominująca. Notacja
asymptotyczna.
2
3.
Podstawowe techniki budowania algorytmów. Rekurencja. Metoda „dziel i zwycięŜaj”.
2
4.
Programowanie dynamiczne. Metoda zachłanna.
2
5.
Dynamiczne struktury danych. Lista, stos, kolejka i ich implementacje oraz przykłady
zastosowań (m.in. obliczanie wartości wyraŜeń w Odwrotnej Notacji Polskiej)
4
6.
Grafy. Reprezentacje. Metody przeszukiwania (DFS i BFS). Minimalne drzewo rozpinające.
Najkrótsze ścieŜki (algorytm Forda-Bellmana, algorytm Dijkstry, algorytm Floyda).
2
7.
Drogi i cykle Eulera. Drogi i cykle Hamiltona. Kolorowanie grafów.
2
8.
Przepływy w sieciach (sieci warstwowe, technika ścieŜek rozszerzających).
2
9.
Drzewa. Drzewa poszukiwań binarnych (BST) i podstawowe operacje na nich
(wyszukiwanie, min/max, następnik, wstawianie i usuwanie węzła). Drzewa zrównowaŜone:
drzewa AVL, drzewa czerwono-czarne, b-drzewa.
4
Algorytmy teorioliczbowe. Algorytm Euklidesa i jego wersje. Liczby pierwsze i rozkład na
10. czynniki pierwsze. Faktoryzacja. Potęgowanie modulo metodą iterowanego podnoszenia
4
do kwadratu. Szyfrowanie asymetryczne. System kryptograficzny RSA.
Geometria obliczeniowa. Znajdowanie otoczki wypukłej. Znajdowanie pary najmniej
11. odległych punktów.
Czas wielomianowy i niewielomianowy. NP-zupełność. Problemy NP-zupełne (cykl
12. Hamiltona, problem komiwojaŜera, problem sumy podzbioru, szeregowanie zadań)
RAZEM GODZIN W SEMESTRZE
2
2
30
Nazwa przedmiotu
ĆWICZENIA
Lp.
Tematyka zajęć
Liczba godzin
1.
Metody analizy algorytmów.
2
2.
Proste algorytmy obliczeniowe
2
3.
Algorytmy tablicowe
2
4.
Algorytmy rekurencyjne
2
5.
Wyszukiwanie sekwencyjne, binarne, połówkowe
2
6.
Sortowanie przez wstawianie, wybieranie, bąbelkowe, indeksowanie
2
7.
Sortowanie pozycyjne, kubełkowe, przez scalanie, szybkie
2
8.
Implementacja stosu, zastosowania stosu
2
9.
Listy jednokierunkowa, dwukierunkowa
2
10.
Kolejka, kolejka priorytetowa
2
11.
Drzewo binarne, przeszukiwania drzew
2
12.
Sortowanie przez kopcowanie
2
13.
Funkcja mieszająca, tworzenie dynamicznej tablicy mieszania
2
14.
Algorytmy grafowe, przeszukiwanie grafu
2
15.
Algorytmy kombinatoryczne
2
RAZEM GODZIN W SEMESTRZE
30
LABORATORIUM
Lp.
Tematyka zajęć
Liczba godzin
1.
2.
RAZEM GODZIN W SEMESTRZE
ĆWICZENIA PROJEKTOWE
Lp.
Tematyka zajęć
Liczba godzin
1.
2.
RAZEM GODZIN W SEMESTRZE
SEMINARIUM
Lp.
Liczba godzin
Tematyka zajęć
1.
2.
RAZEM GODZIN W SEMESTRZE
ZAŁOśENIA I CELE PRZEDMIOTU:
Celem wykładu jest zapoznanie studentów z metodami konstrukcji algorytmów, metodami analizy ich
kosztów oraz analizy poprawności. Zostaną przedstawione algorytmy rozwiązywania takich
problemów jak wyszukiwanie, sortowanie, przechowywanie danych. Będzie teŜ mowa o specyfikacji i
implementacji podstawowych struktur danych takich jak listy, stosy, kolejki, grafy, drzewa.
Zastosowanie tych struktur będzie zilustrowane na licznych przykładach. Przedstawione zostaną
podstawowe algorytmy teorioliczbowe z szczególnym uwzględnieniem faktoryzacji. Jeden z wykładów
dotyczyć będzie geometrii obliczeniowej i podstawowych algorytmów z nią związanych Będzie teŜ
mowa o tym co moŜna, a czego nie moŜna zrobić przy pomocy komputera, czyli o NP-zupełności
METODY DYDAKTYCZNE:
Wykład oparty o prezentacje multimedialne.
FORMA I WARUNKI ZALICZENIA PRZEDMIOTU:
Egzamin w postaci testu otwartego na indywidualnych arkuszach.
2
Nazwa przedmiotu
LITERATURA PODSTAWOWA:
1. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C., Wprowadzenie do algorytmów, Wydawnictwa
Naukowo - Techniczne, 2004.
2. Wirth N., Algorytmy + struktury danych = program
3. Banachowski L., Diks K., Rytter W., Algorytmy i struktury danych, , Wydawnictwa Naukowo Techniczne, 2006.
4. Donald Knuth, Sztuka programowania (Tom 1: Algorytmy podstawowe, Tom 2: Algorytmy
seminumeryczne, Tom 3: Sortowanie i wyszukiwanie)
LITERATURA UZUPEŁNIAJĄCA:
1. Wróblewski P., Algorytmy, struktury danych i techniki programowania
2. Sedgewick R., Algorytmy w C++ (Tom 1: Podstawy, dane strukturalne, sortowanie, wyszukiwanie, Tom 2:
Grafy)
3. Aho A.V., Hopcroft J.E., Ullman J.D., Projektowanie i analiza algorytmów
*) niewłaściwe przekreślić – zgodnie z arkuszem planu studiów,
**) podać wybrane nazwy przedmiotów stanowiących wprowadzenie/uzupełnienie do przedmiotu opisywanego, oraz zakres
wiadomości/umiejętności/kompetencji jakie powinien posiadać student przed rozpoczęciem nauki tego przedmiotu;
.............................................................................
.................................................
(Kierownik jednostki organizacyjnej/bezpośredni przełoŜony:
pieczęć/podpis)
(Dziekan Wydziału …………………:
pieczęć/podpis)
3

Podobne dokumenty