logo
Karta przedmiotu
logo

Zaawansowane programowanie w języku C++

Podstawowe informacje o zajęciach

Cykl kształcenia: 2024/2025

Nazwa jednostki prowadzącej studia: Wydział Elektrotechniki i Informatyki

Nazwa kierunku studiów: Informatyka

Obszar kształcenia: nauki techniczne

Profil studiów: ogólnoakademicki

Poziom studiów: pierwszego stopnia

Forma studiów: stacjonarne

Specjalności na kierunku: AA - inżynieria systemów informatycznych, AI - Sztuczna inteligencja, TT - informatyka w przedsiębiorstwie, Z - inżynieria systemów złożonych

Tytuł otrzymywany po ukończeniu studiów: inżynier

Nazwa jednostki prowadzącej zajęcia: Katedra Informatyki i Automatyki

Kod zajęć: 15950

Status zajęć: obowiązkowy dla programu AI - Sztuczna inteligencja

Układ zajęć w planie studiów: sem: 4 / W25 L15 / 2 ECTS / Z

Język wykładowy: polski

Imię i nazwisko koordynatora: dr inż. Michał Markiewicz

Terminy konsultacji koordynatora: Informacja na stronie: https://mmarkiewicz.v.prz.edu.pl/konsultacje

semestr 4: mgr inż. Dawid Kalandyk

semestr 4: mgr inż. Dominik Ożóg

Cel kształcenia i wykaz literatury

Główny cel kształcenia: Osiągnięcie zaawansowanej wiedzy z zakresu programowania w języku C++

Ogólne informacje o zajęciach: Moduł zakłada zapoznanie studenta z zaawansowanymi mechanizmami języka C++ oraz technikami programowania obiektowego. Realizacja tego celu odbywa się podczas wykładów i ćwiczeń laboratoryjnych.

Wykaz literatury, wymaganej do zaliczenia zajęć
Literatura wykorzystywana podczas zajęć wykładowych
1 Marius Bancila Modern C++ Programming Cookbook Packt Publishing Ltd. 2020
2 Marius Bancila The Modern C++ Challenge Packt Publishing Ltd. 2017
3 Stephen Prata Język C++. Szkoła programowania. Wydanie VI Helion. 2012
4 Bartosz Jędrzejec, Jan Sadolewski Programowanie w języku C i C++ Wydawnictwo PRz Rzeszów. 2014
Literatura wykorzystywana podczas zajęć ćwiczeniowych/laboratoryjnych/innych
1 Jerzy Grębosz Opus magnum C++. Misja w nadprzestrzeń C++14/17 Helion. 2020
2 Bruce Sutherland, Burton Browning J. C++20. Biblioteka techniczna APN Promise. 2021
3 Dmitri Nesteruk Stosowanie wzorców projektowych w C++. Kod wielokrotnego wykorzystania w programowaniu zorientowanym obiektowo Helion. 2021
Literatura do samodzielnego studiowania
1 Dawid Farbaniec C++20. Laboratorium Helion. 2022

Wymagania wstępne w kategorii wiedzy/umiejętności/kompetencji społecznych

Wymagania formalne: Uzyskanie z zaliczenia przedmiotu programowanie w języku C++

Wymagania wstępne w kategorii Wiedzy: Znajomość programowania obiektowego w C++

Wymagania wstępne w kategorii Umiejętności: Umiejętność tworzenia klas i obiektów w języku C++

Wymagania wstępne w kategorii Kompetencji społecznych:

Efekty kształcenia dla zajęć

