---
id: expected
title: Expected Knowledge
author: Nathan Wang, Benjamin Qi
description: What you're expected to know before continuing to "Bronze."
---
import { Problem } from "../models";
export const metadata = {
problems: {
general: [
new Problem("Bronze", "Promotion Counting", "591", "Very Easy"),
new Problem("Bronze", "Word Processor", "987", "Very Easy"),
new Problem("Bronze", "Square Pasture", "663", "Very Easy"),
new Problem("Bronze", "Bucket Brigade", "939", "Very Easy"),
]
}
};
The remainder of this guide assumes that you know the basics of how to code in one of the languages listed above, including the following topics:
- 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. Familiarity with [competition math](https://github.com/bqi343/USACO/blob/master/Resources/Competition%20Math.md) (ex. AIME qualification) is helpful but not required.
## Introductory Problems
The following require relatively little programming experience and no algorithmic knowledge. You should know how to do each of these before moving onto the remainder of Bronze.
Also check the [CSES Introductory Problems](https://cses.fi/problemset/list/) up to and including "Palindrome Reorder."
## Getting Started
You may find the following resources helpful for familiarizing yourself with your language of choice.
can practice basics
lots of links!
basic problems, mostly loops
not up to date
generally good, although CSES problemset (see "Resources") is definitely a better place to start than USACO Training or Codechef