Programming Roadmap

Computer Programming (CSP) is a research hub focused on the practical application of logic. To communicate logic with a computer, you must use a specific medium called a programming language. Each language has its own unique syntax and a specific "way of thinking" required to solve problems. We study many programming languages, take notes and explain the language for our community.

Target Audience

Anyone who wishes to learn how to code is welcome, including students, freelancers, engineers, or teachers. This research hub provides a comprehensive, beginner-friendly lab for each language. If you have a foundation in mathematics and logic, you can master these programming languages regardless of your background.

The Curriculum

The CSP hub features 15 popular programming languages. We advise beginners to start with Go, Julia, or Dart. Each lab includes a difficulty rating to guide your path. We recommend learning one language at a time; mastering a language and passing its 100-question quiz earns you a Certificate of Completion.


Popular Languages

The following panel enumerate most popular languages. The star ratting you can see for each language is to appreciate the language difficulty, and is not a rating of the lab quality. Most difficult languages have 5 stars, most simple languages have one or two stars. Arguable you can start with any language, but we suggest you start with Go, Julia, Dart or Python, languages with less than or equal to three stars, before dive into more complex languages.
Cloud / SaaS

CSP01: Go (Golang)

Efficient backend services and cloud-native applications designed by Google.

AI / Science

CSP02: Julia

High-performance dynamic language for numerical analysis and computational science.

Mobile / App

CSP03: Dart

Building cross-platform mobile and web apps with the Flutter framework.

General / AI

CSP04: Python

The standard for automation, data science, and beginners worldwide.

Web / Interactive

CSP05: JavaScript

Enables dynamic content in browsers and full-stack logic via Node.js.

Full-Stack

CSP06: TypeScript

Superset of JavaScript adding static typing for enterprise-scale apps.

Back-End

CSP07: Ruby

Elegant syntax focused on productivity and the Ruby on Rails framework.

Systems / Safety

CSP08: Rust

Systems language focused on memory safety, speed, and concurrency.

DevOps / Admin

CSP09: Bash

Essential shell scripting for automating tasks in Linux and macOS.

Low-Level

CSP10: C

The foundation of OS kernels. Requires manual memory management.

Performance / Games

CSP11: C++

Object-oriented power for game engines and high-performance apps.

Enterprise / JVM

CSP12: Java

Portable, class-based language for enterprise and Android systems.

Database / Oracle

CSP13: PL/SQL

Procedural logic built directly within the Oracle database engine.

Windows / Game

CSP14: C#

Microsoft ecosystem language for .NET and Unity game development.

Modern Systems

CSP15: Zig

A modern C-alternative designed for optimality and robustness.

Other Languages

Previously to 2020 we use to offer tutorials for more languages. We no longer maintain these tutorials and don't recommend these languages for beginners. If you're proficient in any of these languages and interested taking over the maintenance, review this content. We welcome contributions. When you contribute, we will promote your work on our social media channels.
ID Language Category Description Status
CSP16 Assembly Systems Low-level architecture and hardware-specific instructions. Very difficult to use. Archived
CSP17 PHP Web Curly bracket, server-side scripting language for legacy web applications. Use to be popular. Archived
CSP18 Ada Safety Strongly typed language used in high-integrity systems. Archived
CSP19 Nim Modern Statically typed language that compiles to C, C++, or JS. Elegant but not popular. Incomplete
CSP20 Scala JVM Combines object-oriented and functional programming. Very slow due to JVM overhead. Archived
CSP21 Swift Apple Modern language for iOS and macOS development. Modern but specific to Apple ecosystem. Incomplete
CSP22 Fortran Science Numerical computation and scientific computing basics. Legacy language created by IBM. Archived

Programming Books

We are excited to recommend a selection of programming books, available on Amazon. If you have a Kindle device this may be a good opportunity to enhance your library. These books were developed with the assistance of AI to provide valuable learning resources. You can read these books on laptop or any other e-reader.

Book 1 Cover

A comprehensive guide for new programmers.

View on Amazon
Book 2 Cover

Dive deep into programming paradigms.

View on Amazon
Book 3 Cover

Become professional coder, ready for a job.

View on Amazon
Book 4 Cover

Prompt engineering, AI and vibe coding.

View on Amazon

If you purchase and read any of these books, we would greatly appreciate if you could share your feedback by posting a review on Amazon. Your honest reviews help other learners discover these resources and are incredibly valuable to us. Without it, we cannot continue to create new books. Thank you for your support.


Read next:  Projects