Wy sza Szkoła Zarz ądzania ”Edukacja” Wydział Zarządzania

Transkrypt

Wy sza Szkoła Zarz ądzania ”Edukacja” Wydział Zarządzania
Wyższa Szkoła Zarządzania ”Edukacja”
Wydział Zarządzania
Kierunek Informatyka – studia inżynierskie zaoczne
Opisy kursów
Nazwa kursu: JĘZYKI I PARADYGMATY PROGRAMOWANIA (IJiPP3)
Rodzaj kursu (podstawowy/kierunkowy/specjalnościowy): kierunkowy
Typ kursu (obowiązkowy/wybieralny): obowiązkowy
Przedmioty wprowadzające: Języki i metody programowania I / II
Rodzaj i wymiar zajęć (godzin/semestr):
Wykład : 30
Projekt: 15
Forma zaliczenia:
Wykład: egzamin
Projekt: zaliczenie na ocenę
Kurs prowadzony na semestrach:
Wykład: III
Projekt: III
Liczba punktów ECTS: 6
Założenia i cele kursu:
Celem wykładu jest zapoznanie studentów z obiektowym paradygmatem programowania oraz
z konkretnymi językami programowania obiektowego: C++ i Java. Celem projektu jest
nabycie praktycznych umiejętności projektowania i programowania obiektowego w języku
C++ na przykładzie obszerniejszego programu wykonanego w technice obiektowej. Zadania
realizowane będą w grupach 2-3 osobowych.
Metody dydaktyczne:
Wykład: tradycyjna forma wykładu przy tablicy, z dużą liczba przykładów kodu w językach
C++ i Java szczegółowo komentowanych przez wykładowcę.
Projekt: Wykonywanie kolejnych etapów projektu programu obiektowego wraz z
implementacją pod nadzorem prowadzącego..
Szczegółowy program wykładu:
Projektowania i i projektowanie obiektowe jako technika modelowania wycinka
rzeczywistości w kategoriach bytów programistycznych: pojęcie klasy i obiektu. metody i
atrybuty klasy, interakcje pomiędzy obiektami (3g)
Programowanie obiektowe w języku C++: definiowanie klasy, atrybutów i metod, przykłady
definicji klas dla różnych elementów świata rzeczywistego, konstruktory i destruktory (3g)
Dziedziczenie: pojęcie specjalizacji i generalizacji, hierarchia klas, kontrolowanie praw
dostępu do komponentów w hierarchii klas, funkcje i metody zaprzyjaźnione, klasy
zdefiniowane lokalnie (3g)
Polimorfizm i metody wirtualne: istota polimorfizmu, przykłady zastosowań, składnia
definicji metody wirtualnej, wczesne i późne łączenie, wywoływanie metod wirtualnych,
klasy abstrakcyjne, destruktor wirtualny (3g)
Przeciążanie operatorów: przykłady zastosowania operatorów przeciążonych, funkcje i
metody operatorowe, niezmienne cechy operatorów, operator podstawienia i konstruktor
kopiujący, praktyczne problemy efektywnościowe zastosowania obliczeń z wykorzystaniem
operatorów przeciążonych, mechanizm konwersji typów, jawne definiowane operatora
konwersji typu. (3g)
Szablony w C++ jako element programowania generycznego: składnia i semantyka
szablonów, zasady rozwijania szablonów przez kompilator, przykłady (3g)
Biblioteka STL: podstawowe klasy: vector i set, ich metody i atrybuty, pojęcie iteratora,
przykłady zastosowań (3g)
Obiektowe wejście i wyjście: zalety w stosunku do wejścia-wyjścia funkcyjnego, biblioteka
iostream, manipulatory, przeciążanie operatorów wejścia-wyjścia dla klas definiowanych
przez programistę, strumieniowe operacje wejścia/wyjścia na plikach (3g)
Podstawy języka Java: różnice i podobieństwa pomiędzy jp. Java i C++, zasady kompilacji i
interpretacji programów w Javie, środowisko wykonania programu javovego - różnice w
stosunku do tradycyjnych programów kompilowanych do kodu maszynowego, maszyna
wirtualna Javy, koncepcja just-in-time-compiling, uniwersalna hierarchia klas Javy, pojęcie
pakietu i interfejsu (3g)
Wybrane pakiety Javy i ich wykorzystanie: awt, swing, applet , tworzenie interfejsu
użytkownika z użyciem pakietu swing, tworzenie apletów i ich wykonywanie w przeglądarce
WWW (3g)
Szczegółowy zakres projektu::
Omówienie tematów projektów przez prowadzącego, wyznaczenie etapów do realizacji na
kolejnych zajęciach, omówienie formalnych wymogów dot. prezentacji etapów projektu i
sporządzenia dokumentacji (3g).
Prezentacja i dyskusja obiektowego modelu wycinka rzeczywistości którego dotyczy zadanie
(3g).
Szkieletowa implementacja programu dla realizowanego zadania: podział programu na pliki
źródłowe, rozmieszczenie deklaracji klas i definicji metod, implementacja podstawowych
metod zaprojektowanych klas (3g).
Pełna implementacja programu, opracowanie projektu testów, dyskusja zastosowanych
rozwiązań z prowadzącym (3g).
Prezentacja ostatecznego rezultatu zadania, przedstawienie dokumentacji oraz testy i ocena
efektywności (3g).
Literatura podstawowa:
1. Grębosz J.: Symfonia C++ Standard, Tom 1,2, Edition 2000, 2006
2. Grębosz J.: Pasja C++, Tom 1,2, Edition 2000
3. Eckel B.: Thinking in Java, Helion 2003
Literatura uzupełniająca:
1. Stroustrup B.: Język C++, WNT 2004
2. Lippman S.: Istota języka C++, WNT 2004
3. Dumański R., Kasprzyk A., Kozłowski M.: Analiza i projektowanie obiektowe,
Helion 1998

Podobne dokumenty