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/0_Intro/2_Intro_Prerequisites.md

48 lines
1.5 KiB
Markdown
Raw Normal View History

2020-06-03 22:48:48 +00:00
---
slug: /intro/prerequisites
2020-06-04 05:39:49 +00:00
title: Prerequisites
author: Nathan Wang
order: 2
2020-06-03 22:48:48 +00:00
---
2020-06-04 05:39:49 +00:00
Here's what you should learn before reading these resources.
2020-06-03 16:39:55 +00:00
2020-06-04 05:39:49 +00:00
<!-- END DESCRIPTION -->
2020-06-03 16:16:21 +00:00
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.
2020-06-03 04:03:02 +00:00
2020-06-08 19:51:58 +00:00
Familiarity with contest math (ex. AIME qualification) is helpful but not required.
2020-06-07 01:05:28 +00:00
Expected Knowledge:
- Variables
- Data types
- Reading Input
- Writing Output
- Loops
- If/else
- Logical operators
- Functions
- Basic Recursion (a function calling itself)
- Arrays
- Multidimensional Arrays
2020-06-08 19:51:58 +00:00
## Introductory Resources
2020-06-03 04:03:02 +00:00
2020-06-08 19:51:58 +00:00
### Learning to Code
2020-06-03 04:03:02 +00:00
2020-06-08 19:51:58 +00:00
[Sololearn](https://www.sololearn.com/) has courses on C++, Java, and Python. You don't have to complete the full course.
2020-06-06 04:28:54 +00:00
2020-06-08 19:51:58 +00:00
- For C++, we recommend you finish Sololearn up to (but not including) "More on Classes."
2020-06-06 04:28:54 +00:00
2020-06-07 01:29:02 +00:00
[[info | Pro Tip]]
| You do not need to learn pointers (for now). Knowledge of structs and classes is useful but not required.
2020-06-08 19:51:58 +00:00
### Getting Started
2020-06-06 04:28:54 +00:00
2020-06-08 19:51:58 +00:00
- [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)