Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is Kattis?
Kattis is an online archive of programming problems that you solve by submitting code, which is then judged automatically against test data. The archive page describes "thousands of programming problems to solve" and invites newcomers to register and start solving.
It suits several kinds of people:
- Students in algorithms or data-structures courses, since many university courses run their assignments through Kattis-style judges.
- Competitive programmers practising for contests, using the ranklists to gauge progress.
- Job candidates at companies that use automated problem sets as a screening step.
- Self-learners who want graded exercises rather than tutorials.
How the archive is organised
Problems carry a difficulty rating in points, and the front page groups suggested problems into bands:
| Band | Example problems | Points |
|---|---|---|
| Trivial | Cetvrta | 1.3 |
| Easy | Sum Squared Digits Function, Lawn Mower, Robot Protection | 1.4–2.2 |
| Medium | Bitmask, Elliptic Curve Point Multiplication | 3.2–3.7 |
| Hard | Flow Finder, Pipe Stream | 7.7–7.8 |
A sensible starting point is to pick one problem at the easiest band, submit a solution, and read the judge's verdict carefully — the feedback tells you whether you failed on correctness, time limit or runtime error, which is the main skill the site trains. Move up a band only once you solve consistently at the current one.
The site also publishes leaderboards for individual users, affiliations and countries. These are useful for finding peers at your own university or country, but treat them as motivation rather than a measure of ability: scores accumulate over time, so long-standing accounts naturally rank high.
For structured practice with editorial explanations and a gentler learning curve, LeetCode and Codeforces cover similar ground with different emphasis — Kattis leans more toward academic and contest-style problem sets.
How do I create an account on Kattis and start solving problems?
Register at Kattis and you land in a problem archive with thousands of tasks, sorted by difficulty. The homepage shows a suggested-problems list with point values, so you can pick a starting point instead of browsing blindly.
A practical first session
- Create your account on the Kattis site, then open one of the suggested "Trivial" or "Easy" problems — the archive labels them with points, such as 1.3 pt for Cetvrta or 1.4 pt for Sum Squared Digits Function.
- Read the problem statement and note the input/output format; Kattis judges your program by running it against hidden test cases, so exact formatting matters.
- Submit a solution in one of the supported languages, read the verdict, and fix the specific failure (wrong answer, time limit, runtime error) rather than rewriting everything.
- Move up gradually: the list moves from Trivial and Easy through Medium (Bitmask, 3.2 pt; Elliptic Curve Point Multiplication, 3.7 pt) to Hard (Flow Finder, 7.7 pt).
What the site adds beyond the problems
| Feature | What it gives you |
|---|---|
| Suggested problems with points | A rough difficulty signal for choosing your next task |
| Ranklist | Individual scores, e.g. top users in the tens of thousands of points |
| Affiliations | University standings, such as National University of Singapore and Aarhus University near the top |
| Countries | National standings, led in the sample by the United States and Canada |
Who this suits
- Beginners who want graded practice with immediate automated feedback.
- Students preparing for contests or interviews, since the archive mixes classic exercises with harder algorithmic problems.
- Course and club members: affiliations and country rankings make it easy to compare progress within a group.
The trade-off is that difficulty points and ranklists measure volume and persistence as much as skill, and a hard problem can stall you for hours. If you are new, cap your attempts: give a problem 30–45 minutes, then read an editorial or discuss it, and return later. That keeps momentum while still building the debugging habits the judge rewards.
What do the difficulty points and problem levels on Kattis mean?
The points shown next to a Kattis problem are difficulty ratings, not a score you earn for solving it. Each problem carries a point value (for example, 1.3 pt for a "Trivial" problem or 7.7 pt for a "Hard" one), and the site groups problems into bands such as Trivial, Easy, Medium and Hard. The higher the number, the harder the problem is generally considered to be.
Two things are worth separating:
- Problem difficulty points describe how challenging the problem is estimated to be. They help you pick something at your level.
- Your score on the ranklist is accumulated from the problems you solve. The top users on the ranklist have totals in the thousands, built up across many solved problems over time.
So a beginner might start with the lowest-rated problems and work upward, while an experienced competitive programmer might jump into the Medium and Hard bands. The bands are a rough guide, not a strict rule — a problem that feels easy to one person can be tricky for another depending on which techniques they know.
A practical way to choose
If you are new, filter or sort by the lowest point values first and solve a handful before moving up. If you already know your strengths (say, graph algorithms or number theory), you can skip ahead to problems in a band that matches your comfort level. Treat a jump of more than about one band as a deliberate stretch rather than your default.
The ranklist and the affiliation and country tables are there for context and motivation, not as a target you need to match. They show that consistent solving over time matters more than any single hard problem.
A useful next step: pick two problems from the Trivial or Easy band, solve them, then try one from the next band up. If the jump feels too steep, stay in the lower band a while longer.
How can I use Kattis to prepare for programming interviews or contests?
Kattis works best as a large practice bank with built-in difficulty ratings, so you can train deliberately for either interviews or contests instead of solving random problems. The archive lists problems by point value, from trivial (around 1.3) to hard (7.7+), which gives you a rough ladder to climb.
For interview preparation
Interview questions usually resemble the easy-to-medium range: arrays, strings, sorting, hash maps, greedy choices, simple dynamic programming and graph traversal. On Kattis, that maps roughly to the 1.3–3.7 point band. A practical routine:
- Solve several 1.3–1.7 point problems quickly to build fluency and clean input/output habits.
- Move to 2.2–3.2 point problems and time yourself, since interviews reward speed under mild pressure.
- After each problem, write down the pattern you used (two pointers, BFS, prefix sums) rather than just the answer.
- Re-solve anything that took more than about 30 minutes a week later.
The main trade-off: Kattis problems are self-contained with strict input/output formats, while interviews often involve discussion, edge cases and explaining trade-offs aloud. Use Kattis for coding muscle, but practice narrating your approach separately.
For contest preparation
Contests reward breadth, speed and the ability to judge which problem is worth attempting. Kattis supports this directly:
- Use the difficulty points to decide solving order in a mock contest: sweep the easy tier first, then pick medium problems by topic strength.
- Track your submissions and revisit failures; wrong-answer patterns usually reveal weak areas faster than reading editorials.
- The ranklists show that top solvers accumulate tens of thousands of points, so treat the leaderboard as a long-term signal, not a short-term target.
A concrete next step
Pick one topic you find shaky, filter for problems in the 2.2–3.7 range, and aim to solve five of them in a week. If you want structured contest-style practice with editorial discussion, Codeforces complements Kattis well; for interview-focused sets with company tags, LeetCode is the more direct fit. Kattis itself is strongest when you want volume, transparent difficulty ratings and a competitive scoreboard.
What are the ranklist, affiliations, and countries sections on Kattis?
The Kattis homepage shows three leaderboards that slice the same scoring data in different ways: Ranklist for individual users, Affiliations for schools or organizations, and Countries for national totals.
What each section tracks
| Section | Ranked unit | Example from the page | Best for |
|---|---|---|---|
| Ranklist | Individual solver | #1 Nick Wu, 18448.0 | Judging personal progress or benchmarking against top solvers |
| Affiliations | University, company or club | #1 National University of Singapore, 7,926.9 | Comparing schools, planning training, recruiting |
| Countries | Country | #1 United States, 9,673.7 | Seeing which regions dominate, or where your country stands |
Each row pairs a name with a cumulative score. The page labels the column "Score [?]", so the exact formula is not spelled out on the homepage itself, but the same number drives all three boards. That means an affiliation's or country's total reflects the combined scores of its members, which is why large or highly active institutions tend to appear near the top — National University of Singapore, Aarhus University and KTH Royal Institute of Technology in the affiliations list, for instance.
How to use them
- If you are practicing for interviews or contests: check the Ranklist to see what a realistic top score looks like, then filter your own progress against it over time.
- If you run a course or student club: the Affiliations board is the natural comparison point. It shows whether your institution is climbing, and by how much.
- If you are choosing where to study or hire: the Country and Affiliation boards give a rough signal of which regions and schools produce strong competitive programmers. Treat it as one signal, not a ranking of teaching quality — participation volume matters as much as skill.
A quick next step: register, solve a few problems, and watch your own name move through the Ranklist. The page's Suggested problems list — Trivial (Cetvrta, 1.3 pt), Easy (Lawn Mower, 1.7 pt), Medium (Bitmask, 3.2 pt), Hard (Flow Finder, 7.7 pt) — gives you a difficulty ladder to start on. The same site is also used for university courses and open contests; Kattis hosts those alongside the public archive.
Can I submit solutions in different programming languages on Kattis?
Yes. Kattis accepts submissions in many common programming languages, so you are not locked into one language for a given problem. The archive's framing around solving thousands of problems and its global ranklists imply a multi-language judge rather than a single-language contest site.
H3 Practical implications
- Language choice is per submission, not per account. You can solve one problem in Python and the next in C++ without changing settings.
- The judge compiles and runs your code, so it must be self-contained. Standard input and output are the norm; avoid relying on local files or interactive prompts.
- Performance varies by language. A brute-force Python solution may time out where the same logic in C++ passes. If a problem sits in the higher difficulty bands, expect tighter limits.
- Exact language lists change over time. Check the submission page's language dropdown for the current options rather than assuming a specific version.
H3 A concrete scenario
Suppose you are working through the suggested problems shown on the archive page. You might use Python for the trivial ones to move quickly, then switch to C++ or Java once you reach the medium and hard tiers where constant factors matter. Your ranklist score accumulates across all of it, so mixing languages costs you nothing.
H3 How to decide
- Prototype in the language you think fastest in. Get a correct solution first.
- If it times out, port the hot loop to a compiled language rather than rewriting everything.
- Check the problem's input size before choosing: large inputs plus tight limits favor C++ or Java.
- Confirm the language is offered on the submit form for that specific problem.
Start by registering and opening any suggested problem, then look at the language selector on its submission page to see exactly what is available to you. For broader practice across judges, Kattis itself is the relevant archive here.
User reviews (0)