There is no minimum age for any course, but here are some guidelines: If you are getting stuck, try doing the previous course. If you are getting stuck on course 1, complete the lessons on "Learn C++" even if you already know C++. If "Learn C++" is too complicated, then try again in a year. If you would like to see substantial progress, put in several hours a week.

Here are the free courses:

Step 1

Step 2:

Step 3:

Learn coding syntax to write your first program!
(USACO Bronze and Codeforces Div 2 A/B Curriculum)

If you can write simple programs (using tools like loops), learn algorithms and data structures.
(USACO Silver/Gold and Codeforces Div 2 B/C/D Curriculum)

Once you know all the standard algorithms and data structures, apply them to hard problems to score higher in programming competitions.
(USACO Platinum and Codeforces Div 2 D/E , Div 1 D curriculum)

For more detailed preparation for USACO Platinum or high gold competitors with the goal of making USACO camp, I am in the process of making a new course. This course will be self-paced and contain mostly USACO Platinum level problems sorted by topic and difficulty. Each problem will have a very detailed tutorials (different from the official editorial), most of which will include question and answer style hints to guide you towards the answer and teach you how to think about similar problems in the future. Each problem will also have a video solution where the idea will be explained, and then the code will be written. If you are interested in such a course, please fill out the form. If you give feedback, the course will be designed with your feedback in mind.

This course will take 1-3 months to complete, depending how much you practice per day. Note that unlike the previous courses, this course isn't free. If you don't want to pay for a course, that is fine, and you can refer to the three previous courses above. This course is for people who want a very detailed curriculum to help them do well on USACO Platinum contests.

Here is the survey: