This repository has been archived on 2022-06-22. You can view files and clone it, but cannot push or open issues or pull requests.
usaco-guide/content/1_Intro/Intro_Prerequisites.md
2020-06-08 20:47:37 -04:00

46 lines
No EOL
1.6 KiB
Markdown

---
slug: /intro/prerequisites
title: Prerequisites
author: Nathan Wang
order: 3
---
Here's what you should learn before reading these resources.
<!-- END DESCRIPTION -->
These resources do **not** teach you how to code. We recommend you learn roughly the first half of AP Computer Science A before continuing. If you do not meet these prerequisites, you can go to the resources below to get started.
Familiarity with [competition math](https://github.com/bqi343/USACO/blob/master/Resources/Competition%20Math.md) (ex. AIME qualification) is helpful but not required.
## Expected Knowledge
- Variables
- Data types
- Reading Input
- Writing Output
- Loops
- If/else
- Logical operators
- Functions
- Basic Recursion (a function calling itself)
- Arrays
- Multidimensional Arrays
## Resources for Learning How to Code
[Sololearn](https://www.sololearn.com/) has courses on C++, Java, and Python. You don't have to complete the full course.
- For C++, we recommend you finish Sololearn up to (but not including) "More on Classes."
[[info | Pro Tip]]
| You do not need to learn pointers (for now). Knowledge of structs and classes is useful but not required.
### Resources for Getting Started
- [CodeSignal](https://codesignal.com/)
- good place to practice basics
- [IOI: Getting Started](https://ioinformatics.org/page/getting-started/14)
- [Philippines OI: Prepare](https://noi.ph/prepare/)
- [Schedule for Beginners](https://www.quora.com/What-is-a-good-schedule-to-follow-for-becoming-better-at-competitive-programming-for-beginners)
- [E869120 Tutorial](http://codeforces.com/blog/entry/53341)