1. Introduction to the Application Technologies
- Introducing the Account at a Glance Application
- Application Technology Overview
- Project Structure
- Using NuGet
- Data Technologies
- Lab: Creating the Application Projects
2. Unit Testing Fundamentals
- Testing Terminology and Concepts
- Introduction to Unit Testing
- Creating Unit Test Projects
- Writing Unit Tests
- Running Unit Tests
- Lab: Creating Unit Tests
3. Creating Model Classes
- Creating Model Classes
- Adding Validation Attributes
- Schema Mapping Attributes
- Lab: Creating Model Classes and Testing Validation
4. Creating the DbContext
- The Role of DbContext
- Creating a DbContext Class
- Extending DbContext Functionality
- Creating a Seed Class
- Modifying a Database
- Lab: Creating the DbContext Class
5. Creating Repository Classes
- Repository Pattern Fundamentals
- The Base Repository Interface and Class
- Creating Repository Interfaces and Classes
- Querying with LINQ and Lambdas
- Querying with Repository Classes
- Lab: Creating Repository Classes
6. Retrieving and Storing Distributed Data
- Parsing XML Data with LINQ to XML
- Creating a StockEngine Class
Calling Stored Procedures with EF Code First - Adding Repository Methods
- Lab: Creating a StockEngine Class and Repository Methods
7. Creating ASP.NET MVC Controllers
- Server-Side Technology Overview
- Application Controllers
- Customizing Routes
- The ASP.NET Web API
- Lab: Creating Controllers and Actions
8. Creating ASP.NET MVC Views
- HTML5 Boilerplate and _Layout.cshtml
- Working with ASP.NET MVC Views
- Bundling CSS and JavaScript Files
- Lab: Creating Views and Working with Bundles
9. Working with Dependency Injection
- Dependency Injection Overview
- Introduction to Unity
- The ModelContainer Class
- Using ASP.NET MVC's Dependency Resolver
- Refactoring the DataService Controller
- Lab: Working with Dependency Injection
10. Client-Side Technologies
- Client-Side Technology Overview
- jQuery Fundamentals
- Introduction to qUnit
- Understanding JSON and Object Literals
- JavaScript Patterns for Structuring Code
- Lab: Using JavaScript Patterns, jQuery, and qUnit
11. Client-Side Templates
- Application Scripts
- Defining Tiles in scene.layoutservice.js
- Creating Tiles in scene.statemanager.js
- Creating Client-Side Templates
- Rendering HTML into Tiles
- Lab: Creating Tile Scripts and Templates
12. Retrieving JSON Data from the Server
- jQuery Ajax Functions
- Creating a Client-Side Data Service
- Using Promises
- Rendering JSON Data using Templates
- Lab: Retrieving JSON Data and Rendering Tiles
13. HTML5 Technologies
- Integrating HTML5 Video
- Drawing with the HTML5 Canvas
- Drawing with SVG
- Lab: Integrating HTML5 Technologies
This class is intended for developers with existing experience building dynamic Web applications with one or more years of experience working with Web technologies including JavaScript, CSS, C# and HTML. To get the most out of this class, students should feel comfortable writing C# code.
This class is for developers who are comfortable working with C# and familiar with JavaScript. It is required that attendees have a minimum of one or more years of hands-on experience working with Web technologies including JavaScript, CSS, and HTML. Students must also have a minimum of one or more years of hands-on experience working with the C# language. Developers new to .NET or Web technologies must take the following prerequisite courses first before taking this class due to its fast pace.
CS214: C#5 Programming with Visual Studio 2012
CS314: Advanced C#5 Programming with Visual Studio 2012
JQRY300: Mastering jQuery
In addition, it is recommended, but not required that students have completed the following courses or have equivalent experience:
HTML500: Web Development Training with HTML5 and CSS3
ASPMVC5: Microsoft ASP.NET MVC 5 Web Developer Training
CS410: C# Design and Application Patterns
After attending this course, students will be able to:
- Create reusable projects in Visual Studio 2013
- Integrate NuGet packages into projects
- Unit testing fundamentals
- Create a fakes assembly in Visual Studio 2013
- How JSON data can be served to clients using the ASP.NET Web API
- Database generation techniques with Entity Framework Code First
- The role of code first migrations for handling changes to models and tables
- The role of Fluent Mappings in the DbContext class
- Benefits of the Repository Pattern for data access
- How HTML5 Boilerplate can be integrated into ASP.NET MVC layout pages
- Key JavaScript patterns that can be used to structure code
- jQuery Ajax features and how promises can be used to detect success or failure
- jQuery UI drag/drop features
- How JSON data can be bound to Handlerbars templates to generate HTML on the client
- JavaScript unit testing with qUnit
- HTML5 technologies such as canvas and SVG
- Much more…