.NET Framework Essentials Using C# (VS 2012) Training in Davis

Enroll in or hire us to teach our .NET Framework Essentials Using C# (VS 2012) class in Davis, California by calling us @303.377.6176. Like all HSG classes, .NET Framework Essentials Using C# (VS 2012) may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, .NET Framework Essentials Using C# (VS 2012) may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

Course Description

Microsoft .NET is an advance in programming technology that greatly simplifies application development, both for traditional, proprietary applications and for the emerging paradigm of Web - based services. .NET is a complete restructuring of Microsoftâ??s w hole system infrastructure and represents a major learning challenge for programmers developing applications on Microsoft platforms. This three day course covers the essentials of the .NET Framework for programmers who already know the C# language and the fundamenta ls of Windows Forms. It is current to .NET 4. 5 and Visual Studio 20 1 2 . The course focuses on core portions of the .NET Frame work that are common across many application areas. Separate courses are available in specific areas, such as ADO.NET, XML Programming, Windows Presentation Framework, Windows Communications Framework and ASP.NET. The goal is to equip you to begin buildin g significant applications using the .NET Framework.
Course Length: 3 Days
Course Tuition: $1390 (US)


The student should be an experienced application developer or architect with a working knowledge of C#, including building s imple GUIs with Windows Forms.

Course Outline


1. .NET Fundamentals
What Is Microsoft .NET?
Open Standards and Interoperability
Windows Development Problems
Common Language Runtime
Attribute-Based Programming
NET Framework Class Library
Interface-Based Programming
Everything is an Object
Common Type System
.NET Framework SDK Tools
Language Interoperability
Managed Code
Assembly Deployment
JIT Compilation
ASP.NET and Web Services
The Role of XML

2. Class Libraries
Objects and Components
Limitation of COM Components
Components in .NET
Class Libraries at the Command Line
Monolithic versus Component
Class Libraries Using Visual Studio
References in Visual Studio
Referencesat Compile Time and Run Time
Project Dependencies
Specifying Version Numbers

3. Assemblies, Deployment and Configuration
Customer Management System
Assembly Manifest
Assembly Dependency Metadata
Assembly Metadata
Versioning an Assembly
AssemblyVersion Attribute
Strong Names
Digital Signatures
Verification with Digital Signatures
Hash Codes
Digitally Signing an Assembly
Digital Signing Flowchart
Signing the Customer Assembly
Signed Assembly Metadata
Private Assembly Deployment
Assembly Cache
Deploying a Shared Assembly
Versioning Shared Components
How the CLR Locates Assemblies
Resolving an Assembly Reference
Version Policy in a Configuration File
Finding the Assembly
Application Settings
Application Settings Using Visual Studio
Application Configuration File
User Configuration File

4. Metadata and Reflection
Dynamic Invocation
Late Binding

5. I/O and Serialization
Input and Output in .NET
Files and Streams
"Read" Command
Code for "Write" Command

6. .NET Programming Model
Garbage Collection
Finalize Method
C# Destructor Notation
Finalize/Dispose Test Program
Garbage Collection Performance
Asynchronous Calls
Asynchronous Delegates
Using a CallBack Method
Asynchronous Programs in C# 5.0
Task and Task
Async Methods
Synchronous Call
Application Isolation
Application Domain
Application Domains and Assemblies
App Domain Events

7. .NET Threading
Race Conditions
Thread Synchronization
Using C# Lock Keyword
Synchronization of Collections
ThreadPool Class
Starting a ThreadPool Thread
Foreground and Background Threads
Synchronizing Threads
Task Parallel Library (TPL)
Starting Tasks
Waiting for Task Completion
Data Parallelism

8. .NET Security
Fundamental Problem of Security
The Internet and .NET Security
Code Access Security
Role-Based Security
.NET Security Concepts
IPermission Interface
IPermission Demand Method
IPermission Inheritance Hierarchy
Stack Walking
Other CAS Methods
Security Policy Simplification
Simple Sandboxing API
Setting up Permissions
Creating the Sandbox
Role-Based Security in .NET
Identity Objects
Principal Objects
Windows Principal Information
Custom Identity and Principal
Sample Run

9. Interoperating with COM and Win32
Interoperating Between Managed and Unmanaged Code
COM Interop and PInvoke
Calling COM Components from Managed Code
The TlbImp.exe Utility
TlbImp Syntax
Using TlbImp
Register the COM Server
64-bit System Considerations
Run the COM Client
Implement the .NET Client Program
Import a Type Library Using Visual Studio
Platform Invocation Services (Pinvoke)
Marshalling out Parameters
Translating Types

10. ADO.NET and LINQ
ADO.NET Architecture
.NET Data Providers
ADO.NET Interfaces
.NET Namespaces
Connected Data Access
AcmePub Database
Creating a Connection
Using Server Explorer
Performing Queries
Connecting to a Database
Database Code
Connection String
Using Commands
Creating a Command Object
Using a Data Reader
Generic Collections
Executing Commands
Parameterized Queries
DataSet Architecture
Why DataSet?
DataSet Components
Data Access Class
Retrieving the Data
Filling a DataSet
Accessing a DataSet
Using a Standalone Data Table
Adding a New Row
Searching and Updating a Row
Deleting a Row
Row Versions
Row State
Iterating Through DataRows
Command Builders
Updating a Database
Data Binding
DataGridView Control
Language Integrated Query (LINQ)
Bridging Objects and Data
Object Relational Designer
Basic LINQ Query Operators
Obtaining a Data Source
Obtaining Lists and Arrays
Deferred Execution
Modifying a Data Source
Performing Inserts via LINQ to SQL
Performing Deletes via LINQ to SQL
Performing Updates via LINQ to SQL

Appendix A: .NET Remoting
Distributed Programming in .NET
Windows Communication Foundation
.NET Remoting Architecture
Remote Objects and Mobile Objects
Object Activation and Lifetime
Singleton and SingleCall

Appendix B: Learning Resource

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

C# Programming Uses & Stats

C# Programming is Used For:
Windows Applications Business Enterprise Applications Software Development Web Applications
Year Created
In Demand: 
C# along with Java is one of the top languages in demand for employers. 
.Net Library:
C# is integrated with the .Net Library thereby providing access to a vast archive of functionality and support. 
Team Friendly:
Multiple developers can easily work together on a project. 
Compiled Language:
The code that is stored on a public-facing server is in binary form. In other words, if your server gets hacked, the hacker doesn't automatically have access to your source code. 
C# roots are derived from C which means that the structure is transferable to other languages like Java, Objective C, PHP and C++. 

Steep Learning Curve:
For beginners, C# is not the easiest program to start with. 

Windows Application Exclusively:
Any .NET application needs a Windows platform to execute which means that companies using Linux servers would need Windows hosting to run a .Net application. 
Lack of Support for Older .NET:
Many enterprise organizations keep older operating systems because of the many problems that an upgrade can bring to the platform. Microsoft stops supporting older .NET frameworks after a few operating systems upgrades. 
C# Programming Job Market
Average Salary
Job Count
Top Job Locations

New York City 
Mountain View
San Francisco 

Complimentary Skills to have along with C# Programming

Since the .NET development ecosystem spans a wide array of capabilities and tools, it is difficult for .NET developers to know which .NET development skills and training to pursue in order to increase their marketability — and earning potential.  For that reason, learning supplemental languages such as Java, JavaScript, Python, C/C++, and others is expected in today’s competitive skill-set driven playing field.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.