Module 1: Introduction to HTML5 DevelopmentThis module introduces HTML development, presenting all the basics needed to build a web site or application. It also introduces CSS and JavaScript, which with HTML are the basis for web development. It also introduces the jQuery JavaScript library, the most popular JavaScript library at the time of writing.

Lessons

  • Overview of HTML
  • What's New in HTML5?
  • Introduction to CSS
  • Introduction to JavaScript
  • Introduction to jQuery

Lab : Building a Basic Web Page in the Visual Studio 2010 SP1 Environment

  • Writing the Home Page HTML
  • Styling the Homepage
  • Adding JavaScript and jQuery to Make a Dynamic Home Page
After completing this module, students will be able to:
  • Explain HTML basics
  • Explain what HTML5 is.
  • Explain CSS basics.
  • Explain JavaScript basics.
  • Explain the jQuery Library.
  • Identify the essential features of Visual Studio 2010 SP1 that are required to start developing HTML5 web application projects.

Module 2: Creating Page Structure and NavigationThis module explains the new HTML5 elements and their meaning, and how and when to use them. The module also discusses navigation and menus, which are the backbone of creating a website or application.

Lessons

  • HTML5 Structural Elements
  • Navigation and Menus

Lab : Creating Page Structure and Navigation

  • Using Semantic Elements in the Home Page.
  • Creating the Game Details and Cart Pages.
  • Adding Navigation and Menus to the Home Page.
After completing this module, students will be able to:
  • Describe the new HTML5 structural elements.
  • Examine the creation of web application navigation and the use of menus.
  • Migrate HTML4 webpages to HTML5 webpages.

Module 3: Creating Form Input and ValidationThis module introduces the new input types and attributes that were added in HTML5. It also discusses the Modernizr JavaScript library, which detects HTML5 features and supplies polyfills for the new HTML5 elements.

Lessons

  • Working with Input Types
  • Using Form Attributes
  • Validation
  • Using Browser Detection, Feature Detection, and Modernizr

Lab : Creating Form Input and Validation

  • Creating the Checkout and Game Review Forms
  • Adding Validation to the Checkout and Game Review Forms
  • Adding Modernizr Support
After completing this module, students will be able to:
  • Use the new input types.
  • Apply the new attributes.
  • Integrate validation into webpages.
  • Use browser detection, feature detection and Modernizr.

Module 4: Laying Out and Styling WebpagesThis module explains important concepts about the layout and styling of webpages and applications. It also describes how to use the new features of Cascading Style Sheets 3 (CSS3), such as new selectors, text effects, and multi-column layouts, to improve the look and feel of your webpages.

Lessons

  • Creating Layouts
  • Advanced CSS by Using CSS3

Lab : Laying Out and Styling Webpages

  • Add a CSS3 style to the store’s webpages
After completing this module, students will be able to:
  • Create a webpage layout.
  • Apply advanced CSS to webpages.

Module 5: Getting Started with Graphics and Multimedia ElementsThis module explains the canvas element, which displays graphics, and the audio and video elements, which are used to play multimedia. These elements represent HTML5’s solution to add-on availability and cross-browser compatibility for multimedia and graphics.

Lessons

  • Canvas Basics
  • Video/Audio Formats and Codecs
  • Controlling Multimedia with JavaScript

Lab : Getting Started with Graphics and Multimedia Elements

  • Adding Video to the Details Page
  • Create a Slideshow Using the Canvas
After completing this module, students will be able to:
  • Use the canvas element and manipulate it using JavaScript.
  • Use the audio and video elements and control them using JavaScript.
  • Add support for multiple audio and video codecs.

Module 6: Creating Advanced GraphicsThis module discusses some of the differences between SVG and Canvas. It also describes how to choose one over the other.

Lessons

  • Drawing with SVG
  • Animation
  • Choosing Between SVG and Canvas

Lab : Creating Advanced Graphics

  • Adding an SVG Chart with Animation
  • Adding Animation to the Game Details Canvas-Based Slideshow
After completing this module, students will be able to:
  • Create basic graphics with SVG.
  • Add animation to SVG and Canvas graphics.
  • Choose between SVG and Canvas.

Module 7: Using Client-Side StorageThis module explains web storage and how to use its API to have a persistence mechanism on the client-side. It also introduces IndexedDB at a very high level because this specification is currently in development and might change in the future.

Lessons

  • Web Storage vs. Cookies
  • Web Storage API

Lab : Using Client-Side Storage

  • Creating the Cart Behavior by Using the localStorage Object
  • Integrating the Cart with the Web Application
After completing this module, students will be able to:
  • Use the web storage API.
  • Differentiate between session storage and local storage.

Module 8: Using Advanced HTML5 JavaScript APIsThis module explains how to use other HTML5 JavaScript APIs, such as the drag-and-drop API, the file API to work with files, and the geolocation API to find the user location.

Lessons

  • Using the Drag-and-Drop API
  • File API
  • Geolocation API

Lab : Using Advanced HTML5 JavaScript APIs

  • Integrating Drag-and-Drop Behavior into the Home Page
  • Adding Geolocation Information to the Purchase Event
  • Adding Coupon-Reading Behavior
After completing this module, students will be able to:
  • Integrate drag-and-drop features into webpages.
  • Work with the files by using the File API.
  • Integrate the geolocation API into webpages.

Module 9: Using WebMatrix and Other Developer ToolsThis module explains other developer tools that you can use with HTML5. These tools include Microsoft WebMatrix, ASP.NET MVC3, and the Razor view engine. It also explains how to use these tools to create websites and applications.

Lessons

  • WebMatrix
  • ASP.NET MVC3 and Razor

Lab : Using WebMatrix and Other Developer Tools

  • Using WebMatrix to Create a Website
  • Using ASP.NET MVC 3 to Create a Website
After completing this module, students will be able to:
  • Use WebMatrix.
  • Use ASP.NET MVC 3 and the Razor view engine.

 

Module 1: Getting Started with ASP.NET 3.5

This module explains how to build and configure a simple ASP.NET application.

Lessons

  • Introduction to ASP.NET Web Applications
  • Features of ASP.NET 3.5
  • Configuring ASP.NET Applications

Lab : Creating and Configuring an ASP.NET 3.5 Application

  • Creating an ASP.NET Application
  • Configuring Session State
  • Configuring Caching
After completing this module, students will be able to:
  • Explain how to create dynamic Web pages by using ASP.NET.
  • Manage state, handle requests, and improve accessibility by using the features of ASP.NET.
  • Configure an ASP.NET application by using .config files.

Module 2: Implementing a User Interface with ASP.NET Server Controls

This module explains how to implement a dynamic user interface by using ASP.NET controls.

Lessons

  • Consuming Controls to Interact with Users
  • Creating Custom Controls

Lab : Consuming and Creating ASP.NET Server Controls

  • Creating a User Interface by Using Server Controls in an ASP.NET Form
  • Creating User Controls and Custom Server Controls
After completing this module, students will be able to:
  • Create a user interface on an ASP.NET page by using standard Web server controls.
  • Create a user control and a custom server control and add them to an ASP.NET page.

Module 3: Displaying and Manipulating Data in ASP.NET 3.5

This module explains how to display and manipulate data from any source in an ASP.NET application.

Lessons

  • Accessing Data by Using ADO.NET 3.5
  • Accessing Data from Services
  • Presenting Data in Web Controls

Lab : Displaying and Manipulating Data in ASP.NET 3.5

  • Accessing Data from an XML File as a Data Source
  • Consuming Data from a Web Service
  • Displaying Data by Using Data-Bound Controls
After completing this module, students will be able to:
  • Access and manipulate data from different sources by using ADO.NET 3.5.
  • Access and manipulate data from Windows Communication Foundation services or Web services.
  • Present data to the user by placing data-bound controls on an ASP.NET page.

Module 4: Creating Responsive Pages by Using Client-Side Technologies

This module explains how to create pages that respond rapidly to user requests.

Lessons

  • Creating Partial Page Updates by Using AJAX
  • Scripting Actions on the Web Client

Lab : Creating Responsive Pages by Using Client-Side Technologies

  • Implementing Partial Page Updates by Using AJAX Controls
  • Accessing a Web Service by Using a Client-Side Script
After completing this module, students will be able to:
  • Improve page responsiveness by using the ASP.NET AJAX controls.
  • Interact with the user, access services, and access the AJAX client-side library by using client scripts.

Module 5: Debugging and Deploying ASP.NET Applications

This module explains how to deploy a reliable, robust Web application to a Web server.

Lessons

  • Troubleshooting and Debugging ASP.NET Applications
  • Deploying Completed ASP.NET Applications

Lab : Debugging and Deploying an ASP.NET Application

  • Debugging an ASP.NET Application
  • Deploying an ASP.NET Application
After completing this module, students will be able to:
  • Find and eliminate bugs in an ASP.NET application.
  • Deploy an ASP.NET application to a production Web server.

Module 6: Writing ASP.NET Applications for Mobile Devices

This module explains how to ensure that mobile device users can access all the functionality of a Web site.

Lessons

  • Rendering Pages According to Device Capabilities
  • Creating Pages with Mobile Web Controls

Lab : Adding Support for Mobile Devices

  • Adding a Mobile Web Form to Your Application
  • Displaying Data by Using Mobile Web Controls
After completing this module, students will be able to:
  • Write pages that adapt to the capabilities of mobile devices.
  • Utilize controls that adapt to the capabilities of mobile devices.

Module 1: Getting Started with Databases and Transact-SQL in SQL Server 2008

The student will be introduced to how client/server architecture works, and examine the various database and business tasks that can be performed by using the components of SQL Server 2008. The student will also be introduced to SQL Server database concepts such as relational databases, normalization, and database objects. In addition, the student will learn how to use T-SQL to query databases and generate reports.

Lessons

  • Overview of SQL Server 2008
  • Overview of SQL Server Databases
  • Overview and Syntax Elements of T-SQL
  • Working with T-SQL Scripts
  • Using T-SQL Querying Tools

Lab : Using SQL Server Management Studio and SQLCMD

  • Exploring the Components and Executing Queries in SQL Server Management Studio
  • Starting and Using SQLCMD
  • Generating a Report from a SQL Server Database Using Microsoft Office Excel
After completing this module, students will be able to:
  • Describe the architecture and components of SQL Server 2008.
  • Describe the structure of a SQL Server database.
  • Explain the basics of the SQL language.
  • Describe the syntax elements of T-SQL.
  • Explain how to manage T-SQL scripts.
  • Use T-SQL querying tools to query SQL Server 2008 databases.

Module 2: Querying and Filtering Data

The students will be introduced to the basic Transact-SQL (T-SQL) statements that are used for writing queries, filtering data, and formatting result sets.

Lessons

  • Using the SELECT Statement
  • Filtering Data
  • Working with NULL Values
  • Formatting Result Sets
  • Performance Considerations for Writing Queries

Lab : Querying and Filtering Data

  • Retrieving Data by Using the SELECT Statement
  • Filtering Data by Using Different Search Conditions
  • Using Functions to Work with NULL Values
  • Formatting Result Sets
After completing this module, students will be able to:
  • Retrieve data by using the SELECT statement.
  • Filter data by using different search conditions.
  • Explain how to work with NULL values.
  • Format result sets.
  • Describe the performance considerations that affect data retrieval.

Module 3: Grouping and Summarizing Data

The students will learn to group and summarize data when generating reports in Microsoft SQL Server 2008 by using aggregate functions and the COMPUTE clause.

Lessons

  • Summarizing Data by Using Aggregate Functions
  • Summarizing Grouped Data
  • Ranking Grouped Data
  • Creating Crosstab Queries

Lab : Grouping and Summarizing Data

  • Summarizing Data by Using Aggregate Functions
  • Summarizing Grouped Data
  • Ranking Grouped Data
  • Creating Crosstab Queries
After completing this module, students will be able to:
  • Summarize data by using aggregate functions.
  • Summarize grouped data by using the GROUP BY and COMPUTE clauses.
  • Rank grouped data.
  • Create cross-tabulation queries by using the PIVOT and UNPIVOT clauses.

Module 4: Joining Data from Multiple Tables

The students will learn to write joins to query multiple tables, as well as limiting and combining result sets.

Lessons

  • Querying Multiple Tables by Using Joins
  • Applying Joins for Typical Reporting Needs
  • Combining and Limiting Result Set

Lab : Joining Data from Multiple Tables

  • Querying Multiple Tables by Using Joins
  • Applying Joins for Typical Reporting Needs
  • Combining and Limiting Result Sets
After completing this module, students will be able to:
  • Query multiple tables by using joins.
  • Apply joins for typical reporting needs.
  • Combine and limit result sets.

Module 5: Working with Subqueries

The students will be introduced to basic and correlated subqueries and how these compare with joins and temporary tables. The students will also be introduced to using common table expressions in queries.

Lessons

  • Writing Basic Subqueries
  • Writing Correlated Subqueries
  • Comparing Subqueries with Joins and Temporary Tables
  • Using Common Table Expressions

Lab : Working with Subqueries

  • Writing Basic Subqueries
  • Writing Correlated Subqueries
  • Comparing Subqueries with Joins and Temporary Tables
  • Using Common Table Expressions
After completing this module, students will be able to:
  • Write basic subqueries.
  • Write correlated subqueries.
  • Compare subqueries with joins and temporary tables.
  • Use common table expressions in queries.

Module 6: Modifying Data in Tables

The students will be able to modify the data in tables by using the INSERT, DELETE, and UPDATE statements. In addition, students will examine how transactions work in a database, the importance of transaction isolation levels, and how to manage transactions.

Lessons

  • Inserting Data into Tables
  • Deleting Data from Tables
  • Updating Data in Tables
  • Overview of Transactions

Lab : Modifying Data in Tables

  • Inserting Data into Tables
  • Deleting Data from Tables
  • Updating Data in Tables
  • Working with Transactions
After completing this module, students will be able to:
  • Insert data into tables.
  • Delete data from tables.
  • Update data in tables.
  • Describe transactions.

Module 7: Querying Metadata, XML, and Full-Text Indexes

The students will learn to query semi-structured and unstructured data. The students will also learn how SQL Server 2008 handles XML data and will query XML data. The students will also be introduced to full-text indexing in SQL Server 2008.

Lessons

  • Querying Metadata
  • Overview of XML
  • Querying XML Data
  • Overview of Full-Text Indexes
  • Querying Full-Text Indexes

Lab : Querying Metadata, XML, and Full-Text Indexes

  • Querying Metadata
  • Querying XML Data
  • Creating and Querying Full-Text Indexes
After completing this module, students will be able to:
  • Query metadata.
  • Describe the functionality of XML.
  • Query XML data.
  • Describe the functionality of full-text indexes.
  • Query full-text indexes.

Module 8: Using Programming Objects for Data Retrieval

The students will be introduced to user-defined functions and executing various kinds of queries by using user-defined functions. The students will be introduced to SQL Server views that encapsulate data and present users with limited and relevant information. In addition, the students will be introduced to SQL Server stored procedures and the functionalities of the various programming objects. The students will learn how to perform distributed queries and how SQL Server works with heterogeneous data such as databases, spreadsheets, and other servers.

Lessons

  • Overview of Views
  • Overview of User-Defined Functions
  • Overview of Stored Procedures
  • Overview of Triggers
  • Writing Distributed Queries

Lab : Using Programming Objects for Data Retrieval

  • Creating Views
  • Creating User-Defined Functions
  • Creating Stored Procedures
  • Writing Distributed Queries
After completing this module, students will be able to:
  • Encapsulate queries by using views.
  • Encapsulate expressions by using user-defined functions.
  • Explain how stored procedures encapsulate T-SQL logic.
  • Define triggers, types of triggers, create a trigger.
  • Write distributed queries.

Module 9: Using Advanced Querying Techniques

The students will be introduced to best practices for querying complex data. The students will also examine how to query complex table structures such as data stored in hierarchies and self-referencing tables. The students will analyze the recommended guidelines for executing queries and how to optimize query performance.

Lessons

  • Considerations for Querying Data
  • Working with Data Types
  • Cursors and Set-Based Queries
  • Dynamic SQL
  • Maintaining Query Files

Lab : Using Advanced Querying Techniques

  • Using Execution Plans
  • Converting Data Types
  • Implementing a Hierarchy
  • Using Cursors and Set-Based Queries
After completing this module, students will be able to:
  • Explain the recommendations for querying complex data.
  • Query complex table structures.
  • Write efficient queries.
  • Use various techniques when working with complex queries.
  • Maintain query files.

Module 1: Windows Client Application DesignThe goal of this module is to ensure that students understand how varying business requirements influence the design decisions when planning a Windows Client application. Students will learn how design requirements, specifications, and business goals affect the choice between WPF and Windows Forms when updating (or planning a new) Windows Client application.

Lessons

  • Windows Client Technologies
  • Architectural Patterns
  • Interoperability between Windows Forms and WPF

Lab : Planning Windows Client Applications

  • Identify Windows Client Technologies
  • Choosing Design Patterns
  • Lab Application Guided Walk-Through
After completing this module, students will be able to:
  • Choose appropriate Windows client technologies
  • Choose appropriate architectural patterns
  • Identify areas for migration from WinForms
  • Identify areas for interoperability between WinForms and WPF

Module 2: Introduction to Visual Studio 2010 and WPF Version 4The goal of this module is to introduce students to the new features that Visual Studio 2010 and WPF version 4 provide

Lessons

  • What’s New in Visual Studio 2010?
  • What’s New in WPF Version 4

Lab : Guided Tour of Visual Studio 2010 and XAML

  • Guided tour of Visual Studio 2010
  • Guided tour of XAML Editor
After completing this module, students will be able to:
  • Use new features in Visual Studio 2010
  • Use new features in WPF version 4

Module 3: Designing and Developing a User Interface

The goal of this module is to teach the student how to design and build a UI that provides the expected end-user experience and UI functionality, and retains that experience/functionality in various end-user environments, as well as when the application window resizes.

Lessons

  • Defining Page Layout
  • Using Content Controls
  • Using Item Controls
  • Sharing Logical Resources in a Window

Lab : Building a User Interface

  • Choosing User Interface Controls
  • Laying out the User Interface
  • Creating and Using Resource Dictionaries
After completing this module, students will be able to:
  • Define page layout
  • Use content controls
  • Use item controls
  • Share resources within a window or user control

Module 4: Taking Control of the User Interface

The goal of this module is to enable students to create a consistent and manageable user interface.

Lessons

  • Sharing Logical Resources in an Application
  • Creating Consistent User Interfaces by Using Styles
  • Changing the Appearance of Controls by Using Templates
  • Handling Events and Commands

Lab : Dynamically Controlling the User Interface

  • Creating Styles
  • Using Application Commands
  • Adding Routed Events
  • Creating a Custom Command
  • Migrating a Custom Command
After completing this module, students will be able to:
  • Share logical resources throughout an application
  • Create a consistent user interface by using styles
  • Change the appearance of controls by using templates
  • Handle events and commands

Module 5: Testing, Unit Testing, and Debugging

The goal of this module is to help students to develop good habits in regard to testing as well as enabling students to debug their applications. Students will also learn about advanced exception handling pertaining directly to Windows Client application scenarios

Lessons

  • WPF Testing Strategies
  • Debugging XAML
  • Providing User Feedback for Unhandled Exceptions
  • Understanding Security Features

Lab : Testing and Debugging WPF Applications

  • Unit Testing Strategy
  • Unit Testing WPF Applications
  • Debugging Applications in Visual Studio 2010
  • Advanced Exception Handling
After completing this module, students will be able to:
  • Implement a WPF unit test strategy
  • Debug XAML by using the WPF Visualizer and PresentationTraceSources
  • Provide user feedback for unhandled exceptions
  • Understand security features of an application

Module 6: Simple Data Binding and ValidationThe goal of this module is to teach the student how to implement simple data binding and data validation in order to manage data in a data source (CRUD). In addition to learning how to bind a value to a UI element, the student should learn best practices concerning when to use the various implementations of data binding and how to connect to a data source with LINQ.

Lessons

  • Overview of Data Binding
  • Creating a Data Binding
  • Implementing Property Change Notification
  • Converting Data
  • Validating Data
  • Presenting Data at Design Time

Lab : Data Binding

  • Binding Controls
  • Implementing Value Converters
  • Validating Data
  • Implementing Property Change Notifications
After completing this module, students will be able to:
  • Explain WPF data binding concepts and terminology
  • Create a binding between a data source and a control
  • Implement property change notification
  • Convert data between the binding source and the binding target
  • Validate data entered by the user
  • Present data at design time

Module 7: Data Binding to CollectionsThe goal of this module is to enable the student to implement more advanced data binding scenarios, picking up where the previous module on data binding left off. The student will learn how to bind to ListView, GridView, DataGrid, and other collection classes.

Lessons

  • Binding to Collections of Objects
  • Using Collection Views
  • Creating Master-Detail User Interfaces
  • Using Data Templates
  • Presenting Design Time Data Collections

Lab : Data Binding to Collections

  • Binding to Collections of Data
  • Using Collection Views
  • Creating Master-Detail User Interfaces
  • Using Data Templates
After completing this module, students will be able to:
  • Bind to a collection of objects
  • Sort, filter, and group collections by using collection views
  • Create master-detail user interfaces
  • Customize data display by using data templates
  • Present data collections at design time

Module 8: Enhancing UI ResponsivenessThe goal of this module is to teach the students how coding techniques can be used to improve the responsiveness of their applications.

Lessons

  • Implementing Asynchronous Processes
  • Implementing Responsive User Interfaces

Lab : Enhancing Application Performance

  • Asynchronous Programming Strategy
  • Asynchronous Programming
  • Parallelizing Tasks
After completing this module, students will be able to:
  • Implement asynchronous processes
  • Implement responsive user interfaces

Module 9: Integrating Localization and User Assistance FeaturesThe goal of this module is to teach students how to implement localization, user assistance, and accessibility features within an application.

Lessons

  • Localization and Globalization
  • Implementing User Assistance Features
  • Providing User Accessibility Features

Lab : Localizing a WPF Application

  • Preparing for Localization for the LocBAML Approach
  • Localizing Resources by Using LocBAML
  • Preparing for Localization by Using Strongly Typed Resources
  • Localizing Resources by Using Strongly Typed Resources
  • Choosing a Localization Approach
After completing this module, students will be able to:
  • Describe WPF localization and globalization features
  • Implement localized WPF applications
  • Implement user assistance features
  • Provide user accessibility features

Module 10: WPF 2D Graphics, Multimedia, and PrintingThe goal of this module is to teach the students the basics of graphics in WPF. The module will also provide an overview of multimedia (audio and video).

Lessons

  • Displaying 2D Graphics
  • Displaying Images
  • Adding Multimedia to WPF Applications
  • Creating and Printing Documents

Lab : Drawing 2-D Graphics

  • Identify the Appropriate Windows Client Technology
  • Creating the Data Access Layer and User Interface
  • Drawing Shapes, Painting with Brushes and Appling Effects
  • Adding Images
After completing this module, students will be able to:
  • Display 2D graphics
  • Add images in a WPF application
  • Add multimedia content to a WPF application
  • Create and print documents

Module 11: Control CustomizationThe goal of this module is to teach students how to customize controls and introduce students to custom controls.

Lessons

  • Overview of Control Authoring
  • Creating User Controls
  • Creating Custom Controls
  • Managing Control Appearance by Using Visual States
  • Integrating WPF and Windows Forms

Lab : Building a User Control

  • Identify the Approach Control Type
  • Creating a User Control in WPF
  • Adding a WPF Control to a Windows Forms Application
After completing this module, students will be able to:
  • Explain scenarios and options for creating new controls
  • Create user controls
  • Create custom controls
  • Integrate WPF and WinForms controls

Module 12: Attached Properties and Behaviors in WPFThe goal of this module is to teach the students how to implement application behaviors based on user actions or application events by using attached properties and Expression Blend behaviors.

Lessons

  • Implementing Attached Properties
  • Implementing Drag-and-Drop User Interfaces
  • Implementing Expression Blend Behaviors, Triggers and Actions

Lab : Implementing Drag-and-Drop Operations

  • Implementing Drag-and-Drop Operations
  • Implementing Expression Blend Behaviors
After completing this module, students will be able to:
  • Describe WPF attached properties
  • Implement drag and drop
  • Implement Expression Blend behaviors

Module 13: Animations in WPFThe goal of this module is to teach the student how to implement animations and to teach students how to develop data visualization within their applications in a manner that enables the application user to drill down into data visually. Students should also learn when animations should be used and why.

Lessons

  • Using Animations
  • Using Triggers
  • Implementing Data Visualizations

Lab : Creating Animations

  • Creating Animations Declaratively
  • Creating Animations Dynamically
  • Creating Routed Events
  • Handling Routed Events
After completing this module, students will be able to:
  • Explain when animations are appropriate for the user interface
  • Implement animation in WPF
  • Initiate animation by using triggers
  • Present data visualizations by using WPF

Module 14: Application State, Settings, and Lifecycle

The goal of this module is to teach students how to manage application state and settings throughout the application lifecycle.

Lessons

  • Creating Application Settings
  • Consuming Application Settings
  • Creating Custom Configuration Sections

Lab : Creating a Settings Dialog

  • Creating Application and User Setting by Using Visual Studio
  • Creating a Dialog Window
  • Reading and Writing Settings
  • Consuming Settings Properties
After completing this module, students will be able to:
  • Persist user and application settings
  • Consume user settings

Module 15: Configure and Deploy Windows Client ApplicationsThe goal of this module is to teach students how to deploy their applications using the various methods supported by Visual Studio 2010.

Lessons

  • Deployment Options
  • Deploying a Standalone WPF Application
  • Deploying an XBAP Application
  • Configuring Security Settings

Lab : Deploying Applications

  • Developing a Standalone Installer
  • Configuring a ClickOnce Deployment
  • Updating a ClickOnce Deployment
After completing this module, students will be able to:s
  • Explain deployment options
  • Deploy a standalone WPF application by using a Setup and Deployment project
  • Deploy a ClickOnce application
  • Configure security settings

 

Module 1: Selecting the Appropriate High-availability Solution

This module provides the guidelines for identifying business requirements and technical and non-technical constraints of high-availability. This module also explains the guidelines for analyzing the requirements and constraints for high-availability. Finally, this module provides a brief overview of existing high-availability technologies and explains the process and guidelines for determining the appropriate high-availability technology that can be used to meet business requirements and constraints.

Lessons

  • Identifying High-availability Requirements and Constraints
  • Analyzing High-availability Requirements and Constraints
  • Determining Appropriate High-availability Solutions

Lab : Proposing a High-availability Solution

  • Gathering Requirements
  • Prioritizing Requirements
  • Determining Appropriate High-availability Technology
  • Proposing a High-availability Solution
After completing this module, students will be able to:
  • Identify high-availability requirements and constraints.
  • Analyze high-availability requirements.
  • Determine appropriate high-availability solutions.

Module 2: Designing a Clustering Solution

This module provides the considerations and guidelines for designing a SQL Server cluster implementation. This module also provides the guidelines for designing recovery strategies and formulating the test plan for database clustering. Next, this module explains the considerations for migrating and upgrading SQL Server clusters. Finally, this module explains the process of creating an operations plan for clustering. In this module, you will also learn about the planned and unplanned events that can affect a cluster environment.

Lessons

  • Designing the Platform for Clustering
  • Designing the SQL Server Cluster Implementation
  • Designing Recovery Strategies and Test Plans for Database Clustering
  • Migrating and Upgrading SQL Server Clusters
  • Designing an Operations Plan for Clustering

Lab : Designing a Database Clustering Solution

  • Designing a Cluster Topology
  • Designing an Operations Plan
  • Verifying a SQL Server Cluster Configuration
  • Monitoring a SQL Server Cluster
After completing this module, students will be able to:
  • Design the platform for clustering.
  • Design the SQL Server cluster implementation.
  • Design recovery strategies and test plan for database clustering.
  • Migrate and upgrade SQL Server clusters.
  • Design an operations plan for clustering to maximize availability.

Module 3: Designing a Highly Available Database Storage Solution

This module provides the guidelines and considerations to determine the storage requirements for SQL Server databases, components, and external files that are a part of the database system. This module also explains the guidelines for designing storage solutions for these resources.
 
In this module, you will also learn about designing restore strategies to maximize availability. Finally, this module explains the guidelines for recovering damaged and partially damaged system and user databases.

Lessons

  • Determining Storage Requirements for SQL Server Databases
  • Determining Storage Requirements for SQL Server Components and Files
  • Designing Storage Solutions for SQL Server Databases
  • Designing a Backup and Restore Strategy

Lab : Designing a Highly Available Database Storage Solution

  • Determining Storage Needs
  • Selecting the Storage Solution
  • Designing a RAID Solution
  • Designing a SAN Solution
  • Designing a Backup and Restore Strategy
After completing this module, students will be able to:
  • Determine storage requirements for SQL Server databases.
  • Determine storage requirements for SQL Server components and files.
  • Design a highly-available storage solution for each database resource.
  • Design a backup and restore strategy for the database.

Module 4: Designing a Log Shipping Solution

In this module, you will learn about the guidelines and considerations for designing a log shipping solution. This module provides the guidelines for determining log shipping server roles and topology. This module also explains the guidelines for upgrading log shipping.
 
Finally, this module explains the process of designing an operations plan for log shipping. In this module, you will also learn about the planned and unplanned events that can affect a log shipping environment.

Lessons

  • Introduction to Designing a Log Shipping Solution
  • Designing Log Shipping Server Roles and Topology
  • Designing a Log Shipping Upgrade Strategy
  • Designing an Operations Plan for Log Shipping

Lab : Designing a Log Shipping Solution

  • Selecting the Appropriate Log Shipping Architecture
  • Designing Log Shipping Database Roles and Topology
  • Designing an Operations Plan
  • Verifying and Testing a Log Shipping Solution
After completing this module, students will be able to:
  • Explain the different considerations for designing a log shipping solution.
  • Design log shipping server roles and topology.
  • Design a strategy for upgrading log shipping.
  • Design an operations plan for log shipping to maximize availability.

Module 5: Designing a Database Mirroring Solution

In this module, you will learn about the guidelines and considerations for designing a database mirroring solution. This module provides the guidelines for determining the database roles and topology for mirroring. This module also explains the guidelines for migrating from an existing high-availability technology in SQL Server 2000 to database mirroring in SQL Server 2005.
 
Finally, this module explains the process of designing an operations plan for database mirroring. In this module, you will also learn about the planned and unplanned events that can affect a mirroring environment.

Lessons

  • Introduction to Designing a Database Mirroring Solution
  • Designing Database Roles and Topology for Database Mirroring
  • Converting High-availability Solutions to Database Mirroring
  • Designing an Operations Plan for Database Mirroring

Lab : Designing a Database Mirroring Solution

  • Selecting the Appropriate Mirroring Architecture
  • Designing Database Roles and Topology for Database Mirroring
  • Designing an Operations Plan
  • Evaluating Migration Options from Clustering to Mirroring
  • Evaluating Migration Options from Log Shipping to Mirroring
  • Comparing Mirroring with Clustering and Log Shipping
After completing this module, students will be able to:
  • Explain the different considerations for designing a database mirroring solution.
  • Design the database roles and topology for database mirroring.
  • Convert existing high-availability solutions to database mirroring.
  • Design an operations plan for database mirroring to maximize availability.

Module 6: Designing a Highly Available Solution Based on Replication

In this module, you will learn about the guidelines and considerations for designing a highly-available solution based on replication. This module provides the guidelines for determining replication server roles and topology. This module also explains the guidelines for upgrading replication.
 
Finally, this module explains the process of designing an operations plan for replication. In this module, you will also learn about the planned and unplanned events that can affect a replication environment.

Lessons

  • Introduction to Designing a Replication Solution
  • Designing a Replication Solution
  • Designing a Replication Upgrade Strategy
  • Designing an Operations Plan for Replication

Lab : Designing a Highly-availability Solution Based on Replication

  • Selecting the Appropriate Replication Architecture
  • Designing a Replication Solution
  • Designing an Operations Plan
  • Designing a Disaster Recovery Strategy By Using MERGE Replication
  • Designing a Disaster Recovery Strategy By Using TRANSACTIONAL Replication
After completing this module, students will be able to:
  • Explain the different considerations for designing a replication solution.
  • Design a replication solution.
  • Design a strategy for upgrading replication.
  • Design an operations plan for replication to maximize availability.

Module 7: Combining High-availability Technologies

This module provides guidelines for designing high-availability solutions by combining existing high-availability technologies. This module enables you to evaluate the weaknesses in each high-availability technology. In this module, you will determine technologies that complement each other to minimize these weaknesses.

Lessons

  • Evaluating Weaknesses in Each High-availability Technology
  • Maximizing Availability by Combining High-availability Technologies

Lab : Combining High-availability Technologies

  • Evaluating Weaknesses in High-availability Technologies
  • Maximizing Availability by Combining Technologies
After completing this module, students will be able to:
  • Evaluate the weaknesses in each high-availability technology.
  • Maximize availability by combining high-availability technologies.

Module 8: Documenting and Testing a High-availability Strategy

This module provides guidelines for documenting and testing high-availability solutions. This module explains the structure of a high-availability solution document and also explains the need for documenting the solution. In this module, you will also discuss the process of creating a test plan for high-availability solutions.

Lessons

  • Documenting High-availability Solutions
  • Creating a Test Plan for High-availability Solutions

Lab : Documenting and Testing a High-availability Strategy

  • Documenting the High-availability Solution
  • Creating a Test Plan
After completing this module, students will be able to:
  • Document high-availability solutions.
  • Create a test plan for high-availability solutions.

Module 1: Creating a Web Application

This unit describes the different types of Web sites that you can create with Visual Studio 2005. It introduces the concept of event handling, and shows how to work with default event handlers for an object. It also explains how to control a Web application through the hierarchy of configuration files.

Lessons

  • Visual Studio Web Site Types
  • Default Event Handling in Web Applications
  • Web Configuration Files

Lab : Creating a Web Application

  • Creating a New Web Application
  • Configuring and Building a Web Application
After completing this module, students will be able to:
 
  • Describe the types of Web sites that they can create with Visual Studio 2005.
  • Describe the concept of a default event handler for an object.
  • Explain how the Machine.Config and Web.Config files control the settings for a Web application.
  • Create a new Web application.
  • Configure and build a Web application.

Module 2: Programming a Web Application

