Wydział Biotechnologii i Hodowli Zwierząt - Bioinformatyka (S1)
specjalność: Systemy informatyczne w biologii
Sylabus przedmiotu Wstęp do algorytmizacji:
Informacje podstawowe
Kierunek studiów | Bioinformatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | nauk przyrodniczych, nauk technicznych, studiów inżynierskich | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Wstęp do algorytmizacji | ||
Specjalność | przedmiot wspólny | ||
Jednostka prowadząca | Katedra Inżynierii Oprogramowania | ||
Nauczyciel odpowiedzialny | Jerzy Pejaś <Jerzy.Pejas@zut.edu.pl> | ||
Inni nauczyciele | Włodzimierz Chocianowicz <Wlodzimierz.Chocianowicz@zut.edu.pl> | ||
ECTS (planowane) | 2,0 | ECTS (formy) | 2,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | 5 | Grupa obieralna | 3 |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Student powinien posiadać podstawowe umiejętności programowania w języku C/C++, znać podstawowe pojęcia matematyki dyskretnej i informatyki: zbiory i operacje na zbiorach, relacje, funkcje, indukcja i iteracja, budowa i funkcjonowanie komputera (w tym procesora), stosu programowego |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Praktyczne opanowanie zasad tworzenia algorytmów |
C-2 | Nabycie umiejętności oceny i porównywania algorytmów ze względu na czaso- i pamięciochłonność |
C-3 | Zapoznanie studenta z zasadami formułowania zadań algorytmicznych, projektowania algorytmów do ich rozwiązywania i oceny tych algorytmów |
C-4 | Zapoznanie studenta z podstawowymi algorytmami sortowania oraz strukturami danych (stos, kolejka, lista) |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Schematy blokowe algorytmów i pseudokody | 2 |
T-L-2 | Naturalna ocena złożoności algorytmów (przypadek optymistyczny, pesymistyczny, oczekiwany) | 3 |
T-L-3 | Konfrontacja iteracyjnych i rekurencyjnych wersji algorytmów | 2 |
T-L-4 | Asymptotyczna ocena złożoności algorytmów i twierdzenie o rekurencji uniwersalnej | 2 |
T-L-5 | Metody rozwiązywania równań rekurencyjnych | 2 |
T-L-6 | Wywodzenie algorytmów zintegrowanych na podstawie algorytmów cząstkowych (na przykładzie algorytmów dotyczących grafów), | 2 |
T-L-7 | Formalne badanie poprawności algorytmów | 2 |
15 | ||
wykłady | ||
T-W-1 | Wprowadzenie: specyfikacja i sposoby opisu algorytmów, kryteria porównania algorytmów, pojęcie struktury danych i systemu algebraicznego, przegląd fundamentalnych idei i metod projektowania algorytmów | 3 |
T-W-2 | Rekurencja i algorytmy rekurencyjne | 2 |
T-W-3 | Poprawność algorytmu | 2 |
T-W-4 | Sprawność algorytmów (analiza algorytmów) | 2 |
T-W-5 | Projektowanie algorytmu | 2 |
T-W-6 | Wybrane metody sortowania | 2 |
T-W-7 | Abstrakcyjne podstawowe struktury danych (stos, kolejka, listy) | 2 |
15 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | uczestnictwo w zajęciach | 15 |
A-L-2 | przygotowanie do ćwiczeń | 13 |
A-L-3 | Udział w konsultacjach | 2 |
30 | ||
wykłady | ||
A-W-1 | Udział, dyskusje i rozwiazywanie problemów formułowanych podczas wykładów | 15 |
A-W-2 | Przygotowanie do egzaminu i udział w egzaminie (2 godz.) | 13 |
A-W-3 | Udział w konsultacjach do wykładu | 2 |
30 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjno-konwersatoryjny |
M-2 | Ćwiczenia przedmiotowe |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Ocena na podstawie umiejętności rozwiązywania zadań formułowanych podczas ćwiczeń |
S-2 | Ocena formująca: Udział w dyskusjach prowadzonych w trakcie zajęć |
S-3 | Ocena podsumowująca: Egzamin - test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe) |
Zamierzone efekty kształcenia - wiedza
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
BI_1A_BI-S-O2.1_W01 Student rozumie pojęcia złożoności, sprawności i poprawności oraz ich praktyczne znaczenie w analizie algorytmów | BI_1A_W09 | P1A_W04, P1A_W07, T1A_W02, T1A_W03, T1A_W05, T1A_W06, T1A_W07 | InzA_W01, InzA_W02, InzA_W05 | C-2 | T-W-3, T-W-4, T-L-4, T-L-7, T-L-2, T-L-5 | M-1, M-2 | S-1, S-2, S-3 |
BI_1A_BI-S-O2.1_W02 Student potrafi definiować zadania algorytmiczne oraz zaproponować odpowiednią technikę algorytmiczną do jego rozwiązania | BI_1A_W09 | P1A_W04, P1A_W07, T1A_W02, T1A_W03, T1A_W05, T1A_W06, T1A_W07 | InzA_W01, InzA_W02, InzA_W05 | C-1, C-3 | T-W-1, T-W-5, T-L-3, T-L-1, T-L-6 | M-1, M-2 | S-1, S-2, S-3 |
BI_1A_BI-S-O2.1_W03 Student zna podstawowe algorytmy sortowania oraz struktury danych (stos, kolejka, lista) | BI_1A_W09 | P1A_W04, P1A_W07, T1A_W02, T1A_W03, T1A_W05, T1A_W06, T1A_W07 | InzA_W01, InzA_W02, InzA_W05 | C-1, C-4 | T-W-2, T-W-6, T-W-7, T-L-4 | M-1, M-2 | S-1, S-3 |
Zamierzone efekty kształcenia - umiejętności
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
BI_1A_BI-S-O2.1_U01 Student formułować i rozwiązywać zadania algorytmiczne | BI_1A_U09 | P1A_U01, P1A_U03, P1A_U04, T1A_U02, T1A_U05, T1A_U07, T1A_U09, T1A_U15 | InzA_U01, InzA_U07, InzA_U08 | C-1, C-3 | T-W-1, T-W-2, T-W-3 | M-1, M-2 | S-1, S-2, S-3 |
BI_1A_BI-S-O2.1_U02 Student potrafi badać poprawność algorytmów i ich sprawność, ulepszać ich działanie | BI_1A_U09 | P1A_U01, P1A_U03, P1A_U04, T1A_U02, T1A_U05, T1A_U07, T1A_U09, T1A_U15 | InzA_U01, InzA_U07, InzA_U08 | C-1, C-3 | T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-7 | M-1, M-2 | S-1, S-2, S-3 |
BI_1A_BI-S-O2.1_U03 Student potrafi zastosować podstawowe struktury danych do rozwiązywania zadań algorytmicznych | BI_1A_U09 | P1A_U01, P1A_U03, P1A_U04, T1A_U02, T1A_U05, T1A_U07, T1A_U09, T1A_U15 | InzA_U01, InzA_U07, InzA_U08 | C-4 | T-W-6, T-W-7 | M-1, M-2 | S-1, S-2, S-3 |
Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
BI_1A_BI-S-O2.1_K01 Student jest kreatywny i przygotowany do wykorzystywania oraz ustawicznego zdobywania wiedzy | BI_1A_K04 | P1A_K02, P1A_K03, P1A_K06, P1A_K08, T1A_K02, T1A_K03, T1A_K04, T1A_K06 | InzA_K01, InzA_K02 | C-3, C-2, C-1 | T-W-1, T-W-4, T-L-7, T-W-5, T-L-3, T-W-3, T-W-7, T-L-4 | M-2, M-1 | S-1, S-2 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
BI_1A_BI-S-O2.1_W01 Student rozumie pojęcia złożoności, sprawności i poprawności oraz ich praktyczne znaczenie w analizie algorytmów | 2,0 | nie spełnia kryteriów okreslonych dla oceny 3 |
3,0 | potrafi wymienić i zdefiniować wybrane podstawowe pojęcia dotyczące złożoności, sprawności i poprawności oraz ich praktyczne znaczenie w analizie algorytmów | |
3,5 | potrafi wymienić i zdefiniować dowolne podstawowe pojęcia dotyczące złożoności, sprawności i poprawności oraz ich praktyczne znaczenie w analizie algorytmów | |
4,0 | potrafi precyzyjnie opisać wybrane podstawowe pojęcia dotyczące złożoności, sprawności i poprawności oraz ich praktyczne znaczenie w analizie algorytmów | |
4,5 | potrafi precyzyjnie opisać dowolne podstawowe pojęcia dotyczące złożoności, sprawności i poprawności oraz ich praktyczne znaczenie w analizie algorytmów | |
5,0 | spełnia wymagania na ocenę 4,5 oraz dodatkowo a poziomie podstawowym zna metody formalnego dowodzenia poprawności algorytmów | |
BI_1A_BI-S-O2.1_W02 Student potrafi definiować zadania algorytmiczne oraz zaproponować odpowiednią technikę algorytmiczną do jego rozwiązania | 2,0 | nie spełnia kryteriów okreslonych dla oceny 3 |
3,0 | potrafi wymienić i definiować wybrane podstawowe zadania algorytmiczne oraz proponować odpowiednie techniki algorytmiczne do ich rozwiązania | |
3,5 | potrafi wymienić i definiować dowolne podstawowe zadania algorytmiczne oraz proponować odpowiednie techniki algorytmiczne do ich rozwiązania | |
4,0 | potrafi precyzyjnie opisać wybrane podstawowe zadania algorytmiczne oraz proponować odpowiednie techniki algorytmiczne do ich rozwiązania | |
4,5 | potrafi precyzyjnie opisać dowolne podstawowe zadania algorytmiczne oraz proponować odpowiednie techniki algorytmiczne do ich rozwiązania | |
5,0 | spełnia wymagania na ocenę 4,5 oraz dodatkowo na poziomie podstawowym potrafi zaproponować i wytłumaczyć działanie metody programowania dynamicznego na przykładzie wskazanego problemu algorytmicznego | |
BI_1A_BI-S-O2.1_W03 Student zna podstawowe algorytmy sortowania oraz struktury danych (stos, kolejka, lista) | 2,0 | nie spełnia kryteriów określonych dla oceny 3 |
3,0 | zna wybrane podstawowe struktury danych (stos, kolejka) oraz potrafi wyjaśnić działanie wybranych podstawowych iteracyjnych algorytmów sortowania | |
3,5 | zna dowolne podstawowe struktury danych (stos, jedno - dwukierunkowe kolejki i listy) oraz potrafi wyjaśnić działanie wybranych podstawowych iteracyjnych algorytmów sortowania | |
4,0 | potrafi opisać dowolne podstawowe struktury danych (stos, jedno - dwukierunkowe kolejki i listy) oraz wyjaśnić działanie wybranych podstawowych iteracyjnych i rekurencyjnych algorytmów sortowania | |
4,5 | potrafi precyzyjnie opisać dowolne podstawowe struktury danych (stos, jedno - dwukierunkowe kolejki i listy) oraz precyzyjnie wyjaśnić działanie wybranych podstawowych iteracyjnych i rekurencyjnych algorytmów sortowania | |
5,0 | spełnia wymagania na ocenę 4,5 oraz dodatkowo potrafi opisać Student potrafi wyjaśnid działanie wybranych algorytmów sortowania wykraczajacych poza podstawowy zestaw algorytmów sortowania |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
BI_1A_BI-S-O2.1_U01 Student formułować i rozwiązywać zadania algorytmiczne | 2,0 | nie spełnia kryteriów określonych dla oceny 3 |
3,0 | potrafi formułować i rozwiązywać wybrane podstawowe zadania algorytmiczne | |
3,5 | potrafi formułować i rozwiązywać dowolne podstawowe zadania algorytmiczne | |
4,0 | potrafi zastosować metodę projektowania dziel i zwyciężaj do rozwiązania wybranych podstawowych zadań algorytmicznych | |
4,5 | potrafi zastosować metodę projektowania zachłannego oraz dziel i zwyciężaj do rozwiąznaia dowolnych zadań algorytmicznych | |
5,0 | potrafi zastosować metodę programownaia dydnamicznego do zaprojektowania wybranych podstawowych zadań algorytmicznych | |
BI_1A_BI-S-O2.1_U02 Student potrafi badać poprawność algorytmów i ich sprawność, ulepszać ich działanie | 2,0 | nie spełnia kryteriów określonych dla oceny 3 |
3,0 | potrafi obliczyć złożoność czasową wybranych podstawowych algorytmów | |
3,5 | potrafi obliczyć złożoność czasową dowolnych podstawowych algorytmów | |
4,0 | spełnia wymagania na ocenę 3,5 oraz dodatkowo potrafi zweryfikować poprawność wybranych podstawowych algorytmów | |
4,5 | spełnia wymagania na ocenę 3,5 oraz dodatkowo potrafi zweryfikować poprawność dowolnych podstawowych algorytmów | |
5,0 | pospełnia wymagania na ocenę 4,5 oraz dodatkowo potrafi wprowadzić usprawnienia podnoszące sprawność działania algorytmów | |
BI_1A_BI-S-O2.1_U03 Student potrafi zastosować podstawowe struktury danych do rozwiązywania zadań algorytmicznych | 2,0 | nie spełnia kryteriów określonych dla oceny 3 |
3,0 | potrafi zastosować tablicowe implementacje wybranych podstawowych liniowych struktur danych do zaimplementowania wybranych podstawowych zadań algorytmicznych | |
3,5 | potrafi zastosować tablicowe implementacje dowolnych podstawowych liniowych struktur danych do zaimplementowania wybranych podstawowych zadań algorytmicznych | |
4,0 | potrafi zastosować dynamiczne (np. wskażnikowe) implementacje wybranych podstawowych liniowych struktur danych do zaimplementowania wybranych podstawowych zadań algorytmicznych | |
4,5 | potrafi zastosować dynamiczne (np. wskażnikowe) implementacje dowolnych podstawowych liniowych struktur danych do zaimplementowania wybranych podstawowych zadań algorytmicznych | |
5,0 | potrafi zastosować dynamiczne (np. wskażnikowe) implementacje dowolnych podstawowych liniowych struktur danych do zaimplementowania dwolnych podstawowych zadań algorytmicznych |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
BI_1A_BI-S-O2.1_K01 Student jest kreatywny i przygotowany do wykorzystywania oraz ustawicznego zdobywania wiedzy | 2,0 | brak umiejętności samodzielnego szukania i wykorzystania informacji oraz pracy w grupie |
3,0 | dostateczna umiejętność samodzielnego szukania i wykorzystania informacji oraz pracy w grupie, wymaga bardzo częstej pomocy nauczyciela | |
3,5 | ponad dostateczne umiejętność samodzielnego szukania i wykorzystania informacji oraz pracy w grupie, wymaga częstej pomocy nauczyciela | |
4,0 | dobra umiejętność samodzielnego szukania i wykorzystania informacji oraz pracy w grupie, wymaga rzadkiej pomocy nauczyciela | |
4,5 | ponad dobra umiejętność samodzielnego szukania i wykorzystania informacji oraz pracy w grupie, wymaga bardzo rzadkiej pomocy nauczyciela | |
5,0 | wyróżniająca umiejętność samodzielnego szukania i wykorzystania informacji oraz pracy w grupie, potrafi bez pomocy nauczyciela wykonać zadania ćwiczeniowe zgodnie z otrzymanymi poleceniami prowadzącego |
Literatura podstawowa
- T.H. Cormen, Ch.E.Leiserson, R.I.Rivest, Wprowadzenia do algorytmów, WNT, Warszawa, 2004
- Kyle Loudon, Algorytmy w C, Helion, Warszawa, 2003
Literatura dodatkowa
- Richard Neapolitan, Kumarss Naimipour, Podstawy algorytmów z przykładami w C++, Helion, Warszawa, 2004
- Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman, Algorytmy i struktury danych, Helion, Warszawa, 2003
- Piotr Wróblewski, Algorytmy, struktury danych i techniki programowania, 2009, Wyd. IV