Hlavní stránka | Seznam oborů/specializací | Seznam všech skupin předmětů | Seznam všech předmětů | Seznam rolí                Návod

Předmět je základní jednotka výuky, jejímž prostřednictvím si student osvojí ucelenou část souboru znalostí a dovedností, potřebnou pro zvládnutí studijního oboru/specializace. Za věcný obsah předmětu zodpovídá garant předmětu. Časovou náročnost předmětu zhruba vyjadřuje atribut předmětu rozsah kontaktní výuky. Například rozsah = 2+2  značí, že předmět bude mít týdně dvě hodiny přednášek a dvě hodiny cvičení týdně. Na závěr semestru musí vyučující provést vyhodnocení, nakolik si ten který student osvojil poznatky a dovednosti, kterých měl během výuky nabýt. Jakým způsobem toto hodnocení vyučující provedou určuje atribut způsob zakončení. U předmětu lze definovat, že předmět je zakončen pouze zápočtem(Z), klasifikovaným zápočtem(KZ), pouze zkouškou(ZK), nebo zápočtem a zkouškou(Z,ZK). Náročnost úspěšného absolvování předmětu je vyjádřena ECTS kreditními body. Výuka předmětu probíhá během semestru. Opakovaně se předmět vyučuje vždy v zimním(Z), nebo v letním(L) semestru každého akademického roku. Výjimečně může předmět být nabízen studentům v obou semestrech(Z,L). Za organizační zajištění výuky zodpovídá přiřazená katedra, která zejména vytvoří časový rozvrh předmětu a zajistí pro předmět vyučující. Někteří přednáší a zkouší, jiní vedou cvičení a udělují zápočty.
Obsahová náplň a další organizační informace, týkající se předmětu je popsána pomocí různých popisných textů(anotace, týdenní osnova, literatura, apod.)
$DODATEK_POPIS
BI-CS1 Programování v C# Rozsah kontaktní výuky: 3C
Vyučující: Způsob zakončení: KZ
Zodpovědná katedra: 18102 ECTS Kredity: 4 Semestr: L,Z

Anotace:
Student se seznámí s principy, na kterých je založena platforma .NET a s požadavky na vytváření programů pro tuto platformu. Poté se učí programovací jazyk C#. Zde jsou vyloženy základní konstrukce jazyka - typy a definice proměnných, operátory, pole, cykly, definice a volání funkcí. Značná pozornost je věnována implementaci objektového programování v C# - definice a instancování tříd, konstruktory, metody, vlastnosti, statické členy a Garbage Collector. Dále se posluchači seznámí s dědičností a polymorfizmem v C#. Naučí se též pracovat s kolekcemi, delegáty a generikami a práci s komponentami. Důležitou součást představuje i ladění a zpracování výjimek. V neposlední řadě se student naučí základům práce se soubory i zpracováním vstupů z myši a klávesnice. Konečně se zde zabýváme i novějšími partiemi programování na této platformě a to nullable typy, autoimplemented vlastnostmi (property), anonymními a lambda funkcemi (výrazy), enumerovatenými typy, functory, anonymními typy, typem var, extension metodami, partial metodami a stručně se dotkneme i expression trees. Upozornění: Výuka předmětu je organizována tak, aby poskytla základ pro programování v jazyce C# na platformě .NET. Rozhodně tedy není určena těm, kteří již nějakou na .NETu pracují a chtěli by se seznámit pouze s některými specialitami a nástavbami.

