24-Programowanie obiektowe

Transkrypt

24-Programowanie obiektowe
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W GŁOGOWIE
SYLABUS/KARTA PRZEDMIOTU
1. NAZWA PRZEDMIOTU
Programowanie obiektowe
2. NAZWA JEDNOSTKI PROWADZĄCEJ PRZEDMIOT
Instytut Politechniczny
3. STUDIA
kierunek
stopień
tryb
język
status przedmiotu
AiR
I
Stacjonarne / niestacjonarne
Polski
obowiązkowy
4. CEL PRZEDMIOTU
− nabycie umiejętności i kompetencji w zakresie programowania obiektowego (język C++),
− nabycie wiedzy dotyczącej projektowania i implementacji programów obiektowych
zorientowanych obiektowo
− nabycie umiejętności w tworzeniu elastycznych bibliotek opartych na szablonach klas
i
5. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I KOMPETENCJI
A. znajomość programowania strukturalnego - konstrukcji algorytmów, definiowania dynamicznych struktur
danych
B. podstawowa znajomość zagadnień związanych z architekturą komputerów i systemami operacyjnymi
6. EFEKTY KSZTAŁCENIA
A. Wiedza
24_W05
ma wiedzę odnośnie programowania obiektowego w C++.
24_W05
24_W05
zna podstawowe zasady projektowania i implementacji programów obiektowych
zna podstawowe zasady projektowania i implementacji programów zorientowanych
obiektowo
B. Umiejętności
24_U08
potrafi zaprojektować, zdefiniować klasę oraz zdefiniować funkcję składowe klasy i
obiekty (instancje) reprezentujące daną.
potrafi zaprojektować i zaimplementować program wykorzystujący abstrakcyjną
klasę jako podstawę dla polimorficznego wywołania funkcji z klas pochodnych.
potrafi zaprojektować i zaimplementować prosty szablon klas.
1
C. Kompetencje
7. TREŚCI PROGRAMOWE – STUDIA STACJONARNE
Wykład
liczba
Ćwiczenia liczba
godzin
godzin
liczba
godzin
L1 - Wprowadzenie, określenie 2
W1 – Omówienie struktury
wykładu Wprowadzenie do
programowania obiektowego
1
W2 – Pojęcie
abstrakcyjnego typu danych.
Definicja klas. Enkapsulacja deklaracja i definicja metod
składowych klas.
W3 – Składowe
prywatne i publiczne klasy.
Przeciążenie
funkcji.
Konstruktory:
konstruktor
domniemany,
konstruktor
kopiujący. Destruktory.
W4 – Przeciążenie
operatorów.
Funkcje
zaprzyjaźnione. Funkcje typu
inline.
W5 – Konwersje
zdefiniowane
przez
użytkownika:
funkcja
konwertująca,
konstruktor
konwertujący.
W6 – Dziedziczenie. Zasady
dziedziczenia. Składowe typu
protected.
Dziedziczenie
wielokrotne i wielobazowe.
W7- Polimorfizm. Funkcje
wirtualne. Funkcje czysto
wirtualne. Wczesne i późne
wiązanie funkcji. Koszty
czasowe
i
pamięciowe
związane ze stosowaniem
polimorfizmu.
W8 - Szablony klas
2
Ć2- …
2
Ć3- …
2
Ć4- …
L4 – Przeciążenie wybranych 4
operatorów
arytmetycznych,
strumienia itp.
2
Ć5- …
L5 Implementacja funkcji 4
konwertujących i konstruktorów
konwertujących.
2
Ć6- …
L6 – Implementacja programu 4
ilustrującego zasady dziedziczenia
klas.
2
Ćn- …
L7- Projekt i implementacja 4
programu w którym zastosowano
polimorfizm. Implementacja klasy
abstrakcyjnej.
Wyznaczenie
kosztów czasowych związanych ze
stosowaniem polimorfizmu.
SUMA GODZIN
Ć1- …
laboratorium
warunków zaliczenia, przekazanie
spisu literatury i materiałów
dydaktycznych.
Przedstawienie
środowiska programistycznego.
L2 Implementacja prostych 2
programów zawierających definicję
klas oraz deklarację i definicję
metod
składowych
klas
Implementacja.
L3 - Definiowanie składowych 4
prywatnych i publicznych klasy
wraz z definicją konstruktorów i
destruktorów.
Implementacja przeciążenia funkcji.
2
L8-. Projekt i implementacja 4
szablonu klas oraz tworzenie klas
szablonowych
L9- Ocena wiedzy i zaliczenie 2
przedmiotu
15
SUMA GODZIN
30
TREŚCI PROGRAMOWE – STUDIA NIESTACJONARNE
Wykład
liczba
Ćwiczenia
liczba
Laboratorium
liczba
2
godzin
W1 – Omówienie struktury
wykładu Wprowadzenie do
programowania obiektowego
godzin
godzin
L1 - Wprowadzenie, określenie 1
warunków zaliczenia, przekazanie
spisu literatury i materiałów
dydaktycznych.
Przedstawienie
środowiska programistycznego.
L2 Implementacja prostych 3
programów
zawierających
definicję klas oraz deklarację i
definicję metod składowych klas
Implementacja.
L3 - Definiowanie składowych 2
prywatnych i publicznych klasy
wraz z definicją konstruktorów i
destruktorów.
1
W2 – Pojęcie
1
abstrakcyjnego typu danych.
Definicja klas. Enkapsulacja deklaracja i definicja metod
składowych klas.
W3 – Składowe
1
prywatne i publiczne klasy.
Konstruktory:
konstruktor
domniemany,
konstruktor
kopiujący.
W4 – Destruktory.
1
Przeciążenie peratorów.
L4 – Przeciążenie wybranych
operatorów
arytmetycznych,
strumienia itp.
L5 Implementacja funkcji
konwertujących i konstruktorów
konwertujących.
L6 – Implementacja programu
ilustrującego zasady dziedziczenia
klas.
L7 - Projekt i
implementacja
programu
w
którym zastosowano polimorfizm.
W5 – Dziedziczenie. Zasady 1
dziedziczenia. Składowe typu
protected.
W7- Polimorfizm. Funkcje 2
wirtualne.
W8
Funkcje
czysto 2
wirtualne. Wczesne i późne
wiązanie funkcji. Koszty
czasowe
i
pamięciowe
związane ze stosowaniem
polimorfizmu.
SUMA GODZIN
9
SUMA GODZIN
8. NARZĘDZIA DYDAKTYCZNE
Środki dydaktyczne: projektory multimedialne, tablice dydaktyczne, komputery
Oprogramowanie: kompilator języka C++.
2
2
4
4
18
9. SPOSÓB ZALICZENIA
Studia stacjonarne i niestacjonarne
wykład
ćwiczenia
Laboratorium/Projekt
Egzamin
-
Zaliczenie na ocenę
10. FORMY ZALICZENIA
Studia stacjonarne i niestacjonarne
wykład
ćwiczenia
Egzamin pisemny
-
11. SPOSOBY OCENY
Studia stacjonarne i niestacjonarne
wykład
ćwiczenia
Sprawdzian obejmuje treści prezentowane na wykładzie. Do
uzyskania zaliczenia wymagane
jest uzyskanie 51% maksymalnej
Laboratorium/Projekt
Pisemne
sprawdziany
na
początku każdego z laboratorium
(z wyjątkiem pierwszego)
Laboratorium/Projekt
Zaliczenie
sprawdzianów
wszystkich
3
liczby punktów.
12. OBCIĄŻENIE PRACĄ STUDENTA
Forma aktywności
Średnia liczba godzin na zrealizowanie
Aktywności
Stacjonarne
Niestacjonarne
Godziny kontaktowe z nauczycielem
Przygotowanie się do laboratorium
45
30
27
30
Przygotowanie się do zajęć
SUMARYCZNA LICZBA PUNKTOW ECTS
DLA PRZEDMIOTU
30
60
6
13. WYKAZ LITERATURY
A. Literatura wymagana
1. Eckel B. Thinking in C++., Hellion, Warszawa, 2002.
2. Stroustrup B. C++ Język programowania. WNT 2001.
B. Literatura uzupełniająca
1. Grębosz J.: Symfonia C++. Standard. Editions, Kraków, 2006
14. PROWADZĄCY PRZEDMIOT
OSOBA ODPOWIEDZIALNA ZA PRZEDMIOT: Prof. nzw. dr hab. inż. Krzysztof Patan
Wykład
1
ćwiczenia
Laboratorium/Projekt
Imię i nazwisko
Paweł Majdzik
Paweł Majdzik
Tytuł/stopień naukowy
Dr inż.
Dr inż.
Instytut
Politechniczny
Politechniczny
Kontakt e-mail
[email protected]
[email protected]
4