Algorithms, Data Structures and Numerical Methods
Field of study: Technical Physics
Programme code: 03-S1FT12.2017

Module name: | Algorithms, Data Structures and Numerical Methods |
---|---|
Module code: | 0305-1FT-17-48 |
Programme code: | 03-S1FT12.2017 |
Semester: | winter semester 2019/2020 |
Language of instruction: | Polish |
Form of verification: | exam |
ECTS credits: | 4 |
Description: | Na wykładzie student zapoznaje się z następującymi zagadnieniami:
• Elementy analizy algorytmów: koszty realizacji algorytmów.
• Rozmiar danych, złożoność czasowa i pamięciowa.
• Algorytmy iteracyjne i rekurencyjne: przykłady algorytmów iteracyjnych (obliczanie silni, sumowanie, mnożenie), przykłady algorytmów rekurencyjnych (obliczanie silni, jednoczesne wyszukiwanie minimum i maksimum w ciągu, wieże Hanoi); rozwiązywanie równań rekurencyjnych na potrzeby analizy algorytmów rekurencyjnych; algorytmy oparte na metodzie ,,dziel i zwyciężaj”.
• Programowanie dynamiczne: analiza wybranych algorytmów: obliczanie liczb Fibonacciego, problem mnożenia ciągu macierzy, problem najdłuższego wspólnego podciągu.
• Wyszukiwanie: analiza wybranych algorytmów: wyszukiwanie liniowe, wyszukiwanie binarne; problem wyboru (selekcja). Sortowanie: analiza wybranych algorytmów: sortowanie przez wstawianie, przez selekcję, przez scalanie, przez kopcowanie, szybkie; model drzew decyzyjnych i twierdzenie o dolnym ograniczeniu na czas działania dowolnego algorytmu sortującego za pomocą porównań; sortowanie w czasie liniowym. Abstrakcyjne struktury danych: stosy, kolejki FIFO, kolejki priorytetowe, słowniki; metody implementacji powyższych struktur (listy, kopce binarne, drzewa poszukiwań binarnych) i ich zastosowania.
• Metody numeryczne: algorytmy różniczkowania i całkowania numerycznego, metody interpolacji i aproksymacji, numeryczne rozwiązywanie równań liniowych i nieliniowych, numeryczne rozwiązywanie układów równań liniowych; metody numerycznego całkowania równań różniczkowych; dyskretna i szybka transformata Fouriera; numeryczna algebra macierzy.
Na zajęciach laboratoryjnych studenci analizują i matematycznie uzasadniają znane algorytmy, przygotowują własne algorytmy do rozwiązania szczegółowych problemów z zakresu fizyki i techniki. Mają możliwość wykorzystania komputerów do kodowania algorytmów w wybranym języku programowania wysokiego poziomu.
Przedmiot obowiązkowy dla specjalności Modelowanie komputerowe, wykład zakończony egzaminem
|
Prerequisites: | Konieczne moduły: 1FT_07 i 1FT_07. Pomocniczo zaleca się także moduły: 1FT_08, 1FT_10, 1FT_01, 1FT_02 i FT_03. |
Key reading: | (no information given) |
Learning outcome of the module | Codes of the learning outcomes of the programme to which the learning outcome of the module is related [level of competence: scale 1-5] |
---|---|
zna podstawowe algorytmy sortowania, wyszukiwania i obliczeń numerycznych oraz ich matematyczne uzasadnienia [1FT_48_1] |
KFT_W02 [5/5] |
zna abstrakcyjne struktury danych wykorzystywane w algorytmach i ich implementacjach [1FT_48_2] |
KFT_W08 [5/5] |
ma wiedzę na temat złożoności obliczeniowej algorytmów [1FT_48_3] |
KFT_W08 [5/5] |
zna podstawowe zastosowania poznanych algorytmów, w szczególności w fizyce i technice [1FT_48_4] |
KFT_W09 [4/5] |
potrafi wykazać poprawność podstawowych algorytmów na gruncie matematyki [1FT_48_5] |
KFT_U02 [5/5] |
potrafi zaprojektować odpowiednie struktury danych podstawowych algorytmów [1FT_48_6] |
KFT_U02 [5/5] |
potrafi przeanalizować podstawowe algorytmy i oszacować ich złożoność [1FT_48_7] |
KFT_U02 [5/5] |
potrafi zapisać podstawowe algorytmy w pseudokodzie i w wybranym języku programowania wysokiego poziomu
oraz wybrać odpowiednie metody algorytmiczne do rozwiązania typowych problemów obliczeniowych,
ze szczególnym uwzględnieniem zastosowań w fizyce i technice
[1FT_48_8] |
KFT_U11 [4/5] |
Type | Description | Codes of the learning outcomes of the module to which assessment is related |
---|---|---|
kolokwium [1FT_48_w_1] | dwa razy w semestrze; termin kolokwium podany do wiadomości studentów dwa tygodnie wcześniej; zadania podobnego typu do zadań
rozwiązywanych w trakcie konwersatorium; skala ocen 2-5; średnia ocen z kolokwiów stanowi podstawę do zaliczenia konwersatorium;
|
1FT_48_1 |
egzamin pisemny [1FT_48_w_2] | Egzamin obowiązkowy dla sp. Modelowanie komputerowe
Warunkiem przystąpienia do egzaminu jest zaliczenie konwersatorium; zakres materiału – wszystkie zagadnienia omawiane na wykładach; skala ocen 2-5;
|
1FT_48_1 |
Form of teaching | Student's own work | Assessment of the learning outcomes | |||
---|---|---|---|---|---|
Type | Description (including teaching methods) | Number of hours | Description | Number of hours | |
lecture [1FT_48_fs_1] | wykład wybranych zagadnień
z wykorzystaniem pomocy audiowizualnych
|
15 | przyswojenie wiadomości z wykładu przy pomocy udostępnionych materiałów wykładowych;
lektura
uzupełniająca podręczników
|
30 |
egzamin pisemny [1FT_48_w_2] |
discussion classes [1FT_48_fs_2] | rozwiązywanie zadań na tablicy: analiza i matematyczne uzasadnienie znanych algorytmów, przygotowywanie własnych algorytmów do rozwiązania szczegółowych problemów z zakresu fizyki i techniki - wybór metody, przeprowadzenie analizy i dyskusja zaproponowanego rozwiązania;
wyprowadzenie niektórych wzorów i omówienie wybranych przykładów zasygnalizowanych
na wykładach, dyskusja;
możliwość wykorzystania komputerów do kodowania algorytmów w wybranym języku programowania wysokiego poziomu
|
30 | przygotowanie do konwersatoriów z pomocą udostępnionych materiałów wykładowych oraz dodatkowych materiałów pomocniczych poświęconych problemom analizowanym podczas konwersatoriów; samodzielne ćwiczenie kodowania algorytmów w pseudokodzie i w wybranym języku wysokiego poziomu, w przypadku tego drugiego najlepiej z wykorzystaniem komputera. |
45 |
kolokwium [1FT_48_w_1] |
Attachments |
---|
Module description (PDF) |
Syllabuses (USOSweb) | ||
---|---|---|
Semester | Module | Language of instruction |
(no information given) |