Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowaniaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Algorytmy i struktury danych

Informacje ogólne

Kod przedmiotu: 1000-I1ASD Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji
Nazwa przedmiotu: Algorytmy i struktury danych
Jednostka: Wydział Matematyki i Informatyki
Grupy: Informatyka, studia I stopnia, 1 rok
Informatyka, studia I stopnia, 2 rok
Informatyka, studia inżynierskie 1 stopnia, 1 rok
Przedmioty z polskim językiem wykładowym
Punkty ECTS i inne: 6.00
zobacz reguły punktacji
Język prowadzenia: polski
Wymagania wstępne:

Wstęp do programowania

Znajomość języka programowania, pozwalająca na implementacje algorytmów

Rodzaj przedmiotu:

przedmiot obowiązkowy

Całkowity nakład pracy studenta:

30 godz. – wykład; 30 godz. – ćwiczenia

50 godz. – praca własna: bieżące przygotowanie do zajęć, praca z literaturą

35 godz. – praca własna: przygotowanie do egzaminu

3 godz. – egzamin


RAZEM: 148 godz.

6 pkt. ECTS


Efekty uczenia się - wiedza:

(W1) ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie programowania, algorytmów i złożoności

(por. K_W02 )


(W2) zna najważniejsze struktury danych

i wykonywane na nich operacje oraz ich wpływ na złożoność obliczeniową algorytmów

i zarządzanie pamięcią (por. K_W05, również K_W07)


(W3) zna podstawowe metody projektowania, analizowania i programowania algorytmów (projektowanie strukturalne, rekurencja, metoda dziel i zwyciężaj, metoda zachłanna, programowanie dynamiczne, złożoność obliczeniowa), por. K_W04


(W4) zna podstawowe klasyczne algorytmy i ich zastosowania: algorytmy wyszukiwania

i porządkowania, algorytmy grafowe, tekstowe, geometryczne (por. K_W02 i K_W04)


Efekty uczenia się - umiejętności:

(U1) potrafi zastosować wiedzę matematyczną do formułowania, analizowania i rozwiązywania obliczeniowych problemów informatycznych, analizuje je pod kątem możliwości ich algorytmicznego rozwiązania z jak najlepszą złożonością obliczeniową (por. K_U01)


(U2) projektuje, analizuje pod kątem poprawności i złożoności obliczeniowej oraz programuje algorytmy; wykorzystuje podstawowe techniki algorytmiczne i umie dopasować struktury danych i metody projektowania algorytmów odpowiednie do danego problemu (por. K_U07)


(U3) implementuje podstawowe klasyczne algorytmy, określa ich złożoność obliczeniową oraz umie dostosować je do rozwiązania konkretnych, specyficznych problemów (por. K_U07)


(U4) potrafi pisać, uruchamiać i testować programy w wybranym środowisku programistycznym (por. K_U05)


(U5) potrafi pracować indywidualnie nad projektem programistycznym, w tym także potrafi zarządzać swoim czasem oraz podejmować zobowiązania i dotrzymywać terminów (por. K_U03)



Efekty uczenia się - kompetencje społeczne:

(K1) myśli twórczo w celu udoskonalenia istniejących bądź stworzenia nowych rozwiązań (w zakresie problemów algorytmicznych, por. K_K02)


(K2) jest gotów do pokonywania trudności stojących na drodze do realizacji założonego celu i systematycznej pracy nad projektem programistycznym; jest nastawiony na jak najlepsze i terminowe wykonanie zadania

(por. K_K04)


(K3) jest gotów do krytycznej oceny swojej wiedzy i dalszego jej doskonalenia z wykorzystaniem różnych źródeł informacji (por. K_K03)



Metody dydaktyczne eksponujące:

- pokaz

Metody dydaktyczne podające:

- wykład informacyjny (konwencjonalny)
- wykład problemowy

Metody dydaktyczne poszukujące:

- ćwiczeniowa
- doświadczeń
- klasyczna metoda problemowa
- laboratoryjna
- projektu
- referatu

Metody dydaktyczne w kształceniu online:

- metody rozwijające refleksyjne myślenie
- metody służące prezentacji treści

Skrócony opis:

