What you will learn
At the end of this course you will be able to:
1. Utilise Visual Studio 2012 to develop and debug applications
2. Understand the role of the Common Language Runtime (CLR) and .NET Framework 4.5
3. Create Reusable Objects using Object Oriented Programming
4. Develop Scalable Applications
5. Use WPF to develop Windows applications
6. Alternative approaches to Web Development, WebForms or MVC to develop server side applications
COURSE OUTLINE
Introduction
.NET Framework and Visual Studio 2012
Creating .NET Solutions and Projects
Role of the Common Language Runtime
.NET Framework APIs for creating Applications
Discussion of alternative APIs for creating Applications with the .NET Framework (Windows/Web/Database)
Visual Studio 2012 tools
Console IO
Lab: Create simple Project and use of Visual Studio Features
Fundamentals
Introduction to C#/VB.NET
.NET Framework Class Library
Namespaces
Value and Reference types
Standard Types
Methods
Labs: Provide Input and Output functionality for common types; Create Methods to partition functionality
Flow of Control
Loop Constructs (for, while, do/while)
Conditional Code (if, switch/Select Case)
Lab: Add flow of control statements to conditionally execute code
Introduction to Object Oriented Programming
Structures and Classes
Methods/Properties/Constructors
Class Diagrams/Class Details
Refactoring
Inheritance and Polymorphism
Lab: Create Classes to provide templates for types; Implement Polymorphism
Role of Generics in .NET
Type Safety
Generics and Generic Collections
Lab: Use generic collection to store objects
Interfaces
Introduction to Interfaces
Creating an Interface
Implementing an Interface
Standard Interfaces
Lab: Use interfaces in to work with Generic Collections
Error Handling
Creating Robust Applications
Exception Handling
Try/catch/finally
Lab: Add exception handling
Class Libraries
Creating a Class Library
Assemblies
Strong Named Assemblies
Lab: Create a Class Library for later reuse
Accessing Databases (ADO.NET & LINQ)
Creating a Data Access Layer
Standard ADO.NET types
Lab: Access data from a database
Lambda Expressions
Extension Methods
Anonymous Type
Simplified Querying and Manipulation of Data with Language Integrated Query LINQ
Discussion of how the use of these new features allows alternative ways of writing some programs.
Creating an Entity Data Model
Labs: Manipulate data using LINQ; Access data using an Entity Data Model
Windows Presentation Layer
Windows Presentation Foundation (WPF)
Declarative and Imperative Programming
Validating user input
Databinding (Connecting data to controls)
Lab: Create a Windows Application to allow user input and presentation of data
Web Presentation Layer
This section considers the basics of creating a Web Application using both the traditional ASP.NET approach and the newer MVC approach.
Introduction to ASP.NET WebForms Applications
HTML & Server controls
Page Lifecycle
Validating user input
Lab: Create a WebForms Application to allow user input and presentation of data
ASP.NET MVC 4 (Model View Controller)
Creating Model, View and Controller
Use of .aspx or Razor views
Validating user input
Lab: Create an ASP.NET MVC Application to allow user input and presentation of data
Deployment
Consideration of alternative ways in which Applications can be deployed
Copying Web Sites
Publish
Setup Projects
Lab: Create a Setup Project