Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2023/2024

Programování v C#

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BI-CS1 KZ 4 3C česky
Garant předmětu:
Pavel Štěpán
Přednášející:
Cvičící:
Pavel Štěpán, Helena Wallenfelsová
Předmět zajišťuje:
katedra softwarového inženýrství
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.

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í.

Osnova 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ů

Osnova cvičení:
Cíle studia:
Studijní materiály:

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

Poznámka:

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

Další informace:
https://moodle-vyuka.cvut.cz/course/search.php?search=BI-CS1
Rozvrh na zimní semestr 2023/2024:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
místnost T9:350
Štěpán P.
10:00–12:30
(paralelka 101)
Dejvice
NBFIT PC ucebna
místnost T9:350
Štěpán P.
13:30–16:00
(paralelka 102)
Dejvice
NBFIT PC ucebna
místnost T9:350
Štěpán P.
16:15–18:45
(paralelka 103)
Dejvice
NBFIT PC ucebna
Út
místnost T9:350
Štěpán P.
08:15–10:45
(paralelka 104)
Dejvice
NBFIT PC ucebna
St
Čt
místnost TH:A-1142
Wallenfelsová H.
11:00–13:30
(paralelka 105)
Thákurova 7 (budova FSv)
Apple lab
místnost TH:A-1142
Wallenfelsová H.
13:30–16:00
(paralelka 106)
Thákurova 7 (budova FSv)
Apple lab

Rozvrh na letní semestr 2023/2024:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
místnost TH:A-1142
Štěpán P.
11:00–13:30
(paralelka 101)
Thákurova 7 (budova FSv)
Apple lab
místnost TH:A-1142
Štěpán P.
13:30–16:00
(paralelka 102)
Thákurova 7 (budova FSv)
Apple lab
Út
místnost TH:A-1142
Štěpán P.
09:15–11:45
(paralelka 103)
Thákurova 7 (budova FSv)
Apple lab
místnost TH:A-1142
Štěpán P.
11:45–14:15
(paralelka 104)
Thákurova 7 (budova FSv)
Apple lab
St
Čt
místnost T9:351
Wallenfelsová H.
09:15–11:45
(paralelka 105)
Dejvice
NBFIT PC ucebna
místnost T9:351
Wallenfelsová H.
11:45–14:15
(paralelka 106)
Dejvice
NBFIT PC ucebna

Předmět je součástí následujících studijních plánů:
Platnost dat k 19. 4. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet5073506.html