Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S2)
specjalność: systemy komputerowe i technologie mobilne

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 nauk technicznych
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

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW1 15 1,00,62egzamin
laboratoriaL1 15 1,00,38zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Ukończony kurs z Podstaw programowania
W-2Ukończony kurs programowania obiektowego

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z zasobami platformy Visual Studio do tworzenia, debugowania i uruchamiania kodów programowych w języku C#
C-2Ukształtowanie umiejętności tworzenia klas (w tym hierarchii klas), obiektów i metod w realizacjach projektów programowych w języku C#
C-3Zdobycie 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ęć

KODTreść programowaGodziny
laboratoria
T-L-1Techniki tworzenia i posługiwania się uogólnieniami2
T-L-2Techniki 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ącego2
T-L-3Zapoznanie 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-4Metody wykorzystania technologii LINQ: tworzenie typów anonimowych, tworzenie połaczenia grupowego, tworzenie zapytań, wykorzystanie drzew wyrażeń i metod rozszerzenia2
T-L-5Badania zagadnień powiązanych z konicznością tworzenia kodów niebezpiecznych: posługiwanie się wskaźnikamii i typami zerowanymi2
T-L-6Techniki 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 tablicach2
T-L-7Badania 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-8Badania technik tworzenia i formatowania wierszy1
15
wykłady
T-W-1Uogólnienia: klasy, struktury, metody i delegaty i interfejsy uogólnające2
T-W-2Zaawansowane 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ących2
T-W-3Podsatwy 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-4Zaawansowane techniki zastosowania technologii LINQ: typy anonimowe, tworzenie połaczenia grupowego, metody tworzenia zapytań, drzewa wyrażeń, metody rozszerzenia, PLINQ2
T-W-5Kody niebezpieczne, wskaźniki, typy zerowane i słowa kluczowe2
T-W-6Biblioteka C#: składniki przestrzeni nazw System: klasa Math, struktury .NET, odpowiadające wartościowym typom wbudowanym, klasa Array i sortowanie w tablicach2
T-W-7Biblioteka 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-8Techniki tworzenia i formatowania wierszy, klasa String1
15

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1uczestnictwo w zajęciach15
A-L-2Wykonanie programów poza zajęciami10
A-L-3Udzał w konsultacjach i zaliczeniu formy zajęć2
27
wykłady
A-W-1uczestnictwo w zajęciach15
A-W-2Samodzielne studiowanie tematyki wykładów10
A-W-3Udzał w konsultacjach i egzaminie2
27

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny.
M-2Ćwiczenia laboratoryjne

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena poprawności wykonania zadania programistycznego realizowanego na zajęciach.
S-2Ocena formująca: Ocena poprawności wykonania zadań programistycznych realizowanych poza zajęciami
S-3Ocena podsumowująca: Testowy egzamin pisemny

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposó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_W06T2A_W04, T2A_W07C-1, C-2, C-3T-W-1, T-W-2, T-W-4, T-W-6, T-W-5, T-W-3, T-W-7, T-L-1, T-L-5, T-L-6, T-L-4, T-L-7, T-L-2, T-L-8, T-L-3M-1, M-2S-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_W09T2A_W03, T2A_W04, T2A_W07C-2, C-3T-W-1, T-W-2, T-W-4, T-W-6, T-W-5, T-W-3, T-W-7, T-L-1, T-L-5, T-L-6, T-L-4, T-L-7, T-L-2, T-L-8, T-L-3M-1, M-2S-1, S-2, S-3

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposó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_U03T2A_U01, T2A_U02, T2A_U03, T2A_U04, T2A_U05, T2A_U07, T2A_U10C-1, C-2, C-3T-W-1, T-W-2, T-W-4, T-W-6, T-W-5, T-W-3, T-W-7, T-L-1, T-L-5, T-L-6, T-L-4, T-L-7, T-L-2, T-L-8, T-L-3M-1, M-2S-1, S-2

Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposó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_K03T2A_K01, T2A_K02, T2A_K07C-1, C-2, C-3T-W-1, T-W-2, T-W-4, T-W-6, T-W-5, T-W-3, T-W-7, T-L-1, T-L-5, T-L-6, T-L-4, T-L-7, T-L-2, T-L-8, T-L-3M-1, M-2S-1, S-2, S-3

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/04_W01
Student potrafi zdefiniować problem i wskazać jego prawidłowe rozwiązanie w postaci utworzonej aplikacji
2,0nie potrafi rozpoznać prostego problemu
3,0potrafi rozpoznać prosty problem programistyczny
3,5potrafi rozpoznać oraz zdefiniować prosty problem programistyczny
4,0potrafi rozpoznać oraz zdefiniować prosty problem i zaimplementować do w języku C#
4,5potrafi rozpoznać oraz zdefiniować problem i zaimplementować go w języku C# z użyciem podstawowych konstrukcji języka C#
5,0potrafi 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,0Student nie potrafi utworzyć projektu w Visual Studio i skompilowac programu
3,0Student potrafi utworzyć projektu w Visual Studio i skompilować program
3,5Student potrafi utworzyć projektu w Visual Studio napisać program w języku C# oraz go skompilować i uruchomić
4,0Student 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,5Student 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,0Student 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łceniaOcenaKryterium oceny
I_2A_D14/04_U01
Student potrafi od podstaw rozwiązać, zaprojektować i zaimplementować dany problem w postaci programu.
2,0Nie potrafi zaprojektować i zaimplementować problemu w postaci programu
3,0potrafi rozpoznać prosty problem programistyczny i zaprojektować algorytm do danego problemu
3,5potrafi rozpoznać prosty problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem podstawowych konstrukcji języka C#
4,0potrafi rozpoznać dany problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem podstawowych konstrukcji i bibliotek języka C#
4,5potrafi rozpoznać dany problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem dowolnych konstrukcji i bibliotek języka C#
5,0potrafi 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łceniaOcenaKryterium 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,0brak umięjętności tworzenia programów
3,0potrafi tworzyć programy z wykorzystaniem podstawowych konstrukcji języka C#
3,5potrafi tworzyć programy z wykorzystaniem podstawowych konstrukcji języka C# potrafi w sposób kreatywny tworzyć porgramy
4,0potrafi tworzyć programy z wykorzystaniem podstawowych konstrukcji języka C# potrafi w sposób kreatywny tworzyć porgramy, potrafi posługiwać się dokumentacją techniczną
4,5potrafi tworzyć programy z wykorzystaniem dowolnych konstrukcji języka C# potrafi w sposób kreatywny tworzyć porgramy, potrafi posługiwać się dokumentacją techniczną,
5,0potrafi 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

  1. John Sharp, C# 2010, Microsoft Press, Warszawa, 2010
  2. Charles Petzold, Prgramowanie Microsofw Windows w języku C#, RM, Warszawa, 2008
  3. Ian Griffiths, Programowanie C# 5.0, Helion, Gliwice, 2013

