Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Inżynieria cyfryzacji (S1)
specjalność: Zastosowania informatyki

Sylabus przedmiotu Podstawy algorytmizacji i programowania II:

Informacje podstawowe

Kierunek studiów Inżynieria cyfryzacji
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 Podstawy algorytmizacji i programowania II
Specjalność przedmiot wspólny
Jednostka prowadząca Katedra Inżynierii Oprogramowania
Nauczyciel odpowiedzialny Agnieszka Konys <Agnieszka.Konys@zut.edu.pl>
Inni nauczyciele Włodzimierz Chocianowicz <Wlodzimierz.Chocianowicz@zut.edu.pl>, Agnieszka Konys <Agnieszka.Konys@zut.edu.pl>, Mirosław Mościcki <Miroslaw.Moscicki@zut.edu.pl>
ECTS (planowane) 5,0 ECTS (formy) 5,0
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL2 30 2,00,38zaliczenie
wykładyW2 30 3,00,62egzamin

Wymagania wstępne

KODWymaganie wstępne
W-1Podstawowa wiedza z zakresu informatyki.
W-2Student powinien znać podstawowe pojęcia matematyki 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, struktury drzewiaste, itp.)

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

KODTreść programowaGodziny
laboratoria
T-L-1Wyszukiwanie elementu o określonej wartości w tablicy nieposortowanej i posortowanej (wyszukiwanie"naturalne", binarne iinterpolacyjne)6
T-L-2Sortowanie tablicy (algorytmy podstawowe: przez wybieranie, przez wstawianie, bąbelkowe; rekurencyjny algorytm sortowania przez scalanie).6
T-L-3Faktoryzacja liczb naturalnych i wyznaczanie największego wspólnego dzielnika2
T-L-4Podstawowe złożone struktury danych (rekord, stos, kolejka, listy)5
T-L-5Drzewa binarne (BST i kopce)5
T-L-6Funkcje mieszające i tablice mieszania2
T-L-7Grafyi4
30
wykłady
T-W-1Wprowadzenie: specyfikacja i sposoby opisu algorytmów, kryteria porównania algorytmów3
T-W-2Rekurencja i algorytmy rekurencyjne4
T-W-3Poprawność algorytmu3
T-W-4Sprawność algorytmów (analiza algorytmów)2
T-W-5Projektowanie algorytmu3
T-W-6Wybrane metody sortowania2
T-W-7Abstrakcyjne podstawowe struktury danych (stos, kolejka, listy)2
T-W-8Drzewa i drzewa binarne (ogólna definicja drzewa, drzewa binarne: kopce i drzewa poszukiwan binarnych, implementacja drzew binarnych, wyszukiwanie w drzewie, operacje wstawiania i usuwania elementów drzewa, wywazanie drzew poszukiwan binarnych, drzewa AVL, samoorganizujace sie drzewa poszukiwan). B-drzewa. Tablice mieszające.6
T-W-9Grafy (reprezentacja grafów, przechodzenie grafów, grafy wazone, drzewa rozpinajace grafów, algorytmy wyszukiwania sciezek)2
T-W-10Złozonosc obliczeniowa (definicja klas złozonosci problemów oblicze-niowych, klasy P, NP, NP-zupełna, coNP, problemy NP-trudne, zwiazki miedzy złozonoscia czasowa i pamieciowa, klasy złozonosci algorytmów niedeterministycznych, nierozstrzygalnosc i niezupełnosc)3
30

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

KODForma aktywnościGodziny
laboratoria
A-L-1uczestnictwo w zajęciach30
A-L-2Wykonanie programów poza zajęciami25
A-L-3Konsultacje4
59
wykłady
A-W-1uczestnictwo w zajęciach30
A-W-2Samodzielne studiowanie tematyki wykładów29
A-W-3Przygotowanie do egzaminu18
A-W-4Udział w konsultacjach do wykładu10
A-W-5Udzial w egzaminie2
89

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
IC_1A_B/03/02_W01
Student rozumie pojęcia złożoności, sprawności i poprawności oraz ich praktyczne znaczenie w analizie algorytmów
IC_1A_W04C-2T-W-4, T-W-3M-1, M-2S-1, S-3, S-2
IC_1A_B/03/02_W02
Student potrafi definiować zadania algorytmiczne oraz zaproponować odpowiednią technikę algorytmiczną do jego rozwiązania
IC_1A_W04C-1, C-3T-W-5, T-W-1M-1, M-2S-1, S-3, S-2
IC_1A_B/03/02_W03
Student zna podstawowe algorytmy sortowania oraz struktury danych (stos, kolejka, lista)
IC_1A_W04C-4, C-1T-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
IC_1A_B/03/02_U03
Student formułować i rozwiązywać zadania algorytmiczne
IC_1A_U25C-1, C-3T-W-2, T-W-3, T-W-1M-1, M-2S-1, S-3, S-2
IC_1A_B/03/02_U04
Student potrafi badać poprawność algorytmów i ich sprawność, ulepszać ich działanie
IC_1A_U25C-1, C-3T-W-2, T-W-4, T-W-5, T-W-3, T-W-7, T-W-1M-1, M-2S-1, S-3, S-2
IC_1A_B/03/02_U05
Student potrafi zastosować podstawowe struktury danych do rozwiązywania zadań algorytmicznych
C-4T-W-6, T-W-7M-1, M-2S-1, S-3, S-2

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
IC_1A_B/03/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 na poziomie podstawowym zna metody formalnego dowodzenia poprawności algorytmów
IC_1A_B/03/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,0
IC_1A_B/03/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,0

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
IC_1A_B/03/02_U03
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,0
4,5
5,0
IC_1A_B/03/02_U04
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,0
4,5
5,0
IC_1A_B/03/02_U05
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,5
5,0potrafi zastosować dynamiczne (np. wskażnikowe) implementacje dowolnych podstawowych liniowych struktur danych do zaimplementowania dowolnych 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 - laboratoria

KODTreść programowaGodziny
T-L-1Wyszukiwanie elementu o określonej wartości w tablicy nieposortowanej i posortowanej (wyszukiwanie"naturalne", binarne iinterpolacyjne)6
T-L-2Sortowanie tablicy (algorytmy podstawowe: przez wybieranie, przez wstawianie, bąbelkowe; rekurencyjny algorytm sortowania przez scalanie).6
T-L-3Faktoryzacja liczb naturalnych i wyznaczanie największego wspólnego dzielnika2
T-L-4Podstawowe złożone struktury danych (rekord, stos, kolejka, listy)5
T-L-5Drzewa binarne (BST i kopce)5
T-L-6Funkcje mieszające i tablice mieszania2
T-L-7Grafyi4
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wprowadzenie: specyfikacja i sposoby opisu algorytmów, kryteria porównania algorytmów3
T-W-2Rekurencja i algorytmy rekurencyjne4
T-W-3Poprawność algorytmu3
T-W-4Sprawność algorytmów (analiza algorytmów)2
T-W-5Projektowanie algorytmu3
T-W-6Wybrane metody sortowania2
T-W-7Abstrakcyjne podstawowe struktury danych (stos, kolejka, listy)2
T-W-8Drzewa i drzewa binarne (ogólna definicja drzewa, drzewa binarne: kopce i drzewa poszukiwan binarnych, implementacja drzew binarnych, wyszukiwanie w drzewie, operacje wstawiania i usuwania elementów drzewa, wywazanie drzew poszukiwan binarnych, drzewa AVL, samoorganizujace sie drzewa poszukiwan). B-drzewa. Tablice mieszające.6
T-W-9Grafy (reprezentacja grafów, przechodzenie grafów, grafy wazone, drzewa rozpinajace grafów, algorytmy wyszukiwania sciezek)2
T-W-10Złozonosc obliczeniowa (definicja klas złozonosci problemów oblicze-niowych, klasy P, NP, NP-zupełna, coNP, problemy NP-trudne, zwiazki miedzy złozonoscia czasowa i pamieciowa, klasy złozonosci algorytmów niedeterministycznych, nierozstrzygalnosc i niezupełnosc)3
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1uczestnictwo w zajęciach30
A-L-2Wykonanie programów poza zajęciami25
A-L-3Konsultacje4
59
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1uczestnictwo w zajęciach30
A-W-2Samodzielne studiowanie tematyki wykładów29
A-W-3Przygotowanie do egzaminu18
A-W-4Udział w konsultacjach do wykładu10
A-W-5Udzial w egzaminie2
89
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaIC_1A_B/03/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ówIC_1A_W04Posiada wiedzę z zakresu algorytmiki
Cel przedmiotuC-2Nabycie umiejętności oceny i porównywania algorytmów ze względu na czaso- i pamięciochłonność
Treści programoweT-W-4Sprawność algorytmów (analiza algorytmów)
T-W-3Poprawność 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-3Ocena podsumowująca: Egzamin - test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
S-2Ocena formująca: Udział w dyskusjach prowadzonych w trakcie zajęć
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 na poziomie podstawowym zna metody formalnego dowodzenia poprawności algorytmów
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaIC_1A_B/03/02_W02Student potrafi definiować zadania algorytmiczne oraz zaproponować odpowiednią technikę algorytmiczną do jego rozwiązania
Odniesienie do efektów kształcenia dla kierunku studiówIC_1A_W04Posiada wiedzę z zakresu algorytmiki
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-W-5Projektowanie algorytmu
T-W-1Wprowadzenie: specyfikacja i sposoby opisu algorytmów, kryteria porównania 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-3Ocena podsumowująca: Egzamin - test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
S-2Ocena formująca: Udział w dyskusjach prowadzonych w trakcie zajęć
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,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaIC_1A_B/03/02_W03Student zna podstawowe algorytmy sortowania oraz struktury danych (stos, kolejka, lista)
Odniesienie do efektów kształcenia dla kierunku studiówIC_1A_W04Posiada wiedzę z zakresu algorytmiki
Cel przedmiotuC-4Zapoznanie studenta z podstawowymi algorytmami sortowania oraz strukturami danych (stos, kolejka, lista, struktury drzewiaste, itp.)
C-1Praktyczne opanowanie zasad tworzenia algorytmów
Treści programoweT-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,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaIC_1A_B/03/02_U03Student formułować i rozwiązywać zadania algorytmiczne
Odniesienie do efektów kształcenia dla kierunku studiówIC_1A_U25Umie oceniać przydatność i stosować różne języki i środowiska programistyczne do rozwiązywania problemów dziedzinowych
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-W-2Rekurencja i algorytmy rekurencyjne
T-W-3Poprawność algorytmu
T-W-1Wprowadzenie: specyfikacja i sposoby opisu algorytmów, kryteria porównania 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-3Ocena podsumowująca: Egzamin - test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
S-2Ocena formująca: Udział w dyskusjach prowadzonych w trakcie zajęć
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,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaIC_1A_B/03/02_U04Student potrafi badać poprawność algorytmów i ich sprawność, ulepszać ich działanie
Odniesienie do efektów kształcenia dla kierunku studiówIC_1A_U25Umie oceniać przydatność i stosować różne języki i środowiska programistyczne do rozwiązywania problemów dziedzinowych
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-W-2Rekurencja i algorytmy rekurencyjne
T-W-4Sprawność algorytmów (analiza algorytmów)
T-W-5Projektowanie algorytmu
T-W-3Poprawność algorytmu
T-W-7Abstrakcyjne podstawowe struktury danych (stos, kolejka, listy)
T-W-1Wprowadzenie: specyfikacja i sposoby opisu algorytmów, kryteria porównania 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-3Ocena podsumowująca: Egzamin - test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
S-2Ocena formująca: Udział w dyskusjach prowadzonych w trakcie zajęć
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,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaIC_1A_B/03/02_U05Student potrafi zastosować podstawowe struktury danych do rozwiązywania zadań algorytmicznych
Cel przedmiotuC-4Zapoznanie studenta z podstawowymi algorytmami sortowania oraz strukturami danych (stos, kolejka, lista, struktury drzewiaste, itp.)
Treści programoweT-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)
S-2Ocena formująca: Udział w dyskusjach prowadzonych w trakcie zajęć
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,5
5,0potrafi zastosować dynamiczne (np. wskażnikowe) implementacje dowolnych podstawowych liniowych struktur danych do zaimplementowania dowolnych podstawowych zadań algorytmicznych