21 topics

Computer science help, including reading your own error message

The skill that separates students who find programming courses manageable from those who do not is almost never syntax. It is debugging — specifically, reading a stack trace top to bottom and forming a hypothesis before changing anything. Students who change lines at random until the error moves can pass an exam and still find every assignment miserable.

Where students get stuck

My code runs but gives the wrong answer

This is the useful kind of bug, because it means the logic is wrong somewhere specific. Do not re-read the whole file. Pick a point roughly in the middle, print the state there, and check whether it is already wrong. If it is, the bug is above; if not, it is below. Four or five of those halvings will find almost any logic error in a function, and it takes less time than one careful re-read.

Off-by-one errors keep getting me

Almost always the loop boundary. In a zero-indexed language, valid indices run from 0 to length − 1, so `<= length` overruns and `< length − 1` misses the last element. When in doubt, trace the loop by hand with a three-element array — the boundary cases are where the bug lives, and a three-element trace exposes it in under a minute.

I don't get recursion

Stop trying to trace the whole call stack in your head — nobody can, and attempting it is what makes recursion feel impossible. Instead check two things: does the base case stop, and does the recursive call move strictly toward it? If both hold, trust it. The mental move is assuming the function already works for smaller inputs and only writing the step that reduces the problem.

Big-O feels like guessing

Count nested loops over the input. One loop is O(n), a loop inside a loop is O(n²), and halving the search space each step is O(log n). Drop constants and lower-order terms because they stop mattering as n grows. The common trap is a method call inside a loop that is itself O(n) — that makes the whole thing O(n²) even though the code only shows one visible loop.

What's covered

Computer Science topics you can work through with a tutor, generate practice on, or turn into flashcards and a study plan.

Programming fundamentals

  • Variables, types, and control flow
  • Loops, conditionals, and boolean logic
  • Functions, parameters, and scope
  • Arrays and strings
  • File I/O and exceptions
  • Debugging and reading stack traces

Data structures

  • Lists, stacks, and queues
  • Linked lists
  • Hash tables and maps
  • Trees and binary search trees
  • Graphs and traversal
  • Recursion and recursive data structures

Algorithms and analysis

  • Linear and binary search
  • Sorting: selection, insertion, merge, and quicksort
  • Big-O, time and space complexity
  • Greedy algorithms and dynamic programming basics

Design and systems

  • Object-oriented design: classes, inheritance, polymorphism
  • Encapsulation and interfaces
  • Testing and edge cases
  • Version control basics
  • Databases and SQL fundamentals

Computer Science questions

Can it look at my actual code?

Yes — share your screen and it reads your editor, including the error output. Describing a bug in words is usually harder than showing it, and the stack trace often contains the answer already.

Will it just fix my assignment code?

It is built to find the bug with you rather than hand back a rewritten file, which is also the only version that helps on the exam, where you will not have it. If you want it to write code for you, that is a decision between you and your school's academic integrity policy, not a feature we optimise for.

Which languages does it cover?

The common teaching languages — Python, Java, C++, JavaScript, C — plus SQL. Since most intro courses teach the same concepts in different syntax, it can also explain how something you learned in one language maps onto another.

Does it cover AP Computer Science A?

Yes. AP CS A is Java-based and centres on the programming fundamentals, arrays and ArrayLists, inheritance and recursion topics above.

Stuck on computer science right now?

Talk it through out loud, share your screen, and watch it worked out step by step on a whiteboard.

Start free — no card