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 16:42:55 -04:00

48 lines
No EOL
1.5 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 contest math (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
## Introductory Resources
### Learning 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)