Visual Studio 2012

Introduction to Programming C Sharp
(Microsoft Training Course: F1051) - 3 days - £1250 exc VAT

 Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov 
London14 11 08 07 04 02 29  24 21 19 16  

> Target Audience
This 3 day course enables developers who need to increase their familiarity with C# to gain a set of competencies using C# within the Visual Studio 2012 development environment. It aims to establish the necessary foundational skillsets in a range of areas of significance to C# programmers, and to prepare delegates for the demands of more advanced C# programming courses.
> Course outline
  1. Introduction to Core Programming Concepts
  2. Core Programming Language Concepts
  3. Program Flow
  4. Algorithms and Data Structures
  5. Error Handling and Debugging
  6. Introduction to Object-Oriented Programming
  7. More Object-Oriented Programming
  8. Introduction to Application Security
  9. Core I/O Programming
  10. Application Performance and Memory Management

Module 1: Introduction to Core Programming Concepts
  • Computer Data Storage and Processing
  • Application Types
  • Application Life-Cycle
  • Code Compilation
  • Lab: Thinking Like a Computer
  • Creating Step-by-Step Directions for a Morning Routine
  • Describe computer data storage and processing concepts
  • Describe application types
  • Describe the lifecycle of an application
  • Describe code compilation
Module 2: Core Programming Language Concepts
  • Syntax
  • Data Types
  • Variables and Constants
  • Lab: Working with Data Types
  • Selecting Data Types
  • Declaring and Using Variables for Numeric Types
  • Declaring and Using Variables for Textual Data Types
  • Working with Boolean Variables
  • Declaring and Using Constants
  • Define syntax
  • Explain the different types of core data used in programs
  • Declare and use variables and constants in a computer program
Module 3: Program Flow
  • Introduction to Structured Programming Concepts
  • Introduction to Branching
  • Using Functions
  • Using Decision Structures
  • Introducing Repetition
  • Lab: Creating Functions, Decisions, and Looping
  • Implementing Functions
  • Implementing Decisions in Code
  • Implementing Repetition Structures
  • Describe structured programming
  • Create and use functions in your code
  • Create and use decision structures
  • Create and use looping structures
Module 4: Algorithms and Data Structures
  • Understand How to Write Pseudo Code
  • Algorithm Examples
  • Introduction to Data Structures
  • Lab: Working with Algorithms and Data Structures
  • Working with Pseudo Code
  • Creating Data Structures
  • Transfer problem statements into pseudo code
  • Create algorithms
  • Translate pseudo code into programming code
  • Create simple algorithms in code
  • Create data structures to store data
Module 5: Error Handling and Debugging
  • Introduction to Program Errors
  • Introduction to Structured Error Handling
  • Introduction to Debugging in Visual Studio
  • Lab: Implementing Debugging and Error Handling
  • Create Structured Exception Handlers
  • Using the Visual Studio Debugger
  • Implement structured exception handling
  • Debug applications by using Visual Studio
Module 6: Introduction to Object-Oriented Programming
  • Introduction to Complex Structures
  • Introduction to Structs
  • Introduction to Classes
  • Introducing Encapsulation
  • Lab: Implementing Complex Data Structures
  • Creating structs
  • Creating Classes
  • Create and use structure types
  • Create and use basic class files
  • Choose when to use a struct vs a class
Module 7: More Object-Oriented Programming
  • Introduction to Inheritance
  • Introduction to Polymorphism
  • Introduction to the .NET Framework and the Base Class Library
  • Lab: Implementing Inheritance
  • Creating a Base Class
  • Inheriting a Base Class
  • Lab: Implementing Polymorphism
  • Implementing Polymorphism by Overriding a Function
  • Implementing Polymorphism by Overloading
  • Use inheritance in OOP
  • Implement polymorphism in your classes
  • Describe how the base class library is constructed
  • Find class information by using the Object Browser
Module 8: Introduction to Application Security
  • Authentication and Authorization
  • Code Permissions on Computers
  • Introducing Code Signing
  • Describe how authorization and authentication work
  • Describe how to apply access permissions for executing code on a computer
  • Explain how code signing works
Module 9: Core I/O Programming
  • Using Console I/O
  • Using File I/O
  • Lab: Core I/O Programming
  • Reading and Writing with the Console
  • Reading and Writing Files
  • Read input from a console
  • Output data to the console
  • Read and write text files
Module 10: Application Performance and Memory Management
  • Value Types vs Reference Types
  • Converting Types
  • The Garbage Collector
  • Lab: Using Value Types and Reference Types
  • Converting Types
  • Implement value and reference types correctly in an application
  • Convert between value types and reference types
  • Use the garbage collector
> Pre-Requisites
Before attending this course, students must have the following pre-requisites:
  • Basic Programming knowledge.
  • No specific skills with Visual Studio 2012 or the .NET Framework are required.
> Purpose
The course is ideally suited to delegates who have either programming experience in another language or those who are new to programming.It draws resources from two official Microsoft MTA courses: 40362AC Windows Development Fundamentals and 40372AC Microsoft .Net Fundamentals. The overall aim of the course is to prepare delegates for mainstream C# programming courses but it’s worth noting that the material supplied is designed to prepare delegates for two key MTA examinations.This course is designed to develop competency in a number of key areas: understanding is checked throughout using 'Certification Ready' sections, underlining the relevance and alignment of the material to industry-standard certification. Each major section of the course develops skillsets that can be extended through practice, described by skill summaries and validated via knowledge, competency and proficiency assessments at the end of each block of work.