Detail předmětu

Programování v .NET a C#

FIT-IW5Ak. rok: 2024/2025

Programování v .NET a jazyce C#. Předmět navazuje svojí náplní na předmět ICS, ve kterém se učí základy práce s jazykem C# a vývoj desktopových aplikací. IW5 je zaměřen na další oblasti vývoje v C#, zejména webový vývoj. Hlavní náplní první části předmětu a zároveň projektu je vývoj webové aplikace, která se skládá ze serverové strany, kde se předmět zaměřuje na vývoj pomocí REST API s využitím ASP.NET Core, Swagger, Open API. Poté se přesune na stranu webové aplikace, která vytvořené API využívá a dále pracuje s technologií Blazor. Dále se předmět zaměřuje na automatizaci testování a nasazování webových aplikací. V druhé části semestru se předmět zaměřuje na ukázky dalších oblasti vývoje v C#, například vývoj mobilních aplikací, her, alternativní webové frameworky, nebo pokročilá témata věnující se architektuře aplikací.

Jazyk výuky

čeština

Počet kreditů

5

Garant předmětu

Vstupní znalosti

Znalost objektového programování, jazyka C# a platformu .NET na úrovni kurzu ICS.

Pravidla hodnocení a ukončení předmětu

  • Účast na všech formách výuky je nepovinná
  • Získat nejméně 50% bodů z projektu

 

Účast na všech formách výuky je nepovinná. Náhrada cvičení je možná dle individuální domluvy.

Učební cíle

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

 

Schopnost navrhovat a implementovat aplikace a distribuované systémy na platformě .NET.
Schopnost navrhovat komplexní informační systémy.

Prerekvizity a korekvizity

Základní literatura

Albahari, Joseph, and Ben Albahari. C# 7.0 in a Nutshell : the definitive reference. Sebastopol, CA: O'Reilly Media, 2017.
Damien Watkins - Programming in the .NET EnvironmentKnihovna MSDN http://msdn.microsoft.com/cs-cz/library
Posadas, Marino. Mastering C# and .NET framework : deep dive into C# and .NET architecture to build efficient, powerful applications. Birmingham: Packt, 2016.

Doporučená literatura

Albahari, Joseph, and Ben Albahari. C# 7.0 in a Nutshell : the definitive reference. Sebastopol, CA: O'Reilly Media, 2017.
Posadas, Marino. Mastering C# and .NET framework : deep dive into C# and .NET architecture to build efficient, powerful applications. Birmingham: Packt, 2016.
Price, Mark J. C# 7.1 and .NET Core 2.0 - Modern Cross-Platform Development - Third Edition. Birmingham: Packt Publishing, 2017.
Programátorské večery na ČVUT, http://avc.sh.cvut.cz/archiv/index.php?id=104&select=Programátorské%20večery
Rabaey, Jan M., Anantha P. Chandrakasan, and Borivoje Nikolic. Digital integrated circuits : a design perspective. Upper Saddle River, N.J: Pearson Education, 2003.

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

  • Program BIT bakalářský 2 ročník, zimní semestr, volitelný
  • Program BIT bakalářský 2 ročník, zimní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Úvod, představení předmětu, projektu, setup prostředí (Roman Jašek)
  2. ASP.NET Core Web API, controller, swagger, Postman, middleware (Michal Mrnuštík)
  3. Testování (Michal Tichý)
  4. Web - Blazor (Roman Jašek)
  5. Web - frontend (Maroš Janota)
  6. Web - napojení na API (Michal Tichý)
  7. Progressive Web Apps (Roman Jašek)
  8. .NET MAUI (Roman Jašek)
  9. Azure (Roman Jašek)
  10. DotVVM (Tomáš Herceg)
  11. Unity (Vojtěch Brůža)
  12. Clean Architecture (Martin Dybal)

Seminář

12 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Minimal API v .NET 6, routing (Roman Jašek)
  2. Inversion of Control, konfigurace, lokalizace (Michal Mrnuštík)
  3. CI/CD, nasazování do Azure (Michal Tichý)
  4. Web - Blazor (Roman Jašek)
  5. Web (Maroš Janota/Roman Jašek)
  6. Takhle napište projekt?! (Roman Jašek)

Projekt

14 hod., nepovinná

Vyučující / Lektor