/ICS

Lectures and demonstration samples for XMW5 course at FEKT VUT (https://www.vutbr.cz/studenti/predmety/detail/211092).

Primary LanguageC#GNU General Public License v3.0GPL-3.0

XMW5 Programming in .NET and C#, Organizational Details


Aktuality k předmětu

  • 02.02.2020 | Patrik Švikruha | Tento predmet je analogický k FIT semináru o C# ICS. Predmet IW5 je pokročilejší ako XMW5 a to pokračovanie tohoto kurzu.
  • 01.02.2020 | Jan Pluskal | Visual Studio 2019 Enterprise je nově dostupné v Azure Dev Tools for Teaching. Přihlášení je nutné s loginem z domény VUT, tj xlogin00@vutbr.cz

Přednášky

Typ Místnost Čas
Přednáška T12/SD 1.52 Čt 15:00-16:50

+++

  1. Organizace kurzu
  2. Úvod do jazyka C# a platformy .NET
  3. Úvod do Objektově Orientované Programování
    • pokročilé konstrukce v jazyce C# - výjimky, události, delegáty, lambda výrazy a generika
  4. 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)
  5. Propojení aplikace s databází
    • zajištění persistence pomocí ORM rozšíření Entity Framework s návrhovými vzory UnitOfWork a Repository
  6. Psaní čistého, udržovatelného kódu
    • respektováním Clean Code, S.O.L.I.D. zásad
    • ukázky refaktorizace a práce s legacy kódem
  7. Návrhový vzor Model-View-ViewModel (MVVM)
    • architektura desktopových aplikací
    • mapování databázových entit na modelové třídy

+++

  1. Continous Integration v prostředí Azure DevOps
    • testování aplikací - smoke, unit, integrační, UI a akceptační testy
  2. Základní koncepty tvorby uživatelského rozhraní
    • Windows Presentation Foundation (WPF)
  3. Návrhové vzory
    • vytvářecí, strukturní a chování - Gang of Four (GoF) v kontextu C#
  4. WPF za pomoci MVVM, tvorba komponenty a stylování aplikací.
  5. Paralelní a asynchronní programování
    • proces, vlákno, úloha z pohledu C# a použitého .NET frameworku
  6. Multiplatformní programování
    • .NET Standard, .NET Core.
    • kontejnerizace aplikací pomocí Docker a jejich orchestrace Kubernetes, Docker Swarm

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 2019/ Rider / VSCode

Typ Místnost Čas
Dobrovolné demonstrační cvičení T12/SD 1.52 Čt 17:00-18:50

+++

Datum Téma cvičení
6.2. Práce s Visual Studio 2019, VS Code, Azure DevOps
20.2. Objektově orientované programování, úvod do Entity Framework
5.3. Entity framework, zásady Clean Code, SOLID
19.3. Základy WPF, návrhový vzor MVVM
2.4. WPF frontend, binding
16.4. Bonusové cvičení

Projekt

  • Projekt bude vypracovaný v 3-5ti členném týmu.
Fáze Deadline Obsah Body
1 08.03. Objektový návrh 20
2 05.04. Entity Framework, Repository, Tests 30
3 Den před odevzdáním Finalizace aplikace a následná obhajoba 50
  • Při obhajobě:
    • musí být přítomni všichni členové týmu,
    • obhajovat projekt bude náhodně vybraný člen týmu,
    • nemusíte chodit v obleku...,

+++

  • Při vytváření repozitáře respektujte schéma ze zadání (https://dev.azure.com/xmw5-2020-team0000/project). Je nezbytně nutné použít Vaše účty z doménu vutbr.cz. Do Vašich repozitářů pro projekt přidejte účet uciteliw5@vutbr.cz. Pokud uděláte chybu a pouze nesedí url, dá se v nastavení změnit.
    • Pokud máte vytvořeno pod soukromými účty, je třeba vytvořit projekt znovu pod univerzitními a pushnout existující repozitář tak, aby Vám zůstala historie včetně správných časů commitů. how to multiple Git repositories

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

Nástroj Typ Popis
Visual Studio 2019 Enterprise Samostatný program Hlavní vývojové prostředí pro .Net
Resharper Doplněk Nástroje na lepší produktivitu, refaktorování. Studentská licence je k dispozici zdarma zde
Code metrices Doplněk Zobrazování složitosti jednotlivých metod
VS Code Samostatný program Rozšíriteľný textový editor
+++
Nástroj Typ Popis
Postifx templates Doplněk Plynulé doplňování částí kódu bez nutnosti vracení se
Mnemonic Live Templates Doplněk Doplňování částí kódu
LinqPad Samostatný program Nástroj na přístup do databáze přes Linq, SQL…
DotPeek Samostatný program Dekompilátor C# kódu
MarkdownEditor Doplněk Handy Markdown editor for VS

  • Q: Connection string používaný v cvičeních.
  • A:
<connectionStrings>
  <add name="TasksContext"
       connectionString="Data Source=(LocalDB)\MSSQLLocalDB;
                         Initial Catalog=TasksDB;
                         MultipleActiveResultSets=True;
                         Integrated Security=True;"
           providerName="System.Data.SqlClient" />
</connectionStrings>

Výuka - bodové rozdělení

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

Vyučující


Užitečné odkazy


Užitečná literatura