C# Programming with Test Driven Development Course

Course Outline

Day 1

 

Introduction

What is C#

What is .NET

What is Object-Oriented Technology

Objects and Classes

Hello World

Exercise

 

Classes and Objects

 Value Types

 Reference Variables

 Instance Fields

 Properties

 Creating Objects

 Garbage Collection

 Member Visibility

 Constructors

 Namespaces

Exercise

 

Test Driven Development

NUnit

    

Basics 

Primitive Types

Literal Constants

Operators

if/else

 switch

Parameter Passing

Method Overloading

Call by Value

Exercise

 

Statics

Formatting Output

ArrayList

Loops

XML Doc Comments

Exercise

Collections   

                

Day 2

Inheritance

 base and derived classes

 hiding base class methods

 overriding methods

 order of construction

    

Polymorphism

Abstract Classes   

Sealed Methods and Classes

Exercise

Abstract Test Case

Interfaces

More on ArrayLists

Access Modifiers

 

Day 3

Operator Overloading

Equality

Casting

Type Conversions

Exercise

 

Exceptions

try/catch

Throwing Exceptions

finally

Testing for Exceptions

Exercise

 

Collections        

Arrays

Indexers

Exercise

 

HashTables

Enumerations

Exercise

 

Day 4

Boxing

Call by Reference

ref and out parameters

Casting

as operator

Exercise

    

Delegates

Events

Exercise

 

IO Streams

System.IO Structure

Testing classes that do IO

Exercise

 

Serialization

Exercise

    

Threads

Starting threads

Joining threads

Killing threads

Synchronization

Locks and Monitors

Exercise

 

Day 5

Misc. Topics

 C Heritage

 Structs

 Preprocessor

 unsafe code

 Attributes

 Reflection

 Regular Expressions