logo
Karta przedmiotu
logo

Algorytmy i struktury danych

Podstawowe informacje o zajęciach

Cykl kształcenia: 2024/2025

Nazwa jednostki prowadzącej studia: Wydział Elektrotechniki i Informatyki

Nazwa kierunku studiów: Informatyka

Obszar kształcenia: nauki techniczne

Profil studiów: ogólnoakademicki

Poziom studiów: pierwszego stopnia

Forma studiów: niestacjonarne

Specjalności na kierunku: AA - inżynieria systemów informatycznych, AI - Sztuczna inteligencja, TT - informatyka w przedsiębiorstwie, Z - inżynieria systemów złożonych

Tytuł otrzymywany po ukończeniu studiów: inżynier

Nazwa jednostki prowadzącej zajęcia: Katedra Informatyki i Automatyki

Kod zajęć: 1774

Status zajęć: obowiązkowy dla programu AI - Sztuczna inteligencja

Układ zajęć w planie studiów: sem: 2 / W20 C10 L10 / 5 ECTS / E

Język wykładowy: polski

Imię i nazwisko koordynatora 1: dr inż. Krzysztof Świder

Terminy konsultacji koordynatora: informacja na stronie KIiA: https://office.kia.prz.edu.pl

Imię i nazwisko koordynatora 2: dr inż. Dariusz Rzońca

Terminy konsultacji koordynatora: informacja na stronie KIiA: https://office.kia.prz.edu.pl

semestr 2: mgr inż. Dominik Ożóg

Cel kształcenia i wykaz literatury

Główny cel kształcenia: Zdobycie wiedzy i umiejętności z zakresu statycznych i dynamicznych struktur danych, wybranych technik konstruowania algorytmów oraz złożoności obliczeniowej.

Ogólne informacje o zajęciach: Wykład omawia klasyczne struktury danych takie jak: listy, stosy, kolejki, drzewa i grafy oraz podstawowe algorytmy na tych strukturach z uwzględnieniem złożoności. Zajęcia praktyczne koncentrują się na rozwiązywaniu zadań praktycznych oraz przygotowaniu programów w wybranym języku.

Wykaz literatury, wymaganej do zaliczenia zajęć
Literatura wykorzystywana podczas zajęć wykładowych
1 K. Świder Wykłady z algorytmów i struktur danych z zadaniami Oficyna Wydawnicza PRz. 2004
2 T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Wprowadzenie do algorytmów Wydawnictwo Naukowe PWN. 2012
3 A.V. Aho,J.E. Hopcroft, J.D. Ullman Projektowanie i analiza algorytmów Wydawnictwo Helion. 2003.
Literatura wykorzystywana podczas zajęć ćwiczeniowych/laboratoryjnych/innych
1 K. Świder Wykłady z algorytmów i struktur danych z zadaniami Oficyna Wydawnicza PRz. 2004

Wymagania wstępne w kategorii wiedzy/umiejętności/kompetencji społecznych

Wymagania formalne: Zaliczenie 1-semestrowego przedmiotu w zakresie podstaw informatyki

Wymagania wstępne w kategorii Wiedzy: Podstawy informatyki, algebry i statystyki

Wymagania wstępne w kategorii Umiejętności: Pożądana znajomość dowolnego języka programowania

Wymagania wstępne w kategorii Kompetencji społecznych: Znajomość i przestrzeganie obowiązków studenta oraz podstawowych zasad etyki.

Efekty kształcenia dla zajęć

MEK Student, który zaliczył zajęcia Formy zajęć/metody dydaktyczne prowadzące do osiągnięcia danego efektu kształcenia Metody weryfikacji każdego z wymienionych efektów kształcenia Związki z KEK Związki z PRK
01 Ma podstawową wiedzę z zakresu wybranych technik projektowania algorytmów oraz rozumie, jak można poprawić ich efektywność i przejrzystość wykład, ćwiczenia problemowe, laboratorium kolokwium, egzamin K_U01++
P6S_UW
02 Ma podstawową wiedzę na temat złożoności i wydajności algorytmów oraz rozumie znaczenie ich poprawności wykład, ćwiczenia problemowe, laboratorium kolokwium, egzamin K_W01+
K_W04++
K_U09+++
P6S_UW
P6S_WG
03 Ma podstawową wiedzę z zakresu elementarnych struktur danych (np. listy kolejki i stosy) oraz potrafi wykonywać podstawowe operacje na tych strukturach. wykład, ćwiczenia problemowe, laboratorium kolokwium, egzamin K_U06+
K_K02+
P6S_KK
P6S_KO
P6S_UU
P6S_UW
04 Ma podstawową wiedzę na temat sposobów reprezentowania oraz zastosowań drzew i grafów wykład, ćwiczenia problemowe, laboratorium kolokwium, egzamin K_U01+
P6S_UW
05 Ma podstawową wiedzę na temat powszechnie stosowanych algorytmów sortowania, potrafi wyjaśnić ich działanie oraz ocenić złożoność wybranych algorytmów. wykład, ćwiczenia problemowe, laboratorium kolokwium, egzamin K_W01+
P6S_WG

Uwaga: W zależności od sytuacji epidemicznej, jeżeli nie będzie możliwości weryfikacji osiągniętych efektów uczenia się określonych w programie studiów w sposób stacjonarny w szczególności zaliczenia i egzaminy kończące określone zajęcia będą mogły się odbywać przy użyciu środków komunikacji elektronicznej (w sposób zdalny).

Treści kształcenia dla zajęć

Sem. TK Treści kształcenia Realizowane na MEK
2 TK01 Złożoność obliczeniowa programów. Pojęcia złożoności czasowej i złożoności obliczeniowej oraz szacowanie złożoności. Notacje asymptotyczne i ich interpretacja matematyczna. W01-W02 MEK02
2 TK02 Model obliczeniowy RAM i komendy maszyny RAM. Zapis algorytmów w pseudokodzie. W03-W04 MEK01
2 TK03 Reprezentacja pamięciowa oraz podstawowe algorytmy na wybranych strukturach dynamicznych (listy stosy, kolejki i grafy). W05-W08 MEK03
2 TK04 Struktury drzewiaste i ich właściwości. Drzewa binarne. Rekursja. W09 MEK01 MEK04
2 TK05 Drzewa poszukiwań binarnych (BST) i ich właściwości. Operacje na drzewach BST. W10-W11 MEK04
2 TK06 Definicja, podstawowe cechy oraz algorytmy na kopcach (heap). Kolejki priorytetowe. W12-W14 MEK04
2 TK07 Poszukiwanie w drzewach (strategie "wszerz", "wgłąb" i "najpierw najlepszy"). Generowanie dróg rozwiązań. W15 MEK04
2 TK08 Sortowanie - podstawowe definicje oraz sformułowanie problemu. Prezentacja oraz ocena złożoności wybranych algorytmów sortowania. Dowód poprawności wybranego algorytmu sortowania. W16-W18 MEK05
2 TK09 Zaawansowane strategie budowy algorytmów - programowanie dynamiczne i algorytmy zachłanne. W19-W20 MEK01
2 TK10 Praktyczne wykorzystanie notacji asymptotycznych. Analiza przykładowych programów w języku maszyny RAM. Ocena czasowej i pamięciowej złożoności obliczeniowej. C01-C02 MEK02
2 TK11 Zapis w pseudokodzie algorytmów operujacych na listach, stosach i kolejkach. Rozwiązywanie problemów z wykorzystaniem rekursji. C03-C05 MEK03
2 TK12 Rozwiązywanie problemów z wykorzystaniem struktur opartych na drzewach binarnych (drzewa BST, kopce) C06-C07 MEK04
2 TK13 Rozwiązywanie problemów metodą przeszukiwania w drzewach. C08-C09 MEK04
2 TK14 Konstruowanie oraz praktyczna weryfikacja wybranych algorytmów sortowania. C10 MEK05
2 TK15 Opracowanie i uruchomienie programów weryfikujących skuteczność wybranych algorytmów. L01-L10 MEK01 MEK02 MEK03 MEK04 MEK05

Nakład pracy studenta