Literatura dodatkowa

  1. Klaus Michelsen, Szkoła programowania. Język C#, Helion, Gliwice, 2007
  2. Andrew Troelsen, Język C# i platforma .NET, MIKOM, Warszawa, 2006

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Techniki tworzenia i posługiwania się uogólnieniami2
T-L-2Techniki 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ącego2
T-L-3Zapoznanie 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-4Metody wykorzystania technologii LINQ: tworzenie typów anonimowych, tworzenie połaczenia grupowego, tworzenie zapytań, wykorzystanie drzew wyrażeń i metod rozszerzenia2
T-L-5Badania zagadnień powiązanych z konicznością tworzenia kodów niebezpiecznych: posługiwanie się wskaźnikamii i typami zerowanymi2
T-L-6Techniki 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 tablicach2
T-L-7Badania 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-8Badania technik tworzenia i formatowania wierszy1
15

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Uogólnienia: klasy, struktury, metody i delegaty i interfejsy uogólnające2
T-W-2Zaawansowane 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ących2
T-W-3Podsatwy 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-4Zaawansowane techniki zastosowania technologii LINQ: typy anonimowe, tworzenie połaczenia grupowego, metody tworzenia zapytań, drzewa wyrażeń, metody rozszerzenia, PLINQ2
T-W-5Kody niebezpieczne, wskaźniki, typy zerowane i słowa kluczowe2
T-W-6Biblioteka C#: składniki przestrzeni nazw System: klasa Math, struktury .NET, odpowiadające wartościowym typom wbudowanym, klasa Array i sortowanie w tablicach2
T-W-7Biblioteka 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-8Techniki tworzenia i formatowania wierszy, klasa String1
15

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1uczestnictwo w zajęciach15
A-L-2Wykonanie programów poza zajęciami10
A-L-3Udzał w konsultacjach i zaliczeniu formy zajęć2
27
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1uczestnictwo w zajęciach15
A-W-2Samodzielne studiowanie tematyki wykładów10
A-W-3Udzał w konsultacjach i egzaminie2
27
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/04_W01Student potrafi zdefiniować problem i wskazać jego prawidłowe rozwiązanie w postaci utworzonej aplikacji
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
I_2A_W06Posiada wiedzę o narzędziach sprzętowo-programowych wspomagających rozwiązywanie wybranych i złożonych problemów w różnych obszarach nauki i techniki
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W04ma podbudowaną teoretycznie szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T2A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu złożonych zadań inżynierskich z zakresu studiowanego kierunku studiów
Cel przedmiotuC-1Zapoznanie studentów z zasobami platformy Visual Studio do tworzenia, debugowania i uruchamiania kodów programowych w języku C#
C-2Ukształtowanie umiejętności tworzenia klas (w tym hierarchii klas), obiektów i metod w realizacjach projektów programowych w języku C#
C-3Zdobycie 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 programoweT-W-1Uogólnienia: klasy, struktury, metody i delegaty i interfejsy uogólnające
T-W-2Zaawansowane 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
T-W-4Zaawansowane techniki zastosowania technologii LINQ: typy anonimowe, tworzenie połaczenia grupowego, metody tworzenia zapytań, drzewa wyrażeń, metody rozszerzenia, PLINQ
T-W-6Biblioteka C#: składniki przestrzeni nazw System: klasa Math, struktury .NET, odpowiadające wartościowym typom wbudowanym, klasa Array i sortowanie w tablicach
T-W-5Kody niebezpieczne, wskaźniki, typy zerowane i słowa kluczowe
T-W-3Podsatwy 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"
T-W-7Biblioteka C#: Klasa BitConverter. klasa Random, klasa GC i zarządzanie pamięcią, klasa object, klasa Tuple, interfejsy (IComparable, IEquatable, IConvertible i inne)
T-L-1Techniki tworzenia i posługiwania się uogólnieniami
T-L-5Badania zagadnień powiązanych z konicznością tworzenia kodów niebezpiecznych: posługiwanie się wskaźnikamii i typami zerowanymi
T-L-6Techniki 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
T-L-4Metody wykorzystania technologii LINQ: tworzenie typów anonimowych, tworzenie połaczenia grupowego, tworzenie zapytań, wykorzystanie drzew wyrażeń i metod rozszerzenia
T-L-7Badania 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)
T-L-2Techniki 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
T-L-8Badania technik tworzenia i formatowania wierszy
T-L-3Zapoznanie 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"
Metody nauczaniaM-1Wykład informacyjny.
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena poprawności wykonania zadania programistycznego realizowanego na zajęciach.
S-2Ocena formująca: Ocena poprawności wykonania zadań programistycznych realizowanych poza zajęciami
S-3Ocena podsumowująca: Testowy egzamin pisemny
Kryteria ocenyOcenaKryterium oceny
2,0nie potrafi rozpoznać prostego problemu
3,0potrafi rozpoznać prosty problem programistyczny
3,5potrafi rozpoznać oraz zdefiniować prosty problem programistyczny
4,0potrafi rozpoznać oraz zdefiniować prosty problem i zaimplementować do w języku C#
4,5potrafi rozpoznać oraz zdefiniować problem i zaimplementować go w języku C# z użyciem podstawowych konstrukcji języka C#
5,0potrafi rozpoznać oraz zdefiniować problem i zaimplementować go w języku C# z użyciem dowolnych konstrukcji języka
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/04_W02Posługuje się zaawansowanymi zasobami języka C# oraz środowiskiem Visual Studio do tworzenia programów w języku C#
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
I_2A_W09Ma uporządkowaną, podbudowaną metodycznie i teoretycznie wiedzę w zakresie metod i technik projektowania systemów informatycznych
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T2A_W04ma podbudowaną teoretycznie szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T2A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu złożonych zadań inżynierskich z zakresu studiowanego kierunku studiów
Cel przedmiotuC-2Ukształtowanie umiejętności tworzenia klas (w tym hierarchii klas), obiektów i metod w realizacjach projektów programowych w języku C#
C-3Zdobycie 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 programoweT-W-1Uogólnienia: klasy, struktury, metody i delegaty i interfejsy uogólnające
T-W-2Zaawansowane 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
T-W-4Zaawansowane techniki zastosowania technologii LINQ: typy anonimowe, tworzenie połaczenia grupowego, metody tworzenia zapytań, drzewa wyrażeń, metody rozszerzenia, PLINQ
T-W-6Biblioteka C#: składniki przestrzeni nazw System: klasa Math, struktury .NET, odpowiadające wartościowym typom wbudowanym, klasa Array i sortowanie w tablicach
T-W-5Kody niebezpieczne, wskaźniki, typy zerowane i słowa kluczowe
T-W-3Podsatwy 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"
T-W-7Biblioteka C#: Klasa BitConverter. klasa Random, klasa GC i zarządzanie pamięcią, klasa object, klasa Tuple, interfejsy (IComparable, IEquatable, IConvertible i inne)
T-L-1Techniki tworzenia i posługiwania się uogólnieniami
T-L-5Badania zagadnień powiązanych z konicznością tworzenia kodów niebezpiecznych: posługiwanie się wskaźnikamii i typami zerowanymi
T-L-6Techniki 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
T-L-4Metody wykorzystania technologii LINQ: tworzenie typów anonimowych, tworzenie połaczenia grupowego, tworzenie zapytań, wykorzystanie drzew wyrażeń i metod rozszerzenia
T-L-7Badania 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)
T-L-2Techniki 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
T-L-8Badania technik tworzenia i formatowania wierszy
T-L-3Zapoznanie 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"
Metody nauczaniaM-1Wykład informacyjny.
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena poprawności wykonania zadania programistycznego realizowanego na zajęciach.
S-2Ocena formująca: Ocena poprawności wykonania zadań programistycznych realizowanych poza zajęciami
S-3Ocena podsumowująca: Testowy egzamin pisemny
Kryteria ocenyOcenaKryterium oceny
2,0Student nie potrafi utworzyć projektu w Visual Studio i skompilowac programu
3,0Student potrafi utworzyć projektu w Visual Studio i skompilować program
3,5Student potrafi utworzyć projektu w Visual Studio napisać program w języku C# oraz go skompilować i uruchomić
4,0Student 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,5Student 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,0Student 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ć
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/04_U01Student potrafi od podstaw rozwiązać, zaprojektować i zaimplementować dany problem w postaci programu.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U16Potrafi określić kierunek dalszego uczenia się i zrealizować proces samokształcenia
I_2A_U02Potrafi pozyskiwać informacje z różnych źródeł (literatura, Internet, bazy danych, dokumentacja techniczna), dokonywać ich interpretacji i oceny
I_2A_U03Potrafi aktywnie uczestniczyć w pracach projektowych indywidualnych i zespołowych przyjmując w nich różne role
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U01potrafi pozyskiwać informacje z literatury, baz danych oraz innych właściwie dobranych źródeł, także w języku angielskim lub innym języku obcym uznawanym za język komunikacji międzynarodowej w zakresie studiowanego kierunku studiów; potrafi integrować uzyskane informacje, dokonywać ich interpretacji i krytycznej oceny, a także wyciągać wnioski oraz formułować i wyczerpująco uzasadniać opinie
T2A_U02potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach, także w języku angielskim lub innym języku obcym uznawanym za język komunikacji międzynarodowej w zakresie studiowanego kierunku studiów
T2A_U03potrafi przygotować opracowanie naukowe w języku polskim i krótkie doniesienie naukowe w języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, przedstawiające wyniki własnych badań naukowych
T2A_U04potrafi przygotować i przedstawić w języku polskim i języku obcym prezentację ustną, dotyczącą szczegółowych zagadnień z zakresu studiowanego kierunku studiów
T2A_U05potrafi określić kierunki dalszego uczenia się i zrealizować proces samokształcenia
T2A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T2A_U10potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - integrować wiedzę z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów oraz zastosować podejście systemowe, uwzględniające także aspekty pozatechniczne
Cel przedmiotuC-1Zapoznanie studentów z zasobami platformy Visual Studio do tworzenia, debugowania i uruchamiania kodów programowych w języku C#
C-2Ukształtowanie umiejętności tworzenia klas (w tym hierarchii klas), obiektów i metod w realizacjach projektów programowych w języku C#
C-3Zdobycie 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 programoweT-W-1Uogólnienia: klasy, struktury, metody i delegaty i interfejsy uogólnające
T-W-2Zaawansowane 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
T-W-4Zaawansowane techniki zastosowania technologii LINQ: typy anonimowe, tworzenie połaczenia grupowego, metody tworzenia zapytań, drzewa wyrażeń, metody rozszerzenia, PLINQ
T-W-6Biblioteka C#: składniki przestrzeni nazw System: klasa Math, struktury .NET, odpowiadające wartościowym typom wbudowanym, klasa Array i sortowanie w tablicach
T-W-5Kody niebezpieczne, wskaźniki, typy zerowane i słowa kluczowe
T-W-3Podsatwy 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"
T-W-7Biblioteka C#: Klasa BitConverter. klasa Random, klasa GC i zarządzanie pamięcią, klasa object, klasa Tuple, interfejsy (IComparable, IEquatable, IConvertible i inne)
T-L-1Techniki tworzenia i posługiwania się uogólnieniami
T-L-5Badania zagadnień powiązanych z konicznością tworzenia kodów niebezpiecznych: posługiwanie się wskaźnikamii i typami zerowanymi
T-L-6Techniki 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
T-L-4Metody wykorzystania technologii LINQ: tworzenie typów anonimowych, tworzenie połaczenia grupowego, tworzenie zapytań, wykorzystanie drzew wyrażeń i metod rozszerzenia
T-L-7Badania 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)
T-L-2Techniki 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
T-L-8Badania technik tworzenia i formatowania wierszy
T-L-3Zapoznanie 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"
Metody nauczaniaM-1Wykład informacyjny.
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena poprawności wykonania zadania programistycznego realizowanego na zajęciach.
S-2Ocena formująca: Ocena poprawności wykonania zadań programistycznych realizowanych poza zajęciami
Kryteria ocenyOcenaKryterium oceny
2,0Nie potrafi zaprojektować i zaimplementować problemu w postaci programu
3,0potrafi rozpoznać prosty problem programistyczny i zaprojektować algorytm do danego problemu
3,5potrafi rozpoznać prosty problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem podstawowych konstrukcji języka C#
4,0potrafi rozpoznać dany problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem podstawowych konstrukcji i bibliotek języka C#
4,5potrafi rozpoznać dany problem programistyczny i zaprojektować algorytm do danego problemu oraz zaimplementować go z użyciem dowolnych konstrukcji i bibliotek języka C#
5,0potrafi 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
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/04_K01W 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.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_K02Świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą
I_2A_K03Rozumie potrzebę przekazywania społeczeństwu informacji o rozwoju i osiągnięciach nauki w zakresie informatyki
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_K01rozumie potrzebę uczenia się przez całe życie; potrafi inspirować i organizować proces uczenia się innych osób
T2A_K02ma świadomość ważności i zrozumienie pozatechnicznych aspektów i skutków działalności inżynierskiej, w tym jej wpływu na środowisko, i związanej z tym odpowiedzialności za podejmowane decyzje
T2A_K07ma świadomość roli społecznej absolwenta uczelni technicznej, a zwłaszcza rozumie potrzebę formułowania i przekazywania społeczeństwu, w szczególności poprzez środki masowego przekazu, informacji i opinii dotyczących osiągnięć techniki i innych aspektów działalności inżynierskiej; podejmuje starania, aby przekazać takie informacje i opnie w sposób powszechnie zrozumiały, z uzasadnieniem różnych punktów widzenia
Cel przedmiotuC-1Zapoznanie studentów z zasobami platformy Visual Studio do tworzenia, debugowania i uruchamiania kodów programowych w języku C#
C-2Ukształtowanie umiejętności tworzenia klas (w tym hierarchii klas), obiektów i metod w realizacjach projektów programowych w języku C#
C-3Zdobycie 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 programoweT-W-1Uogólnienia: klasy, struktury, metody i delegaty i interfejsy uogólnające
T-W-2Zaawansowane 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
T-W-4Zaawansowane techniki zastosowania technologii LINQ: typy anonimowe, tworzenie połaczenia grupowego, metody tworzenia zapytań, drzewa wyrażeń, metody rozszerzenia, PLINQ
T-W-6Biblioteka C#: składniki przestrzeni nazw System: klasa Math, struktury .NET, odpowiadające wartościowym typom wbudowanym, klasa Array i sortowanie w tablicach
T-W-5Kody niebezpieczne, wskaźniki, typy zerowane i słowa kluczowe
T-W-3Podsatwy 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"
T-W-7Biblioteka C#: Klasa BitConverter. klasa Random, klasa GC i zarządzanie pamięcią, klasa object, klasa Tuple, interfejsy (IComparable, IEquatable, IConvertible i inne)
T-L-1Techniki tworzenia i posługiwania się uogólnieniami
T-L-5Badania zagadnień powiązanych z konicznością tworzenia kodów niebezpiecznych: posługiwanie się wskaźnikamii i typami zerowanymi
T-L-6Techniki 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
T-L-4Metody wykorzystania technologii LINQ: tworzenie typów anonimowych, tworzenie połaczenia grupowego, tworzenie zapytań, wykorzystanie drzew wyrażeń i metod rozszerzenia
T-L-7Badania 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)
T-L-2Techniki 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
T-L-8Badania technik tworzenia i formatowania wierszy
T-L-3Zapoznanie 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"
Metody nauczaniaM-1Wykład informacyjny.
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena poprawności wykonania zadania programistycznego realizowanego na zajęciach.
S-2Ocena formująca: Ocena poprawności wykonania zadań programistycznych realizowanych poza zajęciami
S-3Ocena podsumowująca: Testowy egzamin pisemny
Kryteria ocenyOcenaKryterium oceny
2,0brak umięjętności tworzenia programów
3,0potrafi tworzyć programy z wykorzystaniem podstawowych konstrukcji języka C#
3,5potrafi tworzyć programy z wykorzystaniem podstawowych konstrukcji języka C# potrafi w sposób kreatywny tworzyć porgramy
4,0potrafi tworzyć programy z wykorzystaniem podstawowych konstrukcji języka C# potrafi w sposób kreatywny tworzyć porgramy, potrafi posługiwać się dokumentacją techniczną
4,5potrafi tworzyć programy z wykorzystaniem dowolnych konstrukcji języka C# potrafi w sposób kreatywny tworzyć porgramy, potrafi posługiwać się dokumentacją techniczną,
5,0potrafi 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