Learn by building
Choose a path.
Build useful skills.
Start with a topic that matches your goal. Every path below gives you a clear sequence of concepts to practise before moving to the next level.
Explore learning paths
Learning paths
Find your starting point.
Open any path to see the ideas it is designed to cover. You can move between paths whenever your goals change.
No courses match that search. Try another term or topic.
Beginner
PATH 01 / PROGRAMMING
Java Programming Language
Learn Java fundamentals and object-oriented programming by building practical programs.
SyntaxOOPProjects
What you’ll learn
Start with syntax, variables, conditions, and loops, then practise classes and objects in a small program.
Explore course
Foundation
PATH 02 / PROBLEM SOLVING
Data Structures & Algorithms
Learn to break problems down, choose useful data structures, and reason about efficient solutions.
ArraysRecursionAlgorithms
What you’ll learn
Start with complexity and arrays, then practise stacks, queues, and common problem-solving patterns.
Explore course
Beginner
PATH 03 / PROGRAMMING
C Programming Language
Understand programming fundamentals and how C works close to the system.
FundamentalsFunctionsPointers
What you’ll learn
Learn syntax and control flow, then practise functions, arrays, and the basics of pointers and memory.
Explore course
A simple way to progress
Keep the next step clear.
You do not need to learn everything at once. Choose one track, make something small, and use the result to decide what to learn next.
01Pick a foundation
Start with the concepts that support the type of work you want to try.
02Practise in small pieces
Use tutorials and notes to turn new concepts into repeatable habits.
03Build and reflect
Create a small project, notice the gaps, then return with a focused question.
Ready to map out your next project?
Create an account to begin your learning journey.
Create an account