Programowanie II I-SI7O>P-II
a) Wykłady
• Treści programowe (tematyka zajęć):
1 Deklaracja i definicja klasy. Metody składowe i statyczne klasy.
2 Konstruktor i destruktor klasy. Przeciążanie konstruktorów i ich rodzaje.
3 Dziedziczenie i hierarchia klas.
4 Klasy zagnieżdżone (wewnętrzne).
5 Klasy i funkcje wirtualne.
6 Polimorfizm i klasy abstrakcyjne.
7 Pojęcie interfejsu
8 Strumienie i pliki.
9 Operacje wejścia/wyjścia i obsługa wyjątków.
10 Typy generyczne funkcji i klas.
11 Kolekcje
12 Przykładowe wzorce programistyczne (Repository, IoC)
• Metody dydaktyczne: wykład multimedialny.
b) Ćwiczenia laboratoryjne
• Treści programowe (tematyka zajęć):
1 Deklaracja i definicja klasy. Metody składowe i statyczne klasy.
2 Konstruktor i destruktor klasy. Przeciążanie konstruktorów i ich rodzaje.
3 Dziedziczenie i hierarchia klas.
4 Klasy zagnieżdżone (wewnętrzne).
5 Klasy i funkcje wirtualne.
6 Polimorfizm i klasy abstrakcyjne.
7 Pojęcie interfejsu
8 Strumienie i pliki.
9 Operacje wejścia/wyjścia i obsługa wyjątków.
10 Typy generyczne funkcji i klas.
11 Kolekcje
12 Przykładowe wzorce programistyczne (Repository, IoC)
W cyklu 2021/2022-Z:
Wykłady: Stanowić to ma stabilną podbudowę zajęć z programowania obiektowego, realizowanego w następnych semestrach. Zajęcia przedstawią pojęcia klasy i obiektu, podstawowe konstrukcje programistyczne, implementacje algorytmów i wzorców projektowych w tym również tworzenie dynamicznych obiektów. Przewiduje się także omówienie podstawowych cech programowania obiektowego: enkapsulacji, dziedziczenia, polimorfizmu i wirtualizacji metod. |
W cyklu 2022/2023-L:
Wykłady: Stanowić to ma stabilną podbudowę zajęć z programowania obiektowego, realizowanego w następnych semestrach. Zajęcia przedstawią pojęcia klasy i obiektu, podstawowe konstrukcje programistyczne, implementacje algorytmów i wzorców projektowych w tym również tworzenie dynamicznych obiektów. Przewiduje się także omówienie podstawowych cech programowania obiektowego: enkapsulacji, dziedziczenia, polimorfizmu i wirtualizacji metod. |
W cyklu 2023/2024-L:
Wykłady: Stanowić to ma stabilną podbudowę zajęć z programowania obiektowego, realizowanego w następnych semestrach. Zajęcia przedstawią pojęcia klasy i obiektu, podstawowe konstrukcje programistyczne, implementacje algorytmów i wzorców projektowych w tym również tworzenie dynamicznych obiektów. Przewiduje się także omówienie podstawowych cech programowania obiektowego: enkapsulacji, dziedziczenia, polimorfizmu i wirtualizacji metod. |
W cyklu 2024/2025-L:
Wykłady: Stanowić to ma stabilną podbudowę zajęć z programowania obiektowego, realizowanego w następnych semestrach. Zajęcia przedstawią pojęcia klasy i obiektu, podstawowe konstrukcje programistyczne, implementacje algorytmów i wzorców projektowych w tym również tworzenie dynamicznych obiektów. Przewiduje się także omówienie podstawowych cech programowania obiektowego: enkapsulacji, dziedziczenia, polimorfizmu i wirtualizacji metod. |
Koordynatorzy przedmiotu
<b>Ocena końcowa</b>
<b>Wymagania wstępne</b>
<b>Literatura podstawowa</b>
<b>Literatura uzupełniająca</b>
<b>Inne informacje</b>
Efekty kształcenia
Wiedza
Ma elementarną wiedzę w zakresie algorytmów i złożoności
Powiązane efekty kierunkowe:
IF1A_W03
Metody weryfikacji:
Kolokwium:Ma elementarną wiedzę w zakresie algorytmów i złożoności
Wiedza
Ma uporządkowaną wiedzę w zakresie metod i technik programowania (języki programowania wysokiego poziomu)
Powiązane efekty kierunkowe:
IF1A_W04
Metody weryfikacji:
Kolokwium:Ma uporządkowaną wiedzę w zakresie metod i technik programowania (język programowania wysokiego poziomu C )
Wiedza
Ma uporządkowaną i podbudowaną teoretycznie wiedzę w zakresie języków i paradygmatów programowania
Powiązane efekty kierunkowe:
IF1A_W05
Metody weryfikacji:
Kolokwium:Ma uporządkowaną i podbudowaną teoretycznie wiedzę w zakresie języków i paradygmatów programowania
Umiejętności
Potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł zarówno w języku polskim i języku angielskim; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie.
Powiązane efekty kierunkowe:
IF1A_U01
Metody weryfikacji:
Kolokwium:Potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł zarówno w języku polskim i języku angielskim; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie
Umiejętności
Posługuje się narzędziami informatycznymi
Powiązane efekty kierunkowe:
IF1A_U03
Metody weryfikacji:
Kolokwium:Posługuje się narzędziami informatycznymi.
Kompetencje społeczne
Rozumie potrzebę i zna możliwości ciągłego dokształcania się – podnoszenia kompetencji zawodowych, osobistych i społecznych.
Powiązane efekty kierunkowe:
IF1A_K01
Metody weryfikacji:
Przygotowanie projektu:Rozumie potrzebę i zna możliwości ciągłego dokształcania się – podnoszenia kompetencji zawodowych, osobistych i społecznych.
Kompetencje społeczne
Potrafi pracować w zespole w roli osoby inspirującej, lidera grupy lub członka grupy.
Powiązane efekty kierunkowe:
IF1A_K03
Metody weryfikacji:
Przygotowanie projektu:Potrafi pracować w zespole w roli osoby inspirującej, lidera grupy lub członka grupy.
Kryteria oceniania
Warunkiem zaliczenia całego przedmiotu jest uzyskanie zaliczenia z ćwiczeń na podstawie dwóch kolokwiów obejmujących również materiał teoretyczny z wykładów.
Literatura
1. Symfonia C++: programowanie w języku C++ orientowane obiektowo, Jerzy Grębosz. - Wyd.5 popr. - Kraków : Oficyna Kallimach, [ca 2001], Tom 2 i 3
2. Język C++, Bjarne Stroustrup ; z ang. przeł. - Wyd.5 zm. i rozsz.. - Warszawa : WN-T, 2000
3. Bruce Eckel, „Thinking in C++”, Free Electronic Book
4. Bruce Eckel, „Thinking in Java”, Free Electronic Book
5. Inne pozycje i źródła internetowe na temat języków C++, JAVA,