Learn to program by writing code that runs
Snipcode is built for practice and for teaching, not for shipping products. Every exercise carries its own tests, so you find out where you stand the moment you press run.
Practising on your own
Work at your own pace, with feedback on every attempt instead of a mark two weeks later.
Read the brief and write the answer on one screen
Your teacher writes the instructions, the starter file and the tests once. You get all of it in a single view, the brief on one side and your code on the other, so there is never any doubt about what finished looks like.
Instructions
Read the customer age and ticket count. Apply a 25% discount for customers under 13.
def total(age):
# TODO: apply discount
Nothing to set up before your first line
No compiler to install, no environment to repair, no locked down school laptop to argue with. Press run and your code goes to its own container on our servers, with the output back in front of you inside a second.
$ run main.py
Connecting to sandbox…
Enter ticket count: 3
Total: $24.00
Exited with code 0 in 214ms
Catch the typo before you waste a run
Snipcode reads your syntax as you type and underlines the line that is about to break. You fix it where you are standing instead of decoding a stack trace after the fact.
1 def total(items):
2 if items
Expected ':' at Ln 2, Col 12
Sit next to somebody who is not next to you
Start a Cowork session and the other person opens the same file beside you. Their cursor moves while you watch, their changes arrive as they type them, and yours do the same. Invite them with a link, a code you read out, or a square they point a phone camera at. Running is still yours alone — the code is shared, the terminal is not.
Room to practise beyond the set work
The best way to learn a thing is to poke at it. Open an empty Python or Java workspace, try an idea, break it, fix it. Nothing here is marked and everything saves while you type.
src
main.py
utils.py
tests
Main.java
import utils
utils.run()
Teaching a class without the admin
Write the task once and let the tests do the marking. One table shows the whole class.
See who finished and who is stuck, in one table
Every submission runs against your tests the moment it arrives. One table tells you who has opened the work, who has handed it in and who passed, and you never run a file yourself.
| Maya Chen | Passed |
| Sam Ortiz | Submitted |
| Priya Nair | In progress |
Send the handouts along with the tasks
Attach slides, a worksheet or a link to any folder. When a student joins via your invite link, the material is there with the tasks.
- Lesson 3 slides.pdf1.2 MB
- Worksheet.txt4 KB
- Python docs: listsLink
Travels with the course when a student joins.
And the rest of it
The parts that stop mattering as features and start mattering as habits.
Check it before you hand it in
The tests your teacher wrote are yours to run as often as you like. You see which passed and which did not, and what the failing one expected, before anybody else sees anything.
Deadlines that say what they mean
An assignment shows when it is due and how close that is. Some close at the deadline and some stay open and mark themselves late — either way you are told which, not left guessing.
Join by a link
A teacher can hand out one link for a single assignment or a whole folder. Follow it, and the work is in your list.
Nothing to save, nothing to lose
Every keystroke is written as you make it. Close the tab mid-line and it is there when you come back, on whatever device you sign in from.
Readable on a phone
Writing code on a phone is miserable, so Snipcode does not pretend otherwise. Reading is another matter: the brief, your file, the test results and your score are all there.
A version that works with the network off
The desktop app keeps your assignments and your work on the computer, runs them with the Python or Java already installed there, and hands them in once you are back online.
Before you put a class on it
- What does it cost?
- Nothing. There is no plan to pick, no card to enter and no billing code in the product at all — that is a description of how it works today rather than a promise about 2030.
- Where does our data actually sit?
- In the EU. The application runs on a server in Frankfurt and the database is in Stockholm. Nothing is copied to a third country to make a feature work.
- Does every student need their own email address?
- Yes, and this is the honest sticking point for primary schools. An account is an email address and a password; there is no class code that creates thirty pupils without one. If your year group does not have school addresses, that has to be solved before anything else.
- Can students find the answer in the page?
- No. The reference solution is never sent to the browser — not hidden with CSS, not tucked in a script tag, simply not in the response. Tests can be marked hidden too, so a student sees that one failed without being handed the case that catches them out.
- What stops a runaway loop taking the site down?
- Each run gets its own container with 128 MB of memory and 60 seconds on the clock, and the container is destroyed either way. A student who writes `while True` gets their program stopped and everybody else notices nothing.
- The wifi drops mid-lesson. Then what?
- In the browser, work stops — there is no pretending otherwise, because the code runs on our servers rather than the laptop. That is what the desktop version is for: it keeps the assignments and the work on the machine, runs them with the Python or Java already installed there, and sends the finished work once the connection returns.
- Which languages?
- Python and Java.
- Do I need a teacher to use it?
- No. A workspace is yours to practise in whenever you like, with nothing to hand in and nobody marking it.
- A student leaves the school. What happens to their work?
- It stays where it is until somebody removes the account. Nothing expires on its own and nothing is deleted automatically, which is deliberate — work disappearing quietly at the end of a school year is worse than work that outstays its welcome.
- Will it run on the laptops we actually have?
- If the machine opens a modern browser, it works, including the Chromebooks most schools hand out. Nothing is compiled locally, so an old processor costs you nothing.
