Want to learn and master Cairo?

Join Exercism’s Cairo Track for access to 66 exercises with automatic analysis of your code and personal mentoring, all 100% free.

Explore exercises

About Cairo

fn hello() -> felt252 {
    'Hello, World!'
}

fn main() {
    let greeting: felt252 = hello();
    println!("{greeting}");
}

66 coding exercises for Cairo on Exercism. From Bob to Clock.


Get better at programming through fun, rewarding coding exercises that test your understanding of concepts with Exercism.

See all Cairo exercises on Exercism

Key Features of Cairo


Cairo

Developer-friendly

Write Rust-like code and generate proofs for program execution - math isn't a barrier.

Provable

Produces provable programs, making it possible to compute trustworthy values on untrusted machines.

Efficient

Cairo compiles down to an ad-hoc assembly engineered specifically for efficient proof generation.

Immutable

Cairo uses the immutable memory model, improving data integrity and security.

General purpose

From blockchain gaming to provable ML, Cairo makes building trustless applications possible.

Innovative

Cairo is a fast-growing language that keeps delivering new and exciting features to its developers.

Get mentored the Cairo way

Every language has its own way of doing things. Cairo is no different. Our mentors will help you learn to think like a Cairo developer and how to write idiomatic code in Cairo. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in Cairo - they'll help you discover the things you don't know that you don't know.

Learn more about mentoring

Community-sourced Cairo exercises

The Cairo track on Exercism has 66 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.

See all Cairo exercises
Cairo

Get started with the Cairo track

The best part, it’s 100% free for everyone.