Detail předmětu

Programování v .NET a C#

IW5 Ak. rok 2021/2022 zimní semestr 5 kreditů

Aktuální akademický rok

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í.

Garant předmětu

Koordinátor předmětu

Jazyk výuky

česky, anglicky

Zakončení

klasifikovaný zápočet

Rozsah

  • 26 hod. přednášky
  • 26 hod. pc laboratoře

Bodové hodnocení

  • 100 bodů projekty

Zajišťuje ústav

Přednášející

Cvičící

Stránky předmětu

Získané dovednosti, znalosti a kompetence z předmětu

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

Cíle předmětu

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

Proč je předmět vyučován

Toto je náročný, ryze prakticky orientovaný kurz v oblasti programování v .NET. Téma je velice široké, snažili jsme se vybrat témata, která se v praxi nejčastěji používají. Přednášky jsou realizovány za pomoci lidí z praxe - povětšinou senior programátorů, team leaderů a analytiků v nadnárodních firmách.

Doporučené prerekvizity

Požadované prerekvizitní znalosti a dovednosti

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

Technické vybavení

komerční

  • Microsoft Windows
  • Microsoft Visual Studio .NET

  • volně dostupné
    • Microsoft .NET Software Development Kit (SDK) - C# compiller
    • Microsoft .NET Framework

Literatura studijní

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

Literatura referenční

  • Damien Watkins - Programming in the .NET EnvironmentKnihovna MSDN http://msdn.microsoft.com/cs-cz/library
  • 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.

Osnova přednášek

  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)

Osnova počítačových cvičení

  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)

Průběžná kontrola studia

  • Úč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

Kontrolovaná výuka

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

Podmínky zápočtu

  • Úč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

Způsob kontaktu s vyučujícím

Oficiálním kontaktním kanálem je email odeslaný z fakultní adresy vyučujícím dle karty předmětu.

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

  • Program BIT, 2. ročník, volitelný
  • Program IT-BC-3, obor BIT, 2. ročník, volitelný
Nahoru