Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)

Sylabus przedmiotu Wstęp do algorytmizacji:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów nauki techniczne, studia inżynierskie
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) 4,0 ECTS (formy) 4,0
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW2 15 1,60,60egzamin
ćwiczenia audytoryjneA2 30 2,40,40zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Student 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

KODCel modułu/przedmiotu
C-1Praktyczne opanowanie zasad tworzenia algorytmów
C-2Nabycie umiejętności oceny i porównywania algorytmów ze względu na czaso- i pamięciochłonność
C-3Zapoznanie studenta z zasadami formułowania zadań algorytmicznych, projektowania algorytmów do ich rozwiązywania i oceny tych algorytmów
C-4Zapoznanie studenta z podstawowymi algorytmami sortowania oraz strukturami danych (stos, kolejka, lista)

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
ćwiczenia audytoryjne
T-A-1Schematy blokowe algorytmów i pseudokody4
T-A-2Naturalna ocena złożoności algorytmów (przypadek optymistyczny, pesymistyczny, oczekiwany)6
T-A-3Konfrontacja iteracyjnych i rekurencyjnych wersji algorytmów4
T-A-4Asymptotyczna ocena złożoności algorytmów i twierdzenie o rekurencji uniwersalnej4
T-A-5Metody rozwiązywania równań rekurencyjnych2
T-A-6Wywodzenie algorytmów zintegrowanych na podstawie algorytmów cząstkowych (na przykładzie algorytmów dotyczących grafów),4
T-A-7Formalne badanie poprawności algorytmów2
T-A-8Formułowanie asercji, niezmienników i zbieżników oraz dowodzenie ich prawdziwości4
30
wykłady
T-W-1Wprowadzenie: 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ów3
T-W-2Rekurencja i algorytmy rekurencyjne2
T-W-3Poprawność algorytmu2
T-W-4Sprawność algorytmów (analiza algorytmów)2
T-W-5Projektowanie algorytmu2
T-W-6Wybrane metody sortowania2
T-W-7Abstrakcyjne podstawowe struktury danych (stos, kolejka, listy)2
15

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
ćwiczenia audytoryjne
A-A-1uczestnictwo w zajęciach30
A-A-2przygotowanie do ćwiczeń - praca własna studenta40
A-A-3Udział w konsultacjach i w zaliczeniu formy zajęć2
72
wykłady
A-W-1Udział, dyskusje i rozwiazywanie problemów formułowanych podczas wykładów15
A-W-2Przygotowanie do egzaminu - praca własna studenta27
A-W-3Udział w konsultacjach do wykładu4
A-W-4Udział w egzaminie2
48

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia przedmiotowe

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena na podstawie umiejętności rozwiązywania zadań formułowanych podczas ćwiczeń
S-2Ocena formująca: Udział w dyskusjach prowadzonych w trakcie zajęć
S-3Ocena podsumowująca: Egzamin - test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_C/02_W01
Student rozumie pojęcia złożoności, sprawności i poprawności oraz ich praktyczne znaczenie w analizie algorytmów
I_1A_W05C-2T-A-2, T-A-4, T-A-7, T-A-8, T-W-3, T-W-4M-1, M-2S-1, S-2, S-3
I_1A_C/02_W02
Student potrafi definiować zadania algorytmiczne oraz zaproponować odpowiednią technikę algorytmiczną do jego rozwiązania
I_1A_W05C-1, C-3T-A-3, T-A-6, T-A-1, T-W-1, T-W-5M-1, M-2S-1, S-2, S-3
I_1A_C/02_W03
Student zna podstawowe algorytmy sortowania oraz struktury danych (stos, kolejka, lista)
I_1A_W05C-1, C-4T-A-6, T-W-2, T-W-6, T-W-7M-1, M-2S-1, S-3

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_C/02_U01
Student formułować i rozwiązywać zadania algorytmiczne
I_1A_U19C-1, C-3T-A-3, T-A-6, T-A-1, T-W-3, T-W-1, T-W-2M-1, M-2S-1, S-2, S-3
I_1A_C/02_U02
Student potrafi badać poprawność algorytmów i ich sprawność, ulepszać ich działanie
I_1A_U19C-1, C-3T-A-2, T-A-4, T-A-5, T-A-7, T-A-1, T-W-3, T-W-1, T-W-2, T-W-4, T-W-5, T-W-7M-1, M-2S-1, S-2, S-3
I_1A_C/02_U03
Student potrafi zastosować podstawowe struktury danych do rozwiązywania zadań algorytmicznych
I_1A_U19C-4T-A-6, T-A-1, T-W-6, T-W-7M-1, M-2S-1, S-2, S-3

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_1A_C/02_W01
Student rozumie pojęcia złożoności, sprawności i poprawności oraz ich praktyczne znaczenie w analizie algorytmów
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0potrafi 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,5potrafi 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,0potrafi 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,5potrafi 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,0spełnia wymagania na ocenę 4,5 oraz dodatkowo a poziomie podstawowym zna metody formalnego dowodzenia poprawności algorytmów
I_1A_C/02_W02
Student potrafi definiować zadania algorytmiczne oraz zaproponować odpowiednią technikę algorytmiczną do jego rozwiązania
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0potrafi wymienić i definiować wybrane podstawowe zadania algorytmiczne oraz proponować odpowiednie techniki algorytmiczne do ich rozwiązania
3,5potrafi wymienić i definiować dowolne podstawowe zadania algorytmiczne oraz proponować odpowiednie techniki algorytmiczne do ich rozwiązania
4,0potrafi precyzyjnie opisać wybrane podstawowe zadania algorytmiczne oraz proponować odpowiednie techniki algorytmiczne do ich rozwiązania
4,5potrafi precyzyjnie opisać dowolne podstawowe zadania algorytmiczne oraz proponować odpowiednie techniki algorytmiczne do ich rozwiązania
5,0speł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
I_1A_C/02_W03
Student zna podstawowe algorytmy sortowania oraz struktury danych (stos, kolejka, lista)
2,0nie spełnia kryteriów określonych dla oceny 3
3,0zna wybrane podstawowe struktury danych (stos, kolejka) oraz potrafi wyjaśnić działanie wybranych podstawowych iteracyjnych algorytmów sortowania
3,5zna dowolne podstawowe struktury danych (stos, jedno - dwukierunkowe kolejki i listy) oraz potrafi wyjaśnić działanie wybranych podstawowych iteracyjnych algorytmów sortowania
4,0potrafi 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,5potrafi 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,0speł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łceniaOcenaKryterium oceny
I_1A_C/02_U01
Student formułować i rozwiązywać zadania algorytmiczne
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi formułować i rozwiązywać wybrane podstawowe zadania algorytmiczne
3,5potrafi formułować i rozwiązywać dowolne podstawowe zadania algorytmiczne
4,0potrafi zastosować metodę projektowania dziel i zwyciężaj do rozwiązania wybranych podstawowych zadań algorytmicznych
4,5potrafi zastosować metodę projektowania zachłannego oraz dziel i zwyciężaj do rozwiąznaia dowolnych zadań algorytmicznych
5,0potrafi zastosować metodę programownaia dydnamicznego do zaprojektowania wybranych podstawowych zadań algorytmicznych
I_1A_C/02_U02
Student potrafi badać poprawność algorytmów i ich sprawność, ulepszać ich działanie
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi obliczyć złożoność czasową wybranych podstawowych algorytmów
3,5potrafi obliczyć złożoność czasową dowolnych podstawowych algorytmów
4,0spełnia wymagania na ocenę 3,5 oraz dodatkowo potrafi zweryfikować poprawność wybranych podstawowych algorytmów
4,5spełnia wymagania na ocenę 3,5 oraz dodatkowo potrafi zweryfikować poprawność dowolnych podstawowych algorytmów
5,0pospełnia wymagania na ocenę 4,5 oraz dodatkowo potrafi wprowadzić usprawnienia podnoszące sprawność działania algorytmów
I_1A_C/02_U03
Student potrafi zastosować podstawowe struktury danych do rozwiązywania zadań algorytmicznych
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi zastosować tablicowe implementacje wybranych podstawowych liniowych struktur danych do zaimplementowania wybranych podstawowych zadań algorytmicznych
3,5potrafi zastosować tablicowe implementacje dowolnych podstawowych liniowych struktur danych do zaimplementowania wybranych podstawowych zadań algorytmicznych
4,0potrafi zastosować dynamiczne (np. wskażnikowe) implementacje wybranych podstawowych liniowych struktur danych do zaimplementowania wybranych podstawowych zadań algorytmicznych
4,5potrafi zastosować dynamiczne (np. wskażnikowe) implementacje dowolnych podstawowych liniowych struktur danych do zaimplementowania wybranych podstawowych zadań algorytmicznych
5,0potrafi zastosować dynamiczne (np. wskażnikowe) implementacje dowolnych podstawowych liniowych struktur danych do zaimplementowania dwolnych podstawowych zadań algorytmicznych

