Microsoft .NET is an advance in programming technology that greatly simplifies application development, both for traditional, proprietary applications and for the emerging paradigm of Web-based services. .NET is a complete restructuring of Microsoft’s whole system infrastructure and represents a major learning challenge for programmers developing applications on Microsoft platforms. Part of .NET is a major new object-oriented programming language, C#. But learning the new programming language is only part of the challenge. The much greater challenge is learning the .NET Framework and all its capabilities.
This three-day course covers the essentials of the .NET Framework for programmers who already know the C# language and the fundamentals of Windows Forms. It is current to .NET 4.5.1 and Visual Studio 2013. The course focuses on core portions of the .NET Framework that are common across many application areas. Separate courses are available in specific areas, such as ADO.NET, XML Programming, Windows Presentation Framework, Windows Communications Framework and ASP.NET.
The course starts with an introduction to the architecture and key concepts of .NET. It then discusses class libraries, assemblies, versioning, configuration, and deployment, which constitute a major advance in the simplicity and robustness of deploying Windows applications, ending the notorious “DLL hell.” The next four chapters discuss important topics in the .NET programming model, including metadata, reflection, I/O, and serialization. Chapter 6 continues the discussion of the .NET programming model, covering memory management, asynchronous programming and application domains. Next comes a chapter on threading, which includes an introduction to the Task Parallel Library (TPL).
.NET Security, which was simplified in .NET 4.0, is introduced, including both code access security and role-based security. The next chapter covers interoperability of .NET with COM and with Win32 applications. The course concludes with an introduction to database programming using ADO.NET and LINQ. An appendix covers .NET Remoting.
The course is practical, with many examples and a case study. The goal is to equip you to begin building significant applications using the .NET Framework. The student will receive a comprehensive set of materials, including course notes and all the programming examples.
The student should be an experienced application developer or architect with a working knowledge of C#, including building simple GUIs with Windows Forms.
Required software is Visual Studio 2013, which includes LocalDB, a new lightweight version of SQL Server 2012 Express. The free Visual Studio Express 2013 for Windows Desktop can be used. The operating system should be Windows 7SP1 or more recent. See the appropriate course Setup Guide for details.
A good minimal hardware profile for this course would have a 1.8 GHz or equivalent CPU, 2 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.