Course Duration: 4 1/2 days
Price: $18,500 for 12 students. Additional students: $750 each. Price includes course materials and texts. Instructor travel and lodging are extra.
This course teaches:
- Mastering the C# language syntax: value and reference types, iterators, classes, interfaces, inheritance mechanisms, keywords, control structures, and exceptions
- Using the library classes and frameworks: Collections, Threads, Streams, File I/O, and the Event-Delegate Framework
- Debugging and handling errors
- Applying C#-specific programming styles, patterns, and idioms
- Choosing an appropriate application architecture
- Populating the application architecture with objects that play well-defined roles: information holders, structurers, user and data interfacers, service providers, controllers and coordinators.
- Taking full advantage of object-orientation: encapsulation, inheritance, and polymorphism
- Applying selected creational, structural, and behavioral patterns from the most recent patterns literature
Course Outline
Day 1: .NET Programming in C#
- The .NET Language and Library
- NET Tools
- Garbage Collection and Finalization
- Value and Reference Types
- Operator Overloading
- Enums
- Packaging
- Classes and Structs
- Constructors
- Patterns for Object Creation
- .NET Library Classes
- UML Diagrams
- Testing Strategies
Day 2: Collections and Advanced Object Techniques
- Roles, Responsibilities and Collaborations
- XML in a Nutshell
- .NET Collections
- Indexing
- Static Variables and Methods
- Interfaces
- Inheritance and Composition
- Type-Safe Constants
- Attributes
- Structural Patterns
Day 3: Interfaces and Exceptions
- Interfaces and Polymorphism
- .NET Service-Utility Classes
- Exception Handling
- Overriding Methods
- Behavioral Patterns
Day 4: I/O Concurrency, and Interoperability
- Streams and Reader/Writer classes
- Serialization
- Controlling Threads
- ThreadStart Delegates
- Thread Synchronization
- Concurrency Patterns
- Reflection
- Control Styles
- Unsafe Code
- COM Interoperability
Day 5 (1/2 day): Web Services and Event-Oriented Programming
- Web Services
- Event Broadcasting
- Publish-Subscribe Design Pattern
- .NET Event-Delegate Patterns
The Best Way to Learn
People learn by doing. This course includes many cycles of hands-on work, followed by instructor-led clinics that reinforce C# coding and design concepts. Each learning cycle, which lasts between 1 hour and 2 hours, consists of:
- First, a lecture and demonstration of new concepts and techniques.
- Then, a series of quick hands-on explorations of the .NET class library.
- Where applicable, demonstration of relevant coding patterns.
- Then, a challenging programming exercise.
Finally, a group clinic that reinforces the best solutions. You present your work for review and comment. This discussion reinforces the object-oriented principles and programming idioms involved in the exercise.
Prerequisites
You should be familiar with programming concepts and be looking for a coherent way to approach a programming project.
Course Includes:
Along with a course guide, you receive selected texts and on-line references vital to your on-the-job performance. These books provide guidance on using the C# language, designing C# code, and learning the .NET class libraries.