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ć