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!

Racket - Windows/OSX/Linux

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:

Racket programming projects

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.

SICP PDF
SICP Online

Do the SICP exercises with Racket and compare your solutions to mine here:

Racketry

Paradigms of Artificial Intelligence Programming (PAIP) is another great book, the classic on artificial intelligence. The new two-part online vesion looks great:

PAIP

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!

Project Euler

start - ted szylowiec