- Nazwa przedmiotu:
- Programowanie 3 - zaawansowane
- Koordynator przedmiotu:
- Dr inż. Jan Bródka, Mgr inż. Maciej Bartoszuk, Mgr inż. Jan Karwowski
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- 1120-IN000-ISP-0234
- Semestr nominalny:
- 3 / rok ak. 2017/2018
- Liczba punktów ECTS:
- 4
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
-
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium30h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Programowanie 1 – strukturalne
Programowanie 2 – obiektowe
- Limit liczby studentów:
- Laboratoria (ćwiczenia komputerowe) – 12-15 os. /grupa
- Cel przedmiotu:
- Celem przedmiotu jest zdobycie biegłości w programowaniu w jednym z popularnych języków obiektowych z wykorzystaniem wszystkich, również zaawansowanych, konstrukcji tego języka (obecnie jako przykładowy język obiektowy wykorzystywany jest język C#).
Po ukończeniu kursu studenci powinni:
- znać, rozumieć i umieć stosować w praktyce pojęcia i koncepcje paradygmatu programowania obiektowego takie jak klasa, obiekt, dziedziczenie, polimorfizm, hermetyzacja danych,
- znać i umieć stosować wszystkie (również zaawansowane) konstrukcje języka C#, w tym: metody rozszerzające, definiowanie operatorów, iteratory yield, wyrażenia lambda, typy uogólnione (generyczne), konstrukcje asynchroniczne, serializacja, technologia LINQ,
- posiadać podstawową wiedzę o środowisku .NET i wchodzących w jego skład bibliotekach standardowych (np. kolekcjach standardowych),
- posiadać praktyczną umiejętność tworzenia prostych aplikacji konsolowych.
- Treści kształcenia:
- Język C++: Przypomnienie i uzupełnienie informacji o bibliotece STL i standardach C++11 i C++14.
Język C#: Podstawowe informacje na temat platformy .NET, przegląd konstrukcji języka C#. Klasy, dziedziczenie i polimorfizm, hermetyzacja danych, typy referencyjne i bezpośrednie, metody przeciążone. Definiowanie operatorów, właściwości i indeksatorów. Interfejsy, iteratory yield, metody rozszerzajęce. Typy uogólnione (generyczne). Delegacje, wyrażenia lambda. Zdarzenia, wyjątki. Programowanie asynchroniczne i równoległe. Przegląd standardowej biblioteki klas (w tym kolekcje standardowe, strumienie i pliki, serializacja). Technologia LINQ. Kod nienadzorowany, wskaźniki, łączenie C# z C++.
- Metody oceny:
- Zaliczenie przedmiotu na podstawie laboratorium, na każdych zajęciach oddzielnie punktowane zadanie, ocena końcowa zależy od uzyskanej sumy punktów, obecność obowiązkowa, nie ma możliwości poprawiania poszczególnych zadań. Łączną ocenę punktową studentów przelicza się na stopnie według poniższych zasad:
- 2.0 jeżeli uzyskali poniżej 50% pkt.
- 3.0 jeżeli uzyskali od 50% do 60% pkt.
- 3.5 jeżeli uzyskali od 60% do 70% pkt.
- 4.0 jeżeli uzyskali od 70% do 80% pkt.
- 4.5 jeżeli uzyskali od 80% do 90% pkt.
- 5.0 jeżeli uzyskali co najmniej 90% pkt.
- Egzamin:
- nie
- Literatura:
- 1. I. Griffiths, C# 5.0. Programowanie, Helion, 2013.
2. A. Troelsen, Język C# 2010 i platforma .NET 4, PWN, 2011.
3. J. Skeet, C# od podszewki, Helion, 2012.
4. Materiały z wykładów na stronie internetowej http://www.mini.pw.edu.pl/~brodka.
- Witryna www przedmiotu:
- e.mini.pw.edu.pl
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Efekt W01
- Ma uporządkowaną wiedzę ogólną w zakresie języków i paradygmatów programowania
Weryfikacja: bieżąca ocena zadań wykonywanych na laboratorium
Powiązane efekty kierunkowe:
K_W06
Powiązane efekty obszarowe:
T1A_W03
- Efekt W02
- Ma szczegółową wiedzę nt. projektowania i programowania obiektowego
Weryfikacja: bieżąca ocena zadań wykonywanych na laboratorium
Powiązane efekty kierunkowe:
K_W08
Powiązane efekty obszarowe:
T1A_W04
Profil ogólnoakademicki - umiejętności
- Efekt U01
- Ma umiejętność formułowania algorytmów i ich programowania z użyciem jednego z popularnych narzędzi
Weryfikacja: bieżąca ocena zadań wykonywanych na laboratorium
Powiązane efekty kierunkowe:
K_U11
Powiązane efekty obszarowe:
T1A_U09, T1A_U14, T1A_U15