logo
Karta przedmiotu
logo

Algorytmy i struktury danych

Podstawowe informacje o zajęciach

Cykl kształcenia: 2020/2021

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, S - systemy i sieci komputerowe, TT - informatyka w przedsiębiorstwie

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

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ż. Ewa Jędrzejec , termin konsultacji informacja na stronie KIiA: https://office.kia.prz.edu.pl

semestr 2: mgr inż. Ewa Jędrzejec , termin konsultacji informacja na stronie KIiA: https://office.kia.prz.edu.pl

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.

Materiały dydaktyczne: Dostępne pod adresem http://prz-rzeszow.pl/~kswider/asd/

Wykaz literatury, wymaganej do zaliczenia zajęć
Literatura wykorzystywana podczas zajęć wykładowych
1 T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Wprowadzenie do algorytmów Wydawnictwo Naukowe PWN, 2012 (można wykorzystać także wcześniejsze wydania).
2 A.V. Aho,J.E. Hopcroft, J.D. Ullman Projektowanie i analiza algorytmów Wydawnictwo Helion. 2003.
3 K. Świder Wykłady z algorytmów i struktur danych z zadaniami Oficyna Wydawnicza PRz, 2004 (wersja elektroniczna http://prz-rzeszow.pl/~kswider/asd/)..
Literatura wykorzystywana podczas zajęć ćwiczeniowych/laboratoryjnych/innych
1 K. Świder Wykłady z algorytmów i struktur danych z zadaniami Oficyna Wydawnicza PRz, 2004 (wersja elektroniczna http://prz-rzeszow.pl/~kswider/asd/)..

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 cz. pisemna, egzamin cz. ustna K_U01++
K_U02+
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 cz. pisemna, egzamin cz. ustna K_W01+
K_W06++
K_W09+
K_U13+++
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 cz. pisemna, egzamin cz. ustna K_U08+
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 cz. pisemna, egzamin cz. ustna 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 cz. pisemna, egzamin cz. ustna K_W01+
K_W09+
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: 20.00 godz./sem.
Studiowanie zalecanej literatury: 20.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
K1.pdf

Realizowane podczas zajęć ćwiczeniowych/laboratoryjnych/projektowych
T_3.pdf
T_1.pdf

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