The theory you need for part 2.


The foundational course on C# theory offers a comprehensive introduction to key programming concepts essential for beginners. It is designed to help aspiring developers understand the basic principles of C# and prepare them for more advanced topics and practical application development in the subsequent course part.

Course Content Overview:

  1. Memory Management:
    • Stack vs. Heap: Understanding how memory is managed in .NET runtime, differentiating between stack (for static memory allocation) and heap (for dynamic memory allocation).
  2. Variables:
    • Value Type vs. Reference Type: Learning the differences and how to create and use variables effectively.
  3. Properties:
    • Characteristics (Adjectives): Exploring various properties to define object characteristics.
  4. Methods:
    • Regular vs. Extension Methods (Behaviors – Verbs): How to create and call methods, including extension methods which must be public and static.
  5. Classes and Objects:
    • Blueprint vs. Instance (Things – Substantives): Defining classes as blueprints and creating instances. Emphasis on encapsulation and separation of concerns.
  6. Exception Handling and Debugging:
    • Techniques for handling errors and debugging code to ensure robustness and security.
  7. Loops:
    • For vs. Foreach vs. While: Implementing different types of loops for iteration.
  8. Collections and Queues:
    • Using arrays, dynamic collections, stacks, and queues for data storage and manipulation.
  9. Conditional Logic:
    • If vs. Switch: Implementing conditional paths in code using if statements and switch cases.
  10. Linq Methods and Lambda Expressions:
    • Introduction to using Linq and lambda expressions for efficient data queries and manipulation.
  11. Generic Types:
    • Understanding and utilizing generic types for type-safe data structures and methods.

Course Features:

  • Duration: The course spans approximately 1 hour and 55 minutes, divided into 13 concise lectures.
  • Approach: Taught through short code snippets and real-world scenarios, ensuring practical understanding.
  • Level: Designed for beginners with no prior programming experience.


No previous programming experience is required. This course serves as an introductory overview of C# programming.

Course Benefits:

By completing this course, students will be equipped with the foundational knowledge of C# necessary to start developing applications. The course answers common beginner questions about memory management, variables, classes, methods, loops, error handling, and more, providing a strong theoretical foundation for practical application in subsequent courses.

Overall, this course is ideal for new developers eager to enter the world of programming with a solid understanding of C# theory, ready to move on to building real-world applications in the next course part.

What You’ll Learn

  • How the memory works: Stack vs. Heap.
  • Creating and using variables: Value type vs. Reference type.
  • Creating and using properties (characteristics — adjectives)
  • Creating and calling methods: Regular vs. Extension methods (behaviors — verbs)
  • Defining and using classes and objects: Blueprint vs. Instance (things — substantives)
  • Encapsulation and Separation of concerns
  • Exception (error) handling and debugging.
  • Loops: for vs. foreach vs. while.
  • Arrays, Collections, and queues.
  • Conditional logic: if vs. switch.
  • Linq methods and Lambda expressions.
  • Generic types.



  • No programming experience needed. This in an introductory overview of C# programming.



Join me in this exciting foundational course on C# theory taught through short code snippets contrasted with real-world scenarios. Armed with the knowledge from this course, you can confidently begin your path toward becoming a seasoned C# developer.

Don’t procrastinate. Take the opportunity to learn a new language, go into the world of coding full of hope and energy, and build awesome applications. I know you can.

As this is a theoretical course, it doesn’t show how to build an entire application; we do that in part 2, where you’ll install the necessary tools and build a to-do web application from scratch.

Frequently asked questions from students before they took the course.

  • How does the .NET runtime handle memory?
  • What is the Stack and the Heap?
  • What are variables, and how do we use them?
  • Why do we need structs, classes, and records?
  • How do we add behaviors to our program?
  • How do we describe the characteristics of an object?
  • Is debugging necessary?
  • What if I need to repeat something? Can it be done?
  • Why and how do we branch our code with conditional logic?

I answer all these questions in the course, describing how to implement variables, many kids of properties (characteristics, adjectives) and methods (behaviors, verbs), the difference between classes (blueprints, substantives) and objects, and why encapsulation and separation of concerns are paramount, four types of loops, and how to debug and implement exception (error) handling.


Who this course is for

  • Beginner developers and those new to programming.

Enroll For Free Now