Przedmiot: programowanie obiektowe



Pobieranie 40.71 Kb.
Data07.05.2016
Rozmiar40.71 Kb.
Kierunek INFORMATYKA

Przedmiot: PROGRAMOWANIE OBIEKTOWE


Czas trwania: semestr III

Przedmiot: obowiązkowy

Język wykładowy: polski



Rodzaj zajęć

Prowadzący

Liczba godzin

Tryb zaliczania

Punkty ECTS

Wykład

Prof. A. Timofiejew

30

Egzamin

6

Laboratorium

Prof. A. Timofiejew

mgr. I. Arcimowicz



30

Zaliczenie



POZIOM


Warunkiem dopuszczenia do udziału w zajęciach jest wcześniejsze uzyskanie zaliczenia z przedmiotu: Programowanie I. Dla zrozumienia materiałów potrzebna jest znajomość zasad programowania i umiejętność programowania w jednym z języków wysokiego poziomu.

ZAŁOŻENIA I CELE


Podstawowym celem wykładu jest nabycie wiedzy o koncepcje i zasadach programowania obiektowego oraz szczególnych usprawnień wynikających z jego zastosowania w procesach projektowych, rozwojowych lub pielęgnacyjnych opracowywanych systemów informatycznych.

Zajęcia laboratoryjne mają na celu nabycie i opanowanie umiejętności w programowaniu odrębnych klas i hierarchii klas.



WYKŁAD


  1. Podejście obiektowe do programowania

  • historia powstania i rozwoju programowania zorientowanego obiektowo,

  • przegląd języków zorientowanych obiektowo (Simula, Smalltalk, Object Pascal, Ada, Java, C++, Visual C++, Borland C++, Visual Basic, Visual C#),

  • zalety i wady programowania zorientowanego obiektowo

  1. Klasy i obiekty programowe

  • struktura klasy,

  • konstruktor i destruktor klasy,

  • definicja klasy,

  • obiekty programowe i wewnętrzny wskaźnik na obiekt,

  • tworzenie i usuwanie obiektów

  • odwołanie do komponentów i przestrzeń nazw,

  • dostęp do komponentów obiektu i klasy zaprzyjaźnione,

  • informacja o klasie i mechanizm RTTI

  1. Dziedziczenie klas

  • klas pochodna i klasa bazowa,

  • dziedziczenie uprawnień dostępu,

  • interfejs obiektu i hermetyzacja danych składowych,

  • hierarchia klas,

  • dziedziczenie komponentów i dziedziczenie wielokrotne,

  • przeciążenie metody i polimorfizm nazw,

  • metody wirtualne i klasa abstrakcyjna,

  • lokalna konwersja typów,

  1. Komponenty klasy

  • komponenty statyczne i stałe,

  • metody wstawiane,

  • inne metody,

  • właściwości klasy,

  • włączenie obiektów klas

  1. Konstruktory i destruktory

  • rodzaje konstruktorów,

  • konstruktor kopiujący,

  • konstruktor z argumentami,

  • kolejność wywoływania konstruktorów klas,

  • inicjalizacja obiektu

  • konstruktor z listą inicjacyjną,

  • destruktory

  1. Metody operatorowe

  • przeciążenie operatorów,

  • metoda operatorowa klasy,

  • zaprzyjaźniona metoda operatorowa,

  • operatory przeciążone (operatory unarne, operator przypisania, operator wywołania funkcji, operator indeksowania, operator wskazywania, operatory new i delete)

  1. Wzorce klas i metod

  • wzorce klas,

  • wzorce metod,

  • definicja obiektu i wywołanie metody,

  • przykłady definicji wzorców

  1. Projektowanie obiektowe

  • identyfikacja obiektów,

  • analiza przestrzeni przedmiotowej,

  • język UML (Unified Modeling Language) do modelowania obiektowego,

  • elementy języka UML (komentarze, nazwy, interfejsy, aktor, pakiety)

  • diagramy języka UML (przypadków użycia, klas, obiektów, stanów, działalności, przebiegu, kooperacji, komponentów, zastosowań)

  • język ograniczeń obiektowych

  1. Biblioteki klas

  • standardowa biblioteka C++,

  • rozszerzenia języka C++ w Borland C++ Builder,

  • biblioteki klas VCL (Visual Component Library) i CLX (Component Library for Cross-Platform)

  1. Biblioteki klas (cd.)

  • biblioteka klas MFC (Microsoft Foundation Classes)

  • klasy środowiska Visual Studio .NET

  1. Wyjątki i ich obsługa

  • w standardowym języku C++,

  • w środowisku C++ Builder,

  • w języku Microsoft C++,

  • klasami MFC,

  1. Obsługa zdarzeń i wątki programowe

  • programowanie metod zdarzeniowych,

  • programowa imitacja zdarzeń,

  • inicjalizacja wątków,

  • programowanie funkcji wątku,

  • wywoływanie i synchronizacja wątków

  1. Klasy i biblioteki dynamiczne

  • łączenie statyczne

  • rozmieszczenie klas w bibliotece DLL

  • łączenie dynamiczne

  • pakiety

  • formularze w bibliotece DLL

  1. Klasy OLE (Object Linking and Embedding)

  • technologie OLE i ActiveX,

  • interfejsy COM (Common Object Model),

  • składowanie strukturalne

  • monikery i uniwersalny transfer danych

  • interfejsy wychodzące i ujścia zdarzeń,

  • serwer i klient COM

  • biblioteka typów

  • serwery automatyzacji

  1. Klasy do obsługi baz danych

  • system do obsługi baz danych

  • tablicowe, pytające, proceduralne zbiory danych

  • korzystanie z obiektów ADO (Active X Data Objects), odbiorczych zbiorów danych, z dostawcy

ZALICZENIE WYKŁADU


Przedmiot kończy się egzaminem, w którym można uzyskać maksymalnie 100 punktów. Ocena końcowa z egzaminu, w zależności od liczby uzyskanych punktów może być następująca (w nawiasach ocena wg skali ECTS):



Zakres

Ocena

Zakres

Ocena

0-50 pkt.

ndst (F)

71-80 pkt.

db (C)

51-60 pkt.

dst (E)

81-90 pkt.

db+ (B)

61-70 pkt.

dst+(D)

91-100 pkt.

bdb (A)


LABORATORIUM

Zasadniczym elementem praktycznym laboratorium jest zadanie indywidualne o charakterze projektu. Studenci wykonują zadanie na komputerach PC korzystając z systemu programowania Borland C++ Builder.

Dane i operacje powinny być reprezentowane klasami. Rozwiązania strukturalne i algorytmy powinny być przygotowane przed zajęciem laboratoryjnym.

Plan zajęć:





  1. Oprogramowywanie głównego formularza (menu, klawiszy itp.).

  2. Oprogramowywanie zdarzeń (wybór punktów menu, naciśnięcie klawisz itp.).

  3. Oprogramowywanie i sprawdzanie wprowadzenia danych wejściowych.

  4. Oprogramowywanie i sprawdzanie wyprowadzenia wyników.

  5. Opracowywanie klas, pól i metod, które są potrzebne do realizacji zadania.

  6. Oprogramowywanie konstruktorów i destruktorów.

  7. Oprogramowywanie i sprawdzanie metod do przekształcenia danych.

  8. Oprogramowywanie i sprawdzanie metod do wyświetlania danych.

  9. Oprogramowywanie i sprawdzanie metod do przechowywania danych na dysku.

  10. Oprogramowywanie i sprawdzanie metod operatorowych.

  11. Oprogramowywanie i sprawdzanie metod z obsługą wyjątków.

  12. Przygotowywanie danych testowych i sprawdzanie projektu

  13. Opisanie zbudowanych klas w języku UML.

  14. Napisanie sprawozdania do projektu

  15. Prezentacja projektu i zaliczanie.

ZALICZENIE LABORATORIUM


Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu.

Tematy poszczególnych zajęć są określone w sylabusie, a zakres zadań i wytyczne do ich realizacji dla studentów są podawane przez prowadzącego najpóźniej na zajęciach poprzedzających. Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do 5 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 70 pkt.

Temat i zakres projektu indywidualnego student otrzymuje najpóźniej na trzecim zajęciu. Za projekt może on otrzymać ocenę punktową mieszczącą się w zakresie 0 - 30 pkt.

Ocena projektu jest dokonywana na podstawie wielkości sumy punktów za rozwiązanie zadania i za postać zewnętrzną projektu (wygląd, komentarzy itp.):



  • rozwiązanie zadania: maks. liczba punktów 20,

  • postać zewnętrzna projektu: maks. liczba punktów 10.

Zaliczenie projektu następuje po uzyskaniu co najmniej 16 pkt. i jest możliwe najpóźniej na ostatnich zajęciach. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń laboratoryjnych.

Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach


0-100 pkt.

Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali ECTS):




Zakres

Ocena

Zakres

Ocena

0-50 pkt.

ndst (F)

71-80 pkt.

db (C)

51-60 pkt.

dst (E)

81-90 pkt.

db+ (B)

61-70 pkt.

dst+(D)

91-100 pkt.

bdb (A)



LITERATURA PODSTAWOWA


  1. Kisilewicz J., Język C w środowisku Borland C++. Oficyna Wydawnicza Politechniki Wrocławskiej. Wrocław, 2000

  2. Kisilewicz J., Język C++: programowanie obiektowe, Wrocław: Oficyna Wydawnicza Politechniki Wrocławskej, 2002.

  3. C++ Builder 5. Vademecum profesjonalisty. Tom 1,2, Wydawnictwo HELION 2001.

  4. Coad P., Nicola J., Programowanie obiektowe, Warszawa 1993.

  5. Youdon E., Argila C., Analiza obiektowa i projektowanie. Przykłady zastosowań, Warszawa 2000.

  6. Booch G., UML- przewodnik użytkownika, WNT 2001.



LITERATURA POMOCNICZA


  1. Porebski W., Języki obiektowe, Gdańsk: Wydawnictwo PG 1993.

  2. Deitel H.M., Deitel P.J., Arkana C++. Programowanie, Warszawa 1998.

  3. Grębosz J., Symfonia C++. Programowanie w języku C++ orientowane obiektowo, Kraków 1999.

  4. Kliszewski M, Inżynieria oprogramowania obiektowego, Tomaszów Maz. 1994.

  5. Ledgard H.F., Mała księga programowania obiektowego, Warszawa 1998

  6. Struzińska-Walczak A., Walczak K., Nauka programowania w systemie Delphi. Wydawnictwo W&W. Warszawa. 2001


©absta.pl 2016
wyślij wiadomość

    Strona główna