Programování v .NET a C# (léto 2013/2014)

Aktuality k předmětu

22.4.2014 Jan Pluskal
Upozornění: projekt je možné hodnotit pouze v termínu, kde jste oficiálně zapsaní v informačním systému!
Hodnocení v jiném termínu bude provedeno po předchozí domluvě a to pouze z vážných důvodů stanovených ve Studijním a zkušebním řádu či kolizí s zápočtem/zkouškou v jiném předmětu.
Toto omezení je platné pro všechny a prosím neposílejte emaily s žádostí o výjimku pokud nesplňujete některou z výše uvedených podmínek!

22.4.2014 Peter Solár
Nabídka letních stáží
Solarwinds nabízí studentům FIT VUT letní stáže:

Více informací na uvedených odkazech nebo na jiri.pokorny@solarwinds.com.

21.4.2014 Jan Pluskal
Skončilo hlasování o náhradních termínech Doodle.
Vítězné termíny: St 23.4 11:00-12:40h, Čt 23.4 11:00-12:40h.

15.4.2014 Jan Pluskal
Cvičení 8.5.2014 se nekoná kvůli státnímu svátku , hlasujte prosím o náhradních termínech Doodle.
Deadline pro hlasování je 18.4.2014

13.4.2014 Jan Pluskal
Cvičení 21.4.2014 se nekoná kvůli státnímu svátku (Velikonoční pondělí), hlasujte prosím o náhradních termínech Doodle.
Deadline pro hlasování je 18.4.2014

28.3.2014 Jan Pluskal
Kvůli množícím se dotazům zdali je možné odevzdat (ohodnotit) projekt později.
Ne není to možné! Projekt se dle zadání hodnotí během 4. termínu cvičení.
Můžete, ale po předchozí domluvě přijít projekt prezentovat na pozdější termín.
Kvůli časovým možnostem nebude možné prezentovat více než 12 projektů, proto si zkontrolujte, zdali termín cvičení není plně obsazen viz. IW5 prezenčka.

15.3.2014 Jan Pluskal
Skončilo hlasování o náhradních termínech Doodle.
Nepovinná rezervace místa Doodle.
Vítězné termíny: St 19.3 9:00-10:45h, Čt 20.3 7:00-8:45h a Čt 11:00-12:45h.

8.3.2014 Jan Pluskal
Termíny cvičení v týdnu 24.3.-30.3. u cvičícího Pluskal jsou zrušena. Náhradní termíny si prosím odhlasujte na Doodle.
Hlasujte prosím v maximální možné míře pro co nejvíce vyhovujících termínů. Děkuji za pochopení.

24.2.2014 - Jan Pluskal
Bylo aktualizováno zadání projektů, pečlivě si přečtěte podmínky pro vypracování, nebo případné uznání MCP, BP či SEP.

6.2.2014 - Peter Solár
cvičení začínají od druhého týdne semestru (tj. od 17.2.2014)
značení týdne sudý/lichý je podle kalendáře (ISO 8601) - týden od 17.2.2014 je SUDÝ

1.2.2014 Peter Solár
Imagine Cup 2014
Byl vyhlášen další ročník soutěže Imagine Cup. Více informací na http://www.imaginecup.cz

Přednášky

prezentace obsah video* příklady
1. Úvod do .NET Framework plátno
2. C# - základní datové typy plátno
3. Datové typy, Stream, StringBuilder, výjimky plátno
4. Třídy, delegáti plátno
5. Události, WPF plátno
6. WPF plátno
7. Reflexe, vlákna plátno
8. ADO.NET plátno
9. LINQ, Entity Framework plátno
10. ASP.NET plátno
11. testování, webové služby plátno

* pro studenty FEKTu, heslo rozesláno VUTzprávou


+ Přednášky z ak.r. 2011/2012

- Přednášky z ak.r. 2011/2012

- Přednášky z ak.r. 2011/2012