Osnovy přednášek:
1. Úvod: Základna pro aplikace - .NET Framework,
- Intermediate Language - Common Language Runtime - Base Class Library - Namespaces, - struktura assemblies - nadstavby .NET: ADO.NET, ASP.NET, web services, WCF, WF, WPF, Silverlight, Card Space, LINQ, Entity Framework
2. Vývojové prostředí Visual Studio: seznámení, základní controls (TextBox, Label, Button a další), úpravy kódu a formátování, tvorba jednoduchého programu
3. Základy WPF (Windows Presentation Foundation)
4. Formát programu, datové typy, proměnné a konstanty, referenční a hodnotové typy, pole, kolekce, struktury, výrazy a operátory, řídící, přiřazovací a další příkazy jazyka, funkce - definice a volání
5. Tvorba objektů: objektové programování - základní informace, Encapsulation, Methods, Fields, Properties, definice tříd, overloading, property procedury, vytváření instancí (objektů), statické vlastnosti, metody, konstruktory a třídy
6. Inicializace a rušení objektů: konstruktory tříd, Garbage Collector - správa paměti
7. Odvozování objektů: Inheritance (dědičnost), definice a používání interface, abstraktní třídy a metody
8. Přetěžování operátorů
9. Polymorfismus: principy a využití, virtual, override
10. Nadstavbové možnosti objektového programování:
- třída object; boxing/unboxing; - indexery, iterátory - Generics (prototypy), typované kolekce - partial classes - anonymní metody - aplikace, tvořená více assembly - komponenty, reference
11. Delegáty a událostní programování: delegáty - "bezpečné pointery" (single/multicast), definování událostí (eventů), používání eventů
12. Ladění (debugging): ladící prostředky C# a jejich používání
13. Zpracování Run-Time Errors (Exceptions): strukturované zpracování výjimek, Exception Class, příkazy Try, Catch a Finally
14. Základy práce se soubory: třída Stream, typy souborů, operace se soubory, operace s adresáři
15. Zpracování vstupů (klávesnice, myš) a validace
16. Security - hlavní možnosti v .NET
17. Paralelní programování v .NET frameworku (základy)
18. Základy serializace
19. Další: vybrané třídy; základy instalace programů

Osnovy cvičení:

Literatura:
Hlavní studijní materiál představují programy, vytvářené v průběhu semestru. Je však možné použít i následující literaturu (i když jde o poněkud příliš rozsáhlé publikace): Christian, N. a kolektiv "C# 2008 programujeme profesionálně". Nakladatelství Computer Press, 2009. ISBN: 978-80-251-2401-7 MacDonald, M., Freeman A., Szpuszta, M. "ASP.NET 4.0 a C# 2010". Nakladatelství Zoner Press, 2011, ISBN: 978-80-7413-131-8 Sharp J. "Visual C# 2010". Nakladatelství Computer Press, 20121, ISBN: 978-80-251-3147-3

Požadavky:
Předpokládá se schopnost algoritmizace a jistá praxe s vytvářením alespoň menších programů. Samozřejmě se předpokláda i schopnost zacházet s počítačem, vybaveným operačním systémem Windows (alespoň na uživatelské úrovni). Výhodou (i když nikoli nezbytným předpokladem) je znalost principů objektového programování.

Informace o předmětu a výukové materiály naleznete na https://moodle-vyuka.cvut.cz/course/search.php?search=BI-CS1

Předmět je zahrnut do těchto studijních plánů:
Plán Obor Role Dop. semestr
BI-SPOL.2015 Nespecifikovaný/á obor/specializace studia - Unspecified Branch/Specialisation of Study V 3
BI-WSI-PG.2015 Webové a softwarové inženýrství V 3
BI-WSI-WI.2015 Webové a softwarové inženýrství V 3
BI-WSI-SI.2015 Webové a softwarové inženýrství V 3
BI-ISM.2015 Informační systémy a management V 3
BI-ZI.2018 Znalostní inženýrství V 3
BI-PI.2015 Počítačové inženýrství V 3
BI-TI.2015 Teoretická informatika V 3
BI-BIT.2015 Bezpečnost a informační technologie V 3
BI-SPOL.21 Nespecifikovaný/á obor/specializace studia - Unspecified Branch/Specialisation of Study V 3
BI-PI.21 Počítačové inženýrství 2021 V 3
BI-PG.21 Počítačová grafika 2021 V 3
BI-MI.21 Manažerská informatika 2021 V 3
BI-IB.21 Informační bezpečnost 2021 V 3
BI-PS.21 Počítačové sítě a Internet 2021 V 3
BI-PV.21 Počítačové systémy a virtualizace 2021 V 3
BI-SI.21 Softwarové inženýrství 2021 V 3
BI-TI.21 Teoretická informatika 2021 V 3
BI-UI.21 Umělá inteligence 2021 V 3
BI-WI.21 Webové inženýrství 2021 V 3
BI-BIT.2015 Bezpečnost a informační technologie V 3


Stránka vytvořena 26. 4. 2024, semestry: Z/2021-2, L/2019-20, Z/2022-3, Z/2023-4, L/2021-2, Z,L/2020-1, L/2022-3, L/2023-4, Z/2024-5, Z/2019-20, připomínky k informační náplni zasílejte správci studijních plánů Návrh a realizace: J. Novák, I. Halaška