I have had the opportunity over the last 28 years of participating as a coach in high school computer science programming / coding contests.
Why have I stuck with it for so long?
For me, I find the whole process a ton of fun. Seeing students dig in to learn the basics up to advanced topics is fun.
I even had the opportunity to experience the contest process with 2 of my sons, hoping the 3rd guy will get in on the fun as well.
If it was not fun and important, I for sure would not have kept fighting the good fight for so long.
I also like winning. I have been a part of over 14 state championships ( individual and team ) at 3 different high schools.
Why should students get involved?
For the students, there are 2 main points.
First, working as a team is a great skill that takes practice to master.
I think learning team work is often undervalued in many fields, including Computer Science. Teaming is a great way to get things done and a must if participating in contests. As most contest teams consist of 3 members sharing 1 computer, team work can make or break you.
Second, students fully master tons of basic concepts as well as learning algorithms and concepts usually way more advanced than what is covered in class.
I hear from students regularly that college has been easy due all that they learned as part of the computer science team. The same holds true for job and internship interviews.
Many of my students stress that working so many contest problems preparing for and participating at contests made technical interviews really easy.
Many of the contest problem concepts learned as a member of a computer science team are the same concepts used when creating technical interview questions as well as those encountered in upper level college courses.
Solving a maze problem preparing for a contest sure takes the pressure off when seeing a maze problem as part of a technical interview. I have had former students interview with companies all over and many if not all have stated how well the contest process prepared them.
Some of the common computer science concepts seen as interview questions that are also part of contests include – Mazes, Data Structures, and Dynamic Programming.
Most high school classes just do not have time to break down all of the concepts that are part of contests. It really does require practice outside of the classroom both individually and part of practice sessions. Contests provide a venue and a goal for learning more advanced concepts and algorithms.
I have seen students that were not really motivated to learn more than the minimum rise up and learn way more than expected once they got into the experience of participating at contests and getting in on the winning fun.
To wrap up, get your students involved in face to face contests or virtual contests. If there are no contests in your area, be the first one to host a contest. Reach out and I will be more than happy to help.
Looking for contests – https://www.apluscompsci.com/cs_cont_list.htm
Need help getting started – https://www.apluscompsci.com/contestmaterial.htm
Email me if you need help.