Akademia Finansów i Biznesu Vistula - Centralny System Uwierzytelniania
Strona główna

Programowanie obiektowe [CII2NP006CI] Semestr zimowy 2022/2023
Wykład, grupa nr 1

powiększ
plan zajęć przedmiotu
zaznaczono (na zielono) terminy
aktualnie wyświetlanej grupy
To jest strona grupy zajęciowej. Jeśli szukasz opisu przedmiotu, zobacz stronę przedmiotu
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: Podana informacja o terminie jest orientacyjna. W celu uzyskania pewnej informacji obejrzyj kalendarz roku akademickiego lub skontaktuj się z wykładowcą (nieregularności zdarzają się przede wszystkim w przypadku zajęć odbywających się rzadziej niż co tydzień).
wielokrotnie, niedziela (niestandardowa częstotliwość), 12:30 - 14:25
sala 128 (Graphic Adob)
Vistula University jaki jest adres?
Terminy najbliższych spotkań: Daty odbywania się zajęć grupy. Prezentują informacje na podstawie zdefiniowanych w USOS terminów oraz spotkań.
Kliknij w datę by zobaczyć tygodniowy plan z zaznaczonym spotkaniem.
Wszystkie zajęcia tej grupy już się odbyły - pokaż terminy wszystkich spotkań.
Data i miejsceProwadzący
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.

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Akademia Finansów i Biznesu Vistula.
ul. Stokłosy 3
02-787 Warszawa
tel: +48 22 45 72 300 https://vistula.edu.pl/
kontakt deklaracja dostępności USOSweb 7.0.0.0-1 (2023-09-06)