prezentace obsah video příklady
1. 00_organisation.ppt
01_dotnet_platform.ppt
Úvod do platformy .NET. Předkompilovaný kód. Platformová nezávislost, MSIL, bezpečný kód. 01_dotnet_platform.zip
2. Jazyk C#: prvky jazyka, typy třídy, instance, atributy, metody 02_basetypes.zip
3. Jazyk C#2: dědičnost, virtuální metody rozhraní, přetěžování 03_oop_modeling.zip
4. Jazyk C#3: abstraktní třídy, zprávy, události 04_interfaces_generics.zip
5. Jazyk C#4: WPF a WinForms, rozhraní, prvky grafického rozhraní, okna, menu, ovládací prvky 05_winforms_wpf.zip
6. WPF - styly, zdroje, databinding 06_wpf.zip
7. Přístup k vlastnostem operačního systému, Vlákna, Lokalizace a aplikační nastavení 07_lokalizace_vlakna_appsettings.zip
8. ADO.NET a přístup k datům, SQL dotazy, DataSet, DataReader 08_ado.zip
9. Entity framework, LINQ 09_entityfwk_linq.zip
10. Aktivní webové stránky ASP.NET, formuláře 10_aspnet.zip
11. ASP .NET Aktivní obsah, XML 11_asp_advanced.zip
12. Síťové komunikace TCP a UDP, WCF, Web services 12_web_services.zip
13. Efektivní vývoj, Unit testing, Dokumentace 13_efective_development.zip

+ Přednášky z ak.r. 2009/2010

- Přednášky z ak.r. 2009/2010

- Přednášky z ak.r. 2009/2010

1. Přednáška
Obsah: .Net Framework, kompilace, IL, ASSEMBLY, Namespace,…
Přednáška 00 - Organizace výuky
Přednáška 01 - .NET 1
video

2. Přednáška
Obsah: Types, casting,…
Přednáška 02 - .Intro
Príklady:
Types
Operations
Operations II
Casting
Array
IfElse
Switch
ForEach
Priklad z prednasky

Reseni prikladu
video

3. Přednáška
Obsah: Classes, Inheritance, delegates, generic,…
Přednáška 03 - .Delegates
Príklady:
Delegaty
Priklady z prednasky
video

4. Přednáška
Obsah: ADO.NET, XML, DataSet,…
Přednáška 04 - .ADO.NET, XML
Príklady:
Priklady z prednasky
video

5. Přednáška
Obsah: ADO,…
Přednáška 05 - Prístup do DB

video

6. Přednáška
Obsah:Forms,…
Přednáška 06 - Win Forms
Príklady:
Priklady z prednasky
video

7. Přednáška
Obsah:Forms II,…
Přednáška 07 - Win Forms II
Príklady:
Priklady z prednasky
video

8. Přednáška
Obsah:ASP.NET,…
Přednáška 08 - ASP.NET
Príklady:
Priklady z prednasky
video

9. Přednáška
Obsah:ASP.NET,…
Přednáška 09 - ASP.NET 2
Príklady:
Priklady z prednasky
video

10. Přednáška
Obsah:LINQ,…
Príklady:
Priklady z prednasky video

11. Přednáška
Obsah:AJAX,…
video

12. Přednáška
Obsah:AZURE, Mobile,…
video


Cvičení

WPF ASP obsah
cvičení 1: konzolová aplikace - Jednoduchá kalkulačka (Společné pro WPF i ASP .NET)
cv. 1 - zadání
cv. 1 - řešení
cv. 1 - řešení + Cmd Parser Lib [JP]
Vytváření projektu, reference, using, namespace, třídy,
nastavení projektu, output/output path, vstupní parametry,
framework targeting, debugging, základy C#,
nastavení Visual Studia
cvičení 2: OOP modelování
WPF cv. 2 - zadání
WPF cv. 2 - řešení
WPF cv. 2 - řešení [JP]
ASP cv. 2 - zadání
ASP cv. 2 - řešení
Vytvořit aplikaci, která ukládá do xml a textového souboru
práce se soubory XML, txt, Interface, Class diagram, přetěžování metod, modifikátory přístupu,
Dokumentační tagy
cvičení 3: Základy GUI
WPF cv. 3 - zadání
WPF cv. 3 - řešení [opravené]
WPF cv. 3 - řešení [JP]
ASP cv. 3 - zadání
ASP cv. 3 - řešení
Zobrazení hodnot teploměru v detailním okně
Navigace mezi Okny/stránkami, základní ovládací prvky a jejich vlastnosti (label, button, combobox, textbox)
cvičení 4: Databáze (Odevzdání prvního projektu)
WPF cv. 4 - zadání
WPF cv. 4 - řešení
ASP cv. 4 - zadání
ASP cv. 4 - řešení
Zobrazení a editace kontaktů z databáze
Datový zdroj v mřížce, ukládání connection stringu, sqlconnection, DataSet, sqlcommand, Database provider,
základy Entity framework, modelování databáze ve Visual Studiu
cvičení 5: pokročilé uživatelské rozhraní
WPF cv. 5 - zadání
WPF cv. 5 - řešení
WPF cv. 5 - řešení [JP]
ASP cv. 5 - zadání
ASP cv. 5 - řešení
Lokalizace, satelitní assembly, uživatelské a aplikační nastavení, styly, zdroje
cvičení 6: Klient/Server messenger aplikace (Odevzdání druhého projektu)
WPF cv. 6 - zadání
WPF cv. 6 - řešení
WPF cv. 6 - řešení [JP]
ASP cv. 6 - zadání
ASP cv. 6 - řešení
Vytvoření webservice, prozkoumávání webservice a publikace definice rozhraní,
Nástroje pro generování klient a (proxy), vytvoření klienta, krokování vícero klientů současně



Otázky a odpovědi (Q a A)

1. Q: Proč se neučíme v semestru také ModelView-ViewMode nebo Model-View-controler?
A: V semestru nejsme schopni stihnout vše. Jako náplň se snažíme každý rok vybrat to, co je aktuální v praxi a co jsme schopni vás během přednášek a cvičení naučit. Pravdou je, že návrhové vzory jsou v praxi denní chleba, ovšem jsou také nad rámec předmětu, vzhledem k tomu, že se učíme základy. Podobně je to i s jinými technologiemi na které nebude čas, jako je Silverlight, Windows communication foundation apod.

2. Q: Mohu přijít na cvičení i jindy, než mám zapsáno?
A: Ano, přijít můžete na kterékoli cvičení, pouze do prezence se zapište na druhou stránku a uveďte do které skupiny patříte. Pokud bude na cvičení víc studentů než je počítačů, pak u počítačů mají přednost ti, kteří mají danou hodinu zapsanou. Vzhledem k tomu, že se výuka opakuje v sudém/lichém týdnu, tak pokud budete např. nemocní, můžete si cvičení nahradit v následujícím týdnu.

3. 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, projekt musí splňovat pouze obecná kriteria (xml dokumentační tagy, použití objektového modelování a modifikátorů přistupu) a musí být v C#

4. Q: Kterou verzi Visual studia můžu použít, kde sehnat nějakou zkušební verzi?
A: Na http://www.microsoft.com/express/Downloads/#2010-Visual-CS je zdarma ke stažení odlehčená verze, která je po zaregistrování časově neomezená (ne vše probírané na cvičení v této verzi musí fungovat např. Entity framework designer). Na učebnách máte verzi Professional. Můžete zkusit také http://www.sharpdevelop.net/OpenSource/SD/, ale ten není na učebnách nainstalován. Ptejte se také na vaší fakultě na „MSDN AA“, kde získáte zdarma i jiné další produkty Microsoft pro studijní účely.

5. Q: Musím obhajovat projekt v ASP .NET, když mám zapsáno ASP .NET?
A: Ne, ve vašem cvičení lze odevzdat libovolné uživatelské rozhraní. Akceptováno je ASP .NET, Windows Forms a WPF.

6. Q: Co si mám predstavit pod kontaktem zakaznika v druhém projektu?
A: Jaké položky mají obsahovat entity databáze není v zadání stanoveno. Tj. pokud si pod kontaktem představíte celou adresu včetně PSč a GPS souřadnic nebo pouze Jméno kontaktní osoby a telefon, případně email na ni, je zcela na vás.


Projekty 2013/2014

Projekty se odevzdávají na cvičeních, termín je uveden u každého projektu zvlášť. Je silně doporučováno projekty v průběhu semestru konzultovat s cvičícími, předejdete tak případným komplikacím při odevzdání. Po dohodě s cvičícím je také možno jako projekt uznat MCP zkoušku, bakalářskou práci či semestrální projekt do jiného předmětu, pokud projekt splňuje požadavky uvedené jako povinné pro oba projekty.

Projekt 1: (max. 40 bodů, odevzdání: 4. cvičení)

