--- id: using-this-guide title: Using This Guide author: Nathan Wang, Benjamin Qi description: How to effectively use this guide to maximize your time. prerequisites: - None! --- ## Skipping Around Skipping around is especially recommended for higher level contestants (Gold/Platinum). Feel free to mark a module as "Skipped" and come back to it at a later time! For lower level contestants, the guide is generally designed to be completed in order. There are some exceptions; for example, the last module in "Silver -> Sorting" assumes knowledge of the first two modules in "Silver -> Ordered Sets & Maps." In any case, we will list **prerequisites** to each module as needed. ## The General Section The following _section_ (not module!) "General" will contain a list of modules not specific to any division. We recommend you read through the ones you find interesting, but **skip the ones that aren't relevant to you!**However, it's a good idea to read them all eventually :) This is especially true for those just getting started with Competitive Programming. ## Features of this Guide As you use this guide, here are some features that you may find helpful: 1. Use the "Module Progress" dropdowns to track your progress through this guide! 2. Use the "Complain"Suggestions can be reported here, too! or "Get Help" buttons on the bottom left corner of the screen as needed. 3. If you're not sure which problems/resources to do, try doing the starred ones first. ## About This Guide ### Guidelines - For Bronze, Silver, and Gold contestants, we aim to be a "**one stop shop**," meaning that this is the only site you have to use to be exposed to most (if not all) of the topics required for Bronze - Gold.Of course, you should still use other websites as necessary. - **Don’t Reinvent the Wheel**: we'll link to online resources that already exist whenever possible instead of rewriting tutorials ourselves. - **Not *Just* a Collection of Links**: We'll provide notes and star certain links to help you choose which to use and which to skip. - For Platinum contestants, there are too many topics for us to effectively cover all of them. - We'll try our best to cover the main topics, but if you want to do well in Platinum, you will have to find additional resources on your own in addition to this site. - Platinum modules may have more vague explanations compared to earlier divisions. If you're confused, you'll have to research the topic more on your own. ### Modules All material in this guide will be grouped into **modules** such as the one you're reading right now. #### Lesson - Goal is to introduce you to the concept. - Everything is meant to be completed in order. - Usually begins with at least one standard problem. - External resources (text, possibly videos) will generally be placed in tables like the one above. Generally, we'll **star** those that are most useful for beginners. If we want you to spend time thinking about a sample problem before checking the solution we'll place the solution in **spoiler blocks** like this. It's okay to skip over these. Some material in these boxes might not be useful for competitive programming. #### Implementations With examples of usage if not already provided in one of the resources above. - For Bronze and Silver, we will provide code snippets in C++, Java, and Python. - For Gold, we will provide code snippets in C++ and Java and (sometimes) Python. - For Platinum, code snippets may only be provided in one language (typically either C++ or Java). Will contain common errors that you should avoid. #### Practice Maybe helpful bits of advice. - Link the relevant past USACO problems (and other recommended problems). - Problems should be sorted in order of how they are recommended be completed. - Add comments regarding solution sketches. - Possibly include additional problems. #### Difficulty These range from "Very Easy" to "Insane." Difficulty is **not** comparable across modules (even of the same division). "Intro" refers to a problem that just asks you to implement a standard algorithm or data structure. ## For Contributors We welcome any and all contributions to this site! Please reach out to the guide coordinator, [Nathan Wang](mailto:nathan.r.wang@gmail.com), to get started. ## For Instructors If you're an instructor/club officer teaching for **free**, please feel free to use whatever parts you'd like from this guide, though please provide credit + a link to this site! Additionally, feel free to [reach out to us](mailto:nathan.r.wang@gmail.com) if you have a specific request for what material you'd find helpful. _Licensing notes_: No part of this site may be used,Exceptions exist (generally for free classes); see the full license for more details reproduced, redistributed, commercialized, or sold without prior written permission. [Learn more here.](/license)