Charles Explorer logo
🇨🇿

Programování v jazyce C#

Předmět na Matematicko-fyzikální fakulta |
NPRX035

Sylabus

Rozdíly mezi prekladem/behem nerízeného (C++) a rízeného kódu (C#/.NET, Java).

Základní principy JIT prekladu, funkce virtuálního stroje CLR, koncept safe/unsafe kódu, prehled jazyku pro .NET (C#, VB.NET, F#, C++/CLI, IronPython), výhody a nevýhody platformy .NET.

Implementace platformy .NET: Microsoft .NET Framework, Mono.

Vývojové nástroje, základy merení výkonu aplikací, dokumentování kódu.

Hodnotové vs. referencní typy (srovnání s jazyky Java a C++).

Alokace pameti na halde, základní principy Garbage Collection.

Trídy a struktury, rozhraní, dedicnost, virtuální metody, (statické) class konstruktory (srovnání s jazyky Java a C++).

Práce s retezci

Mutable vs. immutable datové typy.

Generické typy (srovnání s generickými typy v jazyce Java a se šablonami v C++).

Variance datových typu (kovariance a kontravariance).

Extension metody, pretežování operátoru, anonymní metody a lambda funkce, iteracní metody (srovnání s C++).

Delegáti a události.

Standardní knihovny .NET (soubory, kolekce, atd.).

Finalizace objektu, pokrocilé principy Garbage Collection, princip generacního Garbage Collectoru.

Anotace

Cílem předmětu je posluchače detailně seznámit s klíčovými principy platformy .NET, s jazykem C# a jeho pokročilejšími konstrukcemi. Po úspěšném absolvování předmětu by měli být studenti schopni efektivně využívat výhod platformy .NET.

Předpokládá se znalost objektově orientovaného a událostmi řízeného programování a základních rysů jazyka C# na úrovni předmětu "NPRG031 Programování 2".