Core Curriculum Details : Practical C# Programming

Practical C# Programming

This training provides a knowledge of object oriented programing paradigm with practical application development using C#. The basic part covers programing structure and syntax, data types and type conversation, variables, constants, making decisions, loops/iterations, methods, exception handling, arrays, strings and file input/output using the C# language. The training will also include the applications of object-oriented concepts like inheritance, polymorphism, abstraction, encapsulation, interface, namespace, overriding and resource management (garbage collection).

By the end of the training, participants will develop a fully functional system with an extensive business logic and file handling functionality.

Prerequisite

  • Prerequisite
    • Exposure to computer and programming,
  • Visual Code


Lesson Plan

Week 1: Introduction and Foundation of Programing (Day 1 – Day 4)

This section is expected to introduce the students to the following concepts in computer world.

  • Introduction at glance (Day 1)
    • Computer hard ware
      • Input and output hard ware
    • Computer software
      • Application software
      • System software
  • Program, Programing languages, Algorithms, Flowcharts

Foundation of Programming

Overview

The audience for this lecture is trainees that have no/little experience with programming in C#. The objective of this lecture is to provide the foundational knowledge of programing and prepare the students for advanced .Net programing.

Starting from quick exploration on the environment of visual studio 2015, the lecture will talk about the overall program structure and syntax associated with it: This will help build up the following topics:

  • Data types and type conversion , (Day 1)
    • List of data types in C#: this section will talk about on how to use different data types like int, float, double, bool and etc with their corresponding use.
    • Type conversion in C#: Converting one data type to another and the essence of doing that will be discussed
  • Variables, constants and operators, (Day 1)
    • Variables: this section deeply talks about what variables are in relation to computer architectural memory address allocation.
    • Constants: talks about what constants are and when to use them in programming.
    • Operators: this section lists all the operators the C# language has with their corresponding usage.

  • Making Decisions:
    • Lecture about if…else statement Discuss also about nested if…else statement
    • Lecture about switch statement
      • Provide example of switch statement

  • FOR loop:
    • Lecture about the syntax – give attention to detail
    • Incorporate if...else with in for loop
    • Give example
      • Help the students to practice for loop
  • WHILE loop:
    • Lecture about the syntax - provide what differentiate it with for loop.
    • Give example
      • Help students to practice for loop
  • DO WHILE loop:
    • Lecture about the syntax – provide what differentiate it with while loop and for loop
  • FOREACH loop:
    • Lecture about the syntax – provide what differentiate it with the rest of the loops.

  • Methods
    • Lecture about what methods is – syntax, nomenclature of methods.
    • Start by giving an example of a method
    • How to call a method
    • How to pass a parameter through method
  • Exception handling
    • Discuss about exception handling – define try … catch
    • Talk about the throw key word
    • Discuss about what finally key word uses for

Week 2: String manipulation, Array and Date Time (Day 5 and Day 6)

  • String Construction
  • Empty and Null Strings
  • String Searching
  • String Manipulation
  • Join and Split Strings
  • String Comparison

  • Arrays in General
  • Declaring Arrays
  • Initializing Arrays
  • Accessing Array Members
  • Arrays are Objects
  • Using foreach with Arrays

  • How to create a DateTime
  • Understand DateTime properties
  • How to add and subtract date and time using DateTime
  • Find days in a month and year
  • How to compare two dates, times or DateTime
  • How to format dates and times

  • The Anatomy of the File System
  • Working with Directories
  • Directory Class
  • Reading and Writing to Files

Week 3: String manipulation, Array and Date Time (Day 7 and Day 11)

  • What is object oriented programing
  • Advantage of OOP over procedural language
  • What is difference between object-oriented programming language and object-based programming language?

  • What is class
  • Access modifiers
  • Data members /attributes
  • Methods/Behaviors
  • Encapsulation
  • What is object
  • Naming conventions of class and objects
  • Provide example

  • Discuss about constructor and destructor

  • Discuss the meaning of Polymorphism
  • Static or compile time polymorphism
  • Method overloading
  • Dynamic or runtime polymorphism
  • Method overriding
  • Virtual keyword and virtual method
  • Difference between method overriding and method hiding
  • Sealed method

  • Discuss about the concept of inheritance with real life scenario
  • Talk about “:” this operator
  • The difference between the base class and the child class
  • Inheritance and access modifiers
  • Inheritance and data members
  • Inheritance and member functions
  • Inheritance and constructors

  • Understand the Purpose of Interfaces.
  • Declaring Interfaces
  • Define an Interface.
  • Use an Interface.
  • Implement Interface Inheritance.

Week 4: Finalizing OOP in C# and Capstone project (Day 12 and Day 16)

The week for wrapping up and project work