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

Programowanie obiektowe

Informacje ogólne

Kod przedmiotu: CII2SP005CI
Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Programowanie obiektowe
Jednostka: Kierunek-Informatyka
Grupy: Informatyka 2 sem. PL ST
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Rodzaj przedmiotu:

obowiązkowe

Tryb prowadzenia:

zdalnie

Wymagania (lista przedmiotów):

Introduction to Database CII1SE02

Założenia (lista przedmiotów):

Introduction to Database CII1SE02

Założenia (opisowo):

Umiejętność programowania w języku C#, analiza matematyczna

Skrócony opis:

1) będzie miał znajomość paradygmatów programowania zorientowanego obiektowo: hermetyzacja, dziedziczenie, polimorfizm,

2) potrafi projektować programy zorientowane obiektowo stosując paradygmaty programowania zorientowanego obiektowo (hermetyzacja, dziedziczenie, polimorfizm, przeciążanie operatorów i metod),

3) będzie miał znajomość narzędzi GDI+ oraz podstaw projektowania programów zorientowanych obiektowo w obszarze grafiki 2D,

4) potrafi opracować dokumentację zadania projektowego i przygotować prezentację sposobu jego implementacji,

5) potrafi posługiwać się narzędziami udostępnianymi przez środowisko narzędziowe Visual Studio dla potrzeb projektowania programów zorientowanych obiektowo w języku CSharp (C#).

Pełny opis:

Wykład:

1) Wprowadzenie do projektowania zorientowanego obiektowo: paradygmaty programowania zorientowanego obiektowo: hermetyzacja (enkapsulacja), dziedziczenie (inheritance), polimorfizm (wirtualizacja, abstrakcja), przeciążanie metod i operatorów (methods overloading, operators overloading), programowanie generyczne (generic programming).

2) Właściwości klas. tworzenie ich instancji (egzemplarzy, obiektów) oraz wywoływanie publicznych metod i właściwości klas,

2) Deklaracje klas (struktura): modyfikatory dostępu, deklaracje prywatne i publiczne klas, konstruktory klas, właściwości,

3) Deklaracje klas (c.d.): indeksatory, deklaracje metod, przeciążanie metod i operatorów, deklarowanie funkcji konwersji jawnych i niejawnych.

4) Tworzenie hierarchii klas (obiektów) z zastosowaniem paradygmatu programowania obiektowego: dziedziczenia (inheritance) i polimorfizmu (polymorphism).

5) Tworzenie hierarchicznej struktury klas figur geometrycznych 2D: Punkt, Linia, Elipsa, Okrąg, Prostokąt, Kwadrat, Wielokąt, ...,

6) Wprowadzenie do 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.

7) Zastosowanie klas statycznych w projektowaniu programów (zorientowanych obiektowych) kreślenie wykresu zmian wartości szeregu potęgowego (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 i PrzeliczanieWspółrzędnych,

• deklaracja metod statycznych,

8) Animacje komputerowe (według ścieżki ruchu): wyznaczanie linii toru, animacja ruchu obiektu po torze linii krzywej (wyznaczonej przez szereg potęgowy).

9) Obsługa zdarzeń: MouseDown, MouseMove, MouseUp, ….

w programach graficznych,

10) Wizualizacja brył geometrycznych ( z wykorzystaniem klas i metod abstrakcyjnych):

• deklaracje i właściwości klas abstrakcyjnych,

• deklaracje i właściwości metod abstrakcyjnych,

• tworzenie hierarchicznej struktury klas brył geometrycznych: Walec, Stożek, Kula, Ostrosłup, Graniastosłup, itd.,

11) Interfejsy:

• zastosowanie interfejsów podstawowych (IComparable i IComparer) w porządkowaniu (sortowaniu) listy brył goemetrycznych,

• włąściwości interfejsów systemowych:

• Idisposable,

• Ienumerable,

• Ienumerator,

• blok instrukcji using,

• składnia iteratorów (wzorzec projektowy iterator).

12) Delegaty i zdarzenia:

• dodawanie kontrolek (do formularza lub innych kontenerów) i obsługa wyzwalanych przez nich zdarzeń podczas działania programu,

• mechanizm i właściwości delegatów,

• 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ń,

Laboratoria (ćwiczenie):

Zajęcia laboratoryjne są przeznaczone na rozwijanie umiejętności projektowania programów zorientowanych obiektowo:

• projektowanie programów (zorientowanych obiektowo) wizualizacji figur geometrycznych: metody wirtualne i nadpisywanie metod

• projektowanie programów (zorientowanych obiektowo) graficznych wymagających obsługi zdarzeń: MouseDown, MouseMove, MouseUp,

• projektowanie programów (zorientowanego obiektowo) wizualizacji wybranych brył geometrycznych (Walec, Stożek, Kula, Ostrosłup, Graniastosłup, …): klasy i metody abstrakcyjne, nadpisywanie metod abstrakcyjnych, implementacja interfejsów, implementacja delegatów.

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,

• 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

Efekty uczenia się:

• ma znajomość paradygmatów programowania zorientowanego obiektowo: hermetyzacja, dziedziczenie, polimorfizm (wirtualizacja, abstrakcja), przeciążanie operatorów,

• ma znajomość narzędzi GDI+ oraz podstaw projektowania programów zorientowanych obiektowo w obszarze grafiki 2D,

• potrafi projektować programy zorientowane obiektowo stosując paradygmaty programowania zorientowanego obiektowo.

• potrafi posługiwać się narzędziami udostępnianymi przez środowisko narzędziowe Visual Studio dla potrzeb projektowania programów zorientowanych obiektowo w języku CSharp (C#),

• potrafi opracować dokumentację zadania projektowego i przygotować prezentację sposobu jego implementacji.

Metody i kryteria oceniania:

Wykład:

• 3 indywidualne projekty (P1, P2 i P3) zorientowane obiektowo z zastosowaniem grafiki 2D,

• 3 sprawdziany pisemne (projektowe),

• egzamin pisemny w sesji zasadniczej

Laboratoria:

• obecność na zajęciach i 3 ukończone projekty, które były realizowane na zajęciach laboratoryjnych.

Obszary tematyczne projektów:

Projekt Nr 1: przeciążanie metod i operatorów (klasa Macierz, klasa Liczby zespolone),

Projekt Nr 2: animacja i wizualizacja figur geometrycznych (hermetyzacja, dziedziczenie, polimorfizm),

Projekt Nr 3: wizualizacja dynamiczna (obroty, zmiana położenia) brył geometrycznych (klasy i metody abstrakcyjne).

Zajęcia w cyklu "Semestr letni 2021/2022" (zakończony)

Okres: 2022-02-19 - 2022-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Leszek Jung
Prowadzący grup: Leszek Jung
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin/zaliczenie na ocenę/zal w skali zal-std2
Ćwiczenia - Egzamin/zaliczenie na ocenę/zal w skali zal-std2
Wykład - Egzamin/zaliczenie na ocenę/zal w skali zal-std2

Zajęcia w cyklu "Semestr letni 2022/2023" (zakończony)

Okres: 2023-02-18 - 2023-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Leszek Jung
Prowadzący grup: Piotr Bilski, Leszek Jung
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin/zaliczenie na ocenę/zal w skali zal-std2
Laboratorium - Egzamin/zaliczenie na ocenę/zal w skali zal-std2
Wykład - Egzamin/zaliczenie na ocenę/zal w skali zal-std2

Zajęcia w cyklu "Semestr zimowy 2023/2024" (zakończony)

Okres: 2023-10-01 - 2024-02-18
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Leszek Jung
Prowadzący grup: Leszek Jung
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin/zaliczenie na ocenę/zal w skali zal-std2
Laboratorium - Egzamin/zaliczenie na ocenę/zal w skali zal-std2
Wykład - Egzamin/zaliczenie na ocenę/zal w skali zal-std2

Zajęcia w cyklu "Semestr letni 2023/2024" (w trakcie)

Okres: 2024-02-19 - 2024-07-14
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Bartosz Szmit
Prowadzący grup: Bartosz Szmit
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin/zaliczenie na ocenę/zal w skali zal-std2
Laboratorium - Egzamin/zaliczenie na ocenę/zal w skali zal-std2
Wykład - Egzamin/zaliczenie na ocenę/zal w skali zal-std2
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)