Programming in C# – Syllabus

1. Introduction

a. .NET Architecture
b. Types and Variables
c. Program Structure
d. What is C#
e. Why is C#
f. Get Started

      i. C# IDE
     ii. C# Install

2. Types
a. Classes and Objects
b. Type Parameters
c. Base Classes
d. Structs
e. Interfaces
f. Enums
g. Nullable Types
h. Tuples

3. C# Program Building Blocks
a. Members
b. Accessibility
c. Fields
d. Methods
e. Parameters
f. Method body and Local Variables
g. Static and Instance methods
h. Virtual, Override and abstract methods
i. Method Overloading
j. Other function members
k. Constructors
l. Properties
m. Indexers
n. Events
o. Operators
p. Finalizers
q. Expressions
r. Statements

4. C# Key Concepts
a. Arrays, Collections, LINQ
b. String Interpolation
c. Pattern matching
d. Delegates and lambda Expressions
e. Async/await
f. Attributes

5. C# Programming Fundamentals
a. Program Structure
b. Main and Command line arguments
           i. Overview
           ii. Main() return values
           iii. Async Main return values
           iv. Command line Arguments

c. Top level statements
            i. Only one top level file
            ii. No other entry points
            iii. Using directives
            iv. Global namespace
            v. Name spaces and Type Definitions
            vi. Args, await
            vii. Exit Code for the process
            viii. Implicit Entry Point method

d. C# Type System
             i. Specifying Types in variable declarations
             ii. Built-in types
             iii. Custom Types
             iv. The Common Type System
              v. Value Types
              vi. Reference Types
              vii. Types of literal values
              viii. Generic Types
               ix. Implicit Types, anonymous Types, and nullable value types
              x. Compile time type and runtime type

e. Namespaces
f. Classes
               i. Reference Types
               ii. Declaring Classes
               iii. Creating Objects
               iv. Class Inheritance

g. Records
                i. Introduction
                ii. When to use records
                iii. Value equality
                iv. Immutability
                v. Difference between Records, Classes and struct

h. Interfaces
i. Generic Classes and methods
j. Anonymous Types

6. Object Oriented Programming
a. Encapsulation
                 i. Members
                 ii. Accessibility
                 iii. Inheritance
                 iv. Interfaces

b. Objects
                 i. Members
                ii. Accessibility
                iii. Inheritance
                iv. Interfaces
c. Inheritance
                i. Abstract and Virtual methods
               ii. Abstract base classes
               iii. Interfaces
d. Polymorphism
                i. Virtual members
                ii. Hide base class members with new members
                iii. Prevent derived classes from overriding virtual members
                iv. Access base class virtual members from derived classes
e. Pattern matching
                 i. Null Checks
                 ii. Type Tests
                 iii. Compare discrete values
                 iv. Relational Patterns
                  v. Multiple inputs
                 vi. List Patterns
f. Discards
                  i. Tuple and object deconstruction
                 ii. Pattern matching with switch
                iii. Calls to methods with out parameters
                iv. A standalone discard
g. Deconstructing tuples and other types
                  i. Tuples
                 ii. Tuple elements with discards
                iii. User defined type with discards
                iv. Extension methods for user-defined types
                 v. Extension method for system types
                vi. Record types

7. Exception and Exception Handling
a. Exceptions
b. Exception Handling
                   i. Catch Blocks
                   ii. Finally Blocks
                   iii. Creating and throwing Exceptions
                               1. Things to avoid when throwing exceptions
                               2. Defining Exception Classes
                    iv. Compiler generated Exceptions

8. Coding Style
a. C# Identifier Names
                    i. Naming rules
                    ii. Naming Conventions
b. C# Coding conventions
                    i. Naming Conventions
                            1. Pascal Case
                            2. Camel Case
                    ii. Layout Conventions
                    iii. Commenting Conventions
                    iv. Language guidelines
                            1. String data types
                            2. Implicit typed local variables
                            3. Unsigned data types
                            4. Arrays
                            5. Delegates
                            6. try-catch and using statements in exception handling
                            7. && and || operators
                            8. New Operator
                            9. Even handling
                            10. Static members
                            11. LINQ queries
9. What’s new in C#
a. C# 11.0
b. C# 10.0
c. C# 09.0
d. C# 08.0


Enroll Now


3 hours session – Saturday and Sunday
(2:00 PM to 5:00 PM)


1 Hour session – Monday to Friday (7:00 AM, 8:00 AM, 10:00 AM, 11:00 AM, 12:00 PM, 2:00 PM, 4:00 PM and 6:00 PM)

Fast Track Batches

30 days, 2 hours a day Monday to Friday

Start Your journey to A Successful Career Today

New Batches

Course TitleDateTimingsDurationFacultyType 
Core Java + Advanced Java15-12-202211:00 AM TO 12:00 PM55+ DaysSudheeraClassroom & Online


SELENIUM With Java15-12-202210:00 AM TO 11:00 AM55+ DaysSudheeraClassroom & Online



What do we bring to the table?

Years of experience providing software testing services for companies of all shapes and sizes. Whether you’re looking for QA testing for iOS/Android mobile apps, desktop software, or SaaS (software as a service), we have you covered.

What is on demand Testing?

On-demand reliability. We’re available on-demand, even if you just need 20 hours of testing here and there. Since our testers are located all over the nation, they’re more likely to be in sync with your business hours.

Are you flexible at software testing services?

We specialize in everything from manual and automated QA services to API and performance testing. We have straightforward hourly prices and no long-term contracts required. Our testing experts can do anything from writing manual test cases to setting up or maintaining full automation using Appium. We can also set up or boost your current QA process with our software QA consulting services!

Real people! Real results!

If you’d like to hand off builds and get bug reports back without any back-and-forth, no problem. But if you want a dedicated tester to participate in your Agile process and communicate with daily, we’ve got you covered there too. Our testers can even join your standups, Jira, and Slack.

Do you have experience across a vast range of sectors?

No matter what industry your software is in, chances are we’ve been there. Some of the biggest companies in America have outsourced their software testing services to us. Our enterprise QA portfolio includes everyone from Google to Microsoft.

Open chat
Varnik Technologies
Hi, How can we help you?