EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Beginning C# Programmming

Course outline

5 days

Duration

5 days

Overview

C# is a general purpose, multi-paradigm programming language developed by Microsoft that runs on the .NET Framework. C# is widely used for building mobile applications, games and windows applications. This is an introductory programming course using the C# language. It does not assume any prior programming experience. This course will prepare students for intermediate C# and ASP.NET courses.

Chapter 1: Introducing C#

  • What is the .NET Framework?
  • What is C#?
  • Visual Studio 2017

Chapter 2: Writing a C# Program

  • The Visual Studio 2017 Development Environment
  • Console Application
  • Desktop Applications

Chapter 3: Variables and Expressions

  • BasicC# Syntax
  • Basic C# Console Application Structure
  • Variables
  • Simply Types
  • Variable Naming
  • Litreal Valluels
  • Expressions
  • Mathematical Operators
  • Assignment Operators
  • Operator Precedence
  • Namespaces

Chapter 4: Flow Control

  • Boolean Logic
  • Boolean Bitwise and Assignment Operators
  • Operator Precedence Updated
  • Branching
  • The Ternary Operator
  • The if statement
  • The switch statement
  • Looping
  • do Loops
  • while Loops
  • for Loops
  • interrupting Loops
  • Infinite Loops

Chapter 5: More About Variables

  • Type Conversion
  • Implicit Conversions
  • Explicit Conversions
  • Explicit Conversions Using the Convert Commands
  • Complex Variable Types
  • Enumerations
  • Structs
  • Arrays
  • Multidimensional Arrays
  • Arrays of Arrays
  • String Manipulation

Chapter 6: Functions

  • Defining and Using Functions
  • Return Values
  • Parameters
  • Variable Scope
  • The Main() Function
  • Struct Functions
  • Overloading Functions
  • Using Delegates

Chapter 7: Debugging and Error Handling

  • Debugging in Visual Studio
  • Error Handling
  • try-catch-finally
  • Throw Expressions
  • Listing and Configuring Exceptions

Chapter 8: Introduction to Object-Oriented Programming

  • What is Object-Oriented Programming?
  • What is an Object?
  • Everything’s an Object
  • The Life Cycle of an Object
  • Static and Instance Class Members
  • OOP Techniques
  • Interfaces
  • Inheritance
  • Polymorphism
  • Relationships between Objects
  • Operator Overloading
  • Events
  • Reference Types versus Value Types
  • OOP in Desktop Applications

Chapter 9: Defining Classes

  • Class Definitions in C#
  • Interface Definitions
  • System.Object
  • Constructors and Destructors
  • OOP Tools in Visual Studio
  • Class Library Projects
  • Interfaces versus Abstract Classes
  • Struct Types
  • Shallow Copying versus Deep Copying

Chapter 10: Defining Class Members

  • Member Definitions
  • Defining Fields
  • Defining Methods
  • Defining Properties
  • Tuple Deconstruction
  • Refactoring Members
  • Automatic Properties
  • Additional Class Member Topics
  • Hiding Base Class Methods
  • Calling Overridden or Hidden Base Class Methods
  • Using Nested Type Definitions
  • Interface Implementation
  • Implementing Interfaces in Classes
  • Partial Class Definitions
  • Partial Method Definitions
  • The Call Hierarchy Window

Chapter 11: Collections, Comparisons, and Conversions

  • Collections
  • Using Collections
  • Defining Collections
  • Indexers
  • Comparisons
  • Type Comparisons
  • Pattern Matching with the is Operator Pattern Expression
  • Value Comparisons
  • Conversions
  • Overloading Conversion Operators
  • The as Operator

Chapter 12: Generics

  • What Are Generics?
  • Using Generics
  • Nullable Types
  • The System.Collections.Generic Namespace
  • Defining Generic Types
  • Defining Generic Classes
  • Defining Generic Interfaces
  • Defining Generic Methods
  • Defining Generic Delegates
  • Variance
  • Covariance
  • Contravariance

Chapter 13: Files

  • File Classes for Input and Output
  • The File and Directory Classes
  • The FileInfo Class
  • The DirectoryInfo Class
  • Path Names and Relative Paths
  • Streams
  • Classes for Using Streams
  • The FileStream Object
  • The StreamWriter Object
  • The StreamReader Object
  • Asynchronous File Access
  • Reading and Writing Compressed Files
  • Monitoring the File System

Programme scope, delivery arrangements and suitability are confirmed during enquiry.