US / UK-EMEA / Contact Ask DevelopMentor a Question800.699.1932

Guerrilla .NET (US) Training

(FW1091) 5 Day Course, $3795
 
Upcoming Classes:

What You Will Learn

Course Highlights

Course Details

Dates & Locations

Guerrilla .NET provides a deep exploration of .NET design philosophy and practical advice. You learn a myriad of patterns and best practices, and you get hands-on experience developing applications using Visual Studio 2010. Learn to write code using new .NET class libraries like LINQ and Silverlight.


You will learn to:

  • C#: Leverage new features of C# including asynchronous methods from C# 5.0, dynamic typing from C# 4.0, and LINQ and lambda expressions from C# 3.0.
  • WPF/SL: Develop cutting-edge UIs with Windows Presentation Foundation and Silverlight including coverage of Silverlight 5.0 (assuming Silverlight 5.0 beta is available after Mix 11).
  • MVVM: Learn advanced WPF / Silverlight design patterns and techniques including MVVM (Model-View-ViewModel).
  • Cloud Computing: Explore the rapidly evolving world of cloud-computing from a .NET developer's perspective. Learn about IaaS, PaaS, and design patterns for scalable cloud-based applications.
  • Multithreading: Use PFx as a unifying library for all your multithreading needs.
  • Multithreading: Parallelize computationally intensive processing using multiple cores/processors.
  • Multithreading: Build efficient multithreaded processing using new lightweight concurrent data structures.
  • WCF: Develop network services with Windows Communication Foundation.
  • EF: Decouple your entity model from the data using Plain Old CLR Objects (POCOs).
  • EF: Write classes that can track changes to their own state for n-tier development with Entity Framework.
  • LINQ: Use LINQ to access objects, XML, and SQL relational data
  • MVC: Learn the how build modern web applications using ASP.NET MVC 3.0 and jQuery.
  • WCF REST: Create REST based services based on the WCF and ASP.NET stacks including the new WCF 5.0 REST-oriented features.
  • MVC: Build modern web applications and services using JavaScript, jQuery, AJAX, REST, ASP.NET MVC, and more.
  • DI/IoC: Use powerful OO design patterns and techniques to build loosely-coupled, testable, and maintainable applications including Dependency Injection (DI), Inversion of Control (IoC), and unit testing.
  • MEF: Leverage Managed Extensibility Framework (MEF), .NET 4's built-in dependency management system, to implement DI and IoC seamlessly in your applications.
  • iOS: Build multi-touch enabled applications on platforms such as WPF, Silverlight, and Apple's iPhone / iPad.
  • NoSQL: Build insanely fast, data-driven applications with NoSQL, MongoDB, and LINQ.
  • Debugging: Come and learn to build robust .NET applications including tools and techniques for monitoring and debugging applications in a production environment.
  • oData: Expose your SQL data sources to rich clients and RIA web applications using WCF Data Services and oData.

The Guerrilla Experience means total immersion in social coding. Multiple instructors keep you engaged throughout the entire learning process collaborating, competing, and coding. In addition to the latest core .NET topics, we'll be covering cutting-edge content that you simply cannot get at other courses including multi-touch programming, Mono.NET, and NoSQL / MongoDB.


