To be ready for the USA Computing Olympiad (USACO), one needs an organised plan, regular work, and some practice with programming and algorithms. Learn a programming language first — C++, Java, or Python, preferably C++ if you are going into competitive programming. Once you are comfortable with syntax and the basics, get into important data structures (arrays, maps, sets) and algorithms, like binary search or sorting.
Start solving USACO problems from the Bronze division and work your way up through harder divisions. Use OS Resources (USACO Guide, Codeforces, and AtCoder for tutorials and problems/solutions/training topics corresponding to each of the USACO contest tiers).
You need time-management and analytical skills to be developed; therefore, work out under contest-like conditions to get better at speed as well as accuracy.
Interact with online community/either make study gruops or connect online to exchange ideas, solutions and keep motivated. With adequate practice, lots of reviewing, and a dedication and ability to improve in the areas where you make mistakes students can slowly work up from Bronze in USACO to Platinum.