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. There is substantial change to the Visual Basic
language, including its object-oriented features. 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 Visual Basic language and the fundamentals
of Windows Forms. It is current to .NET 4.5 and Visual Studio 2012. 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.

LEARNING OBJECTIVES

·Gain a thorough understanding of the philosophy
and architecture of .NET

·Acquire a working knowledge of the .NET
programming model and .NET Security

·Implement multi-threading effectively in .NET
applications

·Learn how to implement database applications
using ADO.NET and LINQ

Course Duration:3
days

Prerequisites:The
student should be an experienced application developer or architect with a
working knowledge of Visual Basic, including building simple GUIs with Windows
Forms.

1..NET Fundamentals

What is Microsoft .NET?

Common Language Runtime

Attribute-Based Programming

Interface-Based Programming

Metadata

Common Type System

Framework Class Library

Language Interoperability

Managed Code

Assemblies and Deployment

Web Services

ASP.NET

2.Class Libraries

Components in .NET

Building Class Libraries at the Command Line

Class Libraries Using Visual Studio

Using References

3.Assemblies, Deployment and Configuration

Assemblies

Private Assembly Deployment

Shared Assembly Deployment

Configuration Overview

Configuration Files

Programmatic Access to Configuration

Using SDK Tools for Signing and Deployment

Application Settings

4.Metadata and Reflection

Metadata

Reflection

Late Binding

5.I/O and Serialization

Directories

Files

Serialization

Attributes

6..NET Programming Model

Memory Management and Garbage Collection

Asynchronous Delegates

BackgroundWorker

Application Domains

7..NET Threading

Threading Fundamentals

ThreadPool

Foreground and Background Threads

Synchronization

Task Parallel Library

8..NET Security

Authentication and Authorization

Code Access Security

Sandboxing

Permissions

Role-Based Security

Principals and Identities

9.Interoperating with COM and Win32

.NET Client Calling a COM Server

64-bit System Considerations

PInvoke

10.ADO.NET
and LINQ

ADO.NET Overview

.NET Data Providers

Connections

Using LocalDB

Commands

DataReaders and Connected Access

Data Sets and Disconnected Access

Language Integrated Query

Appendix A:.NET Remoting

Marshal by Value

Marshal by Reference

.NET Remoting

System Requirements

Required software is Visual Studio 2012, which includes LocalDB, a new
lightweight version of SQL Server 2012 Express. 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.