Blog
Questions worth a straight answer
Is this language worth learning? Is that editor any good for a beginner? The plan for this section is short, honest answers with runnable code in the article itself, so you can decide by trying rather than by reading someone's opinion.
Getting Started
Decision-stage answers for before you start: which language to try, what tools you actually need, and what this site does and does not do.
Why Pseudocode Comes Before Python or JavaScript
The first language taught here is not a real one, and that is the point.
Python or JavaScript: Which to Try First
Neither is a wrong choice here -- every challenge is written in both, so trying one first does not close off the other.
Do You Need to Install Anything to Learn to Code Here?
No. Everything runs in the browser tab you already have open, including the code itself.
Is a Plain Textarea Good Enough to Learn In, or Do You Need a "Real" Editor?
The editor here is a textarea on purpose. Here is what that costs you, and what it buys back.
What "No Account, No Streak, No Leaderboard" Actually Costs You (and What It Buys Back)
There is a real cost to skipping accounts. There is also a real reason it's the founding rule here rather than an oversight.
Why Nothing You Write Here Is Ever Saved -- and What Download/Save Actually Do Instead
Close the tab and the code is gone. Download and Save are not a quiet exception to that -- here is why.
→Show More
See all 10 Getting Started articles
Practice Notes
Debugging strategies and common mistakes tied to the site's own challenge sets, not generic advice.
Variables & Data: The Scoreboard Mistake Almost Everyone Makes First
CREATE and CHANGE look interchangeable until the interpreter stops you. Here's why they aren't.
Operators & Comparisons: Why an Odd-or-Even Check Gives the Wrong Answer
The remainder is right. The comparison built around it is backwards, and it's an easy way to get it backwards.
Input, Output & Comments: The Answer You Typed Isn't the Type You Think It Is
ASK, input(), and prompt() all hand back text -- even when you typed a number. That difference has to be handled on purpose.
Program Structure & Sequence: Right Steps, Wrong Order
Every line here does something correct. Read top to bottom before deciding the whole program is correct.
Conditions & Branching: "And" vs. Two Separate Ifs
Two conditions that must both be true are one decision, not two. Writing them as two IFs lets either one alone let something through.
Loops & Repetition: The Off-by-One That Shows Up in Every Language
One boundary character decides whether a loop runs the right number of times or stops one short.
→Show More
See all 10 Practice Notes articles
Site Updates
Changelog-style posts when a language, challenge set, or feature ships.
The Blog Now Has Sections
Getting Started, Practice Notes, and Site Updates replace the single empty pillar this section shipped v1 with.
Pseudocode Now Converts Into Python or JavaScript, Right in the Console
Write pseudocode, press Convert, and see the same program in Python or JavaScript -- no extra setup.
Arriving From a Learn to Write Code Lesson? The Practice Set Now Says So
A practice set page now greets you by name when you followed a lesson's "Practice this on Coders Rock" link.
C++ Challenges: The Plan, and Why They're Not Live Yet
The nearest of the three languages still to come, and the interpreter picked out to run it.
C# and Java: The Plan, and the One Dependency It Introduces
Both have a free, workable path to running in the browser. Java's comes with a real trade-off worth stating plainly.