C#.NET Beginner


This C#.NET Beginner course is for newcomers to C# and contains introductory as well as advanced topics, making it applicable for both beginners and intermediate programmers from other languages. OO plays a major role in C# and this course covers that in detail.

Category: Tag:
Product Description

Prerequisites / Further Training

You should not be a complete beginner for this course. If you cannot pass this test, you must do Intro to Programming with Java Script or Intro to Programming with Python first.

  • Beginner C#.NET (C# Fundamentals and Object – Orientation)
  • Advanced C#.NET (Building practical Apps)
  • SQL Querying (Database design and querying)
  • ASP.NET MVC (Web App Development)
  • ASP.NET Web API (More Web App Development)
  • Entity Framework

Also have a look at our .NET Bootcamp and save

Intended Audience

This course is for anyone at the Intro to Programming level who want to learn how to program in C# using the .NET framework

After this course you should be able to

Create a fun arcade game and build games and other projects

Further Training

Recommended – C# Advanced


Together, the Beginner and Advanced C#.NET are on the same level as Microsoft : 10266A .

Course Material

Up to date course material is provided

Course info
Start Building With c#: Build something cool, fast!

  • Why you should learn C#
  • C# and the Visual Studio IDE
  • Debugging

It’s all Just Code

  • Anatomy of a program
  • Two classes can be in the same namespace
  • Variables
  • C# uses familiar math symbols
  • Use the debugger to see your variables change
  • Loops
  • if/else statements make decisions
  • Build an app from the ground up

Day 2

Objects: Get Oriented!

  • Classes
  • Methods
  • Objects
  • An example solution
  • Properties
  • Instances
  • Naming
  • Class diagrams
  • There’s an easier way to initialize objects
  • A few ideas for designing intuitive classes

Types and References

  • The variable’s type determines what kind of data it can store
  • Casting
  • C# does some casting automatically
  • When you call a method, the arguments must be compatible with the types of the parameters
  • References are like labels for your object
  • If there aren’t any more references, your object gets garbage-collected
  • Multiple references and their side effects
  • Arrays can contain a bunch of reference variables, too
  • Objects use references to talk to each other
  • Controls are objects, just like any other object

Day 3


  • Building an Event – planning app
  • Each option should be calculated individually
  • It’s easy to accidentally misuse your objects
  • Encapsulation means keeping some of the data in a class private
  • Use encapsulation to control access to your class’s methods and fields
  • Private fields and methods can only be accessed from inside the class
  • A few ideas for encapsulating classes
  • Encapsulation keeps your data pristine
  • Properties make encapsulation easier
  • Automatic properties
  • Use a constructor to initialize private fields


  • Anoter event-planning typ of class
  • When your classes use inheritance, you only need to write your code once
  • Build up your class model by starting general and getting more specific
  • Let’s design a zoo simulator
  • Use inheritance to avoid duplicate code in subclasses
  • Create the class hierarchy
  • Every subclass extends its base class
  • Use a colon to inherit from a base class
  • We know that inheritance adds the base class fields, properties, and methods to the subclass…
  • Method overriding
  • Use the override and virtual keywords to inherit behavior
  • A subclass can access its base class using the base keyword
  • When a base class has a constructor, your subclass needs one, too

Day 4

Interfaces and Abstract Classes

  • An interface tells a class that it must implement certain methods and properties
  • Use the interface keyword to define an interface
  • Upcasting works with both objects and interfaces
  • Downcasting lets you turn your appliance back into a coffee maker
  • Upcasting and downcasting work with interfaces, too
  • There’s more than just public and private
  • Access modifiers change visibility
  • Some classes should never be instantiated
  • An abstract class is like a cross between a class and an interface
  • An abstract method doesn’t have a body
  • Polymorphism means that one object can take many different forms

Enums and Collections

  • Enums let you work with a set of valid values
  • Enums let you represent numbers with names
  • Lists make it easy to store collections of…anything
  • Lists are more flexible than arrays
  • Lists shrink and grow dynamically
  • Generics can store any type
  • Collection initializers are similar to object initializers
  • Lists are easy, but SORTING can be tricky
  • IComparable helps your list sort
  • Use IComparer tells your List how to sort
  • IComparer can do complex comparisons
  • Overriding a ToString() method lets an object describe itself
  • You can upcast an entire list using IEnumerable
  • You can build your own overloaded methods
  • Use a dictionary to store keys and values
  • A queue is FIFO—First In, First Out
  • A stack is LIFO—Last In, First Out

Day 5

Reading and Writing Files

  • Use Stream.Read() to read bytes from a stream
  • StreamWriter
  • StreamReader
  • You can read and write serialized files manually, too
  • Use a BinaryWriter to write binary data
  • C# can use byte arrays to move data around
  • NET uses Unicode to store characters and text
  • Serialization
  • Use a switch statement to choose the right option
  • Writing files usually involves making a lot of decisions
  • Avoid filesystem errors with using statements
  • IDisposable makes sure your objects are disposed of properly
  • Use file dialogs to open and save files (all with just a few lines of code)
  • Use the built-in File and Directory classes to work with files and directories
  • Dialog boxes are objects, too
  • Dialog boxes are just another WinForms control
  • Reading and writing using two objects
  • .NET streams to read and write data

Duration and pricing

  • Full-time over 5 days (R10995)
  • Part-time over 4 weeks (2 nights per week, 3 hour sessions) (R11995)
  • Part-time over 8 Saturdays, 3 hour sessions (R11995)
  • Please note : For part-time courses we do not have a fixed schedule and you will be placed on a waiting list until we get a group of 4+ together. Please book with no dates on the bookings form. This will automatically put you on the waiting list. We will confirm with you as soon as we have a part-time group together.
  • Distance-learning over up to 3 months (R9995)
  • International exams are not included in the course price.
  • Prices exclude Vat for Vat-registered companies
  • Monthly payment options for Distance Learning / Self Study
    If you want to pay the course on a monthly basis, we divide the course in 4 sections – one per month. You then have to complete a quarter of the course per month. The payments are as follows:
  • R3333 registration fee and covering the first month and section 1
  • R3333- month 2 and section 2
  • R3333 – month 3 the last section
  • Certificate
    1. Upon completion of this course we will issue you with attendance certificate to certify your attendance and / or completion of the prescribed minimum examples.
    2. You may sit for our competency assessment test and on passing you will obtain our competency certificate.
    3. Our competency assessment can be booked and taken by someone who has not attended the course at a cost of R2950, including the course material and a guidance session.


    You can download the course registration form on our home page or by clicking here


    You may download a pdf copy of this page by clicking on the pdf icon at the top of the page.


    Please email us


    On the calendar below. If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our Contact Us page.

Print Friendly, PDF & Email
Additional Information

Distance-Learning, Full-time, Part-Time