GET STARTED
Get started on math problems
Begin with these problems. They were done with grade 7 students. A good place to start. If you don’t understand something, move on to the next problem. Most of the problems are arranged in progressions: doing one gives you clues and ideas for doing later ones.
Arithmetic and combinatorics I
Arithmetic and combinatorics II
Problems on sequences and golden ratio
Then do these problem sets, which were used with grade 8 students:
Intro to competition problems
More competition problems
The first methodically develops ideas involved in solving some interesting problems from Russian books. The second is a collection of applied problems.
And then finally you can try these:
Patterns in Pascal’s triangle
Polygonal numbers investigation
The first is an in-depth study of Pascal’s triangle through 90+ problems, many of them solved. Pascal’s triangle is particularly important, since there is hardly a competition that doesn’t ask a question involving binomial numbers in one way or another. The second document is a development of techniques for solving a famous problem about polygonal numbers.
Get started on programming
Dive right into computer science. We often use programming to analyze math problems. It’s very helpful to see how problems behave computationally. Don’t be scared of this, just start writing code. You learn by doing: there is no other way. Get Racket: it’s easy to install, intuitive, and easy to learn. I had great success teaching programming – even to grade 6 – using Racket! Download it and play with it!
Then do as many of these exercises as you can:
Racket computer science I
Racket computer science II
Work on these projects:
A study of binomials with Racket
Binomials and recursion with Racket
Geometry with Racket
Watch these videos:
Especially the one about the Sierpinski triangle. And of course follow my blog to see examples of Racket in action.
SICP and PAIP
Structure and interpretation of Computer Programs (SICP) is considered by many to be the greatest computer science textbook ever written. This book was formerly used at MIT. Here are links to the new PDF and online HTML5 versions.
Do the SICP exercises with Racket and compare your solutions to mine here:
Paradigms of Artificial Intelligence Programming (PAIP) is another great book, the classic on artificial intelligence. The new two-part online vesion looks great:
PAIP is done in Common Lisp, but it’s not too hard to translate the projects, code and ideas into Racket. It would be good training for you to do so.
Project Euler
When you feel ready, you can use your programming skills for solving Project Euler problems!