CodeRigor

Free programming courses & practice

Build the skills.
Write the code.

Understand how things work, then make them work. Learn a language, solve problems and build your way into systems programming. The lessons and practice here are free.

basics / is_even.cppC++
1// Make the idea your own.
2bool is_even(unsigned n) {
3return 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
Small steps. Real understanding.

CHOOSE A STARTING POINT

A skill you can use. A path you can follow.

Browse all free 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.

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

PUT THE PIECES TO WORK

A useful question is a good place to start.

Browse all course outlines →

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

Free project preview →

MORE THAN READING

Turn “I’ve seen this” into “I can do this.”

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 →

FOLLOW YOUR CURIOSITY

Go below the surface.

Move from language fundamentals to the systems they run on.

Before you start

Is the material here free?

Yes. CodeRigor’s courses, lessons, exercises and flashcards are free. You can keep using them whether or not you choose an external paid course.

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?

Choose a language: Python values and objects or C++ values and references. If the bits are unfamiliar, keep the binary and hex lessons alongside your study.