FAQ

Short answers to common questions

Something missing? The documentation goes into detail, and the source is on GitHub.

Does cstudy need an internet connection?

Only for the one-time setup. The problems, runners and the libraries they need ship with cstudy, so every command works offline afterwards. Java and Kotlin project problems build against libraries that cstudy doctor --fix caches once, online.

Which platforms does it run on?

cstudy is developed and tested on macOS, and installs with Homebrew. The installation guide also gives Linux steps for each toolchain, though some parts, such as debugging Rust, have not been tried on Linux yet.

Do I need every language’s toolchain?

No. uv and Python are required; Node.js and pnpm, JDK 21, Go and Rust are needed only for the languages that use them. cstudy doctor reports what is missing and how to install it.

Which editor do I need?

Any. cstudy start opens the stub and the statement in $VISUAL or $EDITOR, and each language is an ordinary project that any editor with a language server understands. VS Code and IntelliJ IDEA also get ready-made tasks, run configurations and debug configurations.

Where do my solutions and progress live?

In a workspace, a directory of your own that you create with cstudy init. Your solutions and notes are plain files you can keep in git; your attempts and reviews are in progress.db, a SQLite file. cstudy export writes them as JSON you can commit and restore elsewhere with cstudy import.

Are the problems original?

Yes. Every statement, test and reference solution in the catalog is written for cstudy. Well-known problems keep their common names, such as Two Sum, so you can recognise them. The 254 problems in cstudy 0.8.0 are listed in the catalog.

How does it decide what I practise next?

cstudy next first offers a review that is due, weighing how overdue it is and how weak its pattern is. With nothing due, it picks a new problem from the pattern or track where you are weakest, starting with easy problems and opening medium and hard ones as you pass them. See Practising.

Can I add my own problems?

Yes. cstudy new scaffolds a problem in your workspace from a template, cstudy verify checks it, and it joins the catalog for every command. See Writing your own problems.

How do I update cstudy?

Run brew upgrade cstudy, then cstudy doctor --fix in your workspace to refresh its runners and add any new template files, and cstudy ide to update the editor files. See Upgrading.

What does it cost, and what is the licence?

Nothing. cstudy is open source under the MIT licence, which covers both the code and the problem content.