AlgoScope
Help

How this works, and what to do when it does not

The questions worth answering about AlgoScope, in roughly the order somebody meets them. If yours is not here, the address at the bottom reaches a person.

The short version

What is a lesson, and how do I drive it?

A lesson is one run of an algorithm, recorded step by step by the engine that executed it. Each step is one meaningful change - a comparison, a swap, a pointer move, a node linked - and the picture, the highlighted code line and the variables are three views of that same step, so they cannot disagree with each other.

Without JavaScript a lesson page still reads, and reads in full: the first frame, the explanation, the questions and the whole run written out step by step come from the server, as do the complexity, what it is used for, the notes and the references. What needs JavaScript is the interactive half - stepping, predict mode, your own input and the editor.

Do I need an account?

No, and not for anything on the site. All 382 topics across 102 lessons open without signing in, including predict mode, running a lesson on your own input and writing your own implementation. Nothing is gated and nothing asks you to register to see the rest of an explanation.

An account adds one thing, which is memory across devices: the step you reached in every run, and every prediction you answered, with a dashboard that counts lessons started and finished and your prediction accuracy. Without one, the step you reached is still remembered - in this browser, by this browser.

I have progress without an account. Will signing in bring it with me?

No. Progress made as a guest is written into your own browser storage and is never uploaded, and that stays true on the day you sign in: the account starts its own count rather than absorbing what the browser had. Nothing is deleted - sign out and the guest record is where it was - but the two are not merged. If crossing devices matters to you, signing in before you start is the cheaper order to do it in.

What is a track, and how is progress against one counted?

A track is an ordered path through the curriculum where every stop is one screen and nothing arrives before the thing it depends on. Today there are 2: Foundations and Interview Core. The tracks page shows the whole path of each.

Nothing is stored per track. A track's count is the overlap between its stops and the screens you have finished, which has three consequences worth knowing: switching track loses nothing, a stop added to a track already carries the credit for a screen you finished last month, and Continue skips a stop you have done rather than sending you back to it. Because the overlap is computed against whatever progress you have, a track counts correctly for a reader who has never signed in.

Can I run a lesson on my own values?

Yes, on every lesson. Each one describes its own input, so the form you get asks for what that algorithm actually takes, and Run produces a new recorded run you step through exactly like the ones that ship.

Can I write the algorithm myself?

On 39 of the 102 lessons there is a write it yourself section, in JavaScript or Python. The cases are that lesson's own examples and the expected answers come from the engine's run of them, so passing here means agreeing with the visualization rather than with a test somebody wrote separately.

The lessons without an editor are a decision rather than a gap, and each one records its reason: some teach a way of looking at a run rather than a function, some take input the harness does not parse, some are answered by a shape the test panel cannot express, and some have a one-line answer that would teach nobody anything. A test fails if a lesson is on neither list, so the triage cannot quietly rot.

Why is the code beside the steps in Kotlin?

Because it is the implementation that produced the steps. One engine records every run for the browser and for both apps, and each step carries the line number of the line that ran, which is a line of that engine. A listing translated into another language can ride alongside it, mapped line for line, and none has been written yet - so today every lesson's pane is the Kotlin the engine ran. The editor takes JavaScript or Python, because that half is yours to write.

How do I sign in, and what if I cannot?

One outcome surprises people. If you set a password, then signed in by link before the address was ever confirmed, the password is dropped. A password set before anybody proved they hold the mailbox could have been set by somebody else, so it does not survive the proof. Set a new one in settings and it stays.

What email will I get, and how do I stop it?

Two kinds, and only one of them has a switch. Sign-in links and address confirmations are answers to something you did, so there is no setting for them. Product updates and reminders are optional and are off unless you turn them on, in settings.

Every optional email carries an unsubscribe link that needs no sign-in and takes effect as the page opens, and the header your mail client uses for its own unsubscribe button is on all of them, so either route works. If you unsubscribe, or a message to your address bounces, the address goes on a do-not-send list, and that list survives deleting the account on purpose: forgetting that you asked to be left alone would be worse.

How do I delete my account, or just make it stop?

You can do it yourself in one screen, immediately, with no email to anybody and nobody to approve it. Deleting your account says what is removed and what to do if you cannot sign in.

There is a gentler option in the same place, and most people looking for a delete button want that one: switching the account off signs you out everywhere and stops every optional email while leaving your progress exactly where it is. Signing in again turns it back on.

Two other things live in settings: a download of everything held about your account, as a file, and correcting your name or address. Privacy lists what is kept, what is in your browser rather than on a server, and what the site measures.

What does it cost, and how do I buy it?

It costs nothing, and there is nothing to buy. This site has no checkout, no price on any page, no paid feature and no way to purchase one. Every lesson, every track, running a lesson on your own input and the editor are free, and so is an account.

The home page names three things that are not released - your own code driving the visualization step by step, a diff against the reference run, and a readiness score. They are described as where this is going, and that is all they are: none is on sale, none is behind a sign-up, and there is nothing here about how to pay for them because there is no way to.

It follows that there is nothing to restore on a new device and nothing to refund. If that changes, four answers arrive here before anybody is asked for money rather than after: how to buy on the web and inside an app, how to get a purchase back on a device you have just set up, what to do when a payment fails, and the refund position in plain words - including which refunds are Apple's and Google's to give rather than ours, because a purchase made through a store is refunded by that store. Terms carries the same promise.

What about the iOS and Android apps?

They run the same engine on the same recorded runs, so a lesson behaves identically wherever you open it, and they work with no connection at all. They have no accounts: they store nothing about you and make no network requests, which means there is nothing to sign in to, nothing to delete and no progress shared with this site. Removing the app removes everything it kept. Their privacy policy is shorter than the one here for exactly that reason.

Neither is in the App Store or on Google Play yet, so there is nothing to install today. And the browser is not the offline half: a tab needs a connection to load a lesson.

Something in a lesson looks wrong

Worth reporting, and it gets fixed. Lessons are generated from one curriculum registry, so a wrong explanation is usually wrong in a single place and corrected once. Contact has the four things that make a report fixable in one pass, and the issue tracker where the fixes are recorded.

Before that, it is worth stepping back through the run once. The frames are the engine's own, so a surprise is often the algorithm doing something genuinely counterintuitive, which is the part worth knowing.

Still stuck, or want to ask something else

Write to contact@nublabs.com. A person reads it, there is no ticket queue and there is no response-time promise, which is the honest version of what a small project can offer. The other routes are on contact.

If what you actually want is somewhere to start, the tracks are an ordered path rather than 29 categories to choose between, and explore searches all 382 topics by name.