CSH1 - Programming .NET Using C#
This course provides a practical, hands-on introduction to C# programming for programmers experienced in an object-oriented language such as C++ or Java. The course also includes an introduction to some of the most important features of the .NET Framework.
The course opens with a discussion of the fundamental issues in developing applications in the web environment, leading to the concept of applications as a service. The .NET Framework is outlined in detail, including the class library and runtime. The C# programming language is introduced at a sophisticated level, including the object-oriented features. The use of C# with the .NET framework is described, including collections and persistence. Delegates and events are covered.
The course examines the development of user interface applications under .NET, which is profoundly changed. Windows becomes a more robust and stable platform, and there is now a consistent class library, Windows Forms, that is used across multiple languages. ADO.NET is introduced, a new set of data access services for the .NET Framework. ASP.NET is described, including the use of Web Forms and Web Controls to simplify developing and deploying web applications.
The central role of XML and SOAP is described, including a discussion of the creation and use of Web Services.
Numerous programming examples and exercises are included, including a substantial case study. The student will receive a comprehensive set of notes and all the programming examples.
What is Microsoft .NET?
Applications in the Internet Age
Tools for Today's Applications
A Robust Windows Platform
.NET Programming Platform
.NET Framework
Evolution to .NET
.NET Framework Overview
Common Language Runtime
.NET Framework Class Library
Common Language Specification
.NET Languages
.NET Framework SDK
Visual Studio.NET
Common Language Runtime
Goals of CLR
Assemblies
Common Type System
Metadata
Virtual Execution System
Intermediate Language
Managed Code
Just-In-Time Compilation
Garbage Collection
C# Overview for the Sophisticated Programmer
First C# Programs
Namespaces
Input and Output
Control Structures and Operator
Data Types
Classes and Structs
Arrays
Boxing and Unboxing
Formatting
Exceptions
Object-Oriented Programming in C#
Single Inheritance Model
Access Control
Properties and Indexers
Virtual Functions and Polymorphism
Abstract Classes
Interfaces
Fragile Base Class Problem
Using new and override
C# and the .NET Framework
System.Object
Copy Semantics and ICloneable
Using Generic Interfaces
Components in .NET and COM
Collections
Persistence
Delegates
Events
User Interface Programs
Windows Forms
Controls
Visual Studio.NET and Forms
Drawing in Windows Forms
Events
Menus
Dialogs
Database Programming
Managed Providers
Data Reader
DataSet
Relational Database Hierarchy
ASP.NET and Web Services
Web Forms
Html Controls
Web Controls
Collaborative Web Applications
Moving from Web Sites to Web Services
Simple Object Access Protocol (SOAP)
Web Services Description Language
Discovery of Web Services