Forma zajęć Praca przed zajęciami Udział w zajęciach Praca po zajęciach
Wykład (sem. 2) Godziny kontaktowe: 20.00 godz./sem.
Uzupełnienie/studiowanie notatek: 15.00 godz./sem.
Studiowanie zalecanej literatury: 15.00 godz./sem.
Ćwiczenia/Lektorat (sem. 2) Przygotowanie do ćwiczeń: 20.00 godz./sem.
Przygotowanie do kolokwium: 10.00 godz./sem.
Godziny kontaktowe: 10.00 godz./sem.
Dokończenia/studiowanie zadań: 10.00 godz./sem.
Laboratorium (sem. 2) Przygotowanie do laboratorium: 15.00 godz./sem.
Godziny kontaktowe: 10.00 godz./sem.
Dokończenia/wykonanie sprawozdania: 6.00 godz./sem.
Konsultacje (sem. 2)
Egzamin (sem. 2) Przygotowanie do egzaminu: 15.00 godz./sem.
Egzamin pisemny: 1.00 godz./sem.

Sposób wystawiania ocen składowych zajęć i oceny końcowej

Forma zajęć Sposób wystawiania oceny podsumowującej
Wykład ocena z egzaminu pisemnego
Ćwiczenia/Lektorat ocena z kolokwiów
Laboratorium ocena z wykonanych prac
Ocena końcowa średnia ważona ocen z egzaminu, kolokwiów oraz prac laboratoryjnych

Przykładowe zadania

Wymagane podczas egzaminu/zaliczenia
(-)

Realizowane podczas zajęć ćwiczeniowych/laboratoryjnych/projektowych
(-)

Inne
(-)

Czy podczas egzaminu/zaliczenia student ma możliwość korzystania z materiałów pomocniczych : nie

Treści zajęć powiazane są z prowadzonymi badaniami naukowymi: tak

1 A. Bożek; D. Rzońca Communication Time Optimization of Register-Based Data Transfer 2023
2 G. Dec; D. Mazur; D. Rzońca Urządzenie zabezpieczające powierzchnie płaskie, zwłaszcza powierzchnie paneli fotowoltaicznych 2023
3 A. Bożek; T. Rak; D. Rzońca Timed Colored Petri Net-Based Event Generators for Web Systems Simulation 2022
4 D. Rzońca Przyspieszenie wymiany danych w protokole Modbus między PLC a HMI wykorzystującymi pakiet inżynierski CPDev 2022
5 G. Dec; A. Majka; T. Rogalski; D. Rzońca; S. Samolej Regular graph-based free route flight planning approach 2021
6 T. Rak; D. Rzońca Recommendations for Using QPN Formalism for Preparation of Incoming Request Stream Generator in Modeled System 2021
7 D. Rzońca Editorial Board Member of \"Applied System Innovation\" journal (MDPI) 2020
8 D. Rzońca Poprawa wydajności komunikacji sterownika przemysłowego z panelem operatorskim HMI w środowisku inżynierskim CPDev 2020
9 D. Rzońca; J. Sadolewski; A. Stec; Z. Świder; B. Trybus; L. Trybus Implementacja środowiska inżynierskiego na przykładzie pakietu CPDev 2020
10 D. Rzońca; J. Sadolewski; A. Stec; Z. Świder; B. Trybus; L. Trybus Ship Autopilot Software – A Case Study 2020
11 D. Nowak; T. Rogalski; D. Rzońca; S. Samolej; Ł. Wałek Control System for Aircraft Take-off and Landing Based on Modified PID controllers 2019
12 D. Rzońca; J. Sadolewski; A. Stec; Z. Świder; B. Trybus; L. Trybus Aneks 5 z dnia 25.04.2019 do Umowy nr NE/01/2012 o współpracy nad rozwojem oprogramowania zawartej w dniu 28.02.2012 ( do umowy licencyjnej na CPDev z Praxis) 2019
13 D. Rzońca; J. Sadolewski; A. Stec; Z. Świder; B. Trybus; L. Trybus Agreement no. NR-644-5/2019 on cooperation in software development, concluded on December 3, 2019 2019
14 D. Rzońca; J. Sadolewski; A. Stec; Z. Świder; B. Trybus; L. Trybus Developing a Multiplatform Control Environment 2019
15 G. Dec; D. Mazur; D. Rzońca Urządzenie zabezpieczające powierzchnie płaskie, zwłaszcza powierzchnie paneli fotowoltaicznych 2019
16 M. Jamro; D. Rzońca SysML-based Optimization of Global Variables Arrangement for Visualization in Distributed Control Systems Oriented Towards Communication Performance 2019
17 W. Rząsa; D. Rzońca Sposób detekcji i analizy wsadu pralki automatycznej oraz urządzenie do realizacji tego sposobu 2019