30 open-source projects similar to exercism/exercism.io, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Exercism.io alternative.
This project is a structured Rust programming course and learning path consisting of a sequence of interactive coding exercises. It provides a curriculum designed to guide learners from basic language fundamentals, such as syntax and type systems, to the development of complex applications. The learning experience is supported by a command-line solution validator that verifies the correctness of code solutions. The curriculum follows a progressive problem sequencing model, allowing users to master memory management and application logic through a series of practical coding challenges. The sc
rust-by-practice is an interactive coding platform and language learning curriculum designed to teach the Rust programming language. It functions as a code practice sandbox and tutorial, providing a structured path of examples and challenges to bridge the gap between basic knowledge and professional development. The platform features a web-based environment for editing, compiling, and executing code directly in the browser. It employs a graded curriculum of increasing difficulty, allowing users to solve exercises and verify their logic against reference solutions to ensure accuracy and adhere
Hanzi Writer is an interactive Chinese character writing tutor and SVG animation library designed to visualize and validate the sequential construction of characters. It functions as a pedagogical tool for practicing calligraphy by rendering stroke-by-stroke animations and validating user-drawn paths. The library provides a system for comparing user input against predefined stroke sequences to verify writing accuracy in real time. It guides users through interactive exercises, directing the writing process and providing immediate feedback on stroke order. The tool handles the retrieval of ch
Earthworm is an AI-powered language learning platform centered on sentence construction, translation exercises, and grammar tutoring. It integrates a spaced repetition system to schedule reviews based on individual performance and a multimedia practice tool that converts audio, video, and text into interactive sentence-level exercises. The platform features a real-time competitive quiz system where users can challenge each other in live matches based on speed and accuracy. It also includes an AI tutor that provides contextual grammar and usage explanations for specific sentences, and a set of
Show me the code is a curated collection of hands-on programming exercises and mini-projects designed to help developers master core software engineering concepts. It functions as a practical tutorial, focusing on the implementation of common programming patterns through standalone scripts that prioritize fundamental logic and readability. The project is distinguished by its reliance on standard language libraries, intentionally avoiding external dependencies and complex frameworks to ensure code remains portable and easy to execute. Each exercise is structured as a procedural, imperative seq
Rustlings is an interactive language tutorial and exercise suite designed to teach the syntax and idioms of the Rust programming language. It functions as a guided learning path where users build proficiency by solving a collection of small, interactive coding challenges. The project utilizes compiler-driven learning, employing the Rust compiler to provide immediate feedback and validation as users fix broken code snippets. This approach focuses on language onboarding and education through practical, hands-on coding practice. The learning experience is structured around a file-based exercise
learn-gdscript is an interactive coding course and tutorial application designed to teach GDScript programming fundamentals. It functions as a game engine education tool that allows absolute beginners to study basic programming concepts, variables, and functions. The project utilizes a sandboxed environment for practicing code execution and provides in-engine interactive tutorials. It features guided walkthroughs that direct users through editor interfaces to help them locate and understand software tools. The curriculum covers game development logic, including the implementation of physics-
Easy Rust is a beginner course and programming tutorial designed to teach the fundamentals of the Rust language. It provides instructional material and technical documentation tailored for those new to coding and non-native English speakers. The project uses simplified English to translate complex programming concepts into basic vocabulary. This approach bridges the gap between professional technical terminology and beginner-friendly language through concept-mapping and a modular, topic-based structure. The learning materials cover core programming fundamentals and systems programming basics
This project is a functional programming course and automated coding curriculum designed to teach the core principles of the paradigm through a structured sequence of exercises and modules. It serves as an interactive programming tutorial where learners solve incremental problems and validate their understanding through a programming exercise suite. The curriculum is language-agnostic, focusing on core logic and paradigms rather than a specific language. It employs an automated toolchain that transforms source code into executable binaries to verify solutions. Correctness is validated using
This project is an interactive programming curriculum and educational system designed to teach computer science and software engineering. It provides a structured set of courses and professional roadmaps focused on backend engineering, DevOps, and systems fundamentals. The platform is distinguished by an AI-powered coding tutor that provides Socratic guidance and contextual hints to help students find solutions independently. It features a browser-based code sandbox using WebAssembly to eliminate local environment setup, alongside automated test-based grading and spaced-repetition logic to re
Learngo is an interactive coding course and programming tutorial designed to teach the Go language. It functions as an educational guide that combines instructional materials with a learning-by-doing approach to help users master language syntax and practical application. The project focuses on idiomatic Go programming, providing a practical reference for writing code that follows industry standards and conventions. It emphasizes the development of testable code and the implementation of maintainable programming patterns. The curriculum is delivered through a series of hand-crafted examples,
This project is a curated collection of programming exercises designed to build proficiency in numerical computing and data manipulation. It provides a structured learning path for mastering multidimensional array operations, vectorized arithmetic, and statistical analysis. The repository focuses on developing practical expertise in array-based workflows, emphasizing techniques such as memory management, efficient data processing, and the replacement of explicit loops with vectorized operations. Users engage with hands-on challenges that cover the full lifecycle of numerical data, from initia
Ziglings is an interactive coding course and tutorial designed to teach the Zig programming language. It functions as a test-driven learning tool that guides users through a sequence of incremental exercises to master language syntax and semantics. The project provides a series of small, broken programs that learners must fix. Progress is achieved by modifying the code until it satisfies predefined requirements and passes associated automated tests. The educational experience is supported by a shell-based test runner and local compiler execution to provide immediate feedback. It utilizes a f
SwiftGuide is a centralized resource hub and ecosystem directory for developers using the Swift programming language. It provides a curated collection of open source libraries, frameworks, and tools, acting as a structured map of community resources and expert contributors. The project organizes the Swift ecosystem through a categorized directory of active projects and architectural mapping. It serves as a catalogue for selecting compatible integrated development environments, package managers, and system utilities. The repository also aggregates educational materials, including official doc
This project is a structured educational guide and software engineering curriculum designed to facilitate mastery of the Go programming language. It provides a hierarchical learning path that organizes complex technical domains into logical sequences, guiding users from foundational syntax to advanced system architecture. The repository functions as a curated knowledge aggregator, relying on community-driven contributions to maintain the accuracy and relevance of its technical materials. It distinguishes itself by offering reference-based skill benchmarking, which includes standardized proble
This project is a git-based collection of programming logic exercises and weekly coding challenges. It serves as a language-agnostic learning resource and a multi-language code repository where users practice software development skills regardless of the specific syntax used. The repository functions as a collaborative environment where participants submit custom code implementations via pull requests. It enables users to track their progress and perform collaborative code reviews by comparing different implementation strategies and community corrections. The system organizes these contribut
This project is a guided roadmap for Go backend engineering, providing a structured learning path to master the language and its ecosystem. It serves as an educational outline for progressing from beginner to professional proficiency in software development. The roadmap specifically covers microservices architecture, detailing the implementation of remote procedure calls, message brokers, and distributed tracing. It also functions as a tooling curriculum, identifying industry standard libraries for logging, unit testing, and integration testing. The broader scope encompasses backend engineer
This project is a comprehensive collection of Python programming education materials, including tutorials, exercises, and curated code samples. It serves as a learning curriculum and software engineering toolkit, utilizing Jupyter Notebooks to combine executable code with descriptive educational text. The repository provides practical implementation guides for building large language model applications, such as retrieval-augmented generation systems, stateful AI agents, and machine learning workflows. It distinguishes itself by offering a structured approach to agentic coding workflows, cover
This project is a structured educational course and interactive tutorial designed to teach the TypeScript type system. It functions as a coding sandbox where users learn through a series of guided exercises and challenges that are verified using an automated local test runner. The curriculum covers a progression of skills starting with basic typing fundamentals and core language patterns. It advances into generic abstractions, complex type transformation techniques, and advanced type programming. The material also includes practical applications of software engineering patterns, such as bran
clasp is a command-line interface for managing Google Apps Script projects, enabling developers to create, sync, and deploy scripts from a local development environment. It provides an alternative to the cloud-based script editor, allowing version control, offline editing, and integration with standard development workflows. The tool supports TypeScript transpilation, so developers can write type-annotated code that compiles to JavaScript for the Apps Script runtime. Authentication is handled via OAuth 2.0, and users can synchronize local files with remote projects using ignore patterns simil
Awesome-resume is a career development platform designed to assist job seekers with document generation, interview preparation, and professional networking. It functions as a technical resume builder and job search assistance tool, utilizing large language models to synthesize professional content and structure project documentation for engineering roles. The platform distinguishes itself through a document generation engine that employs modular design blocks and structural schemas to ensure consistent formatting. It also integrates an asynchronous matching engine to pair users with industry
Mise is a development environment orchestrator that manages software runtimes, environment variables, and task execution. It functions as a version manager and task runner, providing a unified interface to synchronize project-specific configurations and dependencies across different machines. By automating the installation and switching of tools, it ensures that development environments remain consistent and reproducible. The project distinguishes itself through a hierarchical configuration system that automatically discovers settings by traversing the directory tree. It uses shim-based comma
CS-Base is a comprehensive educational platform and technical repository designed to support software engineers in mastering backend architecture, artificial intelligence engineering, and career development. It functions as a centralized knowledge hub that combines illustrated theoretical tutorials with practical, project-based learning to bridge the gap between foundational computer science concepts and professional industry requirements. The project distinguishes itself by integrating a robust career mentorship framework with advanced AI engineering resources. It provides users with tools f
This project is an educational platform designed to teach JavaScript programming through a structured, test-driven curriculum. It provides a collection of interactive coding exercises that guide learners through language fundamentals and software development concepts. The platform distinguishes itself by requiring users to verify their understanding of language features by passing automated test suites in real time. By utilizing a server-side runtime environment, the tool executes student code against predefined assertion patterns to provide immediate feedback on correctness. The curriculum
This project is a technical career guide and resource for developers navigating the software engineering job market. It serves as a comprehensive roadmap for securing professional employment, providing a technical interview preparation guide and a directory for mentorship and fellowships. The project provides a framework for drafting technical resumes and portfolios, focusing on describing project experience through metrics to attract recruiters. It also details professional networking strategies, including methods for executing cold outreach and securing job referrals. The resource covers b
Melty is an AI-powered integrated development environment that uses a chat-based interface to automate large-scale code modifications and project management. It functions as an LLM code editor where natural language conversations are used to analyze project structures and apply changes across multiple files. The editor integrates directly with version control to link automated modifications to specific git commits, associating conversation logs with commit history to enable atomic reverts and branching. It further connects the development workspace to local system tools, including shells, com
The Missing Semester is a free, open-source educational curriculum designed to bridge the gap between theoretical computer science and the practical tooling every software engineer needs. Organized as a structured course, it covers Unix shell mastery, version control with Git, software debugging and profiling, system administration fundamentals, and computer security practices — the skills often left out of traditional degree programs. The project is maintained as a collaborative set of lecture notes, exercises, and guides that function as both a professional development tools course and a Uni
This repository is a collection of common computer science algorithms and data structures implemented across multiple programming languages. It serves as an educational resource for students and developers to study fundamental computational logic and software engineering patterns through practical, version-controlled code examples. The project distinguishes itself by decoupling abstract problem definitions from their specific language implementations. This structure allows for direct cross-language comparison, enabling users to analyze how different syntax and programming paradigms handle ide