Programowanie II (C,C++)
1000-I1PR2
-Wprowadzenie do C++, typy danych, wyrażenia, instrukcje sterujące, operacje wejścia i wyjścia, napisy, operatory, preprocesor.
-Tablice, tablice wielowymiarowe, wektory, wskaźniki.
-Funkcje, argumenty domyślne, przeciążone identyfikatory funkcji, wzorce funkcji, referencje.
-Programowanie zorientowane obiektowo, pojęcie klasy, konstruktory, destruktory.
-Klasy i funkcje zaprzyjaźnione, wyjątki, składniki klas, przeładowanie operatorów.
-Klasy pochodne, dziedziczenie, metody wirtualne, wyrażenia lambda.
-Zaawansowane IO (strumienie/pliki/stringi), szablony, przegląd bibliotek standardowych STL.
Całkowity nakład pracy studenta
15 godz. – wykład
5 godz. - egzamin
30 godz. - ćwiczenia
50 godz. - praca własna - bieżące przygotowanie do zajęć, studiowanie literatury, przygotowywanie prac domowych,
35 godz. praca własna - przygotowanie do egzaminu.
Razem 135 godzin
4 ptk ECTS
Efekty uczenia się - wiedza
K_W10 ma ogólną wiedzę na temat różnych paradygmatów programowania i języków programowania (imperatywny, obiektowy, funkcyjny, logiczny, skryptowy, maszyna wirtualna, podstawy translacji, deklaracje i typy, odśmiecanie, mechanizmy abstrakcji); szczegółowo zna metody projektowania i programowania obiektowego (kapsułkowanie i ukrywanie informacji, klasy i podklasy, dziedziczenie, polimorfizm, hierarchie klas) (X1A_W01, X1A_W03, X1A_W04, X1A_W05)
K_W11 ma wiedzę na temat inżynierii oprogramowania, w tym projektowania (wzorce projektowe, architektura oprogramowania, analiza i projektowanie obiektowe), wykorzystania API, narzędzi i środowisk wytwarzania oprogramowania
K_W03 zna podstawowe konstrukcje programistyczne (przypisanie, instrukcje sterujące, wywoływanie podprogramów i przekazywanie parametrów) oraz pojęcia składni i semantyki języka programowania C++
Efekty uczenia się - umiejętności
K_U05 potrafi pisać, uruchamiać i testować programy w wybranym środowisku programistycznym (GCC C++)
K_U08 projektuje, analizuje pod kątem poprawności i złożoności obliczeniowej oraz programuje algorytmy; wykorzystuje podstawowe techniki algorytmiczne i struktur danych
K_U22 projektuje oprogramowanie zgodnie z metodyką obiektową
K_U16 potrafi stworzyć model obiektowy prostego systemu
K_U03 potrafi pracować indywidualnie, potrafi zarządzać swoim czasem oraz podejmować zobowiązania i dotrzymywać terminów
Efekty uczenia się - kompetencje społeczne
K_K02 Kreatywność: Myśli twórczo w celu udoskonalenia istniejących bądź stworzenia nowych rozwiązań
K_K04 Jest nastawiony na jak najlepsze wykonanie zadania; dba o szczegół; jest systematyczny
K_K06 Jest nastawiony na nieustanne zdobywanie nowej wiedzy, umiejętności i doświadczeń; rozumie potrzebę ciągłego doskonalenia się i podnoszenia kompetencji zawodowych
Metody dydaktyczne
1) Wykład wraz z prezentacją (slajdy)
2) Pokaz podstawowych czynności
3) Ćwiczenia laboratoryjne
Metody dydaktyczne podające
- wykład informacyjny (konwencjonalny)
Metody dydaktyczne poszukujące
- ćwiczeniowa
- projektu
- laboratoryjna
Rodzaj przedmiotu
przedmiot obligatoryjny
Wymagania wstępne
-Umiejętność programowania w języku C (Programowanie I)
-Znajomość środowiska UNIX
Koordynatorzy przedmiotu
Kryteria oceniania
Zaliczenie przedmiotu odbywa się poprzez zaliczenie egzaminu teoretycznego, który odbędzie się na Auli.
Czas trwania testu: 2h.
Ilośc pytań wielokrotnego wyboru: 30 (punktacja: 1pkt)
Ilośc pytań otwartych: 5 (punktacja: 2pkt)
Punktacja
21-24 dst
25-28 dst+
29-32 db
33-36 db+
37-40 bdb
Literatura
Literatura podstawowa:
-J. Grębosz, Opus Magnum C++11
Zasoby internetowe
- https://cpp0x.pl/kursy/Kurs-C++/1
- https://isocpp.org
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i
terminach zajęć) mogą być dostępne w serwisie USOSweb: