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