Programowanie III (C#)
1000-I1PR3C#
Tematyka zajęć:
- Wprowadzenie do języka C# oraz frameworków .NET i .NET Framework.
- Podstawy syntaktyki i konstrukcji obiektowych.
- Dziedziczenie, polimorfizm.
- Interfejsy, klasy abstrakcyjne, zapieczętowane, wewnętrzne, zagnieżdżone i anonimowe, typy wyliczeniowe; metody wirtualne, abstrakcyjne i zapieczętowane.
- Własności i indeksery, statyczne i instancyjne składowe klas, pola tylko do odczytu.
- Elementy standardowej biblioteki: wyjątki, kolekcje, wyrażenia lambda, strumienie, obsługa wejścia/wyjścia.
- Atrybuty.
- Wątki i zadania, mechanizmy asynchroniczności.
- Testy jednostkowe (MS Test, NUnit i xUnit).
- Aplikacje konsolowe, desktopowe (WPF i Windows Forms) i biblioteki.
- Podstawy obsługi baz danych.
- Podstawy programowania sieciowego (gniazda, TCP-listenery i TCP klienci, ew. wybrany mechanizm wyższego poziomu - typu WCF).
- Podstawy tworzenia aplikacji webowych w C#.
Całkowity nakład pracy studenta
1 godz. - egzamin
45 godz. - ćwiczenia
50 godz. - praca własna - bieżące przygotowanie do zajęć, studiowanie literatury, przygotowywanie prac domowych,
35 godz. praca własna - przygotowanie do egzaminu.
Razem 131 godzin
4 punktów ECTS
Efekty uczenia się - wiedza
zna podstawowe konstrukcje programistyczne oraz pojęcia składni i semantyki języka C# (K_W03)
ma wiedzę na temat inżynierii oprogramowania, w tym projektowania (wzorce projektowe, architektura oprogramowania, analiza i projektowanie obiektowe), wykorzystania API, narzędzi i środowisk wytwarzania oprogramowania (K_W11)
Efekty uczenia się - umiejętności
potrafi pracować indywidualnie, potrafi zarządzać swoim czasem oraz podejmować zobowiązania i dotrzymywać terminów (K_U03)
potrafi pisać, uruchamiać i testować programy w wybranym środowisku programistycznym (K_U05)
projektuje, analizuje pod kątem poprawności i złożoności obliczeniowej oraz programuje algorytmy; wykorzystuje podstawowe techniki algorytmiczne i struktur danych (K_U07)
posiada umiejętność tworzenia prostych, bezpiecznych aplikacji internetowych z wykorzystaniem baz danych (K_U14)
potrafi zaprojektować wygodny interfejs użytkownika ze szczególnym uwzględnieniem aplikacji internetowych (K_U15)
potrafi stworzyć model obiektowy prostego systemu (K_U16)
projektuje oprogramowanie zgodnie z metodyką obiektową (K_U22)
tworzy, ocenia i realizuje plan testowania oprogramowania (K_U26)
Efekty uczenia się - kompetencje społeczne
Myśli twórczo w celu udoskonalenia istniejących bądź stworzenia nowych rozwiązań (K_K02)
Jest nastawiony na jak najlepsze wykonanie zadania; dba o szczegół; jest systematyczny (K_K04)
Jest nastawiony na nieustanne zdobywanie nowej wiedzy, umiejętności i doświadczeń; rozumie potrzebę ciągłego doskonalenia się i podnoszenia kompetencji zawodowych (K_K06)
Metody dydaktyczne
1) Kolokwium programistyczne
2) Zaliczenie wykładu na podstawie projektu.
Rodzaj przedmiotu
przedmiot obligatoryjny
Wymagania wstępne
- Umiejętność programowania w języku C/C++
- Podstawowa wiedza na temat programowania obiektowego
Koordynatorzy przedmiotu
Kryteria oceniania
1) zaliczenie kolokwium programistycznego
2) stworzenie i zaprezentowanie projektu programistycznego
Literatura
John Sharp, Microsoft Visual C# Step by Step
ECMA-334 Standard, C# language specification (https://ecma-international.org/publications-and-standards/standards/ecma-334/)
Materiały i kursy na platformie Microsoft Learn (https://learn.microsoft.com/pl-pl/dotnet/csharp/)
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i
terminach zajęć) mogą być dostępne w serwisie USOSweb: