Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Programowanie z elementami systemów wbudowanych

Sylabus przedmiotu Zaawansowane programowanie obiektowe C++:

Informacje podstawowe

Kierunek studiów Programowanie z elementami systemów wbudowanych
Forma studiów studia niestacjonarne Poziom podyplomowe
Tytuł zawodowy absolwenta
Obszary studiów nauki techniczne
Profil
Moduł
Przedmiot Zaawansowane programowanie obiektowe C++
Specjalność przedmiot wspólny
Jednostka prowadząca Katedra Architektury Komputerów i Telekomunikacji
Nauczyciel odpowiedzialny Radosław Maciaszczyk <Radoslaw.Maciaszczyk@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 4,5 ECTS (formy) 4,5
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW2 12 2,00,40zaliczenie
laboratoriaL2 16 2,50,60egzamin

Wymagania wstępne

KODWymaganie wstępne
W-1Słuchacz zna składnię języka C++, potrafi implementować proste algorytmy w języku C++, potrafi kompilować programy składające się z wielu plików źródłowych

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Słuchacz potrafi implementować algorytmy z wykorzystaniem paradygmatu programowania obiektowego w języku C++. Słuchacz potrafi pisać programy równoległe

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

KODTreść programowaGodziny
laboratoria
T-L-1Implementacja prostych algorytmów z wykorzystaniem paradygmatu programowania obiektowego4
T-L-2Implementacja algorytmów wykorzystujących dziedziczenie, polimorfizm4
T-L-3Implementacja prostych algorytmów wykorzystujących paradygmat programowania generycznego4
T-L-4Implementacja algorytmów wykorzystujących wielowątkowość4
16
wykłady
T-W-1Powtórzenie wiadomości o typach własnych: tworzenie, kopiowanie, przesuwanie oraz niszczenie. Powtórzenie wiadomości o czasie życia zmiennych1
T-W-2Przeładowywanie operatorów dla typów własnych oraz specjalne operatory.2
T-W-3Dziedziczenie oraz hierarchie klas. Polimorfizm dynamiczny w kontekście języka C++. Omówienie mechanizmu RTTI3
T-W-4Enkapsulacja danych w języku C++, widoczność pól klasy w drzewie dziedziczenia2
T-W-5Wprowadzenie do programowania generycznego dla języka C++. Klasy szablonowe, funkcje szablonowe, specjalizacja, częściowa specjalizacja, przeciążenia.2
T-W-6Programowanie wielowątkowe w języku C++ z wykorzystaniem mechanizmów z przestrzeni nazw std2
12

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

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach16
A-L-2Przygotowanie do zajęć24
A-L-3Samodzielne rozwiązywania zadań i problemów postawionych na laboratoriach36
76
wykłady
A-W-1Udział w wykładach12
A-W-2Samodzielnie studiowanie zaleconej literatury i analiza materiału z wykładów46
A-W-3Konsultacje2
60

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład problemowy
M-2Wykład informacyjny
M-3Anegdota
M-4Ćwiczenia laboratoryjne
M-5Nauka i ćwiczenia własne

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Obserwacja aktywności na zajęciach laboratoryjnych
S-2Ocena formująca: Ocena kompletności rozwiązań problemów postawionych na zajęciach laboratoryjnych
S-3Ocena podsumowująca: Test zaliczeniowy

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łceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
PESW_10-_07_W01
Zna paradygmaty programowania obiektowego i generycznego w kontekście języka C++
PESW_10-_W11C-1T-W-3, T-W-4, T-W-5, T-W-6, T-L-1, T-L-2, T-L-3M-1, M-2, M-3, M-4, M-5S-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łceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
PESW_10-_07_U01
Umie rozwiązać algorytm wykorzystując implementację korzystającą z paradygmatu programowania obiektowego lub generycznego
PESW_10-_U07C-1T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-L-4M-1, M-2, M-3, M-4, M-5S-1, S-2, S-3
PESW_10-_07_U02
Umie zrównoleglić zadany algorytm wykorzystując mechanizm programowania wielowątkowego w języku C++
PESW_10-_U08C-1T-W-2, T-W-3, T-W-4, T-W-5, T-W-6M-1, M-2, M-3S-3

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
PESW_10-_07_W01
Zna paradygmaty programowania obiektowego i generycznego w kontekście języka C++
2,0
3,0Potrafi wskazać główne właściwości programowania obiektowego i generycznego w języku C++
3,5
4,0Potrafi wyjaśnić polimorfizm w kontekście języka C++, oraz techniki związane z programowaniem generycznym
4,5
5,0Potrafi rozwiązać przedstawione problemy programowania wielowątkowego oraz wyjaśnić ich przyczynę

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
PESW_10-_07_U01
Umie rozwiązać algorytm wykorzystując implementację korzystającą z paradygmatu programowania obiektowego lub generycznego
2,0
3,0Potrafi zaimplementować wybrany algorytm wykorzystując programowanie obiektowe
3,5
4,0
4,5
5,0
PESW_10-_07_U02
Umie zrównoleglić zadany algorytm wykorzystując mechanizm programowania wielowątkowego w języku C++
2,0
3,0Potrafi użyć mechanizmów programowania wielowątkowego z języka C++
3,5
4,0
4,5
5,0

