Programming foundations

Stage 1 of 6 · 9 lessons · ~4 months

Your first language

Learn C# properly: types, control flow, methods, classes, List and Dictionary, and exceptions, using the .NET SDK from the terminal. The same skills carry into web APIs, desktop apps and Unity.

Start: The .NET SDK and dotnet CLI

Lessons· one lesson for each topic, in this order

  1. 1The .NET SDK and dotnet CLI
  2. 2Types, variables and input
  3. 3Strings and interpolation
  4. 4Conditionals and loops
  5. 5Methods, classes and properties
  6. 6List<T>, Dictionary<TKey, TValue> and HashSet<T>
  7. 7null and nullable reference types
  8. 8Exceptions and debugging
  9. 9Namespaces and reading files

Start with· follow one of these

  • GuideFree
    Learn C#

    Microsoft · Beginner

    Official C# fundamentals tutorials that you run locally with the .NET SDK

  • PlatformFree
    freeCodeCamp

    freeCodeCamp · Beginner

    Free Foundational C# certification, built with Microsoft, with a graded exam at the end

Practise

  • Small exercises in your language track, with free feedback from a human mentor

Keep handy

  • Quick C# syntax lookups with a try-it editor; not a replacement for the course

Before moving on: Write a 200-line C# console app, such as a quiz or a budget tracker, with a few classes, a List, a Dictionary, file reading and exception handling, created and run with dotnet new and dotnet run.

Tauseef's advice
Create your projects with the dotnet CLI before leaning on Visual Studio, so you know what the IDE is doing for you. Skip Unity until the language feels natural, because game engine tutorials teach the engine and leave the language shaky.

Mark this stage as not done?