What are Computer Science Contests?
First, this is a rewrite / update of a prior post related to contests. I needed to include some of this again and update quite a bit as the new CS Contest season is underway here in Texas. Texas has tons of contests and I feel the contests are great ways to recruit more students.
Computer Science contests are huge in Texas and they should be huge everywhere. Basically, you have a contest every two weeks if you live in Houston or the surrounding area.
The 7 Lakes Kick-off Classic took place this past Saturday, October 8th. This contest starts off the statewide contest circuit each year. The season wraps up each year in May with the UIL State Academic Meet Computer Science Contest. This state contest is the culmination of all of the local contests.
Each contest typically has a programming component and a written test component. The programming component consists of a packet of problems that each team must attempt to solve. A standard packet will have 12 problems. A more expanded packet may have 18. Each local contest has the option to create their own packet and set the number of problems.
The UIL Computer Science Contest, a statewide contest in Texas, has 12 problems so that is the number most local contests go with. The written component consists of a 40 question multiple-choice test. Test questions focus on logic, algorithms, data-structures, and language features. All tests used in Texas use Java as the testing language.
Why take teams to contests?
Contests force students into a real team environment with the added pressure of finite time. Most programming contests only last two hours and only allow teams to use one computer. Teams must learn how to work together in a timed environment to solve problems. Students learn valuable teamwork and problem-solving skills in these settings each and every time they compete.
Teamwork is key! Each team of 3 students is allowed to use 1 computer. All 3 students must share time and learn to work together to get things done. This is hard for all students, but especially for Computer Science students which typically try to avoid working with other people at all cost. My students experience tremendous positive growth learning to work in these situations.
Another benefit is that many large software companies use similar problems for interviewing purposes as those often seen in contest packets. A common programming problem often involves determining if an exit from a maze exists. A former student of mine was asked to explain solving this exact problem when interviewing for a Google position.
Winning is contagious! Get a few students to go compete and actually win and your enrollment will spike upwards. All students want to be a part of a winner.
How do I get involved and help my students prepare?
If you are in Texas, check my contest dates page. If you are in another state, find out who hosts contests or host your own. Check out my site for information on hosting your own contest. Send me an email if you have questions or want to get started.
Encourage your students to solve lots and lots of problems. I maintain a contest practice site loaded with tons of live problems. USACO and CodingBat are also great resources for live practice. Get your students to “crank code” as much as possible.
Looking forward to a great year
The 2011-2012 season is underway and it looks like we will have an awesome year! Good luck to all!