Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Elektryczny - Teleinformatyka (S1)

Sylabus przedmiotu Struktury danych i techniki programowania:

Informacje podstawowe

Kierunek studiów Teleinformatyka
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 Struktury danych i techniki programowania
Specjalność przedmiot wspólny
Jednostka prowadząca Katedra Elektrotechniki Teoretycznej i Informatyki
Nauczyciel odpowiedzialny Barbara Grochowalska <Barbara.Szymanik@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 3,0 ECTS (formy) 3,0
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

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

Wymagania wstępne

KODWymaganie wstępne
W-1Ukończony moduł Matematyka
W-2Ukończony moduł Podstawy algorytmizacji i programowania.

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z programowaniem w języku C++.
C-2Ukształtowanie umiejętności z zakresu implementacji algorytmów wykorzystujących dynamiczne struktury danych.

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

KODTreść programowaGodziny
laboratoria
T-L-1Wstęp do programowania w języku C++.2
T-L-2Tworzenie listy jednokierunkowej. Tablicowa implementacja list.2
T-L-3Implementacja stosu.1
T-L-4Implemenatcja kolejki FIFO.1
T-L-5Implementacja algorytmów sortowania.3
T-L-6Drzewa binarne.2
T-L-7Implementacja wybranych algorytmów przeszukiwania.3
T-L-8Zaliczenie labolatoriów.1
15
wykłady
T-W-1Elementy języka C++. Operacje arytmetyczne i logiczne. Typy złożone. Funkcje.4
T-W-2Struktury statyczne i dynamiczne, wprowadzenie.2
T-W-3Listy jednokierunkowe. Implementacja, przykłady.2
T-W-4Stos. Implementacja i przykłady.1
T-W-5Kolejki FIFO, sterty i kolejki priorytetowe.3
T-W-6Drzewa binarne.2
T-W-7Struktury dynamiczne i sortowanie. Sortowanie na drzewach.2
T-W-8Algorytmy przeszukiwania.2
T-W-9Kompresja danych. Metoda Huffmana.4
T-W-10Grafy i ich reprezentacje.2
T-W-11Algorytmy grafowe. Cykl Eulera.2
T-W-12Elementy programowania obiektowego w C++. Implementacja struktur dynamicznych z wykorzystaniem programowania obiektowego.4
30

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

KODForma aktywnościGodziny
laboratoria
A-L-1uczestnictwo w zajęciach15
A-L-2Przygotowanie do zajęć10
A-L-3Przygotowanie do zaliczenia.5
30
wykłady
A-W-1uczestnictwo w zajęciach30
A-W-2Przygotowanie do zajęć15
A-W-3Praca własna z literaturą.10
A-W-4Przygotowanie do egzaminu.5
60

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny.
M-2Wykład problemowy.
M-3Prezentacja multimedialna.
M-4Ćwiczenia labolatoryjne z wykorzystaniem stanowisk komputerowych.

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Labolatoria na podstawie krótkich sprawdzianów.
S-2Ocena podsumowująca: Wykład: egzamin z całości materiału.
S-3Ocena podsumowująca: Labolatoria: sprawdzian praktyczny.

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
TI_1A_C34_W01
Student ma wiedzą w zakresie programowania w języku C++ oraz w zakresie wybranych struktur danych.
TI_1A_W08, TI_1A_W09T1A_W03, T1A_W04, T1A_W07InzA_W02, InzA_W05C-1, C-2T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-W-9, T-W-12, T-W-10, T-W-11, T-W-8M-1, M-2, M-3S-1, S-2, 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
TI_1A_C34_U01
Student potrafi zaimplementować znane struktury danych w języku C++. Potrafi implementować wybrane algorytmy wykorzystujące struktury danych.
TI_1A_U05, TI_1A_U07T1A_U14, T1A_U15, T1A_U16InzA_U06, InzA_U07, InzA_U08C-1, C-2T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8M-4S-1, S-3

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
TI_1A_C34_W01
Student ma wiedzą w zakresie programowania w języku C++ oraz w zakresie wybranych struktur danych.
2,0
3,0Student zna podstawy języka C++. Student zna podstawowe typy dynamicznych struktur danych oraz metody ich implementacji.
3,5
4,0
4,5
5,0

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
TI_1A_C34_U01
Student potrafi zaimplementować znane struktury danych w języku C++. Potrafi implementować wybrane algorytmy wykorzystujące struktury danych.
2,0
3,0Student potrafi zaimplementować podstawowe dynamiczne struktury danych oraz wykonać na nich podstawowe operacje.
3,5
4,0
4,5
5,0

Literatura podstawowa

  1. Piotr Wróblewski, Algorytmy struktury danych i techniki programowania, Helion, Gliwice, 2001, 2
  2. L.Banachowski, K.Diks, W.Rytter, Algorytmy i struktury danych, WNT-Wydawnictwa Naukowo-Techniczne Sp.z o.o., 2006

Literatura dodatkowa

  1. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Wprowadzenie do algorytmów, Wydawnictwa Naukowo - Techniczne, 2004

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Wstęp do programowania w języku C++.2
T-L-2Tworzenie listy jednokierunkowej. Tablicowa implementacja list.2
T-L-3Implementacja stosu.1
T-L-4Implemenatcja kolejki FIFO.1
T-L-5Implementacja algorytmów sortowania.3
T-L-6Drzewa binarne.2
T-L-7Implementacja wybranych algorytmów przeszukiwania.3
T-L-8Zaliczenie labolatoriów.1
15

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Elementy języka C++. Operacje arytmetyczne i logiczne. Typy złożone. Funkcje.4
T-W-2Struktury statyczne i dynamiczne, wprowadzenie.2
T-W-3Listy jednokierunkowe. Implementacja, przykłady.2
T-W-4Stos. Implementacja i przykłady.1
T-W-5Kolejki FIFO, sterty i kolejki priorytetowe.3
T-W-6Drzewa binarne.2
T-W-7Struktury dynamiczne i sortowanie. Sortowanie na drzewach.2
T-W-8Algorytmy przeszukiwania.2
T-W-9Kompresja danych. Metoda Huffmana.4
T-W-10Grafy i ich reprezentacje.2
T-W-11Algorytmy grafowe. Cykl Eulera.2
T-W-12Elementy programowania obiektowego w C++. Implementacja struktur dynamicznych z wykorzystaniem programowania obiektowego.4
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1uczestnictwo w zajęciach15
A-L-2Przygotowanie do zajęć10
A-L-3Przygotowanie do zaliczenia.5
30
(*) 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-2Przygotowanie do zajęć15
A-W-3Praca własna z literaturą.10
A-W-4Przygotowanie do egzaminu.5
60
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaTI_1A_C34_W01Student ma wiedzą w zakresie programowania w języku C++ oraz w zakresie wybranych struktur danych.
Odniesienie do efektów kształcenia dla kierunku studiówTI_1A_W08Ma uporządkowaną wiedzę w zakresie inżynierii oprogramowania, technik projektowania, modelowania, tworzenia i testowania oprogramowania.
TI_1A_W09Zna wybrane języki programowania niskiego i wysokiego poziomu. Ma podstawową wiedzę z zakresu dobrych praktyk programistycznych.
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T1A_W04ma szczegółową wiedzę związaną z wybranymi zagadnieniami 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
InzA_W05zna typowe technologie inżynierskie w zakresie studiowanego kierunku studiów
Cel przedmiotuC-1Zapoznanie studentów z programowaniem w języku C++.
C-2Ukształtowanie umiejętności z zakresu implementacji algorytmów wykorzystujących dynamiczne struktury danych.
Treści programoweT-W-1Elementy języka C++. Operacje arytmetyczne i logiczne. Typy złożone. Funkcje.
T-W-2Struktury statyczne i dynamiczne, wprowadzenie.
T-W-3Listy jednokierunkowe. Implementacja, przykłady.
T-W-4Stos. Implementacja i przykłady.
T-W-5Kolejki FIFO, sterty i kolejki priorytetowe.
T-W-6Drzewa binarne.
T-W-7Struktury dynamiczne i sortowanie. Sortowanie na drzewach.
T-W-9Kompresja danych. Metoda Huffmana.
T-W-12Elementy programowania obiektowego w C++. Implementacja struktur dynamicznych z wykorzystaniem programowania obiektowego.
T-W-10Grafy i ich reprezentacje.
T-W-11Algorytmy grafowe. Cykl Eulera.
T-W-8Algorytmy przeszukiwania.
Metody nauczaniaM-1Wykład informacyjny.
M-2Wykład problemowy.
M-3Prezentacja multimedialna.
Sposób ocenyS-1Ocena formująca: Labolatoria na podstawie krótkich sprawdzianów.
S-2Ocena podsumowująca: Wykład: egzamin z całości materiału.
S-3Ocena podsumowująca: Labolatoria: sprawdzian praktyczny.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student zna podstawy języka C++. Student zna podstawowe typy dynamicznych struktur danych oraz metody ich implementacji.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaTI_1A_C34_U01Student potrafi zaimplementować znane struktury danych w języku C++. Potrafi implementować wybrane algorytmy wykorzystujące struktury danych.
Odniesienie do efektów kształcenia dla kierunku studiówTI_1A_U05Potrafi sformułować algorytm i posłużyć się językami programowania niskiego i wysokiego poziomu oraz odpowiednimi narzędziami informatycznymi do opracowania programów komputerowych służących do transmisji danych i analizy tego procesu.
TI_1A_U07Potrafi zastosować w praktyce wiedzę z zakresu inżynierii oprogramowania oraz dobre praktyki programistyczne stosując wybrane narzędzia i środowiska deweloperskie.
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_U14potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań inżynierskich o charakterze praktycznym, charakterystycznych dla studiowanego kierunku studiów
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
T1A_U16potrafi - zgodnie z zadaną specyfikacją - zaprojektować oraz zrealizować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_U06potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań inżynierskich o charakterze praktycznym, charakterystycznych dla studiowanego kierunku studiów
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
InzA_U08potrafi - zgodnie z zadaną specyfikacją - zaprojektować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
Cel przedmiotuC-1Zapoznanie studentów z programowaniem w języku C++.
C-2Ukształtowanie umiejętności z zakresu implementacji algorytmów wykorzystujących dynamiczne struktury danych.
Treści programoweT-L-1Wstęp do programowania w języku C++.
T-L-2Tworzenie listy jednokierunkowej. Tablicowa implementacja list.
T-L-3Implementacja stosu.
T-L-4Implemenatcja kolejki FIFO.
T-L-5Implementacja algorytmów sortowania.
T-L-6Drzewa binarne.
T-L-7Implementacja wybranych algorytmów przeszukiwania.
T-L-8Zaliczenie labolatoriów.
Metody nauczaniaM-4Ćwiczenia labolatoryjne z wykorzystaniem stanowisk komputerowych.
Sposób ocenyS-1Ocena formująca: Labolatoria na podstawie krótkich sprawdzianów.
S-3Ocena podsumowująca: Labolatoria: sprawdzian praktyczny.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student potrafi zaimplementować podstawowe dynamiczne struktury danych oraz wykonać na nich podstawowe operacje.
3,5
4,0
4,5
5,0