Main Topic
Day 1
Introduction to WPF and Silverlight (version 4.0 and possibly some of 5.0 beta)
ASP.NET MVC 3.0: Beyond the Basics
LINQ to Objects and LINQ to XML
Entity Framework Introduction
Day 2
Model-View-ViewModel for WPF and Silverlight
PFx: Task: a Unified Threading API
PFx: The Parallel Class and Concurrent Data Structures
Building WCF REST Services
[after class] Movie Night + Video Games + LAN Party + ...
Day 3
C# 3.0, 4.0, and 5.0
Entity Framework and the Repository Pattern
Introduction to jQuery
Cloud Computing for the .NET Developer: IaaS, PaaS, and Patterns
[after class] Movie Night + Video Games + LAN Party + ...
Day 4
The NoSQL Movement, LINQ, and MongoDB
iOS Programming with .NET and MonoTouch
Open Session
(work on challenges or try what you've learned on your project)
Design Patterns for Testability (DI, IoC, and unit testing)
Coding Challenge Contest
(show off your coding skills and win prizes)
[after class] Night out for drinks and conversations
Day 5
Managed Extensibility Framework
WCF Data Services
Power Debugging with WinDBG

What You Will Learn

Course Highlights

Course Details

Dates & Locations

  • C#: Leverage new features of C# including asynchronous methods from C# 5.0, dynamic typing from C# 4.0, and LINQ and lambda expressions from C# 3.0.
  • WPF/SL: Develop cutting-edge UIs with Windows Presentation Foundation and Silverlight including coverage of Silverlight 5.0 (assuming Silverlight 5.0 beta is available after Mix 11).
  • MVVM: Learn advanced WPF / Silverlight design patterns and techniques including MVVM (Model-View-ViewModel).
  • Cloud Computing: Explore the rapidly evolving world of cloud-computing from a .NET developer's perspective. Learn about IaaS, PaaS, and design patterns for scalable cloud-based applications.
  • Multithreading: Use PFx as a unifying library for all your multithreading needs.
  • Multithreading: Parallelize computationally intensive processing using multiple cores/processors.
  • Multithreading: Build efficient multithreaded processing using new lightweight concurrent data structures.
  • WCF: Develop network services with Windows Communication Foundation.
  • EF: Decouple your entity model from the data using Plain Old CLR Objects (POCOs).
  • EF: Write classes that can track changes to their own state for n-tier development with Entity Framework.
  • LINQ: Use LINQ to access objects, XML, and SQL relational data
  • MVC: Learn the how build modern web applications using ASP.NET MVC 3.0 and jQuery.
  • WCF REST: Create REST based services based on the WCF and ASP.NET stacks including the new WCF 5.0 REST-oriented features.
  • MVC: Build modern web applications and services using JavaScript, jQuery, AJAX, REST, ASP.NET MVC, and more.
  • DI/IoC: Use powerful OO design patterns and techniques to build loosely-coupled, testable, and maintainable applications including Dependency Injection (DI), Inversion of Control (IoC), and unit testing.
  • MEF: Leverage Managed Extensibility Framework (MEF), .NET 4's built-in dependency management system, to implement DI and IoC seamlessly in your applications.
  • iOS: Build multi-touch enabled applications on platforms such as WPF, Silverlight, and Apple's iPhone / iPad.
  • NoSQL: Build insanely fast, data-driven applications with NoSQL, MongoDB, and LINQ.
  • Debugging: Come and learn to build robust .NET applications including tools and techniques for monitoring and debugging applications in a production environment.
  • oData: Expose your SQL data sources to rich clients and RIA web applications using WCF Data Services and oData.

What You Will Learn

Course Highlights

Course Details

Dates & Locations

This course covers is a deep exploration of .NET 4.0 and beyond and is intended for developers familiar with C# and .NET and with Windows development.


The topics covered include:


Day 1:

Introduction to WPF and Silverlight (version 4.0 and possibly some of 5.0 beta)

In this module, you will learn about a new Microsoft's latest UI technology called Silverlight as well as its more full featured counterpart WPF (Windows Presentation Foundation). We will quickly introduce everything you need to know in order to get started with either technology. Subsequent topics and examples throughout the class will build on this foundational knowledge.


ASP.NET MVC 3.0: Beyond the Basics

This release of .NET sees the inclusion in the core framework of the ASP.NET MVC framework. Platforms such as Ruby on Rails have shown that Model/View/Controller (MVC) is a highly productive and very testable pattern for building web applications. In this module we look at the basic anatomy of an MVC application, looking at models, views and controllers. We also show how data binding fits into this world and how the MVC infrastructure maps requests on to controllers using the Routing infrastructure. Having introduced the core concepts of the MVC framework we look now at integrating AJAX functionality into your MVC applications, how you can build REST based services on the framework and how you build reusable components, similar to custom controls that fit with the MVC model. We will also explore the new Razor view engine syntax introduced in ASP.NET MVC 3.0.


LINQ to Objects and LINQ to XML

LINQ makes query a first-class citizen of the C# programming language. You can use LINQ to filter, sort, and group in-memory collections of objects. With SQL-like syntax, you can leverage an assortment of query operators to perform join, partition, conversion, and aggregation functions. You can use the same LINQ syntax to query both in-memory data, as well as other data sources such as XML or relational data. Furthermore, we will cover LINQ to XML which provides an easy-to-use API for both reading and writing XML files. It is the successor to the DOM and XPath for navigating and searching XML documents. LINQ to XML offers an approach to XML queries that is element-centric and makes managing namespaces more straightforward. At the same time, it provides a way to perform serialization of objects to XML, while allowing you to utilize legacy API's, such as XPath and XSLT, as needed.


Entity Framework Introduction

The Entity Framework is an Object Relational Mapping (ORM) layer released in .NET 3.5 SP1. The module looks at the ideas behind ORM and shows how you can remove data access code from your codebase by working with objects that the ORM translates into database queries. Along the way we will look at how LINQ can be used to query and manipulate this data.



Day 2:

Model-View-ViewModel for WPF and Silverlight

Many years of experience tell us that interleaving code and presentation leads to unmaintainable, untestable, and designer-unfriendly code. The strongest pattern to emerge in WPF and Silverlight to overcome this is the Model-View-ViewModel pattern, and in this module you will gain a deep understanding of what it is; how to structure your code to support testing, "blendability" and maintainability; how to work with ICommand; and how to support designers effectively.


PFx: Task: a Unified Threading API

When the Parallel Framework Extensions (PFx) were first announced it looked as though it was going to target a narrow set of requirements around parallelizing processor intensive code. However, over time the scope of the library has grown significantly such that it will become the main model for building asynchronous code. The pivotal type enabling this transition is the Task class. This is a functionally very rich type allowing the creation of both short and long lived asynchronous work. Tasks can have dependencies on one another and support cancellation. In this, the first of the PFx modules we look specifically how this class gives us a unified framework for building multithreaded code.


PFx: The Parallel Class and Concurrent Data Structures

The initial goal of PFx was to simplify the parallelization of processor intensive tasks and this remains a key feature. This part of its functionality is focused on the Parallel class and it's For and ForEach members. In this module we look at the simplified model but also highlight that parallelizing algorithms is never as simple as it might first seem. We show you some of the pitfalls that you should be aware of when trying to parallelize functionality using the Parallel class. Additionally, PFx introduces a set of high performance concurrent data structures that allow you to use them without you having to provide your own synchronization logic around them. This module also looks at this new set of tools in your synchronization toolbox.


Building WCF REST Services

WCF 3.5 adds the ability to create what are known as REST-ful services that embrace the principles of the Web, increasing the reach of your WCF services to non-SOAP clients, such as web browsers and Silverlight applications, which use POX (Plain Old XML) or JSON (JavaScript Object Notation) formats. You'll also learn how to create RSS and ATOM feeds using the new syndication API.



Day 3:

C# 3.0, 4.0, and 5.0

We will study the most important parts of the recent releases of the C# language as well as take a peek into the future and examine some of the features proposed for C# 5.0. This includes studying async methods which are part of C# 5.0 and build on the PFx Task library (covered elsewhere in the course), the dynamic capabilities of C# 4.0, and the immensely important LINQ language features of C# 3.0.


Entity Framework and the Repository Pattern

Prior to Entity Framework 4.0 EF relied on generating entity classes that were tightly coupled to EF. 4.0 introduces the idea of POCO classes - bringing your own classes to EF. This module shows how POCO support works and how you can use the repository pattern to keep your application code and the data access layer cleanly separated and testable.


Introduction to jQuery

jQuery is a popular open source JavaScript library used to enhance AJAX style web pages and improve developer productivity. We will introduce the query and document manipulation capabilities of jQuery.


Cloud Computing for the .NET Developer: IaaS, PaaS, and Patterns

This module will explore the differences between two major paradigms for developing cloud applications: Infrastructure as a Service (IaaS), and Platform as a Service (PaaS). To demonstrate IaaS we will take a look at setting up an Amazon EC2 instance. PaaS will be demonstrated using the various roles of the Windows Azure platform. We will then take a look at some of the common patterns and anti-patterns for cloud development.



Day 4:

The NoSQL Movement, LINQ, and MongoDB

Learn how to leverage MongoDB to build .NET applications using LINQ as the data access language. This session will introduce the ideas around the so-called NoSQL movement. We will examine one of the up and coming open source databases called MongoDB. From there we will build out a .NET application using LINQ and MongoDB in a series of interactive demos using Visual Studio 2010 and C#. We will also be covering the NoRM LINQ to MongoDB library in our demos.


iOS Programming with .NET and MonoTouch

This session will explore building touch-based applications using the .NET developer tool called MonoTouch based on the open source Mono project. You'l learn how to build applications for Apple's iPhone/iPad platform using familiar tools and languages such as WCF, LINQ, and C#.


Design Patterns for Testability (DI, IoC, and unit testing)

This session will present several key object-oriented design principles that facilitate agile software development. These general design principles promote the creation of testable, maintainable, and reusable software. This includes principles such as the Open Closed Principle. The interaction between Agile Development and these principles will be demonstrated using several code samples.



Day 5:

Managed Extensibility Framework

Over time applications can become large, unwieldy and overly complex. Building an app using loosely coupled components not only makes it more maintainable but allows the application to be extended incrementally. MEF, which comes with .NET 4, is a composition framework that can help you write extensible applications with components that can be added dynamically at runtime. A version of MEF also ships with Silverlight 4 that allows you to partition a XAP file into parts that are downloaded on demand.


WCF Data Services:

WCF Data Services combines patterns and libraries that enable any data store to be exposed as a flexible data service. These data services integrate naturally with the Web and can be consumed by Web clients within a corporate network or across the Internet. In this module you'll learn to expose data to web clients as a REST-ful resource, addressable with URIs that clients can interact with using standard HTTP verbs, such as GET and POST.


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. We'll also look at advances in Visual Studio 2010 that allow direct, source-level debugging of crash dumps within the IDE.



Main Topic
Day 1
Introduction to WPF and Silverlight (version 4.0 and possibly some of 5.0 beta)
ASP.NET MVC 3.0: Beyond the Basics
LINQ to Objects and LINQ to XML
Entity Framework Introduction
Day 2
Model-View-ViewModel for WPF and Silverlight
PFx: Task: a Unified Threading API
PFx: The Parallel Class and Concurrent Data Structures
Building WCF REST Services
[after class]Movie Night + Video Games + LAN Party + ...
Day 3
C# 3.0, 4.0, and 5.0
Entity Framework and the Repository Pattern
Introduction to jQuery
Cloud Computing for the .NET Developer: IaaS, PaaS, and Patterns
[after class]Movie Night + Video Games + LAN Party + ...
Day 4
The NoSQL Movement, LINQ, and MongoDB
iOS Programming with .NET and MonoTouch
Open Session
(work on challenges or try what you've learned on your project)
Design Patterns for Testability (DI, IoC, and unit testing)
Coding Challenge Contest
(show off your coding skills and win prizes)
[after class]Night out for drinks and conversations
Day 5
Managed Extensibility Framework
WCF Data Services
Power Debugging with WinDBG
Ready?
Connect
Signup for our Free Newsletter!
Latest news
Twitter Feed MORE
There is something to this statement: Why Quit? Because They Have Bigger Monitors http://t.co/9FrGETG5 #dm (via @mkennedy)
19 hours ago (details)
Essential RESTful Services Training. The new #REST course @BrockLAllen and myself where working on is online. http://t.co/XXhGN5JP #dm ^MdB
2 days ago (details)
Testimonials
  • Mark Smith did a great job and was very helpful when asked questions or when I asked for assistance. Chris C.