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

Aktuality k předmětu

1.10.2013 Peter Solár
Pozvánka na MS Fest
Dovolujeme si Vás pozvat na konferenci MS Fest, která se letos koná nově i v Brně - na FITu. Je pro Vás zdarma připraveno 48 odborných přednášek během celého víkendu 12.-13.10.2013. Můžete navštívit přednášky pro vývojáře webových i .NET aplikací, databázové specialisty, IT profesionály, ale také přednášky zaměřené na soft-skills dovednosti.

Nepropásněte tuto jedinečnou příležitost navštívit největší technickou konferenci na Moravě, protože další konference zaměřená na MS technologie bude v Brně zase až za rok.

Více informací, aktuální program a registraci naleznete na http://www.ms-fest.cz/



3.4.2013 Peter Solár
akce Microsoftu: Windows 8 - akademická roadshow 2013
V úterý 23.4. proběhne na FIT akce Windows 8 - akademická roadshow 2013. Registrace a detaily na uvedeném blogu.

25.3.2013 Radek Gajdušek
Cvičení připadající na Velikonoční pondělí, tj. 1.4.2013 se uskuteční v náhradních termínech, které jsou následující:

  • Ondra Polesný – úterý 2.4.2013 8:00-14:00
  • Radek Gajdušek – pátek 5.4.2013 8:00-14:00

V případě, že někomu termín nebude vyhovovat, může přijít na libovolné cvičení. V ojedinělých případech je možno obhájit první projekt po předchozí domluvě emailem o týden později.


19.3.2013 Peter Solár
Nabídka práce
Siemens o.z. Industrial Turbomachinery s.r.o. nabízí studentům FIT VUT spolupráci na třetinový až poloviční úvazek:

Více informací v přiložených PDF.

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

1.2.2013 Peter Solár
Imagine Cup 2013
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. 01_net.ppt Úvod do platformy .NET
2. 02_zakladyc_.ppt Jazyk C#, prvky jazyka
3. 03_oop.ppt Jazyk C#, OOP
4. 04a_delegaty.ppt 04b_kolekce.ppt Delegáty, události, anonymní metody, kolekce
5. 05_generika.ppt Generika, Winforms
6. 06_wpf.ppt WPF - styly, stromy, properties, events, databinding
7. 07a_reflexe.ppt 07b_vlakna.ppt Reflexe, vlákna
8. 08_adonet.ppt ADO.NET
9. 09_ef.ppt LINQ to SQL, Entity Framework


+ 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í
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í
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é]
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í
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í
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í klienta (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 2012/2013

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 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)
  • 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ů.

Fotky

Cvičící

Ing. Pavel Příborský
priborsky@pocitacoveskoleni.cz
přednášející



Bc. Radek Gajdušek
gajdusek@pocitacoveskoleni.cz
cvičení:
pondělí 14:00-15:50 L/S - učebna 2, skupina FIT
pondělí 16:00-17:50 L/S - učebna 2, skupina FIT
pondělí 18:00-19:50 L/S - učebna 2, skupina FIT
Bc. Ondřej Polesný
polesny@pocitacoveskoleni.cz

cvičení:
pondělí 8:00-9:50 L/S - učebna 2, skupina FEKT
pondělí 10:00-11:50 L/S - učebna 2, skupina FIT
pondělí 12:00-13:50 L/S - učebna 2, skupina FIT
iw5-2012.txt · Poslední úprava: 2014/02/07 10:37 (upraveno mimo DokuWiki)
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki