On November 10, 2018, the Department of Computer Science at Eastern Michigan University, and the Michigan Association of Computer Users in Learning (MACUL) Special Interest Group for Computer Science Education (SIGCS), presented its TENTH ANNUAL High School Programming Competition. 158 High school students, their teachers, and over 30 EMU volunteers participated in the event. The competition has recently been expanded to include challenges for students who are considered beginner programmers as well as more advanced problems for those with more experience in programming.
What does it take to put on such a competition?
The event has grown from a handful of volunteers supporting the first event that included 14 student contestants from ONE high school and ONE math and science regional center ten years ago. It has grown to a consistent 54 teams (our current limit), with between 158 to 164 students from around the state!
What you need is the commitment from a LOT of tireless volunteers! The prep for the competition begins several months before the event. In order to “pick a date”, there needs to be assurances that other large events will not interfere with the competition. Then, EMU faculty liaisons connect with catering, EMU Security, parking, and room reservations. Volunteers from the faculty of the Department of Computer Science and MACUL’s SIGCS help with the budget and man-hours.
Within two months of the competition: Programs students will attempt to complete in three-hours-time need to be written and selected. Software in each of the labs needs to be tested and the directions students will need are updated. Announcements need to be sent, so these need to be written! The tee shirt company is contacted and the design is created. And, supplies and ribbons need to be ordered.
The word goes out on the MACUL SIGCS Web site, email is sent to the SIG CS Google group, Facebook and Twitter are a buzz with registration information. Registrations come in up to a week before the event. And, of course, volunteers are sought through email.
Within a week of the competition, all of the competition paperwork is generated: certificates, name tags, team sheets with computer usernames and passwords. And, the program packets are printed for beginner and advanced groups. The tee shirt company is contacted to start production! It is amazing that we get these to the students in time as the tees come all the way from Louisiana!
The day of the competition, the first volunteers (organizers) start trickling in at 7 AM. Then, the mass of volunteers meet for a special meeting at 8:15 before the participants began to arrive.
The competition: Teachers & Mentors, and of course, the students!
Teachers/mentors register the student teams of two or three. The teacher/mentor identifies each team’s programming language preference and environment they will need on the computer, and at which difficulty level they will compete. Beginner level is defined as those who are in their first semester of programming. Advanced is defined as those who are beyond the first semester of programming. We have students programming in Java, C++, and Python (Python was added this year and is currently at the beginner level only.) Each high school may bring up to twelve teams. Maximum of three students per team, minimum of two students per team.
Students and teachers begin to arrive on the day of the competition any time between 9:00 AM and 9:30 AM. After the teacher/mentor picks up their student packets, the teams move on to their designated lab and assigned computer. But, until the competition officially begins at 10:00 AM, they may only “test” the computer software and competition submission site with sample problems. Once the competition begins, the students will work to complete as many of the six assigned problems as they can in the three-hour period (Students bring/use paper reference materials to the competition, but personal electronic equipment and accessing online information may not be used.) During the competition, students become intensely competitive. The labs get eerily quiet. The only people moving through the halls are the “runners” who field questions the students may have (mostly computer or software questions as they can’t help the teams program!)
Once the competition ends, the scoring software stops accepting submissions. Students flood out of the labs. For a period of one hour, the students move over to EMU’s Dining Commons for a buffet-type lunch while the judges finalize the competition results. With the results finalized, certificates are printed.
Students and mentors move back to an auditorium for a presentation of the advantages of getting a degree in computer science, usually given by an invited guest speaker. Then, we move on to present the awards. Awards are presented to the top ten teams in both categories, with the top five teams receiving huge ribbons.
Scoring so many program submissions must be crazy!
Accuracy of results and time to finish determines scoring. Dr. Augustine Ikeji, the Head of the Department of Computer Science at EMU, has written the automatic scoring software that we have used for the competition for the past ten years. He recently updated the software two years ago to a new system that has been used successfully, and smoothly. The top teams are “watched” by a group of judges who have access to the submitted programs during the competition. The judges check to make sure that programs submitted execute as expected. Without having an automatic scoring system, judging this many teams would be an impossible task! Imagine 54 teams submitting several attempts of each program until a successful program has been submitted. Now, multiply that times 6 programs per team! Without having an automatic scoring system, checking this many submissions by hand would be impossible!
Why do we do it?
It’s more than free food and a tee shirt! The goals for this competition are to increase student interest in computer science and to help support high school teachers who are also hoping to attain that goal. We also hope to inspire current and future teachers to consider teaching computer science.
Yes, we work on a shoestring budget and put in a ton of hours. But, the gratitude of the students and teachers that participate in the competition, and the support of the volunteers who also believe in our goals makes it all worth the effort!
Zenia C. Bahorski Ph.D.: Zenia is an Associate Professor of Computer Science at Eastern Michigan University. She can be contacted at .