Computer Science & Software Engineering

Build the foundations behind great software: learn version control, data structures and algorithms, testing, software design and architecture with free, step-by-step roadmaps.

About Computer Science & Software Engineering

Computer science is the study of how computers solve problems, and software engineering is the discipline of turning that knowledge into reliable software that teams can build and maintain over years. Languages and frameworks change quickly, but the fundamentals stay the same.

Those fundamentals include data structures and algorithms, for writing efficient code, and version control with Git and GitHub, for working safely with others. On top of them sit software design and architecture, which shape how large systems are organised, quality assurance, which keeps them correct, and specialised areas such as blockchain.

Strong engineers combine technical depth with clear thinking, testing and teamwork. The roadmaps below take you from everyday tools to design and architecture, whether you want a career in software engineering or want to understand how good software is built.

Where to start

A suggested order if you are new to computer science and software engineering. Each step builds on the one before.

  1. 1Git and GitHub
  2. 2Data Structures & Algorithms
  3. 3QA Engineer
  4. 4Software Design & Architecture
  5. 5Software Architecture
  6. 6Blockchain

Frequently Asked Questions

Common questions about learning Computer Science & Software Engineering.