Is Kattis Suitable for Beginners and How Do You Start?

Updated

Yes. Kattis is suitable for beginners, and the site itself says so: the problem archive welcomes new users and tells them to "just register and start solving." The main catch is that Kattis is a bare problem archive rather than a guided course — it gives you thousands of problems and a difficulty scale, but no lessons or explanations. If you already know the basics of one programming language and want practice, you can start immediately. If you have never written code, you will need a separate learning resource first.

What Kattis Actually Is

Kattis (open.kattis.com) is a programming problem archive. You read a problem statement, write a program that reads input and produces the required output, and submit it. The judge runs your code against test cases and tells you whether it passes.

The homepage describes it plainly: "Here you can find thousands of programming problems to solve. If you're new here you're very much welcome! Just register and start solving."

That is the whole onboarding. There is no tutorial track, no video course, and no explanation of algorithms — just problems, a difficulty rating, and a scoreboard.

Why It Works for Beginners

The difficulty system is the main reason a newcomer can use Kattis without getting lost. Each problem carries a point value that reflects how hard it is, and the homepage groups suggested problems into tiers:

Tier Example problem Points
Trivial Cetvrta 1.3 pt
Trivial Sum Squared Digits Function 1.4 pt
Easy Lawn Mower 1.7 pt
Easy Robot Protection 2.2 pt
Medium Bitmask 3.2 pt
Medium Elliptic Curve Point Multiplication 3.7 pt
Hard Flow Finder 7.7 pt
Hard Pipe Stream 7.8 pt

A beginner should stay in the Trivial and Easy rows until solving them feels routine. The jump from Easy to Medium is real — the Medium and Hard examples above involve bitmasking, elliptic curve arithmetic, and flow problems, which assume you already know specific algorithms.

The "Suggested problems" list on the homepage is the fastest way to find a starting point, because it mixes tiers instead of forcing you to browse the full archive blind.

How to Start, Step by Step

  1. Register an account. The site's own instruction is to register and begin. You need an account for your submissions to be tracked and scored.
  2. Pick a language you already know. Kattis accepts many common languages; the problem is judged on output, not on which language you chose. Use whatever you can already write a loop and read input in.
  3. Solve one Trivial problem first. Take Cetvrta (1.3 pt) or Sum Squared Digits Function (1.4 pt). The goal of the first problem is not the algorithm — it is learning the input/output format, which is where most first submissions fail.
  4. Read the input/output specification twice. Kattis problems state exactly what input looks like and exactly what output must be printed. Extra spaces, missing newlines, or debug text will cause a wrong answer.
  5. Submit and read the verdict. If you get "Wrong Answer," compare your output character by character against the spec. If you get a runtime error, check for array bounds and input parsing.
  6. Move up one tier at a time. Once Trivial feels easy, work through Easy problems. Only then attempt Medium.

What Beginners Should Expect to Struggle With

  • No explanations. When you are stuck, Kattis will not tell you why. You need to debug on your own or look elsewhere.
  • Strict output matching. The judge compares your output to the expected output exactly. A trailing space or a missing final newline is enough to fail.
  • Difficulty is relative. A 1.3-point problem is trivial only if you are comfortable with basic input parsing and arithmetic in your language.
  • Scoring is cumulative. The ranklist on the homepage shows top users with scores in the thousands (the top entry is 18448.0), which reflects years of solving. Do not read the leaderboard as a beginner benchmark.

When Kattis Is the Wrong Choice

Skip Kattis for now if any of these apply:

  • You have not yet written a program that reads input and prints output.
  • You want structured lessons with explanations of algorithms.
  • You want a course with a defined curriculum and deadlines.

In those cases, learn the language basics elsewhere first, then come back — Kattis will still be there, and the Trivial tier will still be waiting.