Detail předmětu
Programování v .NET a C#
FIT-IW5Ak. rok: 2022/2023
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
Počet kreditů
Garant předmětu
Zajišťuje ústav
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
- doporučená prerekvizita
Seminář C#
Základní literatura
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.
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
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.
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
Elearning
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Úvod, představení předmětu, projektu, setup prostředí (Roman Jašek)
- ASP.NET Core Web API, controller, swagger, Postman, middleware (Michal Mrnuštík)
- Testování (Michal Tichý)
- Web - Blazor (Roman Jašek)
- Web - frontend (Maroš Janota)
- Web - napojení na API (Michal Tichý)
- Progressive Web Apps (Roman Jašek)
- .NET MAUI (Roman Jašek)
- Azure (Roman Jašek)
- DotVVM (Tomáš Herceg)
- Unity (Vojtěch Brůža)
- Clean Architecture (Martin Dybal)
Cvičení odborného základu
Vyučující / Lektor
Osnova
- Minimal API v .NET 6, routing (Roman Jašek)
- Inversion of Control, konfigurace, lokalizace (Michal Mrnuštík)
- CI/CD, nasazování do Azure (Michal Tichý)
- Web - Blazor (Roman Jašek)
- Web (Maroš Janota/Roman Jašek)
- Takhle napište projekt?! (Roman Jašek)
Elearning