This unit introduces the advanced event-handling capabilities of ASP.NET 2.0 and describes how to work with events in Visual Studio 2005. It shows how to work with non-default event handlers and centralized event handlers. It also addresses other common Web programming concepts, including:
 
  • Detecting the type, version, and capability of the browser being used to view a Web site.
  • Accessing information in an ASP.NET Web Page header.
  • Using the HttpResponse.Write method to provide feedback to users.
  • Handling page-level errors.

Lessons

  • Event Handling in Web Applications
  • Browser Capability Detection
  • Page Header Retrieval
  • Page-Level and Application-Level Error Handling

Lab : Programming a Web Application

  • Implementing Non-Default Event Handlers
  • Detecting Browser Capabilities and Setting Page Header Properties
  • Handling Page-Level Exceptions
After completing this module, students will be able to:
 
  • Describe various event-handling techniques.
  • Explain how to detect browser types and capabilities.
  • Explain how to access page headers.
  • Describe how to handle page-level errors and application-level errors.
  • Implement advanced techniques for handling events.
  • Implement browser-capability detection.
  • Implement page-header manipulation.
  • Implement page-level and application-level error handling.

Module 3: Adding and Configuring Server Controls

This unit explains how to use the HTML controls and Web server controls provided by Visual Studio 2005 and ASP.NET 2.0. It shows how to design and build Web-based user interfaces, and it teaches how to program Web server controls. This unit also describes how the ASP.NET 2.0 postback model works and how it can be used.

Lessons

  • HTML Controls and Web Server Controls
  • Types of Web Server Controls
  • Working with Web Server Controls
  • The ASP.NET 2.0 Page Postback Model

Lab : Adding and Configuring Server Controls

  • Building Graphical User Interfaces with HTML Controls
  • Building Graphical User Interfaces with Web Server Controls
  • Programming Web Server Controls and Working with Postbacks
After completing this module, students will be able to:
 
  • Explain the differences between HTML controls and Web server controls.
  • Describe the different types of Web server controls.
  • Explain how to use HTML controls and Web server controls.
  • Explain how the postback model of ASP.NET 2.0 works.
  • Create Web-based user interfaces with HTML controls and Web server controls.
  • Write code that interacts with Web server controls.
  • Write code that interacts with the postback model of ASP.NET 2.0.

Module 4: Creating a Common Layout by Using Master Pages

This unit explains how to use master pages to define common layouts for Web pages. Master pages provide developers with a new set of features for ensuring consistent page layout. Students will work with master pages and nested master pages in the lab to build a Web application that has a consistent layout and functionality across Web pages.

Lessons

  • What Are Master Pages?
  • What Are Content Pages?
  • Nested Master Pages

Lab : Creating a Common Layout by Using Master Pages

  • Designing a Master Page
  • Adding and Configuring Content Pages
  • Designing Nested Master Pages
After completing this module, students will be able to:
 
  • Describe the concept of a master page.
  • Describe the concept of a content page.
  • Describe nested master pages.
  • Design master pages.
  • Configure content pages.
  • Design nested master pages.

Module 5: Managing State for a Web Application

This unit describes the different state management technologies that students can use in ASP.NET 2.0 Web applications. It discusses how controls can retain state data over multiple requests, and then explains how developers can work with this state data. This unit then shows how to store state data in the Application and Session objects provided by ASP.NET 2.0. It also discusses the different session-data storage mechanisms. Finally, this unit explains how to use the Cache object to cache and retrieve state data.

Lessons

  • ViewState Properties and ControlState Data
  • Application and Session Objects
  • Strategies for Managing Session State Data
  • The Cache Object

Lab : Managing State for a Web Application

  • Configuring ViewState Properties for Web Server Controls
  • Storing and Retrieving Application and Session State
  • Implementing Out-of-Process Session State
  • Storing and Managing State Data in the Cache Object
After completing this module, students will be able to:
 
  • Describe the ViewState and ControlState data models for Web pages.
  • Describe the Application and Session objects and explain how state data is stored and retrieved in these objects.
  • Describe various session-state data-storage strategies.
  • Describe the Cache object and explain how you can use it to store and manage state data.
  • Configure ViewState properties and ControlState properties for Web server controls.
  • Store and retrieve Application and Session state.
  • Implement out-of-process session state.
  • Store and manage state data in the Cache object.

Module 6: Accessing and Displaying Data

This unit describes how to add database connections to the Web.Config file and the benefits that this approach adds when building manageable Web applications. This unit then describes the new data controls for accessing data in a variety of formats. It includes details about using the SqlDataSource control, the XmlDataSource control, and the ObjectDataSource control. This unit also describes how user interface data controls are bound to the data source controls, and it includes a discussion about binding data-aware standard controls to data.

Lessons

  • Database Connections and the Web.Config File
  • Relational Data and Data Source Controls
  • XML Data and Data Source Controls
  • Object Data and Data Source Controls

Lab : Accessing and Displaying Data

  • Creating and Retrieving Database Connections
  • Accessing Data by Using SqlDataSource Controls and Data Controls
  • Accessing Objects as Data with ObjectDataSource Controls
  • Accessing XML Data by Using XmlDataSource Controls
After completing this module, students will be able to:
 
  • Explain how to store and retrieve database connections by using the Web.Config file.
  • Explain how to use data source controls to access relational data.
  • Explain how to use data source controls to access XML data.
  • Explain how to use data source controls to access object data.
  • Create and retrieve database connections by using the Web.Config file.
  • Access relational data by using the SqlDataSource control and data controls.
  • Access XML data by using the XmlDataSource control and data controls.
  • Access objects as data by using the ObjectDataSource control and data controls.

Module 7: Controlling Access to a Web Application

This unit describes authentication and authorization for Web applications. It also shows how to develop login, sign-up, and other membership pages for Web applications based on the ASP.NET 2.0 Membership system.

Lessons

  • Authentication for Web Applications
  • Authorization for Web Applications
  • Site Membership Systems Using the Membership Class
  • Web Site Security Administration Using the Roles Class

Lab : Controlling Access to a Web Application

  • Configuring Authentication and Authorization for a Web Application
  • Implementing a Membership Registration Page
  • Implementing a Login Page and Adding Login Controls
  • Creating a Membership Management Administrative User Interface
After completing this module, students will be able to:
 
  • Describe the authentication methods for Web applications.
  • Describe the authorization methods for Web applications.
  • Describe the main components of a membership system.
  • Describe how to build a security administration interface.
  • Configure authentication and authorization for a Web application.
  • Implement a membership registration page.
  • Implement a login page.
  • Create a membership management administrative user interface.

Module 8: Deploying a Web Application

