Programowanie obiektowe [CII2NP006CI]
Semestr zimowy 2022/2023
Wykład,
grupa nr 1
Przedmiot: | Programowanie obiektowe [CII2NP006CI] | ||||||||||||||||||
Zajęcia: |
Semestr zimowy 2022/2023 [2022Z]
(zakończony)
Wykład [W], grupa nr 1 [pozostałe grupy] |
||||||||||||||||||
Termin i miejsce:
|
wielokrotnie, niedziela (niestandardowa częstotliwość), 12:30 - 14:25
sala 128 (Graphic Adob) Vistula University jaki jest adres? |
||||||||||||||||||
Terminy najbliższych spotkań:
Kliknij w datę by zobaczyć tygodniowy plan z zaznaczonym spotkaniem. |
Wszystkie zajęcia tej grupy już się odbyły - pokaż terminy wszystkich spotkań.
|
||||||||||||||||||
Liczba osób w grupie: | 15 | ||||||||||||||||||
Limit miejsc: | (brak danych) | ||||||||||||||||||
Zaliczenie: | Egzamin/zaliczenie na ocenę/zal w skali zal-std2 | ||||||||||||||||||
Prowadzący: | Leszek Jung | ||||||||||||||||||
Literatura: |
• Leszek Jung, Materiały z wykładów udostępniane w formie elektronicznej. PLATON AFiBV. • Matulewski J., Visual Studio 2013. Podręcznik programowania w C# z zadaniami, Wydawnictwo Helion, 2014, • Rychlicki-Kicior Krzysztof, C#. Tworzenie aplikacji graficznych w .NET 3.0. Wydawnictwo Helion. Dodatkowa: • Dawid Pośliński, Wstęp do grafiki 2D/3D, Strona internetowa Microsoftu: https://msdn.microsoft.com/pl-pl/library/wstep-do-grafiki-2d-3d.aspx, • dokumentacja na stronach internetowych Microsoftu: https://msdn.microsoft.com/pl-pl/default.aspx, • projekt Mono: http://www.mono-project.com |
||||||||||||||||||
Zakres tematów: |
1) Wprowadzenie do projektowania zorientowanego obiektowo: • klasy i ich właściwości, • klasy statyczne i dynamiczne, • paradygmat programowania zorientowanego obiektowo: hermetyzacja (enkapsulacja), dziedziczenie, polimorfizm, virtualizacja, abstrakcja. 2) Projektowanie programów graficznych zorientowanych obiektowo z zastosowaniem (klas bibliotecznych interfejsu API GDI+): • właściwości interfejsu API GDI+ (Application Programming Interface - Graphics Device Interface+), • podstawowe klasy przestrzeni nazw GDI+: Graphics, Pen, Brush, Bitmap, Font, Icon, Image, BufferedGraphics, itd., • model barw: RGB (Red, Green, Blue), • podstawowe typy danych przestrzeni nazw System.Drawing: Color, Point, Rectangle, Size, itd., • układ współrzędnych powierzchni graficznej, • tworzenia egzemplarza powierzchni graficznej: CreateGraphics(), FromImage(. . .), • metody kreślenie prymitywów graficznych (metody typu „Draw” i metody typu „Fill”), tworzenie i zwalniania egzemplarzy zasobów graficznych (pióro, pędzel), kreślenie (malowanie) tekstów, • obsługa zdarzenia Paint i metody odświeżenia obrazu (Refresh(), Invalidate(), Update()), • kreślenie wybranych kompozycji (złożeń) figur geometrycznych. 3) Projektowanie programów zorientowanych obiektowych z zastosowaniem klas statycznych: • kreślenie wykresu zmian wartości szeregu funkcyjnego (bez korzystania z kontrolki Chart): odwzorowanie rzeczywistej powierzchni wykresu na egzemplarzu powierzchni graficznej ekranu, wyznaczenie współczynników skali i przesunięcia, • deklaracja klas statycznych: EkstremumFunkcji oraz PrzeliczanieWspółrzędnych, deklaracja metod statycznych, • projektowanie animacji komputerowych (według ścieżki ruchu): po torze linii krzywej. 4) Klasy dynamiczne i ich właściwości: • właściwości (enkapsulacja atrybutów klasy, dziedziczenie, polimorfizm, wirtualizacja), • instancje (egzemplarze, obiekty) klasy, • wywołanie metod klas dynamicznych, 5)Przeciążanie operatorów i metod oraz deklarowanie nowych typów danych: LiczbyZespolone, Macierze, Wektory, itp., 6) Projektowanie programów zorientowanych obiektowo kreślenie figur geometrycznych 2D z wykorzystaniem mechanizmu enkapsulacji (atrybutów klasy), dziedziczenie, polimorfizmu i wirtualizacji: • tworzenie hierarchii klas figur geometrycznych 2D, • deklaracja klasy nadrzędnej (bazowej): Punkt, • deklaracja klas pochodnych: Okrąg, Prostokąt, …, • mechanizm dziedziczenie, • metody wirtualne i mechanizm polimorfizmu, • ewidencja figur geometrycznych, • przesunięcia i zmiana atrybutów figur geometrycznych, • przekształcenia w geometrii 2D: przesunięcia, obroty, skalowanie, przekrzywienia. 7) Projektowanie programu graficznego typu PaintBrush z obsługą zdarzeń: MouseDown, MouseMove, MouseUp, …. 8) Projektowanie zorientowanych obiektowy programów kreślenia brył geometrycznych z wykorzystaniem klas i metod abstrakcyjnych: • tworzenie hierarchii klas brył geometrycznych: • deklaracja klas abstrakcyjnych, • deklaracja metod abstrakcyjnych, • właściwości klas abstrakcyjnych. 9) Interfejsy • interfejsy podstawowe: IComparable i IComparer • Implementacja przykładowych interfejsów: • Idisposable, • Ienumerable, • Ienumerator, • blok instrukcji using, • składnia iteratorów (wzorzec projektowy iterator). 10) Delegaty i zdarzenia: • deklaracja delegatów i ich metod, • użycie delegata EventHandler, • wywołanie instancji delegata, • publikator i subskrybent zdarzeń, • delegat parametrem metody: zapis i znaczenie (semantyka) • metoda anonimowa i wyrażenia lambda, • definiowanie własnych zdarzeń, |
||||||||||||||||||
Metody dydaktyczne: |
1) Prezentacja (z użyciem projektora) omawianych właściwości technik programowania obiektowego oraz odpowiadających im właściwości języka programowania C# . 2) Prezentacja implementacji omawianych programów graficznych: animacji komputerowej, przeciążania operatorów, projektowania klas opisu figur i brył geometrycznych, wykonywanie podstawowych przekształceń afinicznych na wykreślonych figurach i bryłach geometrycznych. |
||||||||||||||||||
Metody i kryteria oceniania: |
W ramach przedmiotu wykonywane są 3 indywidualne zadania projektowe: • Projekt Nr 1: kreślenie figur geometrycznych oraz projekt animacji komputerowej ruchu obiektu po torze linii krzywej (wyznaczonej przez szereg potęgowy) • Projekt Nr 2: projekt i implementacja programu, zorientowanego obiektowo, prezentacji figur geometrycznych i linii krzywych, • Projekt Nr 3: projekt i implementacja programu, zorientowanego obiektowo, prezentacji brył geometrycznych. Podstawą zaliczenia projektu jest jego oddanie w terminie wraz z dokumentacją. Termin oddania projektu ustala wykładowca. Zasady zaliczenia przedmiot Ocena końcowa z zaliczenia przedmiotu jest średnią arytmetyczną trzech ocen: • oceny (średniej) z realizacji projektów wykonywanych na zajęciach laboratoryjnych: Ol= (L1 + L2 + L3)/3 • oceny (średniej) z realizacji projektów indywidualnych (planowane są 3 projekty indywidualne): Op = (P1 + P2 + P3)/3 • oceny z egzaminu zasadniczego z przedmiotu: Programowanie obiektowe, Przy czym: • wyznaczona średnia arytmetyczna tych trzech ocen jest zaokrąglana („w górę”) na korzyść studenta: 3, 3.5, 4, 4.5, 5, • z egzaminu końcowego można być zwolnionym, jeśli w terminie zostaną wykonane (i przesłane do prowadzącego zajęcia) 3 projekty laboratoryjne i 3 projekty indywidualne. Ponadto: • za zrealizowanie projektów (w terminie), student ma doliczane 0.5 pkt. extra premii nagrodowej, • za nie wykonanie projektów wykonywanych na zajęciach laboratoryjnych oraz projektów indywidualnych, student otrzymuje 0 punktów, • za nieusprawiedliwioną nieobecność na egzaminie student otrzymuje 0 punktów, Wpisywane oceny w USOS: • NB kiedy student nie uczestniczył w egzaminie, • NKL kiedy student nie uczestniczył w zajęciach i nie oddał projektów, • 2 kiedy student uzyskał ocenę wyliczeniową: < 3.0 • 3, 3.5, 4, 4.5, 5 kiedy student uzyskał ocenę wyliczeniową: ≥ 3.0 Wyrównywania zaległości powstałych wskutek nieobecności na zajęciach: • wymaga od studenta samodzielnego opanowania materiału prezentowanego (omawianego) na tych zajęciach, • nie zwalnia z obowiązku zaliczenia danych zajęć laboratoryjnych. Wymagania ogólne: Zgodnie z Regulaminem Studiów AFiBV podstawowym terminem uzyskania zaliczenia jest ostatni dzień zajęć w danym semestrze. Termin zaliczenia poprawkowego jest określany przez prowadzącego zajęcia w termin sesji poprawkowej. Formę i warunki zaliczenia poprawkowego ustala prowadzący zajęcia. |
||||||||||||||||||
Uwagi: |
Warunkiem przystąpienia do egzaminu i zaliczenia wykładu jest wcześniejsze uzyskanie zaliczenia: zajęć laboratoryjnych oraz projektów samodzielnie wykonywanych. |
Właścicielem praw autorskich jest Akademia Finansów i Biznesu Vistula.