Celem przedmiotu jest przedstawienie podstawowych metod tworzenia algorytmów, omówienie wybranych algorytmów i ich zastosowań oraz struktur danych używanych w implementacjach tych algorytmów. Analiza algorytmów i struktur danych dotyczy złożoności obliczeniowej implementacji algorytmów. W czasie zajęć laboratoryjnych studenci analizują, implementują i testują wybrane algorytmy stosując odpowiednie struktury danych oraz wyznaczają rząd złożoności niektórych programów.

Pełny opis:

Omawiane są następujące zagadnienia :

• Podstawowe algorytmy i struktury danych

• Elementy analizy algorytmów

• Sortowanie

• Metody projektowania algorytmów

• Grafy

• Metody przeszukiwania grafów

• Ukorzenione drzewa binarne

• Drzewa poszukiwań binarnych

• Zbiory rozłączne i drzewa rozpinające

• Znajdowanie najkrótszych dróg

• Algorytmy tekstowe

• Algorytmy geometryczne na płaszczyźnie

• Algorytmy aproksymacyjne

Literatura:

Literatura podstawowa:

• L. Banachowski, K. Diks, W. Rytter, Algorytmy i struktury danych, WNT, 2018

• T.H. Cormen, Ch.E. Leiserson, R.L. Rivest, C. Stein, Wprowadzenie do algorytmów, WNT PWN, 2012

• D. Harel, Rzecz o istocie informatyki. Algorytmika, WNT, 1992.

• M.M. Syslo, N. Deo, J.S. Kowalik, Algorytmy optymalizacji dyskretnej z programami w języku Pascal, WN PWN, 1997

• M.M. Sysło, Algorytmy, Helion, 2016

• M.M. Sysło, Piramidy, szyszki i inne konstrukcje programistyczne, Helion, 2015

• J. Tomasiewicz, Zaprzyjaźnij się z algorytmami, Przewodnik dla początkujących i średnio zaawansowanych, PWN, 2016

Literatura uzupełniająca:

• A.V. Aho, J.E. Hopcroft, J.D. Ullman, Algorytmy i struktury danych, Helion, 2003.

• R.J. Wilson, Wprowadzenie do teorii grafów, PWN 2016 r.

• P. Stańczyk, Algorytmika praktyczna. Nie tylko dla mistrzów, PWN, 2009.

• P. Mikołajczyk, Wprowadzenie do STL, UMCS, Lublin 2012.

Metody i kryteria oceniania:

Na zaliczenie przedmiotu składa się :

Zaliczenie laboratorium na podstawie oceny z kolokwium (W1-W4, U1-U3, K1), oceny z implementacji algorytmów (U3-U5) i ich prezentacji (K1-K3).

Ocena pozytywna z egzaminu pisemnego (W1-W4, U1-U3, K1).

Zajęcia w cyklu "Semestr letni 2017/18" (zakończony)

Okres: 2018-02-26 - 2018-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Łukasz Mikulski, Maciej Sysło
Prowadzący grup: Anna Kwiatkowska, Łukasz Mikulski, Andrzej Mróz, Maciej Sysło, Katarzyna Zając
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2018/19" (zakończony)

Okres: 2019-02-25 - 2019-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Łukasz Mikulski
Prowadzący grup: Anna Kwiatkowska, Łukasz Mikulski, Andrzej Mróz, Katarzyna Zając
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2019/20" (zakończony)

Okres: 2020-02-29 - 2020-09-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Łukasz Mikulski
Prowadzący grup: Damian Kurpiewski, Anna Kwiatkowska, Łukasz Mikulski, Andrzej Mróz, Marcin Piątkowski, Katarzyna Zając
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2020/21" (zakończony)

Okres: 2021-02-22 - 2021-09-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Łukasz Mikulski
Prowadzący grup: Damian Kurpiewski, Anna Kwiatkowska, Łukasz Mikulski, Andrzej Mróz, Katarzyna Zając
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2021/22" (jeszcze nie rozpoczęty)

Okres: 2022-02-21 - 2022-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Łukasz Mikulski
Prowadzący grup: Anna Kwiatkowska, Łukasz Mikulski, Andrzej Mróz, Katarzyna Zając
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.