Detail předmětu

Programování v .NET a C#

FEKT-XPC-MW5Ak. rok: 2022/2023

Ú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 BPC-IBE bakalářský 0 ročník, letní semestr, volitelný
  • Program BPC-TLI bakalářský 0 ročník, letní semestr, volitelný
  • Program MKC-EEN magisterský navazující 0 ročník, letní semestr, volitelný
  • Program MKC-EKT magisterský navazující 0 ročník, letní semestr, volitelný
  • Program MKC-EVM magisterský navazující 0 ročník, letní semestr, volitelný
  • Program MKC-TIT magisterský navazující 0 ročník, letní semestr, volitelný

  • Program MPC-AUD magisterský navazující

    specializace AUDM-ZVUK , 0 ročník, letní semestr, volitelný

  • Program MPC-EAK magisterský navazující 0 ročník, letní semestr, volitelný
  • Program MPC-EEN magisterský navazující 0 ročník, letní semestr, volitelný
  • Program MPC-EKT magisterský navazující 0 ročník, letní semestr, volitelný
  • Program MPC-EVM magisterský navazující 0 ročník, letní semestr, volitelný
  • Program MPC-KAM magisterský navazující 0 ročník, letní semestr, volitelný
  • Program MPC-MEL magisterský navazující 0 ročník, letní semestr, volitelný
  • Program MPC-SVE magisterský navazující 0 ročník, letní semestr, volitelný
  • Program MPC-TIT magisterský navazující 0 ročník, letní semestr, volitelný
  • Program BPC-AMT bakalářský 0 ročník, letní semestr, volitelný

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