Git Product home page Git Product logo

ics's Introduction

Seminář C# - ICS, Organizational Details


Aktuality k předmětu

  • 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 [email protected]
  • 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/ics-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 [email protected]. 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.

Přednášky

Typ Místnost Čas
Přednáška D105 Po 15:00-16:50

+++

  1. Organizace kurzu
  2. Úvod do jazyka C# a platformy .NET
    • základní syntaxe jazyka, instalace a představení Visual Studia
  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
    1. 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
    2. Swagger
      • Vytvoření Webové služby pomocí OpenAPI
      • Dobrovolná přednáška IW5 D0206 13:00-14:50 4.3.2019
  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
  7. Nástroje pro správu paměti a profilaci výkonu

    1. Multiplatformní programování
      • .NET Standard, .NET Core.
      • kontejnerizace aplikací pomocí Docker a jejich orchestrace Kubernetes, Docker Swarm
    2. Nástroje pro správu paměti a profilaci výkonu
      • Dobrovolná přednáška* IW5 D0206 13:00-14:50 29.4.2019

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 2017. Cvičení začínají od prvního týdne semestru a konají se jednou za 14 dní.

Typ Místnost Čas
Demonstrační cvičení (dobrovolné) D105 Čt 18:00-19: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
21.3. Základy WPF, návrhový vzor MVVM
4.4. WPF frontend, binding
18.4. Bonusové cvičení

Projekt

  • 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 25.4. 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ástroje použity ve cvičeních

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

+++

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
Entity Framework 6 Power Tools Doplněk View Entity Data Model
OzCode Doplněk Advanced debugging tools
GitFlow Doplněk GitFlow

Q&A

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

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

ics's People

Contributors

mrnustik avatar pluskal avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.