Algorytmy i struktury danych

Transkrypt

Algorytmy i struktury danych
Karta (sylabus) modułu/przedmiotu
[Mechanika i Budowa Maszyn ]
Studia 1 stopnia
Przedmiot:
Rodzaj przedmiotu:
Kod przedmiotu:
Rok:
Semestr:
Forma studiów:
Rodzaj zajęć i liczba godzin
w semestrze:
Wykład
Ćwiczenia
Laboratorium
Projekt
Liczba punktów ECTS:
Sposób zaliczenia:
Język wykładowy:
Algorytmy i struktury danych
Podstawowy
MK_64_1
I rok
5 semestr
Studia stacjonarne
30
15
30
3
zaliczenie
Język polski
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 Obsługa komputera w stopniu zaawansowanym
2 Umiejętność programowania w stopniu podstawowym
Wiedza z zakresu analizy matematycznej, logiki i teorii mnogości w stopniu
3
średnim
Efekty kształcenia
EK 1
EK 2
EK 3
EK 4
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
Treści programowe przedmiotu
W1
W2
W3
W4
W5
W6
W7
W8
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 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
Treści programowe przedmiotu
Forma zajęć – laboratoria
Treści programowe
Algorytmy liniowe i warunkowe: Interfejs programu narzędziowego ,
L1
budowa algorytmów, testowanie, analiza złożoności czasowej.
Algorytmy iteracyjne. Zastosowanie instrukcji iteracyjnej "dopóki", i
L2
"powtarzaj", Algorytm wyboru minimum z n liczb, Algorytm obliczania
silni, analiza złożoności obliczeniowej algorytmów.
Algorytmy rekurencyjne., Liczby Fibonaciego, Schemat Hornera,
L3,L4,L5
Algorytm Euklidesa, Metoda "dziel i zwyciężaj", dywan Sierpińskiego.
Algorytmy złożone: Algorytmy realizujące działania na macierzach.
L6,L7,
Kolejki priorytetowe i słowniki. Przeszukiwanie liniowe i binarne, funkcje
L8
H, podwójne kluczowanie
L9,L10, Wybrane algorytmy sortowania. Algorytmy sortowania przez wybieranie,
L11
wstawianie, bąbelkowe, flaga polska i flaga francuska.
L12,L13, Aplikacja algorytmów sterowania maszyn
L14,L15
1
2
3
Metody dydaktyczne
Wykład z prezentacją multimedialną
Wykład problemowy
Ćwiczenia laboratoryjne: rozwiązywanie zadań, praca w grupach, analiza
przypadków
Obciążenie pracą studenta
Średnia liczba godzin na zrealizowanie
Forma aktywności
aktywności
Godziny kontaktowe z wykładowcą,
Podać łączną liczbę godzin kontaktowych
w tym:
z wykładowcą
Udział w wykładach, udział w
ćwiczeniach laboratoryjnych
Konsultacje
Praca własna studenta, w tym:
Przygotowanie do laboratorium
…
Łączny czas pracy studenta
Sumaryczna liczba punktów ECTS dla
przedmiotu:
Liczba punktów ECTS w ramach zajęć
o charakterze praktycznym (ćwiczenia,
laboratoria, projekty)
1
2
3
4
5
6
45
3
27
75
3
2
Literatura podstawowa
Wirth N.: Algorytmy + struktury danych = programy. Wyd. WNT W-wa 2002 r
Banachowski L., Diks K., Rytter W., Algorytmy i struktury danych, WNT, 2001
Wróblewski P. Algorytmy : struktury danych i techniki programowania. Gliwice :
Helion, 2015
Poliński A. Metody numeryczne i algorytmy. Gdańsk : Wydawnictwo Politechniki
Gdańskiej, 2015
Literatura uzupełniająca
Hyde, Randall: Profesjonalne programowanie. Cz. 1, Randall Hyde ; [tł. Tomasz
Żmijewski]. Wyd. Helion 2005
Praca zbiorowa.: Podstawy obróbki CNC (tłum. Przemysław Wolski),
Wydawnictwo REA, Warszawa 2006
Metody i kryteria oceny
Symbol
metody
oceny
O1
O2
Opis metody oceny
Ocena z testów sprawdzających przygotowanie do zajęć
Ocena za realizację zestawu zadań związanych z tematyką
laboratorium
Próg zaliczeniowy
30%
70%
Autor
dr Marek Błaszczak
programu:
Adres e-mail: [email protected]
Jednostka
organizacyjna: Instytut Technologicznych Systemów Informacyjnych