This unit describes three different ways to deploy Web applications:
 
  • Using the Copy Web Site utility to deploy a Web application in a non-compiled state
  • Using the Publish Web Site utility to deploy a precompiled version of the Web application
  • Building Microsoft Windows( Installer packages to create a redistributable application with full setup logic

Lessons

  • The Copy Web Site Utility
  • The Publish Web Site Utility
  • Windows Installer Setup Packages

Lab : Deploying a Web Application

  • Deploying a Web Application by Using the Copy Web Site Utility
  • Precompiling and Deploying a Web Application by Using the Publish Web Site Utility
  • Building a Windows Installer Package for Deploying a Web Application
After completing this module, students will be able to:
 
  • Describe how to use the Copy Web Site utility to deploy a Web application.
  • Describe how to use the Publish Web Site utility to precompile and deploy a Web application.
  • Describe how to build Windows Installer packages for deploying a Web application.
  • Deploy a Web application by using the Copy Web Site utility.
  • Precompile and deploy a Web application by using the Publish Web Site utility.
  • Build and run a Windows Installer setup application for deploying a Web application.

Module 9: Making Web Applications Available to Mobile Devices

This unit explains how to enable browsers running on mobile devices, such as Pocket PCs and mobile phones, to access pages within your application.

Lessons

  • Device Emulators for Mobile Web Forms
  • Mobile Device Detection and Redirection
  • Mobile Web Forms
  • Device-Specific Features in Mobile Web Forms

Lab : Making Web Applications Available to Mobile Devices

  • Managing Redirection for Mobile Devices
  • Designing and Implementing a Mobile Web Form
  • Designing Device-Specific Features for a Mobile Web Application
  • Browsing a Mobile Web Application with Specific Device Emulators
After completing this module, students will be able to:
 
  • Explain how to detect mobile devices and redirect them to an appropriate page in a Web application.
  • Describe mobile Web pages, forms, and mobile controls.
  • Explain how to use device-specific features in mobile Web pages to respond to the different capabilities of mobile devices.
  • Explain how to use device emulators in Visual Studio 2005 to test mobile Web pages.
  • Design and implement mobile Web forms.
  • Design device-specific features for mobile Web pages.

Module 1: Overview of the Microsoft .NET Platform

Lessons
  • Introduction to the .NET Platform
  • Overview of the .NET Framework
  • Benefits of the .NET Framework
  • The .NET Framework Components
  • Languages in the .NET Framework

Module 2: Overview of C#

Lessons
  • Structure of a C# Program
  • Basic Input/Output Operations
  • Recommended Practices
  • Compiling, Running, and Debugging

Module 3: Using Value-Type Variables

Lessons

  • Common Type System
  • Naming Variables
  • Using Built-In Data Types
  • Creating User-Defined Data Types
  • Converting Data Types

Module 4: Statements and Exceptions

Lessons

  • Introduction to Statements
  • Using Selection Statements
  • Using Iteration Statements
  • Using Jump Statements
  • Handling Basic Exceptions
  • Raising Exceptions

Module 5: Methods and Parameters

Lessons

  • Using Methods
  • Using Parameters
  • Using Overloaded Methods

Module 6: Arrays

Lessons

  • Overview of Arrays
  • Creating Arrays
  • Using Arrays

Module 7: Essentials of Object-Oriented Programming

Lessons

  • Classes and Objects
  • Using Encapsulation
  • C# and Object Orientation
  • Defining Object-Oriented Systems

Module 8: Using Reference-Type Variables

Lessons

  • Using Reference-Type Variables
  • Using Common Reference Types
  • The Object Hierarchy
  • Namespaces in the .NET Framework
  • Data Conversions

Module 9: Creating and Destroying Objects

Lessons

  • Using Constructors
  • Initializing Data
  • Objects and Memory
  • Resource Managements

Module 10: Inheritance in C#

Lessons

  • Deriving Classes
  • Implementing Methods
  • Using Sealed Classes
  • Using Interfaces
  • Using Abstract Classes

Module 11: Aggregation, Namespaces, and Advanced Scope

Lessons

  • Using Internal Classes, Methods, and Data
  • Using Aggregation
  • Using Namespaces
  • Using Modules and Assemblies

Module 12: Operators and Events

Lessons

  • Introduction to Operators
  • Operator Overloading
  • Creating and Using Delegates
  • Defining and Using Events

Module 13: Properties and Indexers

Lessons

  • Using Properties
  • Using Indexers

Module 14: Attributes

Lessons

  • Overview of Attributes
  • Defining Custom Attributes
  • Retrieving Attribute Values

Module 1: Creating and Hosting Workflows

This module explains how to create and host Windows Workflow Foundation (WF) workflows.

Lessons

  • Overview of Windows Workflow Foundation
  • Creating Sequential Workflows
  • Creating State Machine Workflows
  • Modifying Workflows at Runtime

Lab : Creating and Hosting Workflows

  • Creating and hosting a simple sequential workflow
  • Passing parameters into a workflow
  • Creating a state machine workflow
  • Hosting the state machine workflow
After completing this module, students will be able to:
  • Explain Windows Workflow Foundation concepts and features.
  • Create sequential workflows.
  • Create state machine workflows.
  • Modify workflows at run time.

Module 2: Applying Conditions and Rules

This module explains how to apply conditions and rules in a workflow.

Lessons

  • Implementing Flow Control
  • Defining and Executing Rule Sets
  • Forward Chaining of Rules
  • Changing Rules at Run Time

Lab : Applying Conditions and Rules

  • Making Decisions
  • Performing Iteration
  • Defining Policies
After completing this module, students will be able to:
  • Implement conditional branching in a workflow.
  • Define and execute rule sets.
  • Forward chain rules.
  • Change rules at run time.

Module 3: Communicating with Workflows

This module explains how to communicate between workflows, host processes, and services.

Lessons

  • Calling Methods on the Host Process
  • Handling Events from the Host Process
  • Consuming Services from a Workflow
  • Publishing a Workflow as a Service

Lab : Communicating with Workflows

  • Invoking a Method on the Host Process
  • Handling Events from the Host Process
  • Consuming Services from a Workflow
  • Publishing a Workflow as a Service
After completing this module, students will be able to:
  • Call methods on the host process.
  • Handle events from the host process.
  • Consume services from a workflow.
  • Publish a workflow as a service.

Module 4: Creating and Configuring Custom Activities

This module explains how to create and configure custom activities.

Lessons

  • Creating Custom Activities
  • Creating Custom Composite Activities
  • Customizing Activity Serialization
  • Defining Custom Activity Layout

Lab : Creating and Configuring Custom Activities

  • Creating a Custom Activity
  • Validating a Custom Activity
  • Developing a Custom Activity Designer
  • Creating a Custom Composite Activity
After completing this module, students will be able to:
  • Create a custom activity.
  • Create a custom composite activity.
  • Define custom activity layout.
  • Customize activity serialization.

Module 5: Creating and Managing Runtime Services

This module explains how to create and manage runtime services.

Lessons

  • Creating a Custom Runtime Service
  • Hydrating and Dehydrating Workflows
  • Monitoring Workflows
  • Tracking Workflows

Lab : Creating and Managing Runtime Services

  • Creating a Custom Runtime Service
  • Hydrating and Dehydrating Workflows
  • Monitoring Workflows
  • Tracking Workflows
After completing this module, students will be able to:
  • Create a custom runtime service.
  • Hydrate and dehydrate workflows.
  • Monitor workflows.
  • Track workflows.

Module 6: Managing Faults, Cancellations, Transactions, and Compensations

This module explains how to manage faults, cancellations, transactions, and compensations in a workflow.

Lessons

  • Handling Faults
  • Handling Cancellations
  • Creating and Managing Transactions
  • Creating and Handling Compensations

Lab : Managing Faults, Transactions, and Compensations

  • Handling Faults
  • Implementing Transactional Behavior
  • Implementing Compensation Behavior
After completing this module, students will be able to:
  • Handle faults in a workflow.
  • Handle cancellations in a workflow.
  • Create and manage transactions in a workflow.
  • Create and handle compensations.

Module 1: Getting Started with Windows Communication Foundation

This module explains how to build a simple WCF service and client.

Lessons

  • Designing an Application to Be Part of a Service Oriented Architecture
  • Overview of WCF Architecture
  • Using a Language-Level Interface As a Service Contract
  • Implementing a Simple WCF Service in Visual Studio 2008
  • Consuming a simple WCF service in Visual Studio 2008

Lab : Creating a Simple Service

  • Creating a Simple WCF Service
  • Calling the Simple WCF Service
After completing this module, students will be able to:
  • Explain how to design an application as part of a Service Oriented Architecture (SOA).
  • Describe the main parts of the WCF architecture.
  • Create a simple service contract for a WCF service.
  • Implement a simple WCF service in Visual Studio 2008.
  • Consume a simple WCF service in Visual Studio 2008.

Module 2: Configuring and Hosting WCF Services

This module explains how to create and configure a WCF service as a managed application and select an appropriate hosting option.

Lessons

  • Programmatically Configuring a Managed Application to Host a WCF Service
  • Programmatically Configuring a Managed Application to Call a WCF Service
  • Defining Client and Service Settings by Using File-Based Configuration
  • Selecting a Hosting Option for a WCF Service
  • Deploying a WCF Service

Lab : Configure and Host a WCF Service

  • Creating a Programmatically Configured Managed Application to Host a Service
  • Calling a Service Hosted in a Managed Application by Using Programmatic Configuration
  • Defining Service Settings by Using External Configuration
  • Employing Different Hosting Options for a Service
After completing this module, students will be able to:
  • Create a programmatically-configured managed application that hosts a WCF service.
  • Call a WCF service hosted in a managed application by using programmatic configuration.
  • Define WCF service settings by using external configuration.
  • Select the best hosting option for a WCF service.
  • Deploy a WCF service onto a remote host.

Module 3: Endpoints and Behaviors

This module explains how to expose a WCF service over different endpoints and add run-time functionality by using behaviors.

Lessons

  • Exposing WCF Services Over Different Endpoints
  • Adding Behaviors to Services and Endpoints
  • Interoperating with Non-WCF Web services

Lab : Changing Service Endpoints and Behaviors

  • Exposing Services by Using Different Bindings
  • Adding Metadata Exchange to a Service
  • Creating WCF Clients and Services That Interoperate with Non-WCF Web Services
After completing this module, students will be able to:
  • Expose WCF services by using different bindings.
  • Add behaviors to services and endpoints.
  • Create WCF clients and services that interoperate with different types of Web services.

Module 4: Debugging and Diagnostics

This module explains how to improve debugging capabilities by examining messages and service activity.

Lessons

  • Logging Messages
  • Activity Tracing

Lab : Message Logging and Activity

  • Generating Logging Information for a Service
  • Enabling End-to-End Tracing for a Service
After completing this module, students will be able to:
  • Log WCF messages.
  • Trace WCF service activity.

Module 5: Designing and Defining Contracts

This module explains how to define service, operation, and data contracts to meet application requirements.

Lessons

  • Designing a Coherent and Cohesive WCF Service Interface
  • Defining a Service Contract
  • Defining Operations on a Service
  • Defining a Data Contract

Lab : Contracts for Services and Data

  • Defining and Implementing a One-Way Operation Contract
  • Passing Complex Data with a Data Contract
  • Defining and Implementing a Callback Contract
After completing this module, students will be able to:
  • Design a coherent and cohesive service contract.
  • Define a service contract.
  • Define operations on a service.
  • Define a data contract.

Module 6: Handling Errors

This module explains how to add error handling to a WCF application.

Lessons

  • Relating .NET Exceptions to Service-Level Faults
  • Using Faults in a Service
  • Handling Faults and Exceptions on Clients

Lab : Error Handling

  • Handling Unexpected Errors in a WCF Service
  • Add Fault Handling to a WCF Service and the Service Contract
After completing this module, students will be able to:
  • Explain how .NET exceptions relate to service-level faults.
  • Define fault information in a service contract.
  • Handle service exceptions on clients.

Module 7: Improving WCF Service Quality

This module explains how to address service quality issues such as performance, availability, concurrency, and instance management.

Lessons

  • Managing WCF Service Instances
  • Managing Concurrency Issues
  • Improving WCF Service Quality

Lab : Improving WCF Service Quality

  • Managing WCF Service Instances
  • Managing Concurrency Issues
  • Throttling Access to a WCF Service
  • Passing Bulk Data Between a WCF Client and Service
After completing this module, students will be able to:
  • Manage WCF service instances.
  • Manage concurrency issues.
  • Improve WCF service performance.

Module 8: Implementing WCF Security

This module explains how to implement security in a WCF application.

Lessons

  • Overview of Security in WCF
  • Applying Overall Security Requirements to a Binding
  • Specifying Required Client and Service Credentials
  • Working With Security Information

Lab : Protecting a Service

  • Applying Security for Internal Network Communication
  • Applying Security for Internet Communication
After completing this module, students will be able to:
  • Explain the process for implementing security in WCF.
  • Apply overall security requirements to a binding.
  • Specify required client and service credentials.
  • Work with security information.

Module 9: Implementing Transactions

This module explains how to protect data integrity through correct use of transactions.

Lessons

  • Overview of Transactions in a Service-Oriented Application
  • Creating Transactional Service Operations
  • Enabling the Flow of Transactions from Client to Service

Lab : Implementing Transactions for a Service

  • Controlling the Flow of a Transaction from Client to Service
  • Forcing a Transaction to Start When a Service Operation Is Called
After completing this module, students will be able to:
  • Explain how transactions work in a service-oriented application.
  • Create transactional service operations.
  • Control transaction flow from client to service.

Module 1: Introduction to Microsoft SQL Server Analysis Services

This module introduces common analysis scenarios and describes how Analysis Services provides a powerful platform for multidimensional OLAP solutions and data mining solutions. The module then describes the main considerations for installing Analysis Services.

Lessons

  • Overview of Data Analysis Solutions
  • Overview of SQL Server Analysis Services
  • Installing SQL Server Analysis Services

Lab : Using SQL Server Analysis Services

  • (Level 200) Installing SQL Server Analysis Services
  • (Level 200) Verifying Installation
After completing this module, students will be able to:
  • Describe data analysis solutions.
  • Describe the key features of SQL Server Analysis Services.
  • Install SQL Server Analysis Services.

Module 2: Creating Multidimensional Analysis Solutions

This module introduces the development tools you can use to create an Analysis Services multidimensional analysis solution, and describes how to create data sources, data source views, and cubes.

Lessons

  • Developing Analysis Services Solutions
  • Creating Data Sources and Data Source Views
  • Creating a Cube

Lab : Creating Multidimensional Analysis Solutions

  • (Level 200) Creating a Data Source
  • (Level 200) Creating and Modifying a Data Source View
  • (Level 200) Creating and Modifying a Cube
After completing this module, students will be able to:
  • Develop Analysis Services solutions.
  • Create a data source and a data source view.
  • Create a cube.

Module 3: Working with Cubes and Dimensions

This module describes how to edit dimensions and to configure dimensions, attributes, and hierarchies.

Lessons

  • Configuring Dimensions
  • Defining Attribute Hierarchies
  • Sorting and Grouping Attributes

Lab : Working with Cubes and Dimensions

  • (Level 200) Configuring Dimensions
  • (Level 200) Defining Relationships and Hierarchies
  • (Level 200) Sorting and Grouping Dimension Attributes
After completing this module, students will be able to:
  • Configure dimensions.
  • Define hierarchies.
  • Sort and group attributes.

Module 4: Working with Measures and Measure Groups

This module explains how to edit and configure measures and measure groups.

Lessons

  • Working With Measures
  • Working with Measure Groups

Lab : Working with Measures and Measure Groups

  • (Level 200) Configuring Measures
  • (Level 200) Defining Dimension Usage and Relationships
  • (Level 200) Configuring Measure Group Storage
After completing this module, students will be able to:
  • Work with measures.
  • Work with measure groups.

Module 5: Querying Multidimensional Analysis Solutions

This module introduces multidimensional expressions (MDX) and describes how to implement calculated members and named sets in an Analysis Services cube.

Lessons

  • MDX Fundamentals
  • Adding Calculations to a Cube

Lab : Querying Multidimensional Analysis Solutions

  • (Level 200) Querying a Cube by Using MDX
  • (Level 200) Creating a Calculated Member
  • (Level 200) Defining a Named Set
After completing this module, students will be able to:
  • Describe Multidimensional Expression (MDX) fundamentals.
  • Add calculations to a cube.

Module 6: Customizing Cube Functionality

This module explains how to customize a cube by implementing key performance indicators (KPIs), actions, perspectives, and translations.

Lessons

  • Implementing Key Performance Indicators
  • Implementing Actions
  • Implementing Perspectives
  • Implementing Translations

Lab : Customizing Cube Functionality

  • (Level 200) Implementing a KPI
  • (Level 200) Implementing an Action
  • (Level 200) Implementing a Perspective
  • (Level 200) Implementing a Translation
After completing this module, students will be able to:
  • Implement Key Performance Indicators (KPIs).
  • Implement actions.
  • Implement perspectives.
  • Implement translations.

Module 7: Deploying and Securing an Analysis Services Database

This module describes how to deploy an Analysis Services database to a production server, and how to implement security in an Analysis Services multidimensional solution.

Lessons

  • Deploying an Analysis Services Database
  • Securing an Analysis Services Database

Lab : Deploying and Securing an Analysis Services Database

  • (Level 200) Deploying an Analysis Services Database
  • (Level 200) Securing an Analysis Services Database
After completing this module, students will be able to:
  • Deploy an Analysis Services database.
  • Secure an Analysis Services database.

Module 8: Maintaining a Multidimensional Solution

This module discusses the maintenance tasks associated with an Analysis Services solution, and describes how administrators can use the Analysis Services management tools to perform them.

Lessons

  • Configuring Processing
  • Logging, Monitoring, and Optimizing an Analysis Services Solution
  • Backing Up and Restoring an Analysis Services Database

Lab : Maintaining a Multidimensional Solution

  • (Level 200) Configuring Processing
  • (Level 200) Implementing Logging and Monitoring
  • (Level 200) Backing Up and Restoring an Analysis Services Database
After completing this module, students will be able to:
  • Configure processing settings.
  • Log, monitor, and optimize an Analysis Services solution.
  • Back up and restore an Analysis Services database.

Module 9: Introduction to Data Mining

This module introduces data mining, and describes how to implement data mining structures and models. It then explains how to validate data model accuracy.

Lessons

  • Overview of Data Mining
  • Creating a Data Mining Solution
  • Validating Data Mining Models

Lab : Introduction to Data Mining

  • (Level 200) Creating a Data Mining Structure
  • (Level 200) Adding a Data Mining Model
  • (Level 200) Exploring Data Mining Models
  • (Level 200) Validating Data Mining Models
After completing this module, students will be able to:
  • Describe data mining.
  • Create a data mining solution.
  • Validate data mining models.

Module 1: Introduction to Microsoft SQL Server Reporting Services

The students will be introduced to the role that Reporting Services plays in an organization's reporting life cycle, the key features offered by Reporting Services, and the components that make up the Reporting Services architecture.

Lessons

  • Overview of SQL Server Reporting Services
  • Installing Reporting Services
  • Reporting Services Tools

Lab : Introduction to Microsoft SQL Server Reporting Services

  • (Level 200) Exploring Report Designer
  • (Level 200) Exploring Report Manager
After completing this module, students will be able to:
  • Describe the features of SQL Server Reporting Services.
  • Install Reporting Services.
  • Describe the Reporting Services tools.

Module 2: Authoring Basic Reports

The students will learn the fundamentals of report authoring, including configuring data sources and data sets, creating tabular reports, summarizing data, and applying basic formatting.

Lessons

  • Creating a Basic Table Report
  • Formatting Report Pages
  • Calculating Values

Lab : Authoring Basic Reports

  • (Level 200): Creating a Basic Table Report
  • (Level 200): Formatting Report Pages
  • (Level 200): Adding Calculated Values
After completing this module, students will be able to:
  • Create a basic table report.
  • Format report pages.
  • Calculate values for a report.

Module 3: Enhancing Basic Reports

The students will learn about navigational controls and some additional types of data regions, and how to use them to enhance a basic report.

Lessons

  • Interactive Navigation
  • Displaying Data

Lab : Enhancing Basic Reports

  • (Level 200) Using Dynamic Visibility
  • (Level 200) Using Document Maps
  • (Level 200) Initiating Actions
  • (Level 200) Using a List Data Region
  • (Level 200) Creating a Tablix Report
  • (Level 200) Adding Chart Subreport to Parent Report
After completing this module, students will be able to:
  • Create reports with interactive navigation.
  • Display data in various formats.

Module 4: Manipulating Data Sets

The students will explore data sets to a greater depth, including the use of alternative data sources and interacting with a data set through the use of parameters. Students will learn how to dynamically modify the data set underlying a data region by allowing parameters to be sent to the underlying query, as well as will learn to use best practices to implement static and dynamic parameter lists when interacting with queries and stored procedures.

Lessons

  • Defining Report Data
  • Using Parameters and Filters
  • Using Parameter Lists

Lab : Manipulating Data Sets

  • (Level 200) Using Parameters to Restrict Query Results
  • (Level 200) Using Parameters to Filter Report Data
  • (Level 200) Creating Dynamic Parameter Lists
  • (Level 200) Using Parameters with a Stored Procedure
  • (Level 200) Displaying All Categories in a Parameter List
After completing this module, students will be able to:
  • Define report data.
  • Use parameters and filters.
  • Use parameter lists.

Module 5: Using Report Models

The students will learn how to create a report model so that business users can create their own reports without using the full Report Designer development environment. Students will also learn how to use Report Builder to create a report from a report model.

Lessons

  • Creating Report Models
  • Using Report Builder

Lab : Using Report Models

  • (Level 200) Creating a Report Model
  • (Level 200) Using Report Builder to Create a Report
After completing this module, students will be able to:
  • Create Report Models.
  • Use Report Builder.

Module 6: Publishing and Executing Reports

The students will learn the various options you can use to publish reports to the report server and execute them.

Lessons

  • Publishing Reports
  • Executing Reports
  • Creating Cached Instances
  • Creating Snapshots and Report History

Lab : Publishing and Executing Reports

  • (Level 200) Publishing Reports
  • (Level 200) Executing Reports
  • (Level 200) Configuring and Viewing a Cached Report
  • (Level 200) Configuring and Viewing a Snapshot Report
After completing this module, students will be able to:
  • Publish reports.
  • Execute reports.
  • Create cached instances.
  • Create snapshots and report history.

Module 7: Using Subscriptions to Distribute Reports

The students will learn how to implement subscriptions so that you can distribute reports either automatically by e-mail or by publishing reports to a shared folder.

Lessons

  • Introduction to Report Subscriptions
  • Creating Report Subscriptions
  • Managing Report Subscriptions

Lab : Using Subscriptions to Distribute Reports

  • (Level 200) Creating a Standard Subscription
  • (Level 200) Creating a Data-Driven Subscription
After completing this module, students will be able to:
  • Describe report subscriptions.
  • Create report subscriptions.
  • Manage report subscriptions.

Module 8: Administering Reporting Services

The students will learn how to administer the Reporting Services server, how to monitor and optimize the performance of the report server, how to maintain the Reporting Services databases, and how to keep the system secure.

Lessons

  • Reporting Server Administration
  • Performance and Reliability Monitoring
  • Administering Report Server Databases
  • Security Administration
  • Upgrading to Reporting Services 2008

Lab : Administering Reporting Services

  • (Level 200) Using Reporting Services Configuration Manager
  • (Level 200) Securing a Reporting Services Site
  • (Level 200) Securing Items
After completing this module, students will be able to:
  • Administer the reporting server.
  • Monitor performance and reliability.
  • Administer the Report Server databases.
  • Administer security.
  • Upgrade to Reporting Services 2008.

Module 9: Programming Reporting Services

The students will learn how to query Reporting Services information programmatically and how to automate report management tasks. Students will also learn how to render reports without relying on Report Manager, and how to extend the feature set of a report server by creating custom code.

Lessons

  • Querying for Server Information Using a Web Service
  • Automating Report Management
  • Rendering Reports
  • Creating Custom Code

Lab : Programming Reporting Services

  • (Level 200) Using URL Access to Display a Report
  • (Level 200) Building a Reporting Services Web Service Client
  • (Level 200) Using the Report Viewer Control
After completing this module, students will be able to:
  • Query server information using a Web service.
  • Automate report management.
  • Render reports.
  • Create custom code.

Module 1: Introduction to SQL Server 2008 Integration Services

The students will be introduced to the role that Integration Services plays in extracting, transforming, and loading data. The students will also be introduced to the tools that are used to build and manage Integration Services solutions.

Lessons

  • Overview of SQL Server Integration Services
  • Using Integration Services Tools

Lab : Introduction to SQL Server Integration Services

  • (Level 200) Using the Import and Export Wizard
  • (Level 200) Running an Integration Services Package
After completing this module, students will be able to:
  • Describe Integration Services solutions
  • Use Integration Services tools

Module 2: Developing Integration Services Solutions

The students will be introduced to the development tasks that are involved in creating an Integration Services package.

Lessons

  • Creating an Integration Services Solution
  • Using Variables
  • Building and Running a Solution

Lab : Developing Integration Services Solutions

  • (Level 200) Creating an Integration Services Project
  • (Level 200) Implementing a Package
  • (Level 200) Building and Running an Integration Services package
After completing this module, students will be able to:
  • Create a SQL Server Integration Services solution.
  • Use variables.
  • Build and run a solution.

Module 3: Implementing Control Flow

The students will be introduced to the tasks and precedence constraints that can be used to implement control flow in an Integration Services package.

Lessons

  • Control Flow Tasks
  • Control Flow Precedent Constraints
  • Control Flow Containers

Lab : Implementing Control Flow

  • (Level 200) Creating a Simple Control Flow
  • (Level 200) Configuring Precedence Constraints
  • (Level 200) Using Containers
After completing this module, students will be able to:
  • Configure control flow tasks.
  • Configure control flow precedence constraints.
  • Configure control flow containers.

Module 4: Implementing Data Flow

The students will be introduced to the data flow sources, transformations, and destinations that can be used to implement a data flow task in an Integration Services control flow. It also explains how to use data flow paths to direct valid and invalid rows through the data flow.

Lessons

  • Data Flow Sources and Destinations
  • Basic Data Flow Transformations
  • Advanced Data Flow Transformations
  • Data Flow Paths

Lab : Implementing Data Flow

  • (Level 200) Transferring Data
  • (Level 200) Implementing Transformations
  • (Level 200) Using Data Viewers
  • (Level 200) Configuring Error Output
After completing this module, students will be able to:
  • Implement data flow sources and destinations.
  • Implement basic data flow transformations.
  • Implement advanced data flow transformations.
  • Implement data flow paths.

Module 5: Implementing Logging

The students will be introduced to how to use logging in an Integration Services package, and explained how to configure and use logging providers to generate information about a package's execution.

Lessons

  • Overview of Integration Services Logging
  • Enabling and Configuring Logging

Lab : Implementing Logging

  • (Level 200) Configuring Logging
  • (Level 200) Implementing Custom Logging
After completing this module, students will be able to:
  • Describe Integration Services logging.
  • Implement Integration Services logging.

Module 6: Debugging and Error Handling

The students will be introduced to how to debug Integration Services packages by using the debugging tools in Business Intelligence Development Studio. It then explains how to implement error-handling logic in an Integration Services package.

Lessons

  • Debugging a Package
  • Implementing Error Handling

Lab : Debugging and Error Handling

  • (Level 300) Debugging a Package
  • (Level 300) Implementing Error Handling
  • (Level 300) Controlling Failure Behavior
After completing this module, students will be able to:
  • Debug an SSIS package.
  • Implement error handling.

Module 7: Implementing Checkpoints and Transactions

The students will be introduced to what checkpoints are and how to implement them. It then discusses transactions, and describes how to implement transactional data access logic in an Integration Services package.

Lessons

  • Implementing Checkpoints
  • Implementing Transactions

Lab : Implementing Checkpoints and Transactions

  • (Level 200) Implementing Checkpoints in a Package
  • (Level 300) Implementing Transactions in a Package
  • (Level 300) Implementing a Native Transaction
After completing this module, students will be able to:
  • Implement checkpoints.
  • Implement transactions.

Module 8: Configuring and Deploying Packages

The students will be introduced to how to create Package Configurations and how to deploy Integration Services packages to production servers.

Lessons

  • Package Configurations
  • Deploying Packages

Lab : Configuring and Deploying Packages

  • (Level 200) Creating a Package Configuration
  • (Level 200) Preparing a Package for Deployment
  • (Level 200) Deploying a Package
After completing this module, students will be able to:
  • Implement package configurations.
  • Deploy packages.

Module 9: Managing and Securing Packages

The students will be introduced to the management tasks that relate to Integration Services packages and explained how to perform those tasks by using the Integration Services management tools. It also describes how to secure Integration Services packages.

Lessons

  • Managing Packages
  • Securing Packages

Lab : Managing and Securing Packages

  • (Level 200) Importing a Package
  • (Level 200) Configuring and Monitoring a Package
  • (Level 200) Scheduling a Package
  • (Level 200) Securing a Package
After completing this module, students will be able to:
  • Manage packages.
  • Secure packages.

Module 1: Introduction to SQL Server and its ToolsetThis module introduces you to the entire SQL Server platform and its major tools. This module also covers editions, versions, basics of network listeners, and concepts of services and service accounts.

Lessons

  • Introduction to SQL Server Platform
  • Working with SQL Server Tools
  • Configuring SQL Server Services

Lab : Introduction to SQL Server and its Toolset

  • Verifying SQL Server Component Installation
  • Altering Service Accounts for New Instance
  • Enabling Named Pipes Protocol for Both Instances
  • Creating Aliases for AdventureWorks and Proseware
  • Ensuring SQL Browser is Disabled and Configure a Fixed TCP/IP Port
After completing this module, students will be able to:
  • Describe the SQL Server Platform.
  • Work with SQL Server Tools.
  • Configure SQL Server Services.

Module 2: Working with Data TypesThis module describes the data types supported by SQL Server and how to work with them.

Lessons

  • Using Data Types
  • Working with Character Data
  • Converting Data Types
  • Working with Specialized Data Types

Lab : Working with Data Types

  • Choosing Appropriate Data Types
  • Writing Queries With Data Type Conversions
  • Designing and Creating Alias Data Types
After completing this module, students will be able to:
  • Work with data types.
  • Work with character data.
  • Convert between data types.
  • Use specialized data types.

Module 3: Designing and Implementing TablesThis module describes the design and implementation of tables.

Lessons

  • Designing Tables
  • Working with Schemas
  • Creating and Altering Tables

Lab : Designing and Implementing Tables

  • Improving the Design of Tables
  • Creating a Schema
  • Creating the Tables
After completing this module, students will be able to:
  • Design tables.
  • Work with schemas.
  • Create and alter tables.

Module 4: Designing and Implementing ViewsThis module describes the design and implementation of views.

Lessons

  • Introduction to Views
  • Creating and Managing Views
  • Performance Considerations for Views

Lab : Designing and Implementing Views

  • Designing, Implementing and Testing the WebStock Views
  • Designing and Implementing the Contacts View
  • Modifying the AvailableModels View
After completing this module, students will be able to:
  • Explain the role of views in database development.
  • Implement views.
  • Describe the performance related impacts of views.

Module 5: Planning for SQL Server IndexingThis module describes the concept of an index and discusses selectivity, density, and statistics. It covers appropriate data type choices and choices around composite index structures.

Lessons

  • Core Indexing Concepts
  • Data Types and Indexes
  • Single Column and Composite Indexes

Lab : Planning for SQL Server Indexing

  • Exploring Existing Index Statistics
  • Designing Column Orders for Indexes
After completing this module, students will be able to:
  • Explain core indexing concepts.
  • Describe the effectiveness of each data type common used in indexes.
  • Plan for single column and composite indexes.

Module 6: Implementing Table Structures in SQL ServerThis module covers clustered indexes and heaps.

Lessons

  • SQL Server Table Structures
  • Working with Clustered Indexes
  • Designing Effective Clustered Indexes

Lab : Implementing Table Structures in SQL Server

  • Creating Tables as Heaps
  • Creating Tables with Clustered Indexes
  • Comparing the Performance of Clustered Indexes vs. Heaps
After completing this module, students will be able to:
  • Explain how tables can be structured in SQL Server databases.
  • Work with clustered indexes.
  • Design effective clustered indexes

Module 7: Reading SQL Server Execution Plans

This module introduces the concept of reading execution plans.

Lessons

  • Execution Plan Core Concepts
  • Common Execution Plan Elements
  • Working with Execution Plans

Lab : Reading SQL Server Execution Plans

  • Actual vs. Estimated Plans
  • Identify Common Plan Elements
  • Query Cost Comparison
After completing this module, students will be able to:
  • Explain the core concepts related to the use of execution plans.
  • Describe the role of the most common execution plan elements.
  • Work with execution plans.

Module 8: Improving Performance through Nonclustered IndexesThis module explains nonclustered indexes, covering indexes and included columns.

Lessons

  • Designing Effective Nonclustered Indexes
  • Implementing Nonclustered Indexes
  • Using the Database Engine Tuning Advisor

Lab : Improving Performance through Nonclustered Indexes

  • Reviewing Nonclustered Index Usage
  • Improving Nonclustered Index Designs
  • Using SQL Server Profiler and Database Engine Tuning Advisor
  • Nonclustered Index Design
After completing this module, students will be able to:
  • Design effective nonclustered indexes.
  • Implement nonclustered indexes.
  • Use the Database Engine Tuning Advisor to design indexes.

Module 9: Designing and Implementing Stored ProceduresThis module describes the design and implementation of stored procedures.

Lessons

  • Introduction to Stored Procedures
  • Working With Stored Procedures
  • Implementing Parameterized Stored Procedures
  • Controlling Execution Context

Lab : Designing and Implementing Stored Procedures

  • Creating Stored Procedures
  • Creating a Parameterized Stored Procedure
  • Altering the Execution Context of Stored Procedures
After completing this module, students will be able to:
  • Describe the role of stored procedures and the potential benefits of using them.
  • Work with stored procedures.
  • Implement parameterized stored procedures.
  • Control the execution context of a stored procedure.

Module 10: Merging Data and Passing TablesThis module covers table types, table valued parameters and the MERGE statement as used in stored procedures.

Lessons

  • Using the MERGE Statement
  • Implementing Table Types
  • Using Table Types as Parameters

Lab : Merging Data and Passing Tables

  • Creating a Table Type
  • Using a Table Type Parameter
  • Using a Table Type with MERGE
After completing this module, students will be able to:
  • Use the MERGE statement.
  • Implement table types.
  • Use TABLE types as parameters.

Module 11: Creating Highly Concurrent SQL Server ApplicationsThis module covers transactions, isolation levels, and designing for concurrency.

Lessons

  • Introduction to Transactions
  • Introduction to Locks
  • Management of Locking
  • Transaction Isolation Levels

Lab : Creating Highly Concurrent SQL Server Applications

  • Detecting Deadlocks
  • Investigating Transaction Isolation Levels
After completing this module, students will be able to:
  • Describe the role of transactions.
  • Explain the role of locks.
  • Manage locking.
  • Work with transaction isolation levels.

Module 12: Handling Errors in T-SQL CodeThis module describes structured exception handling and gives solid examples of its use within the design of stored procedures.

Lessons

  • Designing T-SQL Error Handling
  • Implementing T-SQL Error Handling
  • Implementing Structured Exception Handling

Lab : Handling Errors in T-SQL Code

  • Replacing @@ERROR Based Error Handling With Structured Exception Handling
  • Adding Deadlock Retry Logic to the Stored Procedure
After completing this module, students will be able to:
  • Design T-SQL error handling.
  • Implement T-SQL error handling.
  • Implement structured exception handling.

Module 13: Designing and Implementing User-Defined FunctionsThis module describes the design and implementation of functions, both scalar and table-valued.

Lessons

  • Designing and Implementing Scalar Functions
  • Designing and Implementing Table-valued Functions
  • Implementation Considerations for Functions
  • Alternatives To Functions

Lab : Designing and Implementing User-Defined Functions

  • Formatting Phone Numbers
  • Modifying an Existing Function
  • Resolving a Function-related Performance Issue
After completing this module, students will be able to:
  • Design and implement scalar functions.
  • Design and implement table-valued functions.
  • Describe implementation considerations for functions.
  • Describe alternatives to functions.

Module 14: Ensuring Data Integrity through ConstraintsThis module describes the design and implementation of constraints.

Lessons

  • Enforcing Data Integrity
  • Implementing Domain Integrity
  • Implementing Entity and Referential Integrity

Lab : Ensuring Data Integrity through Constraints

  • Designing Constraint
  • Testing the Constraints
After completing this module, students will be able to:
  • Explain the available options for enforcing data integrity and the levels at which they should be applied.
  • Describe how domain integrity can be maintained.
  • Describe how entity and referential integrity can be maintained.

Module 15: Responding to Data Manipulation via TriggersThis module describes the design and implementation of triggers.

Lessons

  • Designing DML Triggers
  • Implementing DML Triggers
  • Advanced Trigger Concepts

Lab : Responding to Data Manipulation via Triggers

  • Creating the Audit Trigger
  • Improving the Audit Trigger
After completing this module, students will be able to:
  • Design DML triggers.
  • Implement DML triggers.
  • Explain advanced DML trigger concepts.

Module 16: Implementing Managed Code in SQL ServerThis module describes the implementation of and target use-cases for SQL CLR integration.

Lessons

  • Introduction to SQL CLR Integration
  • Importing and Configuring Assemblies
  • Implementing SQL CLR Integration

Lab : Implementing Managed Code in SQL Server

  • Assessing Proposed CLR Code
  • Implementing a CLR Assembly
  • Implementing a CLR User-defined Aggregate and User-defined Type
After completing this module, students will be able to:
  • Explain the importance of SQL Server CLR Integration.
  • Import and configure assemblies.
  • Implement objects that have been created within .NET assemblies.

Module 17: Storing XML Data in SQL ServerThis module covers the XML data type, schema collections, typed and untyped columns and appropriate use cases for XML in SQL Server.

Lessons

  • Introduction to XML and XML Schemas
  • Storing XML Data and Schemas in SQL Server
  • Implementing the XML Data Type

Lab : Storing XML Data in SQL Server

  • Appropriate Usage of XML Data Storage in SQL Server
  • Investigating the Storage of XML Data in Variables
  • Investigating the Use of XML Schema Collections
  • Investigating the Creation of Database Columns Based on XML
After completing this module, students will be able to:
  • Describe XML and XML schemas.
  • Store XML data and associated XML schemas in SQL Server.
  • Implement the XML data type within SQL Server

Module 18: Querying XML Data in SQL ServerThis module covers the basics of FOR XML and XPath Queries.

Lessons

  • Using the T-SQL FOR XML Statement
  • Getting Started with XQuery
  • Shredding XML

Lab : Querying XML Data in SQL Server

  • Learning to Query SQL Server Data as XML
  • Writing a Stored Procedure Returning XML
  • Writing a Stored Procedure that Updates Using XML
After completing this module, students will be able to:
  • Use the T-SQL FOR XML statement.
  • Work with basic XQuery queries.
  • Shred XML to a relational form.

Module 19: Working with SQL Server Spatial DataThis module describes spatial data and how this data can be implemented within SQL Server.

Lessons

  • Introduction to Spatial Data
  • Working with SQL Server Spatial Data Types
  • Using Spatial Data in Applications

Lab : Working with SQL Server Spatial Data

  • Familiarity With Geometry Data Type
  • Adding Spatial Data to an Existing Table
  • Business Application of Spatial Data
After completing this module, students will be able to:
  • Describe the importance of spatial data and the industry standards related to it.
  • Explain how to store spatial data in SQL Server.
  • Perform calculations on and query SQL Server spatial data.

Module 20: Working with Full-Text Indexes and QueriesThis module covers full text indexes and queries.

Lessons

  • Introduction to Full-Text Indexing
  • Implementing Full-Text Indexes in SQL Server
  • Working with Full-Text Queries

Lab : Working with Full-Text Indexes and Queries

  • Implementing a Full-Text Index
  • Implementing a Stoplist
  • Creating a Stored Procedure to Implement a Full-Text Search
After completing this module, students will be able to:
  • Describe why user interfaces in existing applications are not sufficient for end user search needs.
  • Implement full-text indexes in SQL Server.
  • Query SQL Server using full-text queries.

 

Module 1: Introduction to SQL Server 2008 R2 and its Toolset

This module introduces you to the entire SQL Server platform and its major tools. This module also covers editions, versions, basics of network listeners, and concepts of services and service accounts.

Lessons

  • Introduction to SQL Server Platform
  • Working with SQL Server Tools
  • Configuring SQL Server Services

Lab : Introduction to SQL Server 2008 R2 and its Toolset

  • Verify SQL Server Component Installation
  • Alter Service Accounts for New Instance
  • Enable Named Pipes Protocol for Both Instances
  • Create Aliases for AdventureWorks and Proseware
  • Ensure SQL Browser is Disabled and Configure a Fixed TCP/IP Port
  • Describe the SQL Server Platform
  • Work with SQL Server Tools
  • Configure SQL Server Services

Module 2: Preparing Systems for SQL Server 2008 R2

This module covers planning for an installation related to SQL Server I/O requirements, 32 bit vs 64 bit, memory configuration options and I/O subsystem pre-installation checks using SQLIOSim and SQLIO.

Lessons

  • Overview of SQL Server 2008 R2 Architecture
  • Planning Server Resource Requirements
  • Pre-installation Testing for SQL Server 2008 R2

Lab : Preparing Systems for SQL Server 2008 R2

  • Adjust memory configuration
  • Perform Pre-installation Stress Testing
  • Check Specific I/O Operations
  • Describe the SQL Server architecture
  • Plan for server resource requirements
  • Conduct pre-installation stress testing for SQL Server

Module 3: Installing and Configuring SQL Server 2008 R2

This module details installing and configuring SQL Server 2008 R2.

Lessons

  • Preparing to Install SQL Server 2008 R2
  • Installing SQL Server 2008 R2
  • Upgrading and Automating Installation

Lab : Installing and Configuring SQL Server 2008 R2

  • Review installation requirements
  • Install the SQL Server instance
  • Perform Post-installation Setup and Checks
  • Configure Server Memory
  • Prepare to install SQL Server
  • Install SQL Server
  • Upgrade and automate the installation of SQL Server

Module 4: Working with Databases

This module describes the system databases, the physical structure of databases and the most common configuration options related to them.

Lessons

  • Overview of SQL Server Databases
  • Working with Files and Filegroups
  • Moving Database Files

Lab : Working with Databases

  • Adjust tempdb configuration
  • Create the RateTracking database
  • Attach the OldProspects database
  • Add multiple files to tempdb
  • Describe the role and structure of SQL Server databases
  • Work with files and filegroups
  • Move database files within servers and between servers

Module 5: Understanding SQL Server 2008 R2 Recovery Models

This module describes the concept of the transaction log and SQL Server recovery models. It introduces the different backup strategies available with SQL Server 2008 R2.

Lessons

  • Backup Strategies
  • Understanding SQL Server Transaction Logging
  • Planning a SQL Server Backup Strategy

Lab : Understanding SQL Server 2008 R2 Recovery Models

  • Plan a backup strategy
  • Configure recovery models
  • Review recovery models and strategy
  • Describe the critical concepts surrounding backup strategies
  • Explain the transaction logging capabilities within the SQL Server database engine
  • Plan a SQL Server backup strategy

Module 6: Backup of SQL Server 2008 R2 Databases

This module describes SQL Server 2008 R2 Backup and the backup types.

Lessons

  • Backing up Databases and Transaction Logs
  • Managing Database Backups
  • Working with Backup Options

Lab : Backup of SQL Server 2008 R2 Databases

  • Investigate backup compression
  • Transaction log backup
  • Differential backup
  • Copy only backup
  • Partial backup
  • Back up databases and transaction logs
  • Manage database backups
  • Work with more advanced backup options

Module 7: Restoring SQL Server 2008 R2 DatabasesThis module describes the restoration of databases.

Lessons

  • Understanding the Restore Process
  • Restoring Databases
  • Working with Point-in-time Recovery
  • Restoring System Databases and Individual Files

Lab : Restoring SQL Server 2008 R2 Databases

  • Determine a restore strategy
  • Restore the database
  • Using STANDBY mode
  • Understand the restore process
  • Restore databases
  • Work with Point-in-time Recovery
  • Restore system databases and individual files

Module 8: Importing and Exporting DataThis module covers the use of the import/export wizards and explains how they relate to SSIS. Also introduces BCP.

Lessons

  • Transferring Data To/From SQL Server 2008 R2
  • Importing & Exporting Table Data
  • Inserting Data in Bulk

Lab : Importing and Exporting Data

  • Import the Excel spreadsheet
  • Import the CSV file
  • Create and test an extraction package
  • Compare loading performance
  • Transfer data to and from SQL Server
  • Import and export table data
  • Insert data in bulk and optimize the bulk insert process

Module 9: Authenticating and Authorizing Users

This module covers SQL Server 2008 R2 security models, logins and users.

Lessons

  • Authenticating Connections to SQL Server
  • Authorizing Logins to Access Databases
  • Authorization Across Servers

Lab : Authenticating and Authorizing Users

  • Create Logins
  • Correct an Application Login Issue
  • Create Database Users
  • Correct Access to Restored Database
  • Describe how SQL Server authenticates connections
  • Describe how logins are authorized to access databases
  • Explain the requirements for authorization across servers

Module 10: Assigning Server and Database Roles

This module covers fixed server roles, fixed database roles and user-defined database roles.

Lessons

  • Working with Server Roles
  • Working with Fixed Database Roles
  • Creating User-defined Database Roles

Lab : Assigning Server and Database Roles

  • Assign Server Roles
  • Assign Fixed Database Roles
  • Create and Assign User-defined Database Roles
  • Check Role Assignments
  • Work with server roles
  • Work with fixed database roles
  • Create user-defined database roles

Module 11: Authorizing Users to Access Resources

This module covers permissions and the assignment of permissions.

Lessons

  • Authorizing User Access to Objects
  • Authorizing Users to Execute Code
  • Configuring Permissions at the Schema Level

Lab : Authorizing Users to Access Resources

  • Assign Schema-level Permissions
  • Assign Object-level Permissions
  • Test Permissions
  • Authorize user access to objects
  • Authorize users to execute code
  • Configure permissions at the schema level

Module 12: Auditing SQL Server Environments

This module covers SQL Server Audit.

Lessons

  • Options for Auditing Data Access in SQL Server
  • Implementing SQL Server Audit
  • Managing SQL Server Audit

Lab : Auditing SQL Server Environments

  • Determine audit configuration and create auditCreate server audit specificationsCreate database audit specificationsTest audit functionality
  • Describe the options for auditing data access in SQL Server
  • Implement SQL Server Audit
  • Manage SQL Server Audit

Module 13: Automating SQL Server 2008 R2 Management

This module covers SQL Server Agent, jobs and job history.

Lessons

  • Automating SQL Server Management
  • Working with SQL Server Agent
  • Managing SQL Server Agent Jobs

Lab : Automating SQL Server 2008 R2 Management

  • Create a Data Extraction Job
  • Schedule the Data Extraction Job
  • Troubleshoot a Failing Job
  • Automate SQL Server Management
  • Work with SQL Server Agent
  • Manage SQL Server Agent jobs

Module 14: Configuring Security for SQL Server Agent

This module covers SQL Server agent security, proxy accounts and credentials.

Lessons

  • Understanding SQL Server Agent Security
  • Configuring Credentials
  • Configuring Proxy Accounts

Lab : Configuring Security for SQL Server Agent

  • Troubleshoot job execution failure
  • Resolve the security issue
  • Perform further troubleshooting
  • Explain SQL Server Agent security
  • Configure credentials
  • Configure Proxy accounts

Module 15: Monitoring SQL Server 2008 R2 with Alerts and NotificationsThis module covers the configuration of database mail, alerts and notifications.

Lessons

  • Configuration of Database Mail
  • Monitoring SQL Server Errors
  • Configuring Operators, Alerts and Notifications

Lab : Monitoring SQL Agent Jobs with Alerts and Notifications

  • Configure Database Mail
  • Implement Notifications
  • Implement Alerts
  • Configure database mail
  • Monitor SQL Server errors
  • Configure operators, alerts and notifications

Module 16: Performing Ongoing Database Maintenance

This module covers database maintenance plans.

Lessons

  • Ensuring Database Integrity
  • Maintaining Indexes
  • Automating Routine Database Maintenance

Lab : Ongoing Database Maintenance

  • Check database integrity using DBCC CHECKDB
  • Correct index fragmentation
  • Create a database maintenance plan
  • Investigate table lock performance
  • Ensure database integrity
  • Maintain indexes
  • Automate routine database maintenance

Module 17: Tracing Access to SQL Server 2008 R2This module covers SQL Profiler and SQL Trace stored procedures.

Lessons

  • Capturing Activity using SQL Server Profiler
  • Improving Performance with the Database Engine Tuning Advisor
  • Working with Tracing Options

Lab : Tracing Access to SQL Server 2008 R2

  • Capture a trace using SQL Server Profiler
  • Analyze a trace using Database Engine Tuning Advisor
  • Configure SQL Trace
  • Capture activity using SQL Server Profiler
  • Improve performance with the Database Engine Tuning Advisor
  • Work with tracing options

Module 18: Monitoring SQL Server 2008 R2

This module introduces DMVs and the configuration of data collection.

Lessons

  • Monitoring Activity
  • Capturing and Managing Performance Data
  • Analyzing Collected Performance Data

Lab : Monitoring SQL Server 2008 R2

  • Investigating DMVs
  • Configure Management Data Warehouse
  • Configure Instances for Data Collection
  • Work with Data Collector Reports
  • Monitor current activity
  • Capture and manage performance data
  • Analyze collected performance data

Module 19: Managing Multiple Servers

This module covers Central Management Servers and Multi-Server queries, Virtualization of SQL Server and Data-Tier Applications.

Lessons

  • Working with Multiple Servers
  • Virtualizing SQL Server
  • Deploying and Upgrading Data-Tier Applications

Lab : Managing Multiple Servers

  • Configure CMS and execute multi-server queries
  • Deploy a data-tier application
  • Register and extract a data-tier application
  • Upgrade a data-tier application
  • Work with multiple servers
  • Describe options for virtualizing SQL Server
  • Deploy and upgrade Data-Tier Applications

Module 20: Troubleshooting Common SQL Server 2008 R2 Administrative Issues

This module covers common issues that require troubleshooting and gives guidance on where to start looking for solutions.

Lessons

  • SQL Server Troubleshooting Methodology
  • Resolving Service-related Issues
  • Resolving Concurrency Issues
  • Resolving Login and Connectivity Issues

Lab : Troubleshooting Common Issues

  • Troubleshoot and resolve SQL Server administrative issues
  • Explain SQL Server troubleshooting methodology
  • Resolve service-related issues
  • Resolve concurrency issues
  • Resolve login and connectivity issues