- Záznamy Záznamy přednášek na FIT z předmětu IW5 a VUT.NIGHT.
- Wiki predmětu z minulých let Dříve používaná Wiki k předmětu nahrazená GitHubem.
- FEKT Registrace týmu na projekt.
- 20.02.2019 | Jan Pluskal | Visual Studio 2017 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
- 11.02.2019 | Jan Pluskal | Omlouvám se za milnou informaci o registraci týmů na přednášce. Přihlaste se pouze vedoucí, zbytek týmu přihlásím sám ručně po skončení přihlašování.
- 07.02.2019 | Jan Pluskal | Pokud chcete tvořit smíšené týmy ICS/IW5 a dobrovolně si vzít těžší variantu projektu, můžete tak učinit.
- 08.01.2019 | Jan Pluskal | Při vytváření repozitáře respektujte schéma ze zadání https://dev.azure.com/iw5-2019-team0000/project, nebo https://dev.azure.com/ics-iw5-2019-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ů.
- Pokud bude kolize s existující organizací, použijte suffix team0000-01.
- 08.01.2019 | Jan Pluskal | Registrace týmů na projekty pro FIT je ve WISu, pro FEKT zde.
Fakulta | Místnost | Čas |
---|---|---|
FIT | D0206 | Po 13:00-14:50 |
FEKT | T12/SD 1.48 | Čt 13:00-14:50 |
+++
- Organizace kurzu
- Úvod do jazyka C# a platformy .NET
- základní syntaxe jazyka, instalace a představení Visual Studia
- Úvod do Objektově Orientované Programování
- pokročilé konstrukce v jazyce C# - výjimky, události, delegáty, lambda výrazy a generika
- 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)
- Propojení aplikace s databází
- zajištění persistence pomocí ORM rozšíření Entity Framework s návrhovými vzory UnitOfWork a Repository
-
- Swagger
- Vytvoření Webové služby pomocí OpenAPI
- Psaní čistého, udržovatelného kódu
- Dobrovolná přednáška ICS D105 15:00-16:50 4.3.2019
- respektováním Clean Code, S.O.L.I.D. zásad
- ukázky refaktorizace a práce s legacy kódem
- Swagger
- Návrhový vzor Model-View-ViewModel (MVVM)
- architektura desktopových aplikací
- mapování databázových entit na modelové třídy
+++
- Continous Integration v prostředí Azure DevOps
- testování aplikací - smoke, unit, integrační, UI a akceptační testy
- Základní koncepty tvorby uživatelského rozhraní
- Windows Presentation Foundation (WPF)
- Návrhové vzory
- vytvářecí, strukturní a chování - Gang of Four (GoF) v kontextu C#
- Zrušeno - děkanský půlden
- Paralelní a asynchronní programování
- proces, vlákno, úloha z pohledu C# a použitého .NET frameworku
- Velikonoční pondělí
-
- Nástroje pro správu paměti a profilaci výkonu
- Multiplatformní programování
- Dobrovolná přednáška ICS D105 15:00-16:50 29.4.2019
- .NET Standard, .NET Core.
- kontejnerizace aplikací pomocí Docker a jejich orchestrace Kubernetes, Docker Swarm
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 2017. Cvičení začínají od prvního týdne semestru a konají se jednou za 14 dní.
Fakulta | Místnost | Čas |
---|---|---|
FIT | D105 | Čt 18:00-19:50 |
FEKT | T12/SD 1.48 | Čt 15:00-16:50 |
+++
Datum | Téma cvičení |
---|---|
7.2. | Práce s Visual Studio 2017, Azure DevOps |
21.2. | Objektově orientované programování, úvod do Entity Framework |
7.3. | Entity framework, zásady Clean Code, SOLID |
28.3. | Základy WPF, návrhový vzor MVVM |
4.4. | WPF frontend, binding |
18.4. | Bonusové cvičení |
- Projekt bude vypracovaný v 4-5ti členném týmu.
Fáze | Deadline | Obsah |
---|---|---|
1 | 10.3. | Objektový návrh |
2 | 7.4. | EF, MVVM |
3 | Den před odevzdáním | Finalizace aplikace a následná obhajoba |
- Tým může být sestaven pouze ze studentů, kteří mají zapsaný pouze předmět IW5, ICS a nebo těch co mají zapsané předměty oba. Není možné vytvoření týmů obsahující členy z obou kategorií.
- 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...,
- projekt musí bezpodmínečně obsahovat Must have features!
Nástroj | Typ | Popis |
---|---|---|
Visual Studio 2017 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 |
Postifx templates | Doplněk | Plynulé doplňování částí kódu bez nutnosti vracení se |
+++
Nástroj | Typ | Popis |
---|---|---|
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 |
Entity Framework 6 Power Tools | Doplněk | View Entity Data Model |
OzCode | Doplněk | Advanced debugging tools |
GitFlow | Doplněk | GitFlow |
- Q: Slyšel jsem, že lze uznat místo projektu i bakalářskou práci nebo projekt do jiného předmětu napsaný v C#, je to pravda?
- A: Ano, ale projekt musí splňovat obecná kriteria (správný datový návrh, včetně dědičnosti a modifikátorů přístupu, SOLID a CleanCode) a musí být v C#. Je bezpodmínečně nutné upozornit na to cvičícího v prvním běhu cvičení.
+++
- Q: Je možné vypracovat projekt v menším počtu členů?
- A: Bohužel, v rámci zachování kvality nejsme schopni opravit takové množství projektů jako by povolení dvou-členných týmů přinášelo. Projekt je navržený tak, aby vyhovoval náročností 5-ti člennému týmu a některé koncepty by v případě menšího množství členů postrádaly smysl.
+++
- 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>
Typ výuky | Maximální bodový zisk |
---|---|
Počítačová cvičení | 30 |
Projekt | 70 |
- Martin Dybal
- Roman Jašek
- Tibor Jašek
- Adam Jež
- Viliam Letavay
- Michal Mrnušťík
- Jan Pluskal
- Jiří Pokorný
- Patrik Švikruha
- WPF-Tutorial
- Entity framework tutorial
- R. C. Martin SOLID Bob Martin SOLID Principles of Object Oriented and Agile Design
- Resharper features and how to use them.
- Pro Git book
- C# 7.0 in a Nutshell, Ben Albahari, Joseph Albahari
- Clean Code: A Handbook of Agile Software Craftsmanship, Robert C. Martin
- Agile Principles, Patterns, and Practices in C#, Robert C. Martin
- C# 3.0 Design Patterns, Judith Bishop