Detail předmětu

Programování v .NET a C#

FEKT-XMW5Ak. rok: 2019/2020

Úvod do platformy .NET – práce s pamětí, CLR, typová bezpečnost, assembly, Základy jazyka C# - syntaxe, primitivní datové typy, operátory, namespace,OOP v C# - třída, dědičnost, interface, struktura, modifikátory přístupu, generika, Pokročilé konstrukce v C# - delegáty, eventy, zachytávání vyjímek, lambdy, Base class library - IDisposable, kolekce, IO streamy, LINQ, Návrhové vzory, Desktop GUI - WinForms, WPF, MVVM, UX design, WEB - ASP.NET, MVC, ORM, SOLID - principy, IoC kontejnery, WCF a interoperabilita, Paralelní a asynchronní programovaní - Async await, PLINQ, Parallel task library, Testování v C# - MSTest, nUnit, TDD, UX

Jazyk výuky

čeština

Počet kreditů

5

Garant předmětu

Výsledky učení předmětu

Schopnost navrhovat a implementovat aplikace a distribuované systémy na platformě .NET.

Prerekvizity

Schopnost programování

Plánované vzdělávací činnosti a výukové metody

Metody vyučování závisejí na způsobu výuky a jsou popsány článkem 7 Studijního a zkušebního řádu VUT.

Způsob a kritéria hodnocení

Podmínky pro úspěšné ukončení předmětu stanoví každoročně aktualizovaná vyhláška garanta předmětu.

Osnovy výuky

1. Úvod do platformy .NET – práce s pamětí, CLR, typová bezpečnost, assembly
2. Základy jazyka C# - syntaxe, primitivní datové typy, operátory, namespace
3. OOP v C# - třída, dědičnost, interface, struktura, modifikátory přístupu, generika
4. Pokročilé konstrukce v C# - delegáty, eventy, zachytávání vyjímek, lambdy
5. Base class library - IDisposable, kolekce, IO streamy, LINQ
6. Návrhové vzory
7. Desktop GUI - WinForms, WPF, MVVM, UX design
8. WEB - ASP.NET, MVC, ORM
9. SOLID - principy, IoC kontejnery
10. WCF a interoperabilita
11. Paralelní a asynchronní programovaní - Async await, PLINQ, Parallel task library
12. Testování v C# - MSTest, nUnit, TDD, UX

Učební cíle

Získat přehled o technologii .NET a programování v C#.

Zařazení předmětu ve studijních plánech

  • Program AUDIO-P magisterský navazující

    obor P-AUD , 1. ročník, letní semestr, volitelný mimooborový

  • Program EEKR-M1 magisterský navazující

    obor M1-BEI , 1. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-ML1 magisterský navazující

    obor ML1-BEI , 1. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-EEN , 1. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-ML1 magisterský navazující

    obor ML1-EEN , 1. ročník, letní semestr, volitelný všeobecný
    obor ML1-EST , 1. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-EST , 1. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-ML1 magisterský navazující

    obor ML1-EVM , 1. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-EVM , 1. ročník, letní semestr, volitelný všeobecný
    obor M1-KAM , 1. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-ML1 magisterský navazující

    obor ML1-KAM , 1. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-MEL , 1. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-ML1 magisterský navazující

    obor ML1-MEL , 1. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-SVE , 1. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-ML1 magisterský navazující

    obor ML1-SVE , 1. ročník, letní semestr, volitelný všeobecný
    obor ML1-TIT , 1. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-TIT , 1. ročník, letní semestr, volitelný všeobecný

  • Program AUDIO-P magisterský navazující

    obor P-AUD , 2. ročník, letní semestr, volitelný mimooborový

  • Program EEKR-ML1 magisterský navazující

    obor ML1-BEI , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-BEI , 2. ročník, letní semestr, volitelný všeobecný
    obor M1-EEN , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-ML1 magisterský navazující

    obor ML1-EEN , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-EST , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-ML1 magisterský navazující

    obor ML1-EST , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-EVM , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-ML1 magisterský navazující

    obor ML1-EVM , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-KAM , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-ML1 magisterský navazující

    obor ML1-KAM , 2. ročník, letní semestr, volitelný všeobecný
    obor ML1-MEL , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-MEL , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-ML1 magisterský navazující

    obor ML1-SVE , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-SVE , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-ML1 magisterský navazující

    obor ML1-TIT , 2. ročník, letní semestr, volitelný všeobecný

  • Program EEKR-M1 magisterský navazující

    obor M1-TIT , 2. ročník, letní semestr, volitelný všeobecný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. TCP chat jako Windows GUI aplikace
2. HTTP chat jako ASP.NET aplikace běžící pod IIS 6.0 (obě aplikace budou ukládat data do SQL Serveru 2000 databáze a měly by být schopné spolupracovat).
3. GUI aplikace využívající COM rozhraní Microsoft Office

Cvičení na počítači

26 hod., povinná

Vyučující / Lektor

Osnova

1. úvod do platformy .NET
2. předkompilovaný kód
3. platformová nezávislost, MSIL
4. bezpečný kód
5. web services
6. jazyk C#
7. prvky jazyka, typy
8. třídy, instance, atributy, metody
9. dědičnost, virtuální metody
10. rozhraní, přetěžování, abstraktní třídy
11. zprávy, události, rozhraní
12. prvky grafického rozhraní
13. okna, menu, ovládaccí prvky, ...
14. grafika
15. síťové aplikace, TCP/IP
16. komunikace TCP, UDP
17. síťové služby
18. přehled ADO.NET a přístup k datům
19. SQL dotazy, DataSet, DataTable, ...
20. aktivní webové stránky ASP.NET
21. formuláře, aktivní obsah, XML
22. integrace do web serveru (IIS 6.0)
23. web services