Programowanie obiektowe 2
0800-PROBIEKT2
Program zajęć:
1. Projektowanie obiektowe - kapsułkowanie, ochrona danych
2. Typy wartościowe i referencyjne
3. Klasy i obiekty, ochrona danych przez modyfikatory dostępu
4. Polimorfizm – przeciążanie operatorów
5. Dziedziczenie,
6. Abstrakcyjne typy danych
a. Metody wirtualne, klasy abstrakcyjne,
b. Interfejsy a klasy abstrakcyjne
7. Typy i metody ogólne (ang. generics)
8. Obsługa wyjątków
9. Biblioteki .NET
10. Wyrażenia regularne, system LINQ
11. Strumienie i serializacja
12. Mechanizm refleksji
13. Nowsze wersje języka C# (6.x, 7.x)
Całkowity nakład pracy studenta
Godziny realizowane z udziałem nauczycieli (60 godz.):
- udział w wykładach – 30 godz.
- udział w laboratorium – 30 godz.
Czas poświęcony na pracę indywidualną studenta (90 godz.):
- przygotowanie do laboratorium – 40 godz.
- pisanie prac, projektów oraz przygotowanie do kolokwium – 50 godz.
Łącznie: 150 godz. (6 punktów ECTS)
Efekty uczenia się - wiedza
W1: posiada wiedzę w zakresie tworzenia i analizy algorytmów, a także analizy ich złożoności obliczeniowej, (K_W04 dla ISs1)
W2: posiada wiedzę na temat projektowania i programowania obiektowego, (K_W10 dla ISs1)
W3: ma podstawową wiedzę o cyklach życia systemów informatycznych różnego typu; posiada wiedzę w zakresie obiektowych konstrukcji systemów, posiada wiedzę o przydatnych narzędziach, bibliotekach programowania obiektowego i sposobach ich wykorzystania do budowania systemów. (K_W11 dla ISs1)
Efekty uczenia się - umiejętności
U1: ma umiejętność formułowania algorytmów i ich programowania z użyciem wybranych narzędzi programistycznych oraz potrafi ocenić złożoność obliczeniową algorytmów i problemów informatycznych (K_U08 dla ISs1)
U2: potrafi stworzyć model obiektowy prostego systemu informatycznego; potrafi zastosować metody analizy problemu, wyodrębniania niezależnych modułów, uogólniania zagadnień dla tworzenia rozwiązań problemów w postaci obiektowo zorientowanych modeli (K_U10 dla ISs1),
U3: potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań informatyczno-inżynierskich; potrafi wykorzystywać właściwe narzędzia programistyczne w celu obsługi obiektowo zorientowanych projektów (K_U12 dla ISs1)
U4: potrafi - zgodnie z zadaną specyfikacją - zaprojektować oraz zrealizować prosty system informatyczny, używając właściwych metod, technik i narzędzi, (K_U13 dla ISs1)
U5: potrafi wykonać prostą analizę sposobu funkcjonowania oprogramowania, systemu informatycznego, czy infrastruktury informatycznej (K_U21 dla ISs1)
U6: potrafi ocenić, na podstawowym poziomie, przydatność rutynowych metod i narzędzi informatycznych oraz wybrać i zastosować właściwą metodę i narzędzia do typowych zadań informatycznych (K_U22 dla ISs1)
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 eksponujące
- pokaz
Metody dydaktyczne podające
- wykład informacyjny (konwencjonalny)
Metody dydaktyczne poszukujące
- klasyczna metoda problemowa
Wymagania wstępne
Programowanie strukturalne w języku C, programowanie obiektowe 1
Koordynatorzy przedmiotu
W cyklu 2024/25L: | W cyklu 2023/24L: | W cyklu 2022/23L: | W cyklu 2021/22L: |
Kryteria oceniania
Metody oceniania:
kolokwium i egzamin - W1-W3
projekty i praca bieżąca w ramach laboratorium – U1- U6
Kryteria oceniania:
Wykład: egzamin na ocenę:
ndst < 50%
dst >= 50%
dst plus >= 57,5%
db >= 65%
db plus >= 72,5%
bdb >= 80%
Laboratorium – zaliczenie na ocenę na podstawie wyników kolokwium (40%) oraz oceny przygotowanych projektów i pracy bieżącej (60%):
ndst < 50%
dst >= 50%
dst plus >= 57,5%
db >= 65%
db plus >= 72,5%
bdb >= 80%
Literatura
Literatura podstawowa:
1. Krzysztof Grąbczewski, Slajdy do wykładu, http://www.is.umk.pl/~kg/zajecia/PO2/PO2.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
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i
terminach zajęć) mogą być dostępne w serwisie USOSweb: