Day 1
Iterators and Anonymous Methods
Iterators and anonymous methods bring features from the world of functional languages into C#. These features simplify boring code and make it possible to streamline code that has traditionally been awkward in C#. This talk explains Iterators, Anonymous methods and Lambda expressions with a focus on the types of problems for which they are best suited.
LINQ
Language Integrated Query is an attempt to merge SQL-like constructs directly into languages like C# and VB.NET. We look at this technology including the from / select / where syntax and talk about how LINQ can be used to query your collections of objects
LINQ to XML
LINQ to XML is the new API for XML processing introduced in .NET 3.5. It allows you to locate information with a very concise syntax. However, more that that it allows both the generation of XML and a simple way of transforming XML data into objects.
LINQ to Entity Framework
LINQ to EF introduces the Entity Framework an Object Relational Mapping (ORM) layer released in .NET 3.5 SP1. The module shows how to create mappings from data sources into this layer and how LINQ can be used to query and manipulate this data
Day 2
Windows Presentation Foundation basics
The Windows Presentation Foundation is Microsoft's Next Generation user-interface technology. It provides a radically different way to construct flexible and dynamic rich client programs. In this session, we will introduce the architecture of WPF and how you build applications to utilize this fundamental presentation technology.
WPF Databinding
Moving data between the UI and underlying objects can be a laborious task. Databinding is a technology that hugely simplifies this process. But more than that, in WPF databinding is a fundamental skill for creating rich user interfaces with minimal code.
Windows Communication Foundation Architecture
The shift from object oriented development to component oriented development made it possible to build more loosely coupled and flexible systems where individual components evolved independently without impacting the overall system. The Windows Communication Foundation continues those practices by providing a model which is based on interfaces and contracts. This talk will introduce you to the WCF model and how to utilize it to build service-oriented and distributed applications.
Building REST based services with WCF
Service Orientation and SOAP are often seen as going hand-in-hand. However, there is another architectural style for building services that or REpresentational State Transfer, or REST. REST uses the design principles that have made the web so hugely scalable: resources are identified by URI, operations defined by HTTP verbs, links used to move to the next stage of processing. In this module we look at how WCF can be used to build REST based systems
Day 3
Multithreading with.NET 3.5
.NET has always had library support for writing multithreaded applications. In this module we look at the tools in the current release of .NET for running tasks asynchronously using the built in system threadpool and by creating your own threads manually.
Thread Safety
Asynchronous programming requires careful attention to detail since most objects are not designed with multithreaded access in mind. This module introduces the importance of Interlocked and Monitor-based synchronization.
PFx: Tasks and Concurrent Data Structures
The 4.0 release of .NET introduces a new threading library known as the Parallel Framework Extensions (or PFx). In this, the first of two talks we look at how the Task concept unifies the API for multithreading and introduce some of the ways that PFx simplifies common multithreading issues. We also look at the high performance concurrent data structures that are part of the API.
PFx: Parallelizing CPU Intensive Algorithms
The original goal of PFx was to provide support for splitting computationally intensive jobs across multiple processor cores. Even though the scope of the library has expanded, this is still an important part of this infrastructure. In this talk we look at the tools PFx gives you to aid parallelizing algorithms but we also shows that without care PFx isn't necessarily the free lunch it appears.
Day 4
Inside the Garbage Collector
The garbage collector has been part of .NET since its inception. However, exactly how the GC works is often shrouded in mystery. Also the fact that memory management is automated doesn't release the developer from caring about memory issues it's just those memory issues appear in a different guise. In this module we take the lid of the GC, look at how it works and is optimized and then assess what this means for you when you are writing your code: things you do that can help the GC and things that cause it problems.
Power Debugging with WinDBG
For many developers debugging tools start and end with Visual Studio. However, there are a large number of problems that Visual Studio provides very little support particularly threading and memory management issues. WinDBG and the plugin SOS.DLL bring a new set of tools to .NET developers that can provide insights that help you solve bugs that you see during testing but also allow you to diagnose issues occurring in production systems where the only data you can get is a crash dump file.
Windows Workflow Foundation 4.0 Architecture
The next version of Windows Workflow Foundation (WF 4.0) is a radical change to the existing version. This allows a much more efficient execution model and greater flexibility. In this module we look at what issues drove the changes and how the new infrastructure works to provide an environment for assembling applications from execution building blocks that have the ability to automatically manage state over long running execution.
WF 4.0 Services
One of the goals of WF 4.0 was to create a powerful library for building WCF services that are purely declarative in nature deployed as XAML files. In this module we'll talk about how to use the new library, how to build services declaratively and how we can use a new correlation infrastructure to build services that manage state over lengthy execution.
Day 5
ASP.NET MVC
Since .NET 1.0, ASP.NET has used server sided controls to build "web forms". However, there is now a new approach with leverages the Model/View/Controller design pattern that has worked so well in frameworks such as Ruby on Rails. This new approach is called ASP.NET MVC and creates code that is much easier to unit test than web forms and so lends itself well to Test Driven Development
Silverlight
In this module, you will learn about a new and upcoming technology from Microsoft called Silverlight, which is partially based on WPF but allows cross-platform, cross-browser capabilities. You will learn how this differs from the desktop variety of WPF and see how to build applications which use the bulk of your desktop logic and layout but are run on non-Windows platforms.
Windows Azure
Windows Azure is a multi-layered architecture for running applications and services in Microsoft hosted data centers. In this module we will look at the different pieces of Azure and how they are layered on top of each other. We will also look at how you create Azure applications.