Literatura podstawowa

  1. T.H. Cormen, Ch.E.Leiserson, R.I.Rivest, Wprowadzenia do algorytmów, WNT, Warszawa, 2004
  2. Kyle Loudon, Algorytmy w C, Helion, Warszawa, 2003

Literatura dodatkowa

  1. Richard Neapolitan, Kumarss Naimipour, Podstawy algorytmów z przykładami w C++, Helion, Warszawa, 2004
  2. Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman, Algorytmy i struktury danych, Helion, Warszawa, 2003
  3. Piotr Wróblewski, Algorytmy, struktury danych i techniki programowania, 2009, Wyd. IV

Treści programowe - ćwiczenia audytoryjne

KODTreść programowaGodziny
T-A-1Schematy blokowe algorytmów i pseudokody4
T-A-2Naturalna ocena złożoności algorytmów (przypadek optymistyczny, pesymistyczny, oczekiwany)6
T-A-3Konfrontacja iteracyjnych i rekurencyjnych wersji algorytmów4
T-A-4Asymptotyczna ocena złożoności algorytmów i twierdzenie o rekurencji uniwersalnej4
T-A-5Metody rozwiązywania równań rekurencyjnych2
T-A-6Wywodzenie algorytmów zintegrowanych na podstawie algorytmów cząstkowych (na przykładzie algorytmów dotyczących grafów),4
T-A-7Formalne badanie poprawności algorytmów2
T-A-8Formułowanie asercji, niezmienników i zbieżników oraz dowodzenie ich prawdziwości4
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wprowadzenie: 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ów3
T-W-2Rekurencja i algorytmy rekurencyjne2
T-W-3Poprawność algorytmu2
T-W-4Sprawność algorytmów (analiza algorytmów)2
T-W-5Projektowanie algorytmu2
T-W-6Wybrane metody sortowania2
T-W-7Abstrakcyjne podstawowe struktury danych (stos, kolejka, listy)2
15

Formy aktywności - ćwiczenia audytoryjne

KODForma aktywnościGodziny
A-A-1uczestnictwo w zajęciach30
A-A-2przygotowanie do ćwiczeń - praca własna studenta40
A-A-3Udział w konsultacjach i w zaliczeniu formy zajęć2
72
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział, dyskusje i rozwiazywanie problemów formułowanych podczas wykładów15
A-W-2Przygotowanie do egzaminu - praca własna studenta27
A-W-3Udział w konsultacjach do wykładu4
A-W-4Udział w egzaminie2
48
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/02_W01Student rozumie pojęcia złożoności, sprawności i poprawności oraz ich praktyczne znaczenie w analizie algorytmów
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W05ma wiedzę w zakresie algorytmizacji i zasad tworzenia struktur danych
Cel przedmiotuC-2Nabycie umiejętności oceny i porównywania algorytmów ze względu na czaso- i pamięciochłonność
Treści programoweT-A-2Naturalna ocena złożoności algorytmów (przypadek optymistyczny, pesymistyczny, oczekiwany)
T-A-4Asymptotyczna ocena złożoności algorytmów i twierdzenie o rekurencji uniwersalnej
T-A-7Formalne badanie poprawności algorytmów
T-A-8Formułowanie asercji, niezmienników i zbieżników oraz dowodzenie ich prawdziwości
T-W-3Poprawność algorytmu
T-W-4Sprawność algorytmów (analiza algorytmów)
Metody nauczaniaM-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia przedmiotowe
Sposób ocenyS-1Ocena formująca: Ocena na podstawie umiejętności rozwiązywania zadań formułowanych podczas ćwiczeń
S-2Ocena formująca: Udział w dyskusjach prowadzonych w trakcie zajęć
S-3Ocena podsumowująca: Egzamin - test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0potrafi 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,5potrafi 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,0potrafi 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,5potrafi 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,0spełnia wymagania na ocenę 4,5 oraz dodatkowo a poziomie podstawowym zna metody formalnego dowodzenia poprawności algorytmów
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/02_W02Student potrafi definiować zadania algorytmiczne oraz zaproponować odpowiednią technikę algorytmiczną do jego rozwiązania
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W05ma wiedzę w zakresie algorytmizacji i zasad tworzenia struktur danych
Cel przedmiotuC-1Praktyczne opanowanie zasad tworzenia algorytmów
C-3Zapoznanie studenta z zasadami formułowania zadań algorytmicznych, projektowania algorytmów do ich rozwiązywania i oceny tych algorytmów
Treści programoweT-A-3Konfrontacja iteracyjnych i rekurencyjnych wersji algorytmów
T-A-6Wywodzenie algorytmów zintegrowanych na podstawie algorytmów cząstkowych (na przykładzie algorytmów dotyczących grafów),
T-A-1Schematy blokowe algorytmów i pseudokody
T-W-1Wprowadzenie: 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
T-W-5Projektowanie algorytmu
Metody nauczaniaM-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia przedmiotowe
Sposób ocenyS-1Ocena formująca: Ocena na podstawie umiejętności rozwiązywania zadań formułowanych podczas ćwiczeń
S-2Ocena formująca: Udział w dyskusjach prowadzonych w trakcie zajęć
S-3Ocena podsumowująca: Egzamin - test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0potrafi wymienić i definiować wybrane podstawowe zadania algorytmiczne oraz proponować odpowiednie techniki algorytmiczne do ich rozwiązania
3,5potrafi wymienić i definiować dowolne podstawowe zadania algorytmiczne oraz proponować odpowiednie techniki algorytmiczne do ich rozwiązania
4,0potrafi precyzyjnie opisać wybrane podstawowe zadania algorytmiczne oraz proponować odpowiednie techniki algorytmiczne do ich rozwiązania
4,5potrafi precyzyjnie opisać dowolne podstawowe zadania algorytmiczne oraz proponować odpowiednie techniki algorytmiczne do ich rozwiązania
5,0speł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
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/02_W03Student zna podstawowe algorytmy sortowania oraz struktury danych (stos, kolejka, lista)
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W05ma wiedzę w zakresie algorytmizacji i zasad tworzenia struktur danych
Cel przedmiotuC-1Praktyczne opanowanie zasad tworzenia algorytmów
C-4Zapoznanie studenta z podstawowymi algorytmami sortowania oraz strukturami danych (stos, kolejka, lista)
Treści programoweT-A-6Wywodzenie algorytmów zintegrowanych na podstawie algorytmów cząstkowych (na przykładzie algorytmów dotyczących grafów),
T-W-2Rekurencja i algorytmy rekurencyjne
T-W-6Wybrane metody sortowania
T-W-7Abstrakcyjne podstawowe struktury danych (stos, kolejka, listy)
Metody nauczaniaM-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia przedmiotowe
Sposób ocenyS-1Ocena formująca: Ocena na podstawie umiejętności rozwiązywania zadań formułowanych podczas ćwiczeń
S-3Ocena podsumowująca: Egzamin - test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów określonych dla oceny 3
3,0zna wybrane podstawowe struktury danych (stos, kolejka) oraz potrafi wyjaśnić działanie wybranych podstawowych iteracyjnych algorytmów sortowania
3,5zna dowolne podstawowe struktury danych (stos, jedno - dwukierunkowe kolejki i listy) oraz potrafi wyjaśnić działanie wybranych podstawowych iteracyjnych algorytmów sortowania
4,0potrafi 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,5potrafi 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,0speł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
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/02_U01Student formułować i rozwiązywać zadania algorytmiczne
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U19ma umiejętność wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego
Cel przedmiotuC-1Praktyczne opanowanie zasad tworzenia algorytmów
C-3Zapoznanie studenta z zasadami formułowania zadań algorytmicznych, projektowania algorytmów do ich rozwiązywania i oceny tych algorytmów
Treści programoweT-A-3Konfrontacja iteracyjnych i rekurencyjnych wersji algorytmów
T-A-6Wywodzenie algorytmów zintegrowanych na podstawie algorytmów cząstkowych (na przykładzie algorytmów dotyczących grafów),
T-A-1Schematy blokowe algorytmów i pseudokody
T-W-3Poprawność algorytmu
T-W-1Wprowadzenie: 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
T-W-2Rekurencja i algorytmy rekurencyjne
Metody nauczaniaM-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia przedmiotowe
Sposób ocenyS-1Ocena formująca: Ocena na podstawie umiejętności rozwiązywania zadań formułowanych podczas ćwiczeń
S-2Ocena formująca: Udział w dyskusjach prowadzonych w trakcie zajęć
S-3Ocena podsumowująca: Egzamin - test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi formułować i rozwiązywać wybrane podstawowe zadania algorytmiczne
3,5potrafi formułować i rozwiązywać dowolne podstawowe zadania algorytmiczne
4,0potrafi zastosować metodę projektowania dziel i zwyciężaj do rozwiązania wybranych podstawowych zadań algorytmicznych
4,5potrafi zastosować metodę projektowania zachłannego oraz dziel i zwyciężaj do rozwiąznaia dowolnych zadań algorytmicznych
5,0potrafi zastosować metodę programownaia dydnamicznego do zaprojektowania wybranych podstawowych zadań algorytmicznych
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/02_U02Student potrafi badać poprawność algorytmów i ich sprawność, ulepszać ich działanie
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U19ma umiejętność wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego
Cel przedmiotuC-1Praktyczne opanowanie zasad tworzenia algorytmów
C-3Zapoznanie studenta z zasadami formułowania zadań algorytmicznych, projektowania algorytmów do ich rozwiązywania i oceny tych algorytmów
Treści programoweT-A-2Naturalna ocena złożoności algorytmów (przypadek optymistyczny, pesymistyczny, oczekiwany)
T-A-4Asymptotyczna ocena złożoności algorytmów i twierdzenie o rekurencji uniwersalnej
T-A-5Metody rozwiązywania równań rekurencyjnych
T-A-7Formalne badanie poprawności algorytmów
T-A-1Schematy blokowe algorytmów i pseudokody
T-W-3Poprawność algorytmu
T-W-1Wprowadzenie: 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
T-W-2Rekurencja i algorytmy rekurencyjne
T-W-4Sprawność algorytmów (analiza algorytmów)
T-W-5Projektowanie algorytmu
T-W-7Abstrakcyjne podstawowe struktury danych (stos, kolejka, listy)
Metody nauczaniaM-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia przedmiotowe
Sposób ocenyS-1Ocena formująca: Ocena na podstawie umiejętności rozwiązywania zadań formułowanych podczas ćwiczeń
S-2Ocena formująca: Udział w dyskusjach prowadzonych w trakcie zajęć
S-3Ocena podsumowująca: Egzamin - test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi obliczyć złożoność czasową wybranych podstawowych algorytmów
3,5potrafi obliczyć złożoność czasową dowolnych podstawowych algorytmów
4,0spełnia wymagania na ocenę 3,5 oraz dodatkowo potrafi zweryfikować poprawność wybranych podstawowych algorytmów
4,5spełnia wymagania na ocenę 3,5 oraz dodatkowo potrafi zweryfikować poprawność dowolnych podstawowych algorytmów
5,0pospełnia wymagania na ocenę 4,5 oraz dodatkowo potrafi wprowadzić usprawnienia podnoszące sprawność działania algorytmów
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/02_U03Student potrafi zastosować podstawowe struktury danych do rozwiązywania zadań algorytmicznych
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U19ma umiejętność wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego
Cel przedmiotuC-4Zapoznanie studenta z podstawowymi algorytmami sortowania oraz strukturami danych (stos, kolejka, lista)
Treści programoweT-A-6Wywodzenie algorytmów zintegrowanych na podstawie algorytmów cząstkowych (na przykładzie algorytmów dotyczących grafów),
T-A-1Schematy blokowe algorytmów i pseudokody
T-W-6Wybrane metody sortowania
T-W-7Abstrakcyjne podstawowe struktury danych (stos, kolejka, listy)
Metody nauczaniaM-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia przedmiotowe
Sposób ocenyS-1Ocena formująca: Ocena na podstawie umiejętności rozwiązywania zadań formułowanych podczas ćwiczeń
S-2Ocena formująca: Udział w dyskusjach prowadzonych w trakcie zajęć
S-3Ocena podsumowująca: Egzamin - test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi zastosować tablicowe implementacje wybranych podstawowych liniowych struktur danych do zaimplementowania wybranych podstawowych zadań algorytmicznych
3,5potrafi zastosować tablicowe implementacje dowolnych podstawowych liniowych struktur danych do zaimplementowania wybranych podstawowych zadań algorytmicznych
4,0potrafi zastosować dynamiczne (np. wskażnikowe) implementacje wybranych podstawowych liniowych struktur danych do zaimplementowania wybranych podstawowych zadań algorytmicznych
4,5potrafi zastosować dynamiczne (np. wskażnikowe) implementacje dowolnych podstawowych liniowych struktur danych do zaimplementowania wybranych podstawowych zadań algorytmicznych
5,0potrafi zastosować dynamiczne (np. wskażnikowe) implementacje dowolnych podstawowych liniowych struktur danych do zaimplementowania dwolnych podstawowych zadań algorytmicznych