C# Programming — Free Notes & Tutorial
Free C# (C Sharp) programming notes for BCA — OOP, .NET framework, delegates, LINQ at SikshaSarovar. Free C# Programming course on SikshaSarovar.
This C# Programming course is part of Siksha Sarovar and is 100% free for students in India — no sign-up required to read. It contains 27 structured lessons with examples, and pairs with our free online compiler and AI tutor.
What you will learn
- C# OOP
- .NET
- Delegates
- LINQ
- Exception handling
Course content (27 lessons)
- Unit 1 Overview — Introduction to .NET Before diving into the details, let's look at the big picture of what we will cover in this unit.
- The Origin of .NET — The Genesis of .NET In the late 1990s, software development was fragmented. Developers had to grapple with "DLL Hell" (version conflicts), memory leaks in C++, and the complexity…
- Basics of .NET Framework & Design Goals — What is the .NET Framework? The .NET Framework is a software framework developed by Microsoft that runs primarily on Microsoft Windows. It includes a large class library named…
- 3-Tier Architecture — Understanding 3-Tier Architecture In modern software engineering, separating concerns is vital for maintenance. The 3-Tier architecture is a classic design pattern that divides an…
- Managed vs Unmanaged Code — The Concept of Management In the .NET world, the term "Managed" refers to the relationship between your code and the CLR (Common Language Runtime) . Managed Code Managed code is…
- Assemblies — What is an Assembly? An assembly is the fundamental building block of .NET applications. When you compile your C code, the output is an assembly. Study Deep: The Global Assembly…
- CLR (Common Language Runtime) — The Engine Under the Hood The Common Language Runtime (CLR) is the virtual machine component of the .NET framework. It is responsible for managing the execution of .NET programs.…
- IL and JIT Compilation — Intermediate Language (IL) When you click "Build" in Visual Studio, your C compiler ( csc.exe ) does NOT create machine code. It creates MSIL (Microsoft Intermediate Language).…
- CTS and CLS — Common Type System (CTS) The CTS defines how data types are declared, used, and managed in the runtime. It ensures that data types are unified across all .NET languages. How it…
- Unit 2 Overview — Introduction to C Let's see the roadmap for mastering the C language basics.
- C# Environment & Literals — The C Environment C (pronounced "C-Sharp") is a modern, object-oriented, and type-safe programming language. To execute C , you primarily need the .NET Runtime . Literals in C…
- Variables and Data Types — Detailed Data Type Reference C is a strongly typed language , meaning every variable has a specific type, and you cannot assign incompatible values. Study Deep: Stack vs. Heap…
- Operators & Decision Making — Operators C provides a rich set of operators for performing computations. Category Operators Description :--- :--- :--- Arithmetic + - / % Basic math. Increment ++ -- Inc/Dec by…
- Loops and Methods — Looping Constructs Loop Type Best Used When... :--- :--- For Loop Known iterations. While Loop Unknown iterations. Do-While Loop Run at least once. Foreach Loop Iterating through…
- Unit 3 Overview — OOP in C Object-Oriented Programming is the heart of C . Here is what we will learn.
- OOP Principles — The Core Principles 1. Encapsulation: Bundling data and methods. 2. Inheritance: New class acquires properties of existing class. 3. Polymorphism: Objects respond differently to…
- Classes and Structures — Classes vs Structures (struct) Feature Class Structure ( struct ) :--- :--- :--- Type Reference Type (Heap). Value Type (Stack). Inheritance Supported. Not allowed. Null usage Can…
- Constructors — What are Constructors? A Constructor is a special method called during object instantiation. Study Deep: Static Constructors Used to initialize static data. Runs exactly once per…
- Inheritance and Polymorphism — Inheritance Promotes code reusability. C uses the : symbol. Polymorphism 1. Compile-Time (Overloading): Same name, different parameters. 2. Runtime (Overriding): Base uses virtual…
- Abstract Classes vs Interfaces — Abstract Classes Cannot be instantiated. Can have abstract and concrete methods. Interfaces A contract defining "what" not "how". Supports Multiple Inheritance.
- Delegates and Events — Delegates Type-safe function pointers. Events Mechanism for communication between objects (Publisher/Subscriber).
- Unit 4 Overview — Database Connectivity Connecting to data is crucial. Here is the architecture we will explore.
- Exception Handling — Managing Runtime Errors 1. Try: Risky code. 2. Catch: Handle error. 3. Finally: Always runs (cleanup). Study Deep: Throw vs. Throw ex throw; : Preserves original stack trace.…
- ADO.NET Architecture — ADO.NET Architecture The bridge between C and the database. Study Deep: Connected vs. Disconnected Connected: Uses DataReader . Fast, read-only, needs active connection.…
- PYQ: End Term December 2025
- PYQ: End Term December 2024
- PYQ: End Term December 2023
The Origin of .NET
The Genesis of .NET
In the late 1990s, software development was fragmented. Developers had to grapple with "DLL Hell" (version conflicts), memory leaks in C++, and the complexity of COM (Component Object Model). Microsoft recognized the need for a unified platform that could simplify development, support multiple languages, and embrace the emerging World Wide Web.
The .NET initiative was officially announced by Bill Gates in June 2000. It wasn't just a language but a complete ecosystem designed to make "Windows Web Services" a reality.
Evolution Timeline
The framework has evolved significantly over two decades:
| Version | Year | Key Features |
|---|---|---|
| 1.0 | 2002 | Initial release. Introduction of CLR, Managed Code, and C#. |
| 2.0 | 2005 | Generic Types (Major upgrade), Nullable types, Iterators. |
| 3.0 | 2006 | Added WPF (UI), WCF (Communication), WF (Workflow). |
| 3.5 | 2007 | LINQ (Language Integrated Query) - a game changer for data access. |
| 4.0 | 2010 | Parallel Extensions (PLINQ), Dynamic keyword. |
| 4.5 - 4.8 | 2012+ | Async/Await for asynchronous programming. |
| .NET Core | 2016 | Cross-platform, open-source rewrite. |
| .NET 5+ | 2020+ | Unification of .NET Framework and .NET Core into a single platform. |
Why was it created?
The primary motivation was to solve the problems of the "COM era":
- Complexity: COM was notoriously difficult to learn and implement correctly.
- Fragility: Installing a new application often broke existing ones by overwriting shared DLLs.
- Security: Traditional applications had full access to the system, posing security risks.
Frequently asked questions
Is the C# Programming course really free?
Yes. The entire C# Programming course on Siksha Sarovar is free to read with no account required. You can optionally sign in with Google to save your progress.
Do I get a certificate for C# Programming?
Yes — finish the lessons and pass the quiz to earn a free, verifiable certificate you can share on LinkedIn or with recruiters.
Can I run code while learning?
Yes. The built-in online compiler runs C, C++, Python, Java, PHP, JavaScript, C# and SQL directly in your browser — no installation needed.