Module also offered within study programmes:
General information:
Name:
Algorithms and data structures
Course of study:
2019/2020
Code:
HNKT-1-210-s
Faculty of:
Humanities
Study level:
First-cycle studies
Specialty:
-
Field of study:
Nowoczesne technologie w kryminalistyce
Semester:
2
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr inż. Frankowski Marek (mfrankow@agh.edu.pl)
Module summary

Celem przedmiotu jest zapoznanie studentów z najważniejszymi rodzinami algorytmów oraz powszechnie stosowanymi strukturami danych. Przedmiot wprowadza podstawy programowania obiektowego.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence: is able to
M_K001 Student potrafi prezentować zagadnienia podstaw programowania obiektowego, komunikować zasady działania złożonych algorytmów oraz odnosić się do dokumentacji problemu i opisów złożonych typów danych. NKT1A_K04, NKT1A_K01, NKT1A_K02 Project,
Activity during classes
Skills: he can
M_U001 Student potrafi projektować i implementować algorytmy operujące na złożonych strukturach danych. NKT1A_U04, NKT1A_U06, NKT1A_U05, NKT1A_U07 Project,
Test
M_U002 Student potrafi dobierać metody i narzędzia dostępne online do postawionych problemów programowania obiektowego i obsługi złożonych danych. NKT1A_U06, NKT1A_U07 Project
Knowledge: he knows and understands
M_W001 Student zna i rozumie algorytmy służące do rozwiązywania klasycznych problemów informatyki. NKT1A_W05 Project,
Test
M_W002 Student zna i rozumie podstawowe założenia programowania obiektowego i rozdziału silnik aplikacji - interfejs. NKT1A_W05 Project,
Test
Number of hours for each form of classes:
Sum (hours)
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
46 18 0 14 14 0 0 0 0 0 0 0
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Social competence
M_K001 Student potrafi prezentować zagadnienia podstaw programowania obiektowego, komunikować zasady działania złożonych algorytmów oraz odnosić się do dokumentacji problemu i opisów złożonych typów danych. + - + + - - - - - - -
Skills
M_U001 Student potrafi projektować i implementować algorytmy operujące na złożonych strukturach danych. + - + + - - - - - - -
M_U002 Student potrafi dobierać metody i narzędzia dostępne online do postawionych problemów programowania obiektowego i obsługi złożonych danych. + - + + - - - - - - -
Knowledge
M_W001 Student zna i rozumie algorytmy służące do rozwiązywania klasycznych problemów informatyki. + - + + - - - - - - -
M_W002 Student zna i rozumie podstawowe założenia programowania obiektowego i rozdziału silnik aplikacji - interfejs. + - + + - - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 89 h
Module ECTS credits 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 46 h
Preparation for classes 14 h
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 14 h
Realization of independently performed tasks 10 h
Contact hours 5 h
Module content
Lectures (18h):

1. Podstawy C# I (podstawy)
2. Podstawy C# II (funkcje)
3. Podstawy C# III (klasy)
4. Podstawy C# IV (klasy)
5. Podstawy programowania obiektowego (rozdział interfejs – silnik)
6. Kontenery (tablice i listy)
7. Dwuwymiarowe tablice i mapa (słownik)
8. Pliki tekstowe i wyjątki
9. Drzewa
10. Grafy I
11. Grafy II
12. Sortowanie I (różne algorytmy, porównanie czasu działania w różnych przypadkach danych,
implementacja na tablicach i listach)
13. Sortowanie II (jak wyżej)

Laboratory classes (14h):

Ćwiczenia laboratoryjne zgodne z tematyką wykładów w formie instrukcji wprowadzających z możliwością konsultacji z prowadzącym.

Project classes (14h):

Zadania projektowe zgodne z tematyką wykładów, będące kontynuacją instrukcji wprowadzających realizowanych na zajęciach laboratoryjnych.

Additional information
Teaching methods and techniques:
  • Lectures: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Laboratory classes: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
  • Project classes: Nie określono
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Aby uzyskać zaliczenie należy:
zdobyć równo lub więcej niż 50% punktów z kartkówek
oraz
zdobyć równo lub więcej niż 50% punktów z zadań domowych

Participation rules in classes:
  • Lectures:
    – Attendance is mandatory: No
    – Participation rules in classes: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Laboratory classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu.
  • Project classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: Nie określono
Method of calculating the final grade:

Ocena wyznaczana na podstawie regulaminu studiów z wagami – kartkówki 30% zadania domowe 70%.
Aktywność na laboratoriach i wykładach może dodać +5% z wybranej części
Poprawy ocen:
Na ostatnich zajęciach można poprawić jedną najgorzej napisaną kartkówkę oraz oddać jedno najniżej ocenione zadanie (ocena zostaje podmieniona na nową) UWAGA: brak innych form zaliczeń poprawkowych

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Nieobecności:
Nieusprawiedliwione → 0 z kartkówki
Usprawiedliwione → możliwość nadrobienia kartkówki w terminie określonym przez prowadzącego zajęcia
Zadanie domowe należy oddać na platformie terminowo bez względu na nieobecność, w tym usprawiedliwioną – przypadki skrajne rozstrzyga prowadzący laboratorium

Prerequisites and additional requirements:

Umiejętność programowania w dowolnym języku imperatywnym.

Recommended literature and teaching resources:

Darmowe pomoce dostępne online:
https://books.goalkicker.com/AlgorithmsBook/
https://books.goalkicker.com/CSharpBook/
https://docs.microsoft.com/pl-pl/dotnet/csharp/

Scientific publications of module course instructors related to the topic of the module:

Additional scientific publications not specified

Additional information:

None