A guide I typed up of how to study

CodingBat has many practice problems for various topics relevant for most of ICS3U and some of ICS4U.

Ontario government-sponsored math homework help site. Free online tutoring for grades 7-10.

Reddit thread about getting better grades

Khan Academy has videos and quizzes.

Reddit thread about applying to university if you have no extracurriculars.

Homework is important! Here are a few reasons why:
* You can see what you learned from each lesson
* You can see if you can apply what you learned to solve problems
* You can see what you don't understand, so that you can know what to improve on
* Math is full of procedural skills that you improve by practising
* Programming practice develops problem-solving skills.
* Programming practice improves familiarity with syntax, operators, methods, etc.
* Homework questions are similar to test questions
* You're not just learning content, you're learning how you learn and how to plan your time and take responsibility for yourself.

A common problem students have is that they feel prepared for a test, but "blank", or panic, or something else, and do poorly as a result. Sometimes students leave a test feeling very confident, but actually didn't do well. I've hypothesized a variety of possible explanations:
* In textbook chapter review and most review packages, questions are arranged by topic, so the (not trivial) task of determining "what sort of question is this" is artificially made easier. To combat this, I've encouraged students to choose a question from each section and jumble them up.
* Similarly, by answering the same type of question multiple times in a row, the questions get easier due to repetition. The procedure may be in short-term memory, but to ensure that it's in long-term memory, I encourage students to practise over multiple sessions.
* While doing homework, if a student experiences any mental block, all their resources are at their fingertips. On a test, that's not the case.
* A test has a time constraint that students rarely experience otherwise. I've encouraged students to try a handful of questions in a "test-like" situation: they're not allowed to check any notes, and they have to complete all the problems in a limited amount of time. If they try this well after a session of practise, this may also be a better check of long-term memory.
* Students should check their answers to determine if they were correct. If they weren't, they should follow up by determining where they made a mistake, or if that's not possible, conferring with a classmate or myself. Without checking answers, you might think you were correct when that's not the case.