.profile Consulting Inc. presents:

A One Day Technical Tour of

.NET and the C# Programming Language

for Object Oriented Programmers


This course presents .NET and the C# programming language to a depth that permits evaluation of its suitability for various problem domains. It will present a technical tour of the features listed below.

Modulo the hype, .NET is a new platform from Microsoft, based on a virtual machine akin to Java's. This engine, the Common Language Infrastructure (CLI), defines an instruction set, an object type system, file formats, etc. The CLI differs from the JVM in important respects:

  • it is programming language neutral
  • it is intended for native execution, primarily
  • it has a richer type system
  • it has both safe and unsafe instructions
  • it supports code versioning and authentication

Above the virtual machine, there are class libraries with support that extend to XML and SOAP. The C# programming language, which sits about half-way between Java and C++, is the closest fit to the machine.

The presentation will discuss the CLI, compilers that target the machine, and the consequences building and deploying .NET applications, the standardization of .NET by ECMA, and standards-based open-source implementations of .NET.

Course Structure

The course is presented as 1 day of lecture with some live demonstration if facilities permit.

Audience Background

Proficiency with an object-oriented programming language is required, as this course will not introduce object-oriented programming concepts and several code examples will be studied.

  • .NET Overview
    • What is .NET?
    • Portability
    • Litigation/Standards
    • (Some) History
    • The .NET Machine
    • .NET versus Java
    • .NET Languages
    • Common Language Infrastructure
    • Common Type System (CTS)
    • Common Language Specification (CLS)
    • Implementations
    • Open Source Implementations
    • C# Programming Language
    • Deployment
    • Application Deployment (Theory)
    • Global Assembly Cache
    • Code Versioning: Theory vs. Practice
    • Code Authentication
    • Application Domain
    • Conclusion
  • C# Overview
    • C# Lineage
    • Key Properties
      • .NET Library
      • Inheritance
      • System.Object
      • Namespace
      • Exceptions
      • Syntax
    • Some Details
      • Value vs. Reference
      • Parameter Transmission
      • Boxing
      • Property
      • Attribute
      • Delegate
      • Event
      • Threading
      • Operator Overloading
      • Unsafe
    • Example

Thomas A. Cargill, Ph.D.

Pricing and Availability

This course is available on-site at your location. Please call .profile Consulting Inc. at (303) 499-5940 or email us at cjm@profcon.com for pricing, instructor availability and scheduling.

Back to .profile Consulting Inc. Home Page
Last Updated: February 2008.
Questions? Contact cjm@profcon.com
This page printed from www.profcon.com