Some of my students are asking about computer competitions, and I’m not sure how to get started. What are some good contests to participate in, and how do I help my team practice so that they can be successful?
Competitions are a great way to challenge your top students, those who want to develop their problem-solving skills at a higher level. I have asked several of my colleagues about this, and have received so much good advice from them that I have decided to spread it out over the next few blogs.
The most important thing about competitions is to participate in as many as you can. There is no better way to prepare your students for the competitive world out there than to expose them to competitive opportunities now. The teams that win on a consistent basis, year after year, go to many practice contests. Their students are well-prepared, and know how to work together as a team. They are strong individually because they work and practice at their own skills. They know each others’ strengths, and work accordingly.
You can tell the strong teams when you watch them work. One person is at the computer, and the other two are working out solutions on their own. Each team member has a role. Every once in a while one of the other two will act as a navigator, if you will, to the one on the computer, helping with some part of the program being solved, but for the most part, each person is working alone. You can also tell the “one horse” teams, you know, the ones where one person really knows what he or she is doing, and the other two are just along for the ride, filling in the slots to make a team. More often than not, those teams are not successful, like a three-wheeler trying to run on two flat or under-inflated tires. It just doesn’t work very well.
There are four aspects of this question that come to mind that I will address over several posts.
- What contests are available out there?
- What resources are available for preparation?
- What are ways to practice for competitions?
- What are some individual and team strategies that are effective?
Let’s talk about the different contests that are available out there, some online, and some face-to-face. The online ones are much more convenient, but not as effective, in my opinion. The face-to-face contests take time and have travel costs, but in the long run are much more effective.
Here are three options that I used with my students over the years:
- UIL – University Interscholastic League (face-to-face) – this contest is quite likely the most popular one in Texas. Every high school has the chance to attend the district contest in March, with hopes of making it to Region, and then on to State.
- ACSL – American Computer Science League (online) – This contest is held in four parts throughout the year, all administered locally by the sponsor, with materials received online, and results submitted online. Teams that qualify after the four parts are invited to a national All-Star contest, held in a different part of the country each year.
- USACO (USA Computing Olympiad) (online) – This is a contest with an excellent online training program, providing immediate feedback for some fairly challenging problems.
There are many more as you will see in the comments listed below.
Former State UIL champion Crystal Riley (2010, Conference 4A) credits much of her success to participation in various competitions, and has this advice based on her high school competitive experience.
There are variety of contests, both in Texas and beyond, for high school students to participate in. One of the more popular statewide contests is the University Interscholastic League (UIL) Computer Science competition. This has a written test and a programming packet as part of the competition.
Another competition is the American Computer Science League (ACSL) which also has a written and programming section. I find the written problems of this competition typically to be deeper in theory, and its programming problems to be fewer, but longer and more complex.
Many institutions, high school and collegiate, host Association for Computing Machinery (ACM) competitions throughout the world. Typically these competitions will have fewer “easier” problems, but are an excellent challenge for teams that want to practice at a high level, but can be defeating for a novice team.
Many large companies also have initiatives to get high school teams involved in coding, and will have good resources for your students to practice on. One example of this is the Code Quest sponsored by Lockheed Martin.
Lastly, you can always set up some simple hack-a-thons between your students and create a small set of problems and have your students compete against each other and see how far they get!
Gina Wilder, a veteran and very successful computer science teacher and team sponsor in the East Texas area, says:
Find meets to attend. Look for meets on the UIL website, http://www.uiltexas.org/academics/meets, and Joy of Tournaments, http://www.joyoftournaments.com. Also, join Computer Science Teachers Association, or CSTA, and check out their list of meets. Some will have the written test only. Some of the CSTA meets will offer only programming. Try to attend those that offer unlimited entries and have both written and hands on. The CSTA meets can be intimidating, but my kids like to go to one. They are fun and often have a theme. Kids sometimes dress in costume for these meets.
For some areas of the state, it is much more of a challenge to find face-to-face practice meets, and the far West Texas and Panhandle areas are a good example of this difficult situation. Louis Fleming, a veteran CS teacher from that area, has this advice.
Depending on the area of the state, physical (face-to-face) contests are often hard to find. You have to search and network with other CS teachers in your region sometimes to locate contests.
In the Texas Panhandle, the major meets seem to be:
- Fall Fandango – November 12, 2016 – Texas Tech University – Written Test Only
- Red Raider Classic – January 14, 2017- Texas Tech University – Written and hands on
- Plains High School – March 4, 2017 – Written and Hands on
Further east, opportunities include:
Virtual Contests have no travel involved and address additional subjects besides Computer Science. They supply you with the test and key and you administer and record your scores within a given time window. You receive complete results including how your student ranked by grade level, classification and overall. Certificates are emailed out to top places and let your students see how they stand in the region. These types of contests are becoming more and more common.
NOTICE – these require a fee for the season but it is less than the cost of gas and meals for a single meet in many cases.
Strictly Programming – Hewlett Packard CodeWars – These are held in March at two sites in Texas – Houston and Austin. Three person teams can compete in in two different classifications – Novice and Advanced, with 18 Programming problems in a packet in a 3-hour hands on style contest.
The major metropolitan areas are rich with competition opportunities, and if you live in the DFW, Houston, or Austin/San Antonio areas, you can usually find a contest to attend nearby. Quite often my students and I would get up early on a Saturday morning, drive a few hours, attend a contest, do a mall crawl for fun on the way home, and be back shortly after dark. It paid off, for sure! Of the thirteen years I was in Rockport, we made it to UIL State many times, and came away often with medals around our necks. We also won our division at the American Computer Science League National All Star competition in 2004 in Chicago! That was really cool, and I was so proud of that team!
In the next blog, we’ll talk about what resources are available for you to acquire and use to help your teams practice.
Thanks for all you do for your students, and for our future technology leaders!
About Ask John
As he always emphasizes in his classes, courses, and workshops, there is no such thing as a silly question, except for the one you do not ask. John Owen has taught high school Computer Science very successfully for many years, and has a team of CS colleagues who are ready and willing to lend their expertise, experience, and wisdom to help you become a better computer science teacher. This blog is for you! Ask your questions, and he will do his best to give you sound advice that will get you back on track with whatever issues you encounter, and for which you seek answers.
Have a Question?
CS Teachers are encouraged to submit their questions about teaching CS or other aspects of CS education. Send your question to firstname.lastname@example.org and we’ll be sure to let you know if your question is featured in the Ask John column of the WeTeach_CS Blog.