At the end of the course, students will be able to list the major elements of the .NET Framework and explain how C# fits into the .NET Platform, analyse the basic structure of a C# application and be able to document, debug, compile, and run a simple application, create and assign values to variables, use common statements to implement flow control, looping, and exception handling, create methods (functions and subroutines) that can return values and take parameters, create, initialise, and use arrays, explain the basic concepts and terminology of object-oriented programming, use common objects and references types, create, initialise, and destroy objects in a C# application, build new C# classes from existing classes, create self-contained classes and frameworks in a C# application, define operators, use delegates, and add event specifications, implement properties and indexers, use predefined and custom attributes