General
You don't have to complete all the modules in this section before moving on to Bronze.
Feel free to mark some as "skipped" and revisit them at a later time!
Modules Progress
Problems Progress
About This Guide
In this first chapter, you'll learn about how this guide is structured and how best to use this guide.
Getting Started
Start here if you're new to competitive programming.
Introduction to Competitive Programming
What is competitive programming? Let's take a look!
Updated: 2 hours ago
Choosing a Language
What languages you can use for programming contests.
Updated: 3 weeks ago
Resources: Learning to Code
Resources for learning how to code.
Updated: 2 hours ago
Running Code Online
Options for running your language of choice online.
Updated: 2 hours ago
Data Types
Overview of the basic data types needed for competitive programming.
Updated: 2 hours ago
Input & Output
Demonstrates how to read input and print output for USACO contests, including an example problem.
Updated: 2 hours ago
Expected Knowledge
What you're expected to know before continuing onto the rest of USACO Bronze.
Updated: 2 hours ago
General
Useful for competitors of all levels.
How To Debug
General tips for identifying errors within your program.
Updated: 2 hours ago
How to Practice
How to practice and when to read editorials (analyses) according to various USACO competitors.
Updated: 3 weeks ago
Contest Strategy
General ideas on how to strategize during a USACO contest.
Updated: 3 weeks ago
Resources: Competitive Programming
Helpful links specifically for competitive programming.
Updated: 2 hours ago
Contests
Good contests to participate in as well as a few tools.
Updated: 2 hours ago
Olympiads
Once you've reached Platinum, it may be helpful to practice with problems from other (inter)national Olympiads.
Updated: 2 hours ago
Language-Specific
Setup instructions and discussion of language-specific features.
Factors to Consider When Choosing a Language
Reasons why choice of language matters significantly outside of USACO Bronze.
Updated: 2 hours ago
Running Code Locally
Options for running your language of choice locally.
Updated: 2 hours ago
C++ With the Command Line
OS-specific instructions for installing and running C++ via the command line.
Updated: 2 hours ago
Debugging (Language-Specific)
Identifying errors within your program and how to avoid them in the first place.
Updated: 2 hours ago
Fast Input & Output
Speeding up I/O speeds can make a substantial difference in problems with large inputs.
Updated: 2 hours ago
(Optional) C++ - Writing Generic Code
Writing code that can easily be reused or extended.
Updated: 2 hours ago
(Optional) C++ - Lambda Expressions
Defining anonymous function objects.
Updated: 3 weeks ago
(Optional) C++ - Additional Notes About Data Structures
Issues that you should be aware of.
Updated: 2 hours ago
USA
Information specific to USACO as well as USA camps and contests.