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
Getting Started
Start here if you're new to competitive programming.
Using This Guide
How to effectively use this guide to maximize your productivity.
Introduction to Competitive Programming
Programming competitions, including the USA Computing Olympiad.
Choosing a Language
What languages you can use for programming contests.
Resources: Learning to Code
Resources for learning how to code.
Running Code Online
Options for running your language of choice online.
Data Types
The data types needed for competitive programming.
Input & Output
How to read input and print output for USACO contests.
Expected Knowledge
What you're expected to know before continuing onto the rest of USACO Bronze.
Contributing
How you can add content to the guide.
Contributing
How to contribute.
Adding Solutions
How to add your own solutions to the guide.
Introducing Modules
How each module is structured.
Working With MDX
Explanation of the frontmatter that precedes every module and solution, and a list of custom components that may be used within modules or solutions.
General Resources
Useful for competitors of all levels.
How to Debug
What to do when your solution doesn't work.
How to Practice
How to practice and when to read editorials (analyses) according to various USACO competitors.
Contest Strategy
General ideas on how to strategize during a USACO contest.
Resources: Competitive Programming
Helpful links specifically for competitive programming.
Contests
Well-known programming contests and helpful tools for programming contests.
Updated: 2 days ago
Olympiads
Major (inter)national olympiads in informatics.
Language-Specific
Setup instructions and discussion of language-specific features.
Running Code Locally
Options for running your language of choice locally.
C++ With the Command Line
OS-specific instructions for installing and running C++ via the command line.
Fast Input & Output
Demonstrates how I/O speed can be the difference between TLE and AC.
Basic Debugging
How to identify errors within your program or avoid them in the first place.
Debugging C++
Debugging tips specific to C++.
(Optional) C++ - Writing Generic Code
Writing code that can easily be reused or extended.
(Optional) C++ - Lambda Expressions
Defining anonymous function objects.
USA
Information specific to USACO as well as USA camps and contests.