|
|
|
||
Last update: doc. RNDr. Petr Hnětynka, Ph.D. (30.04.2019)
|
|
||
Last update: 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/ Source code of platform libraries for .NET, http://referencesource.microsoft.com/ |
|
||
Last update: Mgr. Pavel Ježek, Ph.D. (04.09.2013)
Strings, basics of the Unicode character set (UTF-8 and UTF-16 encodings, combining characters, etc.), Unicode support in .NET + support for application localization and related challenges. Threads, synchronization primitives (lock, Monitor, WaitHandle subclasses), WinForms (WPF) threading model. .NET memory model, volatile memory operations and memory fences, lock-free and wait-free data structures on .NET platform. Programming with futures/promises, TPL (Task Parallel Library). Basic network APIs (BSD sockets). Asynchronous method calls and non-blocking programming paradigms (async/await). Declarative programming in .NET: LINQ (to Objects), declarative program parallelization (PLINQ). .NET reflection, assembly metadata, CIL code/assembler, dynamic code generation at runtime (lambda functions and Expression Trees, CodeDOM, Mono.Cecil). Data persistence and object serialization: binary serialization, protocol buffers Introduction to aspect oriented programming (AOP). Application domains and principles of sandboxing in managed environment. Advanced network APIs: remote method invocation (.NET Remoting). Support for dynamic programming languages (IronPython, etc.) in .NET, implementing dynamic objects in C#. |