MEK Student, który zaliczył zajęcia Formy zajęć/metody dydaktyczne prowadzące do osiągnięcia danego efektu kształcenia Metody weryfikacji każdego z wymienionych efektów kształcenia Związki z KEK Związki z PRK
01 Potrafi analizować gotowy kod zaawansowanych programów w C++ wykład zaliczenie pisemne K_W01+
K_W04+
K_K01+
P6S_KK
P6S_UU
P6S_WG
02 Projektuje i implementuje zaawansowane aplikacje wykorzystujące nowoczesne techniki programowania obiektowego oraz między wątkowego/procesowego na podstawie specyfikacji wymagań laboratoria sprawdzian pisemny, prezentacja zrealizowanych zadań na laboratorium K_U01+
K_U04+
K_K07+
P6S_KO
P6S_UK
P6S_UW
03 Potrafi wymienić i wyjaśnić działanie zaawansowanych funkcji i bibliotek języka C++ oraz opisuje zalety ich zastosowania wykład, laboratoria zaliczenie pisemne K_W01+
K_K01+
K_K07+
P6S_KK
P6S_KO
P6S_UU
P6S_WG

Uwaga: W zależności od sytuacji epidemicznej, jeżeli nie będzie możliwości weryfikacji osiągniętych efektów uczenia się określonych w programie studiów w sposób stacjonarny w szczególności zaliczenia i egzaminy kończące określone zajęcia będą mogły się odbywać przy użyciu środków komunikacji elektronicznej (w sposób zdalny).

Treści kształcenia dla zajęć

Sem. TK Treści kształcenia Realizowane na MEK
4 TK01 Wprowadzenie: powtórzenie podstaw programowania obiektowego W1 MEK01 MEK02
4 TK02 Programowanie C++ w systemie Windows oraz Linux W2 MEK01 MEK02 MEK03
4 TK03 Nowe elementy programowania obiektowego - referencja do r-wartości, funkcje lambda W3, L1 MEK01 MEK02 MEK03
4 TK04 Inteligentne zarządzanie pamięcią W4, L2 MEK01 MEK02 MEK03
4 TK05 Programowanie wielowątkowe W5, L3 MEK01 MEK02 MEK03
4 TK06 Komunikacja między procesowa W6, L4 MEK01 MEK02 MEK03
4 TK07 Implementacja bibliotek W7, L5 MEK01 MEK02 MEK03
4 TK08 Programowanie aplikacji okienkowych W8, L6 MEK01 MEK02 MEK03
4 TK09 Tworzenie aplikacji bazodanowych W9, L7 MEK01 MEK02 MEK03
4 TK10 Biblioteka Boost W10 MEK01 MEK02 MEK03
4 TK11 Testy jednostkowe W11 MEK01 MEK02 MEK03
4 TK12 Porównanie różnych standardów C++ W12 MEK01 MEK02 MEK03

Nakład pracy studenta

Forma zajęć Praca przed zajęciami Udział w zajęciach Praca po zajęciach
Wykład (sem. 4) Przygotowanie do kolokwium: 3.00 godz./sem.
Godziny kontaktowe: 25.00 godz./sem.
Laboratorium (sem. 4) Przygotowanie do kolokwium: 3.00 godz./sem.
Godziny kontaktowe: 15.00 godz./sem.
Dokończenia/wykonanie sprawozdania: 14.00 godz./sem.
Konsultacje (sem. 4)
Zaliczenie (sem. 4)

Sposób wystawiania ocen składowych zajęć i oceny końcowej

Forma zajęć Sposób wystawiania oceny podsumowującej
Wykład Zaliczenie pisemne
Laboratorium Zaliczenie pisemne
Ocena końcowa Średnia arytmetyczna ocen z wykładu i laboratorium (obie formy zajęć mają taką samą wagę)

Przykładowe zadania

Wymagane podczas egzaminu/zaliczenia
(-)

Realizowane podczas zajęć ćwiczeniowych/laboratoryjnych/projektowych
(-)

Inne
(-)

Czy podczas egzaminu/zaliczenia student ma możliwość korzystania z materiałów pomocniczych : nie

Treści zajęć powiazane są z prowadzonymi badaniami naukowymi: tak

1 L. Gniewek; M. Markiewicz; D. Warchoł Extended Hierarchical Fuzzy Interpreted Petri Net 2021
2 M. Markiewicz Obiektowy model programu zdefiniowany na podstawie RISP 2020