Learn code
by practising.
We're building Grademe to make learning code more accessible and enjoyable. Exercises, an editor and tests are in one place, with a community to learn from.
A full C learning path is available now, from your first program to memory management and systems programming.
Python, JavaScript and more languages are coming soon.
Explore the exercisesIt started with a friend.
I wrote exercises for a friend preparing for a computing school's entrance exams. Over video calls, she wrote code and I checked it.
While she worked, I built a small program to run the tests and deliver the next exercise. I shared it on GitHub: the original Grademe Bash script was born.
- The first Bash script.
- Distribution of the original script ends.
- Grademe becomes a web platform.

Hi, I'm Joseph.
I learned to code at 42. Today I work at a startup helping students decide what to study after high school.
Grademe started as a tool for friends at school. Now anyone can use it to practise in their own way and learn alongside others.
Your feedback helps me make it better. Every message sends a Telegram notification to my phone, and I read them all. If you have an idea, I'd love to hear it.
Explore Grademe.
Learn C
A guided path, with a checkpoint after each chapter.
Exercises
One problem at a time. Feedback from real tests.
Challenges
A series of exercises. One clock.
Daily Challenge
A daily puzzle. Other learners' approaches to explore.
C Visualizer
Step through variables, pointers and memory. On desktop.
CLI
Take challenges in your terminal, with your own editor.
"Nice project, good to learn, and check for other solutions and way of thinking."
"Thanks for the high quality problems!"
"The platform layout and testing speed are great!"
The challenge was making it fast.
I wanted you to hit Run tests and get an answer straight away, ideally faster than on some local machines. Making that feel simple was one of the hardest things I built.
First, I had to assume the worst.
A stray rm -rf, an attempt at sudo, an endless loop. I needed each submission inside its own restricted Linux container, destroyed after use.
Then, I had to stop you waiting.
Starting a container and warming up the compiler takes time. So I prepare them before you click. A warm pool keeps unused containers ready, with replacements prepared in the background.
These are the problems I love solving. And there's plenty more I want to build for Grademe.
Learning stays free.
Everything you can use today is free, and will stay free for students.
For now, we're self-funded. As more people join, server costs grow. We keep optimising how Grademe runs so we can welcome more learners without making it too expensive to sustain.
Our goal is for Grademe to cover its own costs. Our priority is paid partnerships with schools and training providers, so students can keep learning for free.
Future services may help fund the platform. The tools you use today will stay free, so everyone can keep learning and practising, whatever their budget.