This document provides an introduction to the C# programming language. It outlines prerequisites, learning objectives, and an agenda. The agenda includes an overview of C# design goals like component orientation and everything being an object. It also covers C# fundamentals like types, program structure, statements, operators, and using Visual Studio.NET and the .NET framework. Key points are made about C# having a unified type system where all data is an object and value and reference types can be treated polymorphically using boxing and unboxing.