Detail předmětu

Programování v .NET a C#

FIT-IW5Ak. rok: 2021/2022

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

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

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

Prerekvizity

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

Způsob a kritéria hodnocení

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

Učební cíle

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

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

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

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.
Albahari, Joseph, and Ben Albahari. C# 7.0 in a Nutshell : the definitive reference. Sebastopol, CA: O'Reilly Media, 2017.
Erich Gunnerson - A Programmer's Introduction to C#
Charles Petzold - Programming Microsoft Windows With C#
Posadas, Marino. Mastering C# and .NET framework : deep dive into C# and .NET architecture to build efficient, powerful applications. Birmingham: Packt, 2016.
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.
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.
Simon Robinson - C# Professional Programming

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

  • Program IT-BC-3 bakalářský

    obor BIT , 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)

Cvičení na počítači

26 hod., povinná

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)