Kod przedmiotu 07 67 5030 17
Liczba punktów ECTS 3
Nazwa przedmiotu w języku prowadzenia
Programming Technologies
Nazwa przedmiotu w języku polskim Programming Technologies (Technologie programowania)
Nazwa przedmiotu w języku angielskim
Programming Technologies
Język prowadzenia zajęć angielski
Poziom studiów studia pierwszego stopnia
Kierownik przedmiotu dr inż. Mariusz Postół, dr inż. Dariusz Puchała
Realizatorzy przedmiotu
Formy zajęć i liczba godzin w semestrze
Wykład Ćwiczenia Laboratorium Projekt Seminarium Inne Suma godzin w semestrze
Godziny kontaktowe 15 30 0 45
Czy e-learning Nie Nie Nie Nie Nie Nie
Kryteria oceny (waga) 0,00 0,00 0,00
Cel przedmiotu
  1. Poznanie składni języka C# i struktury platformy .NET wraz z podstawowymi zasadami tworzenia aplikacji z użyciem dedykowanego środowiska programistycznego.
  2. Poznanie wybranych wzorców projektowych aplikacji i ich praktyczna realizacja w środowisku .NET.
  3. Nabycie praktycznych umiejętności tworzenia aplikacji dedykowanych dla platformy .NET z wykorzystaniem środowiska programistycznego Visual Studio.
Efekty kształcenia
  1. Student zna i rozumie strukturę platformy .NET.
  2. Student zna składnię i podstawowe koncepcje programistyczne związane z językiem C#.
  3. Student zna sposoby realizacji podstawowych paradygmatów programowania obiektowego w języku C#.
  4. Student potrafi korzystać ze środowiska programistycznego Visual Studio.
  5. Student potrafi tworzyć aplikacje z wykorzystaniem języka C# i platformy .NET z zastosowaniem paradygmatów programowania obiektowego.
  6. Student potrafi samodzielnie korzystać z dokumentacji platformy .NET celem wyszukania niezbędnych informacji.
  7. Student posiada umiejętność opisu stworzonych przez siebie rozwiązań, a także posiada umiejętność pracy w zespole.
Metody weryfikacji efektów kształcenia
Efekty 1, 2, 3 - kolokwium wykładowe.
Efekty 4, 5, 6, 7 - ustne omówienie stworzonej aplikacji, rozmowa ze studentem, raport końcowy z realizacji projektu.

Jedno kolokwium wykładowe. Ocena laboratoryjna wystawiona na podstawie ocen z realizowanego projektu. Ocena końcowa liczona jako średnia ważona z oceny wykładowej i oceny laboratoryjnej z wagami odpowiednio 1/3 i 2/3.
Wymagania wstępne
Podstawy programowania, Programowanie obiektowe.
Treści kształcenia z podziałem na formy
Treści wykładowe:
1. Wprowadzenie do technologii Microsoft .NET Framework. Wizja i składniki platformy .NET. Zapoznanie ze składnią i podstawowymi konstrukcjami języka C# na przykładzie najprostszej aplikacji konsolowej. Zapoznanie ze środowiskiem programistycznym Visual Studio.
2. Typy danych i deklarowanie zmiennych w języku C#.  Konwersje typów. Restrykcje w nazewnictwie. Podstawowe konstrukcje programistyczne: operatory (porównania, arytmetyczne, logiczne, bitowe, przypisania, etc.), instrukcje warunkowe (if, else if, switch), pętle (while, do-while, for, break, continue). Zarządzanie pamięcią (Garbage Collector).
3. Klasy w języku C#. Typy mutable i immutable, domniemane i anonimowe. Metody, metody statyczne, konstruktor, destruktor. Cechy charakterystyczne klas języka C# (sealed, partial, abstract, virtual). Podstawowe elementy programowania obiektowego (polimorfizm, hermetyzacja, dziedziczenie klas). Właściwości (properties). Indeksery (indexers).
4. Delegaty i zdarzenia. Tworzenie i użycie delegatów. Metody anonimowe.
5. Tablice i kolekcje. Deklaracja i inicjalizacja tablic. Tablice wielowymiarowe. Sposoby indeksacji. Stosy, kolejki i słowniki.
6. Obsługa wyjątków w języku C#. 
7. Elementy programowania wielowątkowego. Synchronizacja wątków (lock, monitor).
8. Wybrane biblioteki .NET (WinForms, WPF).

Treści laboratoryjne.
W ramach zajęć laboratoryjnych studenci pracując w zespołach realizują zadania projektowe w zakresie dotyczącym treści przedmiotowych.
Literatura podstawowa
  1. Ch. Nagel, Professional C# 6 and .NET Core 1.0, 2016.
  2. M. Michaelis, E. Lippert, Essential C# 6.0, 2015.
  3. J. Hilyard, S. Teilhet, C# 6.0 Cookbook, 2015.
  4. Microsoft documentation (https://docs.microsoft.com/en-us/dotnet/articles/csharp/csharp).
Literatura uzupełniająca
  1. J. Albahari, B. Albahari, C# 6.0 in a Nutshell, 2015.
  2. A. Esposito, M. Ciceri, Reactive Programming for .NET Developers, 2016.
  3. J. Visser, S. Rigal, R. van der Leek, Building Maintanable software, 2016.
Przeciętne obciążenie godzinowe studenta pracą własną
6
Uwagi
Aktualizacja