Many of our summer interns are future computer scientists/engineers. Coding is the foundation for a career in almost any computer or data related fields. I would like to share with you a great way to learn and practice coding.
ACM International Collegiate Programming Contest (ACM ICPC) is the largest and most important programming contest in the world. Students from top CS schools around the world compete in this competition. The U.S. is divided into several different geographic regions. Teams from different schools compete regionally. The top two teams from each region will advance to the world finals.
Each team has three members and are given a set of eight problems. The team that solves the most problems in five hours wins. There are several other rules though. Each submission will be marked as correct, wrong answers or exceeding time limit. There are penalty points for wrong answers or exceeding time limit. In case there are teams with same number of solved problems, penalty points will be compared.
Uva online judge
is developed by University of Valladolid in Spain. This is a platform that integrates a robot that can judge your codes for specific problems including real ACM contest problems. The problems are of various difficulty levels. Some of them require no more than high school math and entry level programming. But others might require advanced algorithm or very strong math skills (I've seen a lot of problems that relates to topology). So it's perfect for learners of all levels (even expert computer scientists). Currently, the platform supports C, C++, JAVA, and PASCAL. You can code in any of these languages. But you can only use standard libraries.
Create an account, browse problems, come up with solutions, and submit. You can even see the stats of the problems you worked on including the number of total submissions, the number of correct ones, the number of people attempted, the number of correct answers, and even the efficiency ranking of your solution!
If, by any chance, you win the world final, it will pretty much guarantee your admission into any top CS Ph.D programs in the country.