Programowanie II 390-FS1-2PRO2
Profil studiów: ogólnoakademicki
Forma studiów: stacjonarne
Moduł: narzędzia informatyki
Poziom kształcenia: studia pierwszego stopnia
Rok studiów/semestr: 2 rok / 4 semestr
Punkty ECTS: 5
Wymagania wstępne: zaliczony przedmiot Programowanie I, podstawowa znajomość programowania proceduralnego w języku C++
Bilans nakładu pracy studenta:
- udział w wykładach (15 godz.),
- udział w laboratoriach (45 godz.),
- udział w konsultacjach (15 godz.),
- praca własna studenta w domu (45 godz.).
Wskaźniki ilościowe:
- nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela - 3.2 ECTS;
- nakład pracy studenta związany z samodzielna pracą - 1.8 ECTS.
Zasady użycia sztucznej inteligencji (SI):
Podczas zajęć dozwolone jest korzystanie z systemów SI w zakresie:
1. Tłumaczenia maszynowego tekstów źródłowych z języków obcych.
2. Wyszukiwania i organizowania źródeł naukowych.
3. Tworzenia symulacji i modelowania omawianych na wykładzie zjawisk fizycznych.
W przypadku stwierdzenia naruszeń powyższych zasad, osoba kształcąca się może zostać pociągnięta do odpowiedzialności na podstawie odrębnych przepisów dyscyplinarnych.
Program zajęć (wykład):
- Wprowadzenie do programowania obiektowego.
Paradygmaty programowania: proceduralny i obiektowy.
Pojęcie obiektu i klasy.
Struktura klasy w języku C++.
Pola i metody klasy.
Modyfikatory dostępu:public,private,protected.
Tworzenie obiektów.
Metody składowe i dostęp do składowych obiektu. - Konstruktory i destruktory.
Inicjalizacja obiektów.
Konstruktory domyślne i parametryczne.
Listy inicjalizacyjne.
Destruktory i zarządzanie zasobami.
Pojęcie RAII.
Semantyka kopiowania obiektów. - Przekazywanie obiektów do funkcji.
Zwracanie obiektów z funkcji.
Referencje i stałość obiektów (const).
Przeciążanie operatorów.
Metody statyczne i pola statyczne.
Przestrzenie nazw. - Dziedziczenie.
Klasa bazowa i klasy pochodne.
Modyfikatory dostępu w dziedziczeniu.
Przesłanianie metod.
Funkcje wirtualne.
Polimorfizm.
Wskaźniki i referencje do klas bazowych. - Klasy abstrakcyjne.
Metody czysto wirtualne.
Interfejsy w języku C++.
Mechanizmoverrideifinal.
Rola destruktora wirtualnego. - Zarządzanie pamięcią w programowaniu obiektowym.
Dynamiczna alokacja obiektów.
Wskaźniki inteligentne (unique_ptr,shared_ptr).
Podstawy biblioteki standardowej STL.
Kontenery i iteratory.
Podstawy obsługi wyjątków. - Projektowanie programów obiektowych.
Zasady hermetyzacji i odpowiedzialności klas.
Podstawowe wzorce projektowe.
Organizacja kodu w większych projektach.
Wprowadzenie do tworzenia prostych aplikacji okienkowych lub konsolowych.
Program zajęć (laboratorium):
- Na laboratorium będą pisane i analizowane programy komputerowe realizujące zagadnienia i algorytmy przedstawione na wykładzie.
|
W cyklu 2024:
Profil studiów: ogólnoakademicki Program zajęć (wykład i laboratorium, C++): |
Rodzaj przedmiotu
nieobowiązkowe
Założenia (opisowo)
Koordynatorzy przedmiotu
Wymagania (lista przedmiotów)
Tryb prowadzenia przedmiotu
W cyklu 2024: mieszany: w sali i zdalnie w sali zdalnie | W cyklu 2025: mieszany: w sali i zdalnie w sali zdalnie | Ogólnie: zdalnie mieszany: w sali i zdalnie w sali |
Efekty kształcenia
Wiedza, absolwent zna i rozumie:
KP6_WG4 - zna zaawansowane metody obliczeniowe stosowane do rozwiązywania typowych problemów fizycznych oraz przykłady praktycznej implementacji takich metod z wykorzystaniem odpowiednich narzędzi informatycznych; zna elementy programowania oraz inżynierii oprogramowania w zakresie przewidzianym programem kształcenia.
Umiejętności, absolwent potrafi:
KP6_UW4 - potrafi stosować metody numeryczne do rozwiązania problemów matematycznych; posiada umiejętność stosowania podstawowych pakietów oprogramowania oraz wybranych języków programowania w zakresie przewidzianym programem kształcenia
KP6_UK5 dokonać krytycznej analizy wyników pomiarów, obserwacji lub obliczeń teoretycznych wraz z ilościową oceną dokładności wyników;
KP6_UU1 uczyć się samodzielnie.
Kompetencje społeczne, absolwent jest gotów do:
KP6_KR2 stosowania i propagowania zasad uczciwości intelektualnej w działaniach własnych i innych osób, do rozstrzygania problemów etycznych w kontekście rzetelności badawczej, do propagowania rozstrzygającej roli eksperymentu w weryfikacji teorii fizycznych, do stosowania metody naukowej w gromadzeniu wiedzy.
Kryteria oceniania
Zaliczenie laboratorium: kolokwium pisemne sprawdzające umiejętności praktyczne z zakresu programowania lub test praktyczny z wykorzystaniem komputera
Zaliczenie wykładu: egzamin ustny
Podczas zaliczeń obowiązuje zakaz korzystania ze środków komunikacji elektronicznej oraz narzędzi sztucznej inteligencji (SI).
W zależności od obowiązujących regulacji, zastrzega się możliwość przeprowadzenia zaliczenia końcowego lub egzaminu końcowego przy użyciu środków komunikacji elektronicznej.
Literatura
[1] W. Porębski, Język C++ : wprowadzenie do programowania, wyd. 2, Komputerowa Oficyna Wydawnicza "Help", Warszawa 1999.
[2] J. Grębosz, Symfonia C ++ standard : programowanie w języku C++ orientowane obiektowo, Wydawnictwo "Edition 2000" : Oficyna Kallimach, Kraków 2005.
[3] S. Prata, Język C++, wyd. 5, Wydawnictwo Helion, Gliwice 2006.
[4] Accelerated C++: Practical Programming by Example, A. Koenig, B. E. Moo, Addison-Wesley
[5] Źródła internetowe
|
W cyklu 2024:
[1] W. Porębski, Język C++ : wprowadzenie do programowania, wyd. 2, Komputerowa Oficyna Wydawnicza "Help", Warszawa 1999 |
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: