Algorytmy i struktury danych

Transkrypt

Algorytmy i struktury danych
Karta (sylabus) przedmiotu
WM
Mechanika i Budowa Maszyn
Studia I stopnia o profilu:
P□
A
Przedmiot: Algorytmy i struktury danych
Status przedmiotu:
Język wykładowy: Polski
Rok: III
Nazwa specjalności:
Rodzaj zajęć i liczba
Studia stacjonarne
godzin:
Wykład
Ćwiczenia
Laboratorium
Projekt
Kod przedmiotu
MBM 1 S 0 5 64-2_0
Semestr: 5
Studia niestacjonarne
15
30
Liczba punktów ECTS:
3
Cel przedmiotu
C1
C2
Głównym celem przedmiotu jest zapoznanie studentów z metodami i zasadami konstrukcji
struktur algorytmicznych, metodami analizy ich kosztów oraz analizy poprawności. Zdobycie
umiejętności rozwiązywania problemów algorytmicznych takich jak wyszukiwanie, sortowanie,
przechowywanie danych. Implementacji podstawowych struktur danych takich jak stosy, kolejki,
kolejki priorytetowe, słowniki, drzewa.
Aplikacja wiedzy w środowiskach programistycznych modułów sterujących maszyn.
Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji
1
2
3
Obsługa komputera w stopniu zaawansowanym
Umiejętność programowania w stopniu podstawowym
Wiedza z zakresu analizy matematycznej, logiki i teorii mnogości w stopniu średnim
Efekty kształcenia
EK 1
EK2
EK3
EK4
W zakresie wiedzy:
Ma wiedzę w zakresie matematyki, niezbędną do wykonywania obliczeń podczas
konstruowania maszyn i projektowania ich technologii.
W zakresie umiejętności:
Potrafi wykorzystać nabytą wiedzę, w tym wiedzę z zakresu matematyki,
fizyki i chemii, do opisu procesów, tworzenia modeli, zapisu algorytmów
oraz innych działań związanych z mechaniką i budową maszyn
Potrafi zaprojektować proste układy mechaniczne, wykonując niezbędne
obliczenia statyczne, kinematyczne, dynamiczne oraz wytrzymałościowe
Potrafi projektować i stosować układy i algorytmy sterownia maszynami
oraz procesami technologicznymi
W zakresie kompetencji społecznych:
Treści programowe przedmiotu
W1
W2
W3
Forma zajęć – wykłady
Treści programowe
Pojęcia algorytmu, cechy algorytmu, metody zapisu, schematy zwarte NS.
Poprawność i złożoność algorytmu. Metoda Floyda, złożoność czasowa i
obliczeniowa, sprawność algorytmu
Rekurencja. Definicja rekurencji, typy algorytmów, problemy rekurencyjne (ośmiu
hetmanów, trwałego małżeństwa, optymalnego wyboru). Analiza programów
Liczba godzin
1
2
2
W4
W5
W6
W7
W8
L1
L2
L3
L4
L5
L6
rekurencyjnych.
Struktury danych. Proste typy danych: standardowe, okrojone, tablice, rekordy,
rekordy z wariantami, zbiory, elementarne operatory plikowe.
Struktury dynamiczne. Listy jednokierunkowe, tablicowa implementacja list, stos,
kolejka FIFO, drzewa binarne i wyrażenia arytmetyczne.
Sortowanie. Sortowanie: przez wstawianie i wybieranie, sortowanie bąbelkowe
(algorytmy klasy O(N2)), szybkie (algorytmy klasy O(Log N)), przez kopcowanie,
scalanie, drzewiaste.
Algorytmy przeszukiwania. Przeszukiwanie liniowe i binarne, transformacja kluczowa
(hashing).
Algorytmy sterowania maszyn
Suma godzin:
Forma zajęć – laboratoria
Treści programowe
Algorytmy liniowe i warunkowe: Interfejs programu narzędziowego , budowa
algorytmów, testowanie, analiza złożoności czasowej.
Algorytmy iteracyjne. Zastosowanie instrukcji iteracyjnej "dopóki", i
"powtarzaj", Algorytm wyboru minimum z n liczb, Algorytm obliczania silni,
analiza złożoności obliczeniowej algorytmów.
Algorytmy rekurencyjne., Liczby Fibonaciego, Schemat Hornera, Algorytm
Euklidesa, Metoda "dziel i zwyciężaj", dywan Sierpińskiego.
Algorytmy złożone: Algorytmy realizujące działania na macierzach. Kolejki
priorytetowe i słowniki. Przeszukiwanie liniowe i binarne, funkcje H, podwójne
kluczowanie
Wybrane algorytmy sortowania. Algorytmy sortowania przez wybieranie,
wstawianie, bąbelkowe, flaga polska i flaga francuska.
Aplikacja algorytmów sterowania maszyn
Suma godzin:
2
2
2
2
2
15
Liczba godzin
2
2
6
6
6
8
30
Narzędzia dydaktyczne
1
2
3
4
Wykład z prezentacją multimedialną
Wykład problemowy
Ćwiczenia laboratoryjne: rozwiązywanie zadań, praca w grupach, analiza przypadków
Sposoby oceny
F1
F2
P1
P2
Ocena formująca
Ocena z testów sprawdzających przygotowanie do zajęć
Ocena za realizację zestawu zadań związanych z tematyką laboratorium
Ocena podsumowująca
Średnia z ocen otrzymanych za realizację poszczególnych grup tematycznych
Ocena z poziomu wiedzy teoretycznej
Obciążenie pracą studenta
Forma aktywności
[Godziny kontaktowe z wykładowcą, realizowane
w formie zajęć dydaktycznych – łączna liczba
godzin w semestrze]
[Godziny kontaktowe z wykładowcą, realizowane
w formie np. konsultacji w odniesieniu – łączna
liczba godzin w semestrze]
[Przygotowanie się do laboratorium – łączna
liczba godzin w semestrze]
[Przygotowanie się do zajęć – łączna liczba
godzin w semestrze]
…
Suma
Średnia liczba godzin na zrealizowanie
aktywności
45
3
27
75
Sumaryczna liczba punktów ECTS dla
przedmiotu
3
Literatura podstawowa i uzupełniająca
1
2
3
Wirth N.: Algorytmy + struktury danych = programy. Wyd. WNT W-wa 2002 r
Banachowski L., Diks K., Rytter W., Algorytmy i struktury danych, WNT, 2001
Kwiatkowska A., Łukasik E.: Schematy zwarte NS przykłady i zadania. Wyd. Mikom 2004 r.
Hyde, Randall: Profesjonalne programowanie. Cz. 1, Randall Hyde ; [tł. Tomasz Żmijewski]. Wyd.
Helion 2005.
4
Macierz efektów kształcenia
EK 1
Odniesienie
danego efektu
kształcenia do
efektów
zdefiniowanych
dla całego
programu (PEK)
MBM1A_W01++
EK 2
MBM1A_U07+++
C1,C2
EK 3
MBM1A_U12++
C1,C2
EK 4
MBM1A_U20+++
C1,C2
Efekt
kształcenia
Cele
przedmiotu
C1
Treści programowe
Narzędzia
dydaktyczne
Sposób
oceny
1,3
F1,F2,P1,P2
1,2,3
F1,F2,P1
1,2,3
F1,F2,P1,P2
1,2,3
F1,F2,F3,P2,
P3
W1,W2, L1,L2
W3,W4,W5,W6,
W7, L2, L3, L4, L5
W3,W4,W5,W6,
W7,W8, L2, L3, L4, L5
W8,L6
Formy oceny – szczegóły
Na ocenę 2 (ndst)
Na ocenę 3 (dst)
Na ocenę 4 (db)
Potrafi obliczyć
złożoność czasową i
obliczeniową algorytmu
przy wykorzystaniu
znanych metod
Potrafi zaprojektować
algorytm rekurencyjny z
pominięciem problemów
rekurencji
EK 1
Nie potrafi przedstawić w
postaci algorytmu modelu
matematycznego
Potrafi zaprojektować
algorytm zawierający
funkcję warunkową,
dowolną pętlę, tablicę
EK 2
Nie potrafi opisać i
zaprojektować rozwiązania
zawierającego układy
rekurencyjne
Potrafi zaprojektować
dowolny algorytm
rekurencyjny
EK 3
Nie potrafi zinterpretować
żadnego układu
mechanicznego w postaci
algorytmu
Potrafi przedstawić w
postaci algorytmu
przynajmniej jeden układ
mechaniczny wykonując
obliczenia w układach
statycznych
Potrafi przedstawić układ
mechaniczny w postaci
algorytmu wykonującego
obliczenia dla układów
dynamicznych
EK4
Nie potrafi odnieść zasady
działania do struktury
algorytmicznej
Potrafi przedstawić układ
mechaniczny bazujący na
funkcji warunkowej
Potrafi przedstawić układ
mechaniczny bazujący
na dowolnej pętli
Autor programu:
Adres e-mail:
Jednostka
organizacyjna:
Osoba, osoby
prowadzące:
Na ocenę 5 (bdb)
Potrafi obliczyć sprawność
algorytmu oraz
przetestować poprawność
w różnych wariantach
Potrafi zaprojektować
prawidłowy algorytm
rekurencyjny i
przeprowadzić jego analizę
Potrafi przedstawić układ
mechaniczny w postaci
algorytmu wykonującego
obliczenia na
przetworzonych,
przefiltrowanych i
posortowanych danych
zewnętrznych
Potrafi przedstawić układ
mechaniczny bazujący na
złożonych algorytmach
wyboru wielokrotnego i
logicznych
dr Marek Błaszczak
[email protected]
Wydział Mechaniczny, Instytut Technologicznych Systemów Informacyjnych
dr Marek Błaszczak, dr hab. inż. Antoni Świć