Literatura podstawowa

  1. Bjarne Stroustrup, The C++ Programming Language, Addison-Wesley, 2013

Literatura dodatkowa

  1. Scott Meyers, Effective Modern C++, O'Reilly Media, 2014

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Implementacja prostych algorytmów z wykorzystaniem paradygmatu programowania obiektowego4
T-L-2Implementacja algorytmów wykorzystujących dziedziczenie, polimorfizm4
T-L-3Implementacja prostych algorytmów wykorzystujących paradygmat programowania generycznego4
T-L-4Implementacja algorytmów wykorzystujących wielowątkowość4
16

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Powtórzenie wiadomości o typach własnych: tworzenie, kopiowanie, przesuwanie oraz niszczenie. Powtórzenie wiadomości o czasie życia zmiennych1
T-W-2Przeładowywanie operatorów dla typów własnych oraz specjalne operatory.2
T-W-3Dziedziczenie oraz hierarchie klas. Polimorfizm dynamiczny w kontekście języka C++. Omówienie mechanizmu RTTI3
T-W-4Enkapsulacja danych w języku C++, widoczność pól klasy w drzewie dziedziczenia2
T-W-5Wprowadzenie do programowania generycznego dla języka C++. Klasy szablonowe, funkcje szablonowe, specjalizacja, częściowa specjalizacja, przeciążenia.2
T-W-6Programowanie wielowątkowe w języku C++ z wykorzystaniem mechanizmów z przestrzeni nazw std2
12

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach16
A-L-2Przygotowanie do zajęć24
A-L-3Samodzielne rozwiązywania zadań i problemów postawionych na laboratoriach36
76
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział w wykładach12
A-W-2Samodzielnie studiowanie zaleconej literatury i analiza materiału z wykładów46
A-W-3Konsultacje2
60
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaPESW_10-_07_W01Zna paradygmaty programowania obiektowego i generycznego w kontekście języka C++
Odniesienie do efektów kształcenia dla kierunku studiówPESW_10-_W11Słuchacz zna paradygmaty programowania obiektowego i generycznego w kontekście języka C++.
Cel przedmiotuC-1Słuchacz potrafi implementować algorytmy z wykorzystaniem paradygmatu programowania obiektowego w języku C++. Słuchacz potrafi pisać programy równoległe
Treści programoweT-W-3Dziedziczenie oraz hierarchie klas. Polimorfizm dynamiczny w kontekście języka C++. Omówienie mechanizmu RTTI
T-W-4Enkapsulacja danych w języku C++, widoczność pól klasy w drzewie dziedziczenia
T-W-5Wprowadzenie do programowania generycznego dla języka C++. Klasy szablonowe, funkcje szablonowe, specjalizacja, częściowa specjalizacja, przeciążenia.
T-W-6Programowanie wielowątkowe w języku C++ z wykorzystaniem mechanizmów z przestrzeni nazw std
T-L-1Implementacja prostych algorytmów z wykorzystaniem paradygmatu programowania obiektowego
T-L-2Implementacja algorytmów wykorzystujących dziedziczenie, polimorfizm
T-L-3Implementacja prostych algorytmów wykorzystujących paradygmat programowania generycznego
Metody nauczaniaM-1Wykład problemowy
M-2Wykład informacyjny
M-3Anegdota
M-4Ćwiczenia laboratoryjne
M-5Nauka i ćwiczenia własne
Sposób ocenyS-1Ocena formująca: Obserwacja aktywności na zajęciach laboratoryjnych
S-2Ocena formująca: Ocena kompletności rozwiązań problemów postawionych na zajęciach laboratoryjnych
S-3Ocena podsumowująca: Test zaliczeniowy
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Potrafi wskazać główne właściwości programowania obiektowego i generycznego w języku C++
3,5
4,0Potrafi wyjaśnić polimorfizm w kontekście języka C++, oraz techniki związane z programowaniem generycznym
4,5
5,0Potrafi rozwiązać przedstawione problemy programowania wielowątkowego oraz wyjaśnić ich przyczynę
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaPESW_10-_07_U01Umie rozwiązać algorytm wykorzystując implementację korzystającą z paradygmatu programowania obiektowego lub generycznego
Odniesienie do efektów kształcenia dla kierunku studiówPESW_10-_U07Słuchacz umie wykorzystać własności programowania obiektowego w języku C++.
Cel przedmiotuC-1Słuchacz potrafi implementować algorytmy z wykorzystaniem paradygmatu programowania obiektowego w języku C++. Słuchacz potrafi pisać programy równoległe
Treści programoweT-W-2Przeładowywanie operatorów dla typów własnych oraz specjalne operatory.
T-W-3Dziedziczenie oraz hierarchie klas. Polimorfizm dynamiczny w kontekście języka C++. Omówienie mechanizmu RTTI
T-W-4Enkapsulacja danych w języku C++, widoczność pól klasy w drzewie dziedziczenia
T-W-5Wprowadzenie do programowania generycznego dla języka C++. Klasy szablonowe, funkcje szablonowe, specjalizacja, częściowa specjalizacja, przeciążenia.
T-W-6Programowanie wielowątkowe w języku C++ z wykorzystaniem mechanizmów z przestrzeni nazw std
T-L-4Implementacja algorytmów wykorzystujących wielowątkowość
Metody nauczaniaM-1Wykład problemowy
M-2Wykład informacyjny
M-3Anegdota
M-4Ćwiczenia laboratoryjne
M-5Nauka i ćwiczenia własne
Sposób ocenyS-1Ocena formująca: Obserwacja aktywności na zajęciach laboratoryjnych
S-2Ocena formująca: Ocena kompletności rozwiązań problemów postawionych na zajęciach laboratoryjnych
S-3Ocena podsumowująca: Test zaliczeniowy
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Potrafi zaimplementować wybrany algorytm wykorzystując programowanie obiektowe
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaPESW_10-_07_U02Umie zrównoleglić zadany algorytm wykorzystując mechanizm programowania wielowątkowego w języku C++
Odniesienie do efektów kształcenia dla kierunku studiówPESW_10-_U08Słuchacz potrafi zrównoleglić zadany algorytm wykorzystując mechanizm programowania wielowątkowego w języku C++.
Cel przedmiotuC-1Słuchacz potrafi implementować algorytmy z wykorzystaniem paradygmatu programowania obiektowego w języku C++. Słuchacz potrafi pisać programy równoległe
Treści programoweT-W-2Przeładowywanie operatorów dla typów własnych oraz specjalne operatory.
T-W-3Dziedziczenie oraz hierarchie klas. Polimorfizm dynamiczny w kontekście języka C++. Omówienie mechanizmu RTTI
T-W-4Enkapsulacja danych w języku C++, widoczność pól klasy w drzewie dziedziczenia
T-W-5Wprowadzenie do programowania generycznego dla języka C++. Klasy szablonowe, funkcje szablonowe, specjalizacja, częściowa specjalizacja, przeciążenia.
T-W-6Programowanie wielowątkowe w języku C++ z wykorzystaniem mechanizmów z przestrzeni nazw std
Metody nauczaniaM-1Wykład problemowy
M-2Wykład informacyjny
M-3Anegdota
Sposób ocenyS-3Ocena podsumowująca: Test zaliczeniowy
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Potrafi użyć mechanizmów programowania wielowątkowego z języka C++
3,5
4,0
4,5
5,0