Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

Zaawansowane programowanie obiektowe

Informacje ogólne

Kod przedmiotu: 0800-ZAPROB
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: Zaawansowane programowanie obiektowe
Jednostka: Wydział Fizyki, Astronomii i Informatyki Stosowanej
Grupy:
Strona przedmiotu: http://www.is.umk.pl/~kg/zajecia/
Punkty ECTS i inne: 3.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
Wymagania wstępne:

Programowanie obiektowe.


Całkowity nakład pracy studenta:

Godziny realizowane z udziałem nauczycieli (45 godz.):

- udział w wykładach – 15 godz.

- udział w laboratorium – 30 godz.


Czas poświęcony na pracę indywidualną studenta (45 godz.):

- przygotowanie do laboratorium – 20 godz.

- pisanie prac, projektów oraz przygotowanie do kolokwium – 25 godz.


Łącznie: 90 godz. (3 punkty ECTS)

Efekty uczenia się - wiedza:

W01: posiada rozszerzoną wiedzę w zakresie zaawansowanej konstrukcji i analizy obiektowo zorientowanych programów, zna zasady i techniki projektowania i programowania obiektowego,

W02: posiada rozbudowaną wiedzę w zakresie zaawansowanych aspektów języków programowania (głównie C#, ewentualnie C++), zaawansowanych konstrukcji (takich jak zapytania LINQ czy narzędzia korzystania z wyrażeń regularnych),

W03: posiada wiedzę o przydatnych narzędziach oraz bibliotekach ułatwiających m.in. budowanie aplikacji wielowątkowych czy graficznych interfejsów użytkownika.


Efekty przedmiotowe W01-W03 realizują efekty kierunkowe: K_W02, K_W04, K_W05.

Efekty uczenia się - umiejętności:

U01: potrafi wykorzystać posiadaną wiedzę do tworzenia obiektowo zorientowanych projektów i ich implementacji, formułować i testować hipotezy związane z efektywnością projektowanych i implementowanych systemów,

U02: potrafi stworzyć plan dużych projektów informatycznych w paradygmacie projektowania obiektowego,

U03: potrafi krytycznie ocenić nowe technologie i narzędzia programistyczne i diagnostyczne, potrafi dokonać ich wyboru do realizacji zadanych problemów,

U04: potrafi zaprojektować i zaimplementować rozszerzenia lub ulepszenia do istniejących systemów zorientowanych obiektowo,

U05: potrafi wykorzystywać zaawansowane narzędzia programistyczne wspomagające projektowanie i programowanie obiektowe.


Efekty przedmiotowe U01-U05 realizują efekty kierunkowe: K_U04, K_U06, K_U08, K_U09, K_U11.

Metody dydaktyczne:

Wykład ilustrowany jest licznymi przykładami. Materiały są udostępniane w formie elektronicznej.

Problemy projektowe i implementacyjne są dyskutowane i rozwiązywane w trakcie wykładu i w ramach laboratorium.


Metody dydaktyczne podające:

- wykład informacyjny (konwencjonalny)


Metody dydaktyczne poszukujące:

- klasyczna metoda problemowa

- laboratoryjna

- projektu


Metody dydaktyczne podające:

- wykład informacyjny (konwencjonalny)

Metody dydaktyczne poszukujące:

- klasyczna metoda problemowa
- laboratoryjna
- projektu

Skrócony opis:

Celem przedmiotu jest przedstawienie bardziej zaawansowanych metodologii projektowania i programowania obiektowego, pewnych znanych technologii obiektowych oraz specyfiki języka C#.

Pełny opis:

Program zajęć:

* Metodologia budowania dużych projektów}, budowa bibliotek dla .Net i wymiana informacji pomiędzy bibliotekami

* Interfejsy i klasy ogólne, uniwersalne implementacje poznanych wcześniej algorytmów

* Metody rozszerzające

* Delegaty, zdarzenia, metody anonimowe

* Wielowątkowość aplikacji, mechanizmy synchronizacji

* Programowanie asynchroniczne w .NET 4.5

* Zrównoleglanie algorytmów na przykładzie sortowania przez łączenie

* Interfejs graficzny, tworzenie kontrolek dla Windows Forms

* Strumienie, Serializacja, .NET remoting

* Sposoby ochrony procesu, wykorzystanie domen aplikacji

* Mechanizmy meta-danych, reflection, atrybuty i ich zastosowanie,

generowanie kodu on-line (dodawanie kodu w czasie wykonywania programu)

* Jak robić automatyczne pluginy do programu - przeszukiwanie zestawów

* MEF & SimpleCalculator3 example

* Metodyka budowania testów tworzonego kodu dla środowiska .Net

* Klasy Debug i Trace, TraceSwitch

* Różne ciekawe technologie (wyrażenia regularne, LINQ, XML, bazy danych i inne)

* Programowanie dynamiczne

* Integracja kodu C# z językami dynamicznymi

* Wzorce projektowe, wzorzec MVC w wydaniu Microsoftu, mapowanie obiektowo-relacyjne (ORM, EntityFramework)

* Zaawansowane struktury danych i algorytmy w .Net

Literatura:

1. Krzysztof Grąbczewski, Slajdy do wykładu, http://www.is.umk.pl/~kg/zajecia/ZPO/ZPO.pdf.

2. https://docs.microsoft.com/

3. Jesse Liberty i in. ,,C#. Programowanie'', wiele wydań

4. Joseph Albahari, Ben Albahari, ,,C# 5.0 in a Nutshell'', O'Reilly Media, 2012, wydanie V

5. Ben Albahari, Joseph Albahari, ,,C# 5.0. Leksykon kieszonkowy''

6. C# language specification, Microsoft

Metody i kryteria oceniania:

Metody oceniania:

kolokwium/praca w ramach laboratorium sprawdzają efekty kształcenia W01-W03.

projekty i praca bieżąca w ramach laboratorium sprawdzają efekty kształcenia U01-U05.

Kryteria oceniania:

Wykład jest pomyślany jako przygotowanie do laboratorium polegające na przekazaniu studentom ogólnych treści, niezbędnych do realizacji zadań laboratoryjnych. Zaliczenie wykładu jest skorelowane z zaliczeniem laboratorium.

Laboratorium – zaliczenie na ocenę na podstawie oceny przygotowanych projektów i pracy bieżącej (ewentualnie również wyników kolokwium):

ndst < 50%

dst >= 50%

dst plus >= 57,5%

db >= 65%

db plus >= 72,5%

bdb >= 80%

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

Okres: 2022-02-21 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Krzysztof Grąbczewski
Prowadzący grup: Krzysztof Grąbczewski, Michał Meina
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Wykład - Zaliczenie

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

Okres: 2023-02-20 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Krzysztof Grąbczewski
Prowadzący grup: Sebastian Meszyński
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Wykład - Zaliczenie

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

Okres: 2024-02-20 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Krzysztof Grąbczewski
Prowadzący grup: Sebastian Meszyński
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Wykład - Zaliczenie
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności USOSweb 7.0.2.0-1 (2024-03-12)