CodeRigor

Programming courses & practice

Learn to code.
Build projects.

Work through lessons, coding exercises and projects in C++, Python, SQL, Git, Bash and Lua.

basics / is_even.cppC++
1// Return true when n is even.
2bool is_even(unsigned n) {
3 return n % 2 == 0;
4}

THE PRACTICE LOOP

  1. 01 Learn the idea
  2. 02 Check your understanding
  3. 03 Find and fix a bug
  4. 04 Complete the missing pieces
  5. 05 Build a working solution
Lessons, exercises and projects

NEW TO PROGRAMMING?

Start from zero.

Never written a program? Pick a language and begin here. Each of these courses opens with six short lessons that take you from printing one line to a complete interactive program: output, variables, input, decisions, loops and functions. If you have no preference, choose Python.

CHOOSE A STARTING POINT

Choose a programming course.

See the course map →Browse all courses →

Start with the fundamentals, or pick the tool you want to get better at. Each course shows what to learn first. Python, SQL, Git, Bash and Lua have their own learning sequences.

Make the bits make sense. Learn binary, hexadecimal, one’s complement and two’s complement, with diagrams and practice.

Number foundations →

BUILD ON THE FUNDAMENTALS

Languages, data and dependable services.

Go further with Go or JavaScript, or bring your Python and SQL foundations into focused courses. Every course names its prerequisites and ends with a graded project.

Filter the full catalog →

PUT THE PIECES TO WORK

Explore projects and learning paths.

Browse all course outlines →

Take a contract into a project. Preview an original C++/Linux artifact publisher, with starter code and tests.

Project preview →

FROM PROGRAM TO PHYSICAL PROJECT

Make something you can put on your desk.

All hardware courses →

Guided lessons, downloadable code and desktop logic tests. Bring compatible parts you own, or explore the optional equipment cards when you are ready to build.

MORE THAN READING

Learn with diagrams, exercises and review.

01 / UNDERSTAND

See the moving parts.

Read worked examples, explore diagrams and use videos when another explanation helps. Connect the code to the idea behind it.

02 / PRACTICE

Make a working solution.

Answer checks, debug broken code and build in the editor. Test feedback shows what to work on next.

03 / REMEMBER

Bring it back later.

Use spaced coding review and flashcards to revisit the decisions: which type, which container, which command, and why.

Try flashcards →

SYSTEMS PROGRAMMING TOPICS

Explore operating systems and hardware.

Move from language fundamentals to the systems they run on.

Before you start

What does CodeRigor cost?

CodeRigor’s courses, lessons, exercises and flashcards are currently available without charge. Optional courses, tutoring and equipment from other providers may cost money. Affiliate offers identify the provider and include a referral disclosure.

Do I need to learn C++ before Python or SQL?

No. Python, SQL, Git, Bash and Lua have independent sequences. Inside each sequence, prerequisite links help you find the right order.

Where should a complete beginner start?

Start with the first unit of a language course, “Start here: your first programs”, which assumes no programming experience at all: Python, JavaScript, C++, Go, Bash or Lua. If you have no preference, choose Python. Six short lessons take you from printing a line of text to a complete interactive program, and the next unit of the same course continues from there. If the bits are unfamiliar, keep the binary and hex lessons alongside your study.