Basics of c#: concept of namespaces, command line arguments, multiple main methods, literals, variables, data types, constant varibles, scope, boxing & unboxing, type conversions, operator precedence & associativity, decision making & branching, iteration techniques, foreach statement.
Methods in C#: pass by value vs. reference, the output parameters, Variable argument list,method overloading. Array handling, I-d arrays, multi-dimensional arrays, variable size array, System.array class, ArrayList class, some string methods, mutable strings, array of strings. Using structures & enumerations.
The concept of classes & objects: accessing class members, constructors & their overloading, static members, static constructors, private constructors, copy constructors, destructors, use of this keyword, readonly members, properties & indexes.
Inheritance: defining a subclass, visibility controls, overriding of methods, sub class constructors behaviour, multilevel & hierarchical inheritance, Abstarct classes, Sealed classes & sealed methods, POLYMORPHISM.
Interfaces: defining an interface, the concept of implementing interfaces, extending an interface, inheritance Vs. interfaces, distinction between abstract classes & interfaces.
The concept & utility: overloadable & non overloadable operators, overloading binary operators, unary operators overloading.
Concept of delegates: delegate declaration, delegate methods, instantiation, invoking delegates, multicasting, the concept of events & their usage.
The Console class of C#: Console input & output, Formatting of numbers, Exception handling, Exception Hierarchy, catch statements, finally statement, nested try blocks, manual throwing of exceptions.
Multithreading in C#: the built-in namespace System.Threading, creation of a thread, scheduling techniques, synchronization, pooling techniques.