Předveďte OOP modelování v .NET na příkladu Aplikace, která bude schopna ukládat kolekci zákazníků do XML souboru. Zaměřte se především na intuitivnost ovládání aplikace.


Projekt musí obsahovat:

  • Povinně rozdělení Solution alespoň na dva projekty (datová vrstva a GUI) – zamyslete se nad návrhem GUI, musí být intuitivní a ergonomické.
  • Funkční ukládání a načítání v XML formátu (na cvičení se dozvíte jak serializovat pole)
  • Funkční přidávání, editace a mazání zákazníků (Zákazník musí povinně obsahovat jméno, příjmení, pohlaví, věk a adresu)
  • Ošetření chybových stavů (například neexistující XML soubor na disku, apod.)
  • Class diagram obsahující třídy datové vrstvy


Projekt 2: (max. 60 bodů, odevzdání: 6. cvičení)

První projekt rozšiřte tak, aby pro práci se zákazníky používal Databázi pro ukládání kontaktů. Při správném návrhu struktury aplikace z prvního projektu, by mělo postačovat nahradit implementaci datové vrstvy.


Projekt musí obsahovat:

  • Dvě tabulky databáze: Zákazníci a jejich kontakty (Jeden zákazník může mít více kontaktů, přičemž Zákazník musí povinně obsahovat jméno, příjmení, pohlaví, věk a adresu. Kontaktem se pak rozumí emailová adresa a telefon)
  • Funkční přidávání, mazání a editace zákazníků a jejich kontaktů.
  • Filtrování kolekce zákazníků pomocí LINQ (filtrujte pole jméno a příjmení)
  • Přístup k databázi pomocí Entity Framework
  • Program nesmí obsahovat přímé volání SQL dotazů bez použití SQL Parametrů

-
Oba projekty musí dále povinně obsahovat:

  • Použití modifikátorů přístupu vedoucí k bezpečnosti kódu (private, protected, internal, public) – všudypřítomné používání modifikátoru public bude vnímáno negativně, zamyslete se proto při implementaci vždy nad tím, komu chcete povolit přístup k danému členu
  • Korektní ověřování uživatelských vstupů (zadání řetězce místo čísla, přetečení apod.) - používejte metodu TryParse, namísto zachytávání výjimek
  • Použíti dokumentačních tagů u tříd, metod a členů všude tam, kde dává smysl. Interface musí být povinně zdokumentován.
  • Vhodné pojmenování identifikátorů a tříd (pojmenování členu názvem pom1 nemá žádnou vypovídající hodnotu)
  • Vhodné strukturování kódu (veškerý kód projektu v jedné třídě nesvědčí o dobrém programátorském stylu)
  • Zachytávání výjimek, které mohou při běhu programu nastat a jejich korektní zpracování (prázdný blok catch je nepřípustný)

Výuka - bodové rozdělení, zkoušky

přehled

projekty 100 bodů

projekty

V průběhu semestru budou zadány 2 projekty - první za 40 bodů, druhý za 60 bodů.

Cvičící

Ing. Zbyněk Poulíček
poulicek@ginasystem.com
přednášející



Ing. Jiří Pokorný
pokorny@pocitacoveskoleni.cz
přednášející



Ing. Radek Gajdušek
gajdusek@pocitacoveskoleni.cz
přednášející



Bc. Jan Pluskal
pluskal@pocitacoveskoleni.cz

cvičení:
pondělí 7:00-8:50 S - učebna 2, skupina FIT
pondělí 9:00-10:50 L/S - učebna 2, skupina FIT
pondělí 11:00-13:50 L/S - učebna 2, skupina FIT
pondělí 18:00-19:50 L/S - učebna 2, skupina FIT
čtvrtek 7:00-8:50 L - učebna 2, skupina FIT
Bc. Dušan Bezděk
bezdek@pocitacoveskoleni.cz

cvičení:
středa 16:15-17:55 L/S - učebna 2, skupina FEKT
středa 18:00-19:40 L/S - učebna 2, skupina FEKT
pátek 7:00-8:50 L - učebna 2, skupina FIT
Ing. Peter Solár
solar@pocitacoveskoleni.cz
organizace předmětu



iw5-2013.txt · Poslední úprava: 2014/09/19 21:59 (upraveno mimo DokuWiki)
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki