Programming in C#. Topics such as OOD, inheritance, interfaces, contracts, UML, composition, exceptions.