Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowaniaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Zaawansowane programowanie obiektowe

Informacje ogólne

Kod przedmiotu: 0800-ZAPROB Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji
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
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 2017/18" (zakończony)

Okres: 2018-02-26 - 2018-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
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 2018/19" (zakończony)

Okres: 2019-02-25 - 2019-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
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 2019/20" (zakończony)

Okres: 2020-02-29 - 2020-09-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Krzysztof Grąbczewski
Prowadzący grup: Piotr Ablewski, Krzysztof Grąbczewski
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 2020/21" (jeszcze nie rozpoczęty)

Okres: 2021-02-22 - 2021-09-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
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
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.