Programming Fundamentals
Start here if you have never written code. Learn what a program is, how computers follow instructions, and the handful of ideas every language shares.
Prerequisites
None. This course assumes no prior knowledge of the subject.
Technologies
About this course
This course assumes nothing. You do not need a computing background, a maths background, or any prior exposure to code. What you do need is willingness to type things out and get them wrong a few times, because that is how the ideas stick.
Rather than teaching a language first and concepts second, we do the opposite. You learn what a variable is, what a decision looks like, and why a loop exists. Once those ideas are in place, picking up a specific language becomes a matter of learning its spelling rather than learning to think.
Examples are shown in C# because that is where most Anvi learning paths continue, but the ideas here transfer directly to JavaScript, Python, or anything else you learn later.
Course roadmap
All 15 lessons are written and available.
Module 01
What Programming Actually Is
Before any syntax, get clear on what you are doing when you write code and what the machine does with it.
- 01What Is Programming?Explain what a program is, and why precision matters more than cleverness when you write one.10 min
- 02How Software Actually RunsDescribe the path from the code you type to instructions a processor carries out, and name the parts involved.12 min
- 03Source Code, Compiled Code and Interpreted CodeDistinguish compiled and interpreted execution, and explain where C# sits between them.10 min
- 04Your First ProgramWrite, build and run a small program, and read its output and its errors.15 min
Module 02
Storing and Describing Data
Programs exist to work with values. Learn how to hold them, what kinds there are, and how to combine them.
Module 03
Decisions and Repetition
Two ideas turn a fixed list of instructions into something that responds and scales: choosing, and repeating.
Module 04
Organising Code
Once a program grows past a screen, you need names for pieces of work and ways to hold groups of values.
Module 05
Errors, Debugging and Problem Solving
The skill that separates people who progress from people who stall is what they do when something breaks.
- 01Errors and ExceptionsRead an error message accurately, and handle failure deliberately instead of suppressing it.14 min
- 02DebuggingFind the cause of a defect methodically rather than by changing lines until it works.14 min
- 03Problem Solving and Basic AlgorithmsBreak a problem into steps before coding, and recognise a few patterns that recur constantly.15 min
- 04Clean Coding HabitsAdopt a few habits early that keep code readable as it grows, and know which advice to ignore.12 min
Projects for this course
Console Calculator
Your first program that does something useful. Reads input, validates it, calculates, and handles the cases that go wrong.
To-Do List Application
Manage a list that changes: add, complete, remove and display items. Your first program with real state.
On completion
What you should take away
- A program is an ordered set of instructions, and your job is to be precise about them
- Variables hold values, and types describe what kind of value is allowed
- Conditions let a program choose; loops let it repeat
- Methods give a name to a piece of work so it can be reused and understood
- Errors are information, not failure — reading them carefully is a core skill
Recommended next course
C# From Beginner to Advanced
A complete route through C#, from your first program to async code, LINQ and the language features professional codebases actually rely on.
Continue to C#Have a project worth talking through?
Tell us what you're building or what's slowing your current system down. We'll give you a direct read on scope and approach.