Nothin But C# v3.5 Edmonton

It’s official. I will be offering the Nothin But C# v3.5 course in Edmonton during the week of March 31st to April 4th. If you’re familiar with JP‘s Nothin But series of courses, you’ll know what this is going to be like. If not, here’s a brief synopsis of how the course will work.

You arrive in the morning prepared to learn about C# and .Net 3.5. I will take you on a coding ride that will end, depending on your willingness and availability, somewhere between 8 and 16 hours later. Rinse and repeat for each of the five days that week.

Here are the details of the course. Registrations can be made through this link. If you have any questions, shoot me an email at donald.belcham@gmail.com.


Nothin’ But C# v3.5 is a 5 day boot camp styled course that provides in depth training in the new language features in version 3.5 of the .Net Framework. Attendees will work with the new features in this version of the Framework to gain an understanding of their operation at a very deep level and aid them in the pragmatic implementation of these tools in their daily development.

While learning to use the new features of .Net v3.5, the students will also be introduced to foundational object oriented programming techniques. They will learn both how to implement these techniques as well as understanding the benefits that they offer.

By the end of the course you will have knowledge of the new features at a very detailed level. You will understand the concepts behind their existence, the limitations that they have and how you can use them to write better code in real applications. None of the concepts will be taught using wizards, drag and drop or templates. Attendees will be learning how to implement these language features combined with OO best practices and using techniques such as TDD.

Attendees should have a good understanding of programming in .Net and OO practices. This is not an introductory course for learning to program with .Net.

Core Concepts Overview

  • New language features in .Net 3.5
  • Extension Methods – helping to make fluent interfaces
  • Lambda Expressions – from refreshers on delegates all the way to the lean lambda
  • Linq – for SQL, XML, Objects, etc.
  • New User Interface Controls
  • Object Oriented Foundations
Detailed Topic Coverage Breakdown
  • New Language Features

    • Simple Properties
    • Anonymous Constructors
    • Anonymous Types
    • DateTime2
    • TimeZoneInfo
    • HashSet
    • Active Directory Integration
    • Diagnostics
    • Cross Framework compatibility
  • Extension Methods

    • Using with primitive types
    • Using with complex types
    • Using with enumerations
    • Using to build fluent interfaces
    • How they are interpreted by the compiler
    • Dangers and code smells
  • Lambda Expressions

    • Refresher on Delegates
    • Refresher on Anonymous Delegates
    • Refresher on Predicates
    • Learn the syntax
    • Replacing Anonymous Delegates with Lambdas
    • How are they interpreted by the compiler
  • Linq

    • Linq fundamentals
    • How is Linq interpreted by the compiler
    • Linq to SQL
    • Linq to XML
    • Linq to Objects
    • Linq to Dataset
    • Linq and performance
  • UI Components

    • ListView control
    • DataPager control

    • MVC fundamentals
    • Writing Views
    • Routing
    • Plugging in Inversion of Control containers
    • Testability
  • Object Oriented Foundations

    • Single Responsibility Principle
    • Separation of Concerns
    • Design by Contract
    • Dependency Injection and Inversion of Control
    • Design Patterns

Target Audience

This is an intermediate level course that will prepare developers to work with the release of the .Net 3.5 framework. Attendees should have a working knowledge of .Net and knowledge of the following

  • Core working knowledge of either Visual Basic or C#
  • Base grasp of Object Oriented Design principles
  • High level understanding of SQL Server and XML

Intended Outcomes

Once attendees have completed this course they should have a strong, practical understanding of the following:

  • New base language features in the .Net 3.5 framework
  • Lambda expressions
  • Linq for SQL, XML and Objects
  • Extension methods
  • Design by contract
  • Practical application of basic patterns
  • Test Driven Development