What language do you recommend for students in the Bronze level?
The 3 main choices are Python, Java, and C++. A student can start with any of these successfully. C++ programs run faster than Java or Python programs. But for Bronze, I recommend Python. Python is an expressive and compact language, and a student can program a solution most easily in it. Python programs run fast enough for Bronze. It also takes less time to write a Python program, something that’s very important in a competition. You may have heard that C++ is the ideal language for competitive coding. Yes, it’s great for Silver and above, but it’s also a harder and more complex language. It’s fine to start with Python, and a student will learn lessons that transfer easily to C++ when the time comes.
How do I know if my student is ready for USACO study?
First, your student must have moderate skills in at least 1 language. (I can evaluate this at our first session.) Second, your student must show some aptitude at creative, outside-the-box thinking. They don’t have to put it all together in the beginning, but they do need some natural ability to work with difficult problems that require creative solutions.
What benefits will my student get from USACO study?
They will learn an enormous amount of computer science. They will have the satisfaction of seeing their score improve over time. Brian Dean, the USACO organizer, has said that colleges respond positively to USACO participation on applications. One side benefit of USACO study is that it’s challenging material, even harder than first-year college classes, so they will excel in college if they choose a CS major.
Will my student qualify for Silver?
USACO has gotten harder as participation grows. Participants are better prepared than in the past. It takes a lot of work, somewhere between 5 and 10 hours per week of practice. Provided your student is dedicating this much time, they will easily reach Silver and it will probably take a year. The easiest Bronze test to pass is the December test.
Even if your student doesn’t reach Silver, they will improve their score on Bronze and get excellent training in coding and computer science.
Whatever happens, I will keep working with your student and make the best progress we can.