Clear, practical technology insights

Developer learning domain

Programming Fundamentals Learning Path & Roadmap

Build the core mental models every developer reuses: programming logic, computer science, the command line, Git, debugging, algorithms, networking, and systems-oriented languages.

Dependency-aware sequence

Recommended Learning Order

Start with foundations, then move through the paths in an order that matches their prerequisite level.

  1. 1

    Programming Foundations

    Understand how programs process data, make decisions, repeat work, organize logic, and report errors, then build and debug a command-line application.

    Open path
  2. 2

    Computer Science Foundations

    Explain how computers represent information, execute instructions, use memory, organize files, communicate over networks, and evaluate simple solutions.

    Open path
  3. 3

    Command Line and Shell Essentials

    Navigate files, run programs, combine commands, manage environment variables, and write safe shell scripts across major operating systems.

    Open path
  4. 4

    Git and GitHub

    Track changes, create focused commits, work safely with branches, collaborate through pull requests, and recover from routine Git mistakes.

    Open path
  5. 5

    Debugging and Problem Solving

    Reproduce failures, collect evidence, isolate causes, test hypotheses, apply minimal fixes, and prevent regressions across common environments.

    Open path
  6. 6

    Data Structures and Algorithms

    Select, implement, analyze, and test common data structures and algorithms using practical constraints rather than memorized patterns.

    Open path
  7. 7

    Computer Networking Fundamentals

    Explain how devices communicate, configure and troubleshoot basic IP networks, interpret DNS and DHCP behavior, and locate connection failures.

    Open path
  8. 8

    C Programming Fundamentals

    Write, compile, debug, and test C programs while managing arrays, strings, pointers, structures, files, dynamic memory, and input safely.

    Open path
  9. 9

    C++ Programming Fundamentals

    Build modern C++ applications using value semantics, classes, standard containers, algorithms, resource management, templates, tests, and profiling.

    Open path
  10. 10

    Rust Programming Fundamentals

    Build safe Rust applications using ownership, borrowing, structs, enums, traits, generics, error handling, testing, files, and concurrency.

    Open path

Structured curriculum

Learning Paths in This Domain

Foundation · 30 hours

Programming Foundations

Understand how programs process data, make decisions, repeat work, organize logic, and report errors, then build and debug a command-line application.

View path

Foundation · 30 hours

Computer Science Foundations

Explain how computers represent information, execute instructions, use memory, organize files, communicate over networks, and evaluate simple solutions.

View path

Foundation · 30 hours

Git and GitHub

Track changes, create focused commits, work safely with branches, collaborate through pull requests, and recover from routine Git mistakes.

View path

Foundation · 30 hours

C Programming Fundamentals

Write, compile, debug, and test C programs while managing arrays, strings, pointers, structures, files, dynamic memory, and input safely.

View path

Practitioner · 40 hours

C++ Programming Fundamentals

Build modern C++ applications using value semantics, classes, standard containers, algorithms, resource management, templates, tests, and profiling.

View path

Need a starting point?

Check your programming foundations

Use the private browser-based assessment to identify a practical starting path.

Take the Skill Assessment