Skip to content
/ ICS Public

Lectures and computer labs storage for ICS course at FIT BUT.

License

Notifications You must be signed in to change notification settings

nesfit/ICS

Repository files navigation

Seminář C# - ICS, Organizační pokyny



Rozvrh

Přednášky

Typ Místnost Čas
Přednáška E112, E104, E105 Čt 12:00-13:50

E104 a E105 bude otevřeno pouze v případě naplnění E112.

+++

Cvičení

Cvičení jsou demonstrační. Pokud možno, přineste si vlastní zařízení, na kterém budete moct cvičení aktivně zúčastnit. Bude potřeba vývojové prostředí ideálně Visual Studio 2022 / Rider / VSCode.

Typ Místnost Čas
Dobrovolné demonstrační cvičení D0207 Čt 14:00-15:50

+++

Plán semestru

Datum Typ Vyučující Téma přednášky
8.02. L01 Jan Pluskal Úvod do jazyka C# a platformy .NET - základní syntaxe jazyka (verze pro tisk)
E01 Jan Pluskal Práce s Visual Studio 2022, debugování a Azure DevOps založení projektu (základy pro zracování projektu)
15.02. L02 Jan Pluskal Úvod do Objektově Orientovaného Programování (verze pro tisk)
E02 Jan Pluskal Objektově orientované programování a úvod do Entity Framework
22.02. L03 Tibor Jašek Představení základních knihovních funkcí (BCL) - dotazování za pomocí vestavěného nástroje LINQ nad datovými zdroji (kolekcemi, XML, MSSQL) (verze pro tisk)
29.02. L04 Jan Pluskal Propojení aplikace s databází (verze pro tisk)
E03 Jan Pluskal Entity framework
03.03. P01 Odevzdání první fáze projektu
07.03. L05 Martin Dybal Psaní čistého a udržovatelného kódu
14.03. L06 Michal Tichý Automatizované testování - práce s xUnit, CI
21.03. L07 Michal Mrnuštík Návrhový vzor Model-View-ViewModel
28.03. L08 Roman Jašek MAUI
E04 Roman Jašek MAUI
04.04. L09 Roman Jašek MAUI
E05 Roman Jašek MAUI
07.04. P02 Odevzdání druhé fáze projektu
11.04. L10 Jan Pluskal Paralelní a asynchronní programování - proces, vlákno, úloha z pohledu C# a použitého .NET frameworku (verze pro tisk)
18.04. L11 Roman Jašek Napojení aplikace na API server
E06 Jan Pluskal Takto můžete napsat projekt?!
25.04. L12 Jan Pluskal Multiplatformní programování - .NET Standard, .NET Core., .NET, kontejnerizace a deployment aplikací (verze pro tisk)
02.05. L13 Martin Dybal Návrhové vzory - vytvářecí, strukturní a chování - Gang of Four (GoF) v kontextu C#
Dle IS P03 Obhajoby projektu

LXY - přednáška | EXY - democvičení | P0X - projekt


Výuka - bodové rozdělení

Typ výuky Maximální bodový zisk
Projekt 100

Projekt

  • Projekt bude vypracovaný v 5 členném týmu.
Fáze Obsah Body
1 Objektový návrh 20
2 Entity Framework, Repository, Tests 30
3 Finalizace aplikace a následná obhajoba 50
  • Při obhajobě:
    • musí být přítomni všichni členové týmu (vyjímka je řádně omluvená nepřítomnost dle studijního řádu),
    • obhajovat projekt bude náhodně vybraný člen týmu,
    • nemusíte chodit v obleku...

Nástroje použity ve cvičeních

Nástroj Typ Popis
Visual Studio 2022 IDE Hlavní vývojové prostředí pro .Net
Resharper Doplněk Nástroje na lepší produktivitu, refaktorování. Studentská licence je k dispozici zdarma zde
LinqPad Samostatný program Nástroj na přístup do databáze přes Linq, SQL…
DotPeek Samostatný program Dekompilátor C# kódu
EF Core Power Tools Doplněk Přidává funkcionalitu k DbContext jako je např. generování ER diagramů.

+++

winget install Microsoft.DotNet.SDK.8

winget install Microsoft.VisualStudio.2022.Community --override "--add Microsoft.VisualStudio.Workload.NetCrossPlat --add Microsoft.VisualStudio.Workload.Data --add Microsoft.VisualStudio.Workload.ManagedDesktop Microsoft.VisualStudio.ComponentGroup.WindowsAppSDK.Cs"

winget install JetBrains.ReSharper

Další zajímavé nástroje

Nástroj Typ Popis
Rider IDE Vývojové prostředí od JetBrains.
Roslynator Analyzér, Doplněk Open-source alternativa k Resharper postavená nad Roslyn.

Vyučující


Užitečné odkazy


Užitečná literatura


Užitečné zdroje

aneb co sledovat, pokud se chcete dozvědět víc

  • IW5 - předmět, který navazuje na ICS a pokračuje v tématu vývoje v .NET dál se zaměřením na client-server a webový vývoj

+++

Co se děje v .NET a co se chystá

  • .NET Conf - konference, kde se představuje nová verze .NET (jednou ročně - listopad)
  • Microsoft Build - největší konference pro vývojáře od Microsoftu, hromada novinek (jednou ročně - květen)
  • .NET Announcements - repozitár, kam sa dá subscribnúť na notifikácie o nových veciach v .NET (a ostatných .NET frameworkoch - MAUI, ASP, EF...)
  • Themes of .NET - .NET roadmap - podrobný přehled toho, na čem se pracuje a kdy se to plánuje

+++

Blogy

  • Leomaris Reyes - Blog zaměřený na .NET MAUI
  • Scott Hanselman - Různorodá témata, většinou zaměrená na Microsoft technologie. Autor je zkušený speaker z řad Microsoftu.
  • Steve Gordon - .NET, web development, cloud, low-level stuff...
  • Jiří Činčura - performance, Entity Framework, databázy, novinky v .NET...
  • Robert Haken - Blazor, webový vývoj, performance

+++

Twitter

  • @davidfowl - David Fowler, jeden z hlavních lidí ve vývoji .NET a ASP .NET
  • @DamianEdwards - Damian Edwards, jeden z hlavních lidí ve vývoji .NET a ASP .NET
  • @davidortinau - David Ortinau, jeden z hlavních lidí v .NET MAUI
  • @MadsTorgersen - Mads Torgersen, hlavní člověk odpovědný za C#
  • @JamesNK - James Newton-King, autor NewtonSoft.Json, pracuje na gRPC integraci v .NET, (de)serializace, performance...
  • @jaredpar - Jared Parsons, pracuje na C# kompilátoru a návrhu jazyka
  • @TheCodeTraveler - Brandon Minnick, píše a točí hlavně o .NET MAUI
  • @troyhunt - Troy Hunt, záměr na bezpečnost, autor projektu https://haveibeenpwned.com
  • @dotnetmeme - memes ze světa .NET (ne od Microsoftu)

+++

Youtube

+++

Podcasty

  • .NET Rocks - 2 hodně zkušení hostitelé - Richard Campbell a Carl Fralkin, 1 host, různá témata (hlavně) z .NET světa
  • The .NET MAUI Podcast - .NET MAUI, James Montemagno, David Ortinau a Matt Soucoup
  • The ReadME Podcast - podcast GitHubu

Lokální vývoj

Repozitář používá symlinky, které jsou závislé na nastavení prostředí ve Windows.

Pro clonování použijte explicitní povolné symlinků.

git clone -c core.symlinks=true https://github.com/nesfit/ICS.git

Pokud dojde k chybě s oprávněním vytvořit symlink tak nejsnažší je použít git clone s Admin oprávnění. Alternativně můžete upravit local policy v Windows.