Expected Knowledge

Authors: Nathan Wang, Benjamin Qi

What you're expected to know before continuing onto the rest of USACO Bronze.

Expected Knowledge

What if I'm not comfortable with basic coding (yet)?

This guide assumes you know the following topics in either C++, Java, or Python:

  • Variables
    • Data types
  • Reading Input
  • Writing Output
  • Loops
  • If / Else
  • Logical operators
  • Functions
    • Basic Recursion (a function calling itself)
  • Arrays
    • Multidimensional Arrays

In particular, contestants using Java should be familiar with roughly the first half of AP Computer Science A.

Getting Started

It's probably best to start with shorter problems than those you typically find in USACO Bronze. The following resources may be helpful for familiarizing yourself with your language of choice.


no need to handle input or output


basic problemsets with and without nested loops


up to and including "Palindrome Reorder"

Introductory USACO Bronze Problems

StatusSourceProblem NameDifficultyTags
BronzeVery Easy
Show TagsSorting
Show TagsSingle Loop
Show TagsNested Loop

Once you're done with these, you should continue onto the rest of Bronze.


Some modules in the "General" section (ex. Fast Input & Output) are not relevant for USACO Bronze. You should skip these for now and return to these later.

Module Progress:

Join the USACO Forum!

Stuck on a problem, or don't understand a module? Join the USACO Forum and get help from other competitive programmers!