We notice a trend, most students don't understand basic algorithms anymore. When they try to, they're met with ancient tools for learning them and teachers who can't begin to understand where their students are at. It is our mission to fix these problems.
We designed AlgoStudio around how students actually work, not how textbooks say they should.
Students see the problem, write their solution, and run it all on one screen. No switching tabs, no hunting for the submit button. The editor runs code directly against test cases and shows results straight away so students can iterate fast.
Every submission is tracked. Teachers can see how long they spent, compare diffs between attempts, and understand what actually changed between a failing and passing solution. Mistakes become learning moments instead of just a red X.
Creating a problem is as easy as writing a markdown file and adding test cases. No complicated admin interface. You can attach files directly, something we have seen no other tool do. This allows for unmatched flexibility and the possibility to create problems where you can really challenge your students.
We're not big on complexity for its own sake. AlgoStudio runs on plain HTML, CSS and vanilla JavaScript. No framework, no build step, nothing you have to Google to understand.
Here's our entire keyboard shortcut system. Every Ctrl+K, every Alt+Enter, handled in one small file. We think that says something about how we build.
function bindKey(combo, callback) { document.addEventListener('keydown', e => { const parts = combo.toLowerCase().split(" "); const key = e.key.toLowerCase(); const needCtrl = parts.includes('ctrl'); const needAlt = parts.includes('alt'); const needShift = parts.includes('shift'); if ( (!needCtrl || e.ctrlKey) && (!needAlt || e.altKey) && (!needShift || e.shiftKey) && parts.includes(key) ) { e.preventDefault(); callback(e); } }, true); } function updateElementDataKeybinds(element) { const keybind = element.dataset.keybind if (!keybind) { return } if (element.tagName == "INPUT") { bindKey(keybind, () => element.focus()) } else { bindKey(keybind, () => element.click()) } if (!element.dataset.tooltip) { element.dataset.tooltip = `Use shortcut <pre>${keybind.split(" ").join("</pre>+<pre>")}</pre>` } } document.addEventListener('DOMContentLoaded', () => { document.querySelectorAll('*').forEach(updateElementDataKeybinds); });
Harold studies business and already has meetings lined up with schools across the Netherlands. Kieran works as a software engineer at ASML and manages interns there, which is exactly where he sees this problem play out every day.
Business student already in active conversations with some of the bigger schools in the Netherlands. Ready to talk.
Managing interns whom struggle with the same gaps in understanding algorithms and code practices.
We're actively looking for schools to test AlgoStudio with real classes and give us honest feedback. This is not about shipping something and walking away. Harold is already talking to schools in the Netherlands and can get things moving quickly. If you teach CS and want to be part of shaping what this becomes, reach out.