Wydział Informatyki - Informatyka (S2)
specjalność: inżynieria oprogramowania
Sylabus przedmiotu Zaawansowane techniki programowania C#:
Informacje podstawowe
Kierunek studiów | Informatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | drugiego stopnia |
Tytuł zawodowy absolwenta | magister | ||
Obszary studiów | nauki techniczne | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Zaawansowane techniki programowania C# | ||
Specjalność | inżynieria oprogramowania | ||
Jednostka prowadząca | Katedra Inżynierii Oprogramowania | ||
Nauczyciel odpowiedzialny | Valery Rogoza <wrogoza@zut.edu.pl> | ||
Inni nauczyciele | Valery Rogoza <wrogoza@zut.edu.pl> | ||
ECTS (planowane) | 2,0 | ECTS (formy) | 2,0 |
Forma zaliczenia | egzamin | Język | polski |
Blok obieralny | — | Grupa obieralna | — |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Ukończony kurs z Podstaw programowania |
W-2 | Ukończony kurs programowania obiektowego |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów z zasobami platformy Visual Studio do tworzenia, debugowania i uruchamiania kodów programowych w języku C# |
C-2 | Ukształtowanie umiejętności tworzenia klas (w tym hierarchii klas), obiektów i metod w realizacjach projektów programowych w języku C# |
C-3 | Zdobycie wiedzy, umiejętności i nawyków posługiwania się zaawansowanymi technikami tworzenia kodów programowych w języku C#, w tym : przeciążaniem operatorów, indeksatorami i właściwościami, interfejsami, tworzeniem i obsługiwaniem wyjątków, wykorzystaniem zasobów wejścia-wyścia, delegatami i zdarzeniami oraz wątkami i komunikacją sieciową |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Techniki tworzenia i posługiwania się uogólnieniami | 2 |
T-L-2 | Techniki posługiwania się hierarchją klas uogólnających, przeciążaniem metod wirtualnych w klasie uogólnającej, kowariancją i kontrawariancją parametrów typu uogólnającego | 2 |
T-L-3 | Zapoznanie się z podstawowymi technikami technologii LINQ: tworzenie zapytań, posługiwanie się operatorem "where", sortowanie wyników zapytania, posługiwania się operatorami "select", "from", "group", " into", "let" oraz "join" | 2 |
T-L-4 | Metody wykorzystania technologii LINQ: tworzenie typów anonimowych, tworzenie połaczenia grupowego, tworzenie zapytań, wykorzystanie drzew wyrażeń i metod rozszerzenia | 2 |
T-L-5 | Badania zagadnień powiązanych z konicznością tworzenia kodów niebezpiecznych: posługiwanie się wskaźnikamii i typami zerowanymi | 2 |
T-L-6 | Techniki posługiwania się biblioteką C#: składniki przestrzeni nazw System, klasa Math, struktury .NET, odpowiadające wartościowym typom wbudowanym, klasa Array i sortowanie w tablicach | 2 |
T-L-7 | Badania składników biblioteki C#: Klasa BitConverter. klasa Random, klasa GC i zarządzanie pamięcią, klasa object, klasa Tuple, interfejsy (IComparable, IEquatable, IConvertible i inne) | 2 |
T-L-8 | Badania technik tworzenia i formatowania wierszy | 1 |
15 | ||
wykłady | ||
T-W-1 | Uogólnienia: klasy, struktury, metody i delegaty i interfejsy uogólnające | 2 |
T-W-2 | Zaawansowane techniki programowania z wykorzystaniem uogólnień: posługiwanie się hierarchją klas uogólnających, przeciążanie metod wirtualnych w klasie uogólnającej, kowariancja i kontrawariancja parametrów typu uogólnającego, tworzenie instancji obiektów typów uogólnających | 2 |
T-W-3 | Podsatwy technologii LINQ: Tworzenie zapytań, posługiwanie się operatorem "where", sortowanie wyników zapytania, techniki posługiwania się operatorami "select", "from", "group", " into", "let" oraz "join" | 2 |
T-W-4 | Zaawansowane techniki zastosowania technologii LINQ: typy anonimowe, tworzenie połaczenia grupowego, metody tworzenia zapytań, drzewa wyrażeń, metody rozszerzenia, PLINQ | 2 |
T-W-5 | Kody niebezpieczne, wskaźniki, typy zerowane i słowa kluczowe | 2 |
T-W-6 | Biblioteka C#: składniki przestrzeni nazw System: klasa Math, struktury .NET, odpowiadające wartościowym typom wbudowanym, klasa Array i sortowanie w tablicach | 2 |
T-W-7 | Biblioteka C#: Klasa BitConverter. klasa Random, klasa GC i zarządzanie pamięcią, klasa object, klasa Tuple, interfejsy (IComparable, IEquatable, IConvertible i inne) | 2 |
T-W-8 | Techniki tworzenia i formatowania wierszy, klasa String | 1 |
15 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | uczestnictwo w zajęciach | 15 |
A-L-2 | Wykonanie programów poza zajęciami | 10 |
A-L-3 | Udzał w konsultacjach i zaliczeniu formy zajęć | 2 |
27 | ||
wykłady | ||
A-W-1 | uczestnictwo w zajęciach | 15 |
A-W-2 | Samodzielne studiowanie tematyki wykładów | 8 |
A-W-3 | Udzał w konsultacjach i egzaminie | 4 |
27 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjny. |
M-2 | Ćwiczenia laboratoryjne |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Ocena poprawności wykonania zadania programistycznego realizowanego na zajęciach. |
S-2 | Ocena formująca: Ocena poprawności wykonania zadań programistycznych realizowanych poza zajęciami |
S-3 | Ocena podsumowująca: Testowy egzamin pisemny |
Zamierzone efekty kształcenia - wiedza
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|
I_2A_D14/04_W01 Student potrafi zdefiniować problem i wskazać jego prawidłowe rozwiązanie w postaci utworzonej aplikacji | I_2A_W04, I_2A_W06 | — | C-3, C-1, C-2 | T-W-4, T-W-5, T-W-6, T-W-7, T-W-1, T-W-2, T-W-3, T-L-1, T-L-2, T-L-4, T-L-8, T-L-5, T-L-6, T-L-7, T-L-3 | M-1, M-2 | S-1, S-2, S-3 |
I_2A_D14/04_W02 Posługuje się zaawansowanymi zasobami języka C# oraz środowiskiem Visual Studio do tworzenia programów w języku C# | I_2A_W04, I_2A_W09 | — | C-3, C-2 | T-W-4, T-W-5, T-W-6, T-W-7, T-W-1, T-W-2, T-W-3, T-L-1, T-L-2, T-L-4, T-L-8, T-L-5, T-L-6, T-L-7, T-L-3 | M-1, M-2 | S-1, S-2, S-3 |
Zamierzone efekty kształcenia - umiejętności
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|
I_2A_D14/04_U01 Student potrafi od podstaw rozwiązać, zaprojektować i zaimplementować dany problem w postaci programu. | I_2A_U16, I_2A_U02, I_2A_U03 | — | C-3, C-1, C-2 | T-W-4, T-W-5, T-W-6, T-W-7, T-W-1, T-W-2, T-W-3, T-L-1, T-L-2, T-L-4, T-L-8, T-L-5, T-L-6, T-L-7, T-L-3 | M-1, M-2 | S-1, S-2 |
Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|
I_2A_D14/04_K01 W wyniku przprowadzonych zajęć student nabędzie następujące postawy: kreatywność w tworzeniu programów, zdolność do posługiwania się dokumentacją techniczną języka programowania, zdolność do pracy w grupie. | I_2A_K02, I_2A_K03 | — | C-3, C-1, C-2 | T-W-4, T-W-5, T-W-6, T-W-7, T-W-1, T-W-2, T-W-3, T-L-1, T-L-2, T-L-4, T-L-8, T-L-5, T-L-6, T-L-7, T-L-3 | M-1, M-2 | S-1, S-2, S-3 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_2A_D14/04_W01 Student potrafi zdefiniować problem i wskazać jego prawidłowe rozwiązanie w postaci utworzonej aplikacji | 2,0 | nie potrafi rozpoznać prostego problemu |
3,0 | potrafi rozpoznać prosty problem programistyczny | |
3,5 | potrafi rozpoznać oraz zdefiniować prosty problem programistyczny | |
4,0 | potrafi rozpoznać oraz zdefiniować prosty problem i zaimplementować do w języku C# | |
4,5 | potrafi rozpoznać oraz zdefiniować problem i zaimplementować go w języku C# z użyciem podstawowych konstrukcji języka C# | |
5,0 | potrafi rozpoznać oraz zdefiniować problem i zaimplementować go w języku C# z użyciem dowolnych konstrukcji języka | |
I_2A_D14/04_W02 Posługuje się zaawansowanymi zasobami języka C# oraz środowiskiem Visual Studio do tworzenia programów w języku C# | 2,0 | Student nie potrafi utworzyć projektu w Visual Studio i skompilowac programu |
3,0 | Student potrafi utworzyć projektu w Visual Studio i skompilować program | |
3,5 | Student potrafi utworzyć projektu w Visual Studio napisać program w języku C# oraz go skompilować i uruchomić | |
4,0 | Student potrafi utworzyć projektu w Visual Studio napisać program w języku C# korzystający z podstawowych bibliotek tego języka oraz go skompilować i uruchomić | |
4,5 | Student potrafi utworzyć projektu w Visual Studio napisać program w języku C# korzystający z dowolnych bibliotek tego języka oraz go skompilować i uruchomić | |
5,0 | Student potrafi utworzyć projektu w Visual Studio napisać program w języku C# korzystający z dowolnych bibliotek tego języka oraz go skompilować, uruchomić, profilować oraz debugować |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_2A_D14/04_U01 Student potrafi od podstaw rozwiązać, zaprojektować i zaimplementować dany problem w postaci programu. | 2,0 | Nie potrafi zaprojektować i zaimplementować problemu w postaci programu |
3,0 | potrafi rozpoznać prosty problem programistyczny i zaprojektować algorytm do danego problemu | |
3,5 | potrafi rozpoznać prosty problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem podstawowych konstrukcji języka C# | |
4,0 | potrafi rozpoznać dany problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem podstawowych konstrukcji i bibliotek języka C# | |
4,5 | potrafi rozpoznać dany problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem dowolnych konstrukcji i bibliotek języka C# | |
5,0 | potrafi rozpoznać dany problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem dowolnych konstrukcji i bibliotek języka C#, potrafi tworzyć oprogramoanie wielowątkowe oraz sieciowe |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_2A_D14/04_K01 W wyniku przprowadzonych zajęć student nabędzie następujące postawy: kreatywność w tworzeniu programów, zdolność do posługiwania się dokumentacją techniczną języka programowania, zdolność do pracy w grupie. | 2,0 | brak umięjętności tworzenia programów |
3,0 | potrafi tworzyć programy z wykorzystaniem podstawowych konstrukcji języka C# | |
3,5 | potrafi tworzyć programy z wykorzystaniem podstawowych konstrukcji języka C# potrafi w sposób kreatywny tworzyć porgramy | |
4,0 | potrafi tworzyć programy z wykorzystaniem podstawowych konstrukcji języka C# potrafi w sposób kreatywny tworzyć porgramy, potrafi posługiwać się dokumentacją techniczną | |
4,5 | potrafi tworzyć programy z wykorzystaniem dowolnych konstrukcji języka C# potrafi w sposób kreatywny tworzyć porgramy, potrafi posługiwać się dokumentacją techniczną, | |
5,0 | potrafi tworzyć programy z wykorzystaniem dowolnych konstrukcji języka C# potrafi w sposób kreatywny tworzyć porgramy, potrafi posługiwać się dokumentacją techniczną, potrafi pracować w grupie |
Literatura podstawowa
- John Sharp, C# 2010, Microsoft Press, Warszawa, 2010
- Charles Petzold, Prgramowanie Microsofw Windows w języku C#, RM, Warszawa, 2008
- Ian Griffiths, Programowanie C# 5.0, Helion, Gliwice, 2013
Literatura dodatkowa
- Klaus Michelsen, Szkoła programowania. Język C#, Helion, Gliwice, 2007
- Andrew Troelsen, Język C# i platforma .NET, MIKOM, Warszawa, 2006