Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Inżynieria cyfryzacji (S1)

Sylabus przedmiotu Podstawy algorytmizacji i programowania I:

Informacje podstawowe

Kierunek studiów Inżynieria cyfryzacji
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów nauk technicznych, studiów inżynierskich
Profil ogólnoakademicki
Moduł
Przedmiot Podstawy algorytmizacji i programowania I
Specjalność przedmiot wspólny
Jednostka prowadząca Katedra Inżynierii Oprogramowania
Nauczyciel odpowiedzialny Włodzimierz Chocianowicz <Wlodzimierz.Chocianowicz@zut.edu.pl>
Inni nauczyciele Włodzimierz Chocianowicz <Wlodzimierz.Chocianowicz@zut.edu.pl>, Mirosław Mościcki <Miroslaw.Moscicki@zut.edu.pl>
ECTS (planowane) 7,0 ECTS (formy) 7,0
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW1 30 3,00,62egzamin
laboratoriaL1 30 4,00,38zaliczenie

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-1Schematy blokowe algorytmów i pseudokody4
T-L-2Naturalna ocena złozonosci algorytmów (przypadek optymistyczny, pesymistyczny, oczekiwany)6
T-L-3Konfrontacja iteracyjnych i rekurencyjnych wersji algorytmów4
T-L-4Asymptotyczna ocena złozonosci algorytmów i twierdzenie o rekurencji uniwersalnej4
T-L-5Metody rozwiazywania równan rekurencyjnych2
T-L-6Formalne badanie poprawnosci algorytmów4
T-L-7Formułowanie asercji, niezmienników i zbiezników oraz dowodzenie ich prawdziwosci3
T-L-8Wpływ zmiany typu danych wejściowych na algorytm, obliczenia równoległe i randomizowane3
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 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, przechodzenie drzewa, operacje wstawiania i usuwania elementów drzewa, wywazanie drzew poszukiwan binarnych, drzewa AVL, samoorganizujace sie drzewa poszukiwan)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ęciami60
A-L-3Konsultacje10
A-L-4Samodzielne uzupełe wiedzy i umiejętnośi20
120
wykłady
A-W-1uczestnictwo w zajęciach30
A-W-2Samodzielne studiowanie tematyki wykładów15
A-W-3Przygotowanie się do egzaminu10
A-W-4Udział, dyskusje i rozwiazywanie problemów formułowanych podczas wykładów20
A-W-5Przygotowanie do egzaminu i udział w egzaminie15
A-W-6Udział w konsultacjach do wykładu2
92

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

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
IC_1A_B/03/01_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
IC_1A_B/03/01_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
IC_1A_B/03/01_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
IC_1A_B/03/01_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
IC_1A_B/03/01_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
IC_1A_B/03/01_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 - laboratoria

KODTreść programowaGodziny
T-L-1Schematy blokowe algorytmów i pseudokody4
T-L-2Naturalna ocena złozonosci algorytmów (przypadek optymistyczny, pesymistyczny, oczekiwany)6
T-L-3Konfrontacja iteracyjnych i rekurencyjnych wersji algorytmów4
T-L-4Asymptotyczna ocena złozonosci algorytmów i twierdzenie o rekurencji uniwersalnej4
T-L-5Metody rozwiazywania równan rekurencyjnych2
T-L-6Formalne badanie poprawnosci algorytmów4
T-L-7Formułowanie asercji, niezmienników i zbiezników oraz dowodzenie ich prawdziwosci3
T-L-8Wpływ zmiany typu danych wejściowych na algorytm, obliczenia równoległe i randomizowane3
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 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, przechodzenie drzewa, operacje wstawiania i usuwania elementów drzewa, wywazanie drzew poszukiwan binarnych, drzewa AVL, samoorganizujace sie drzewa poszukiwan)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ęciami60
A-L-3Konsultacje10
A-L-4Samodzielne uzupełe wiedzy i umiejętnośi20
120
(*) 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ów15
A-W-3Przygotowanie się do egzaminu10
A-W-4Udział, dyskusje i rozwiazywanie problemów formułowanych podczas wykładów20
A-W-5Przygotowanie do egzaminu i udział w egzaminie15
A-W-6Udział w konsultacjach do wykładu2
92
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaIC_1A_B/03/01_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
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_W01ma wiedzę z zakresu matematyki, fizyki, chemii i innych obszarów właściwych dla studiowanego kierunku studiów przydatną do formułowania i rozwiązywania prostych zadań z zakresu studiowanego kierunku studiów
T1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T1A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W02zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
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-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łceniaIC_1A_B/03/01_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
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_W01ma wiedzę z zakresu matematyki, fizyki, chemii i innych obszarów właściwych dla studiowanego kierunku studiów przydatną do formułowania i rozwiązywania prostych zadań z zakresu studiowanego kierunku studiów
T1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T1A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W02zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
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-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łceniaIC_1A_B/03/01_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
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_W01ma wiedzę z zakresu matematyki, fizyki, chemii i innych obszarów właściwych dla studiowanego kierunku studiów przydatną do formułowania i rozwiązywania prostych zadań z zakresu studiowanego kierunku studiów
T1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T1A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W02zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
Cel przedmiotuC-1Praktyczne opanowanie zasad tworzenia algorytmów
C-4Zapoznanie studenta z podstawowymi algorytmami sortowania oraz strukturami danych (stos, kolejka, lista, struktury drzewiaste, itp.)
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,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łceniaIC_1A_B/03/01_U01Student 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
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_U13potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
T1A_U15potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_U05potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
InzA_U07potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
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-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-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-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łceniaIC_1A_B/03/01_U02Student 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
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_U13potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
T1A_U15potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_U05potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
InzA_U07potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
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-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-3Poprawność algorytmu
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łceniaIC_1A_B/03/01_U03Student 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-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