PředmětyPředměty(verze: 802)
Předmět, akademický rok 2016/2017
   Přihlásit přes CAS
Pokročilé programování pro .NET I - NPRG038
Anglický název: Advanced .NET Programming I
Zajišťuje: Katedra distribuovaných a spolehlivých systémů (32-KDSS)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2013
Semestr: letní
E-Kredity: 6
Rozsah, examinace: letní s.:2/2 Z+Zk [hodiny/týden]
Počet míst: neomezen
Minimální obsazenost: neomezen
Stav předmětu: vyučován
Jazyk výuky: čeština, angličtina
Způsob výuky: prezenční
Další informace: http://d3s.mff.cuni.cz/teaching/nprg038
Garant: Mgr. Pavel Ježek, Ph.D.
Třída: Informatika Bc.
Informatika Mgr. - volitelný
Kategorizace předmětu: Informatika > Programování
Korekvizity : NPRG035
Je korekvizitou pro: NPRG057
Anotace -
Poslední úprava: Tajemník Katedry (05.05.2011)

Cílem předmětu je posluchače seznámit s pokročilými technikami programování pro platformu .NET a se specializovanými částmi knihoven platformy .NET. Po absolvování předmětu by měli mít studenti široký přehled o funkcích poskytovanými knihovnami .NET a být schopni je efektivně využít v reálných projektech nad platformou .NET. Předpokládá se dobrá znalost jazyka C# a základních principů platformy .NET na úrovni předmětu NPRG035.
Literatura -
Poslední úprava: Mgr. Pavel Ježek, Ph.D. (04.09.2013)

Mark Michaelis, Eric Lippert: Essential C# 5.0, 4th Edition, Addison-Wesley Professional, 2012

Jeffrey Richter: CLR via C#, 4th Edition, Microsoft Press, 2012

Jon Skeet: C# in Depth, 3rd Edition, Manning Publications, 2013

Christian Nagel et al.: Professional C# 2008, Wrox, 2008

Serge Lidin: Expert .NET 2.0 IL Assembler, Apress, 2006

Mark E. Russinovich, David A. Solomon: Windows Internals 5th Edition, Microsoft Press, 2009

Microsoft Developer Network Library, http://msdn.microsoft.com/library/

Zdrojové kódy knihoven platformy .NET, http://referencesource.microsoft.com/

Sylabus -
Poslední úprava: Mgr. Pavel Ježek, Ph.D. (04.09.2013)

Pokročilá práce s řetězci, základy znakové sady Unicode (kódování UTF-8, UTF-16, combining characters, atd.), podpora .NET pro Unicode, problémy související s lokalizací aplikací a jejich řešení v .NET

Vlákna, synchronizační primitiva (lock, Monitor, potomci WaitHandle), WinForms (WPF) threading model

.NET memory model, volatile operace a memory fences, lock-free a wait-free datové struktury v .NET

Koncept futures/promises a TPL (Task Parallel Library)

Základní sítová komunikace (BSD sockets).

Asynchronní volání metod a programování neblokujících operací (async/await)

Deklarativní způsoby programování a paralelizace aplikací: LINQ (to Objects), PLINQ.

Reflexe v prostředí .NET, metadata, CIL kód/assembler, generování kódu za běhu aplikace (lambda funkce a Expression Trees, CodeDOM, Mono.Cecil).

Persistence dat a serializace: příklady binární serializace, protocol buffers.

Základy aspektově orientovaného programování (AOP).

Aplikační domény a principy oddělení neznámého kódu v řízeném prostředí.

Pokročilé možnosti síťové komunikace: vzdálené volání objektů (.NET Remoting)

Dynamické programovací jazyky (IronPython, apod.) v prostředí .NET, vytváření dynamických objektů v C#.

 
Univerzita Karlova | Informační systém UK