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