High School Programming Competition @ UVa

Rice Auditorium

What’s it like to go to a High School Programming Challenge at UVa?   In this blog entry I will describe our recent experience.  We competed on March 17, 2012 at the University of Virginia (UVa) in the High School Programming Competition

First, we learned about this event from some friends in our Boy Scout troop, who were considering participating.  We registered online and mailed in our $60 entry fee.  Periodic emails kept us informed about the plans for the event.

It wasn’t long before the day was here.  It is about a two hour drive from our home, which is just north of Roanoke, to the UVa campus.  Check in was scheduled to begin at 8 am, so we set a deadline of leaving by 6am.  Of course our alarms went off a bit earlier!   It was dark when we left and not too many others were on I-81.  We made good time and arrived at 8 am.   We set our GPS to take us to the stadium, which is adjacent to the new computer science building (Rice) where our day was to begin.   Arriving early we got a great parking spot.   Parking was very close and hassle free.   

As we approached the building, college students, wearing bright orange shirts, were busily and happily preparing for the day, posting signs to show the way.  Inside others were setting out registration materials and food.  I could tell they were excited and looking forward to the day as much as we were!  Upon entering the auditorium, we were warmly greeted and received  materials for the day, an information packet, name tags, and t-shirts.  Breakfast was provided by Microsoft. (Thank you, Microsoft – we noticed and appreciated it!) We had bagels, cream cheese, fresh fruit, coffee and juice.  It was all great!  First impressions matter.   This group’s attention to detail and standard of excellence was already showing.   We felt like VIPs already!
    
The attendees were addressed by Aaron Bloomfield, the leader of UVa’s chapter of ACM (Association of Computing Machinery).  He gave a great introduction and overview of the day.  It was very interesting to hear about the collegiate competition and how well the students from UVa had done—making it to finals for the past 3 years.  Travel to finals included China, Sweden, and almost Egypt (turmoil in that country forced the event to be moved to Orlando instead).   Photos accompanying his talk, helped us to visualize the places and events, for example, the ice palace in China, and the competition room with balloons on the computers.
By the way, Aaron is no relation to UVa’s Louis Bloomfield if you are wondering. I was, so I asked.  Louis Bloomfield has written a great physics book that is a favorite of mine.  I just wish it were on Kindle so I could care it around more easily! The book is How Everything Works.  If you don’t have it you should get a copy. 
After the welcome, students took us on a tour of campus. It just so happened that the Engineering Open House was taking place on the same day—although this was not intentional we were told.  The tour was great.  The students impressed us as they did a marvelous job—very friendly, approachable, articulate, and well informed about their school.  I could tell they really enjoyed attending UVa and computer science.
The tour was followed by a practice round, where students were able to get familiar with the environment in which they would be working, not just the room but the computer environment as well.  Teams completed a practice problem and submitted it.   They were able to test out various features and ask questions.  We were glad that we were familiar with Ubuntu (Linux).  Coaches were permitted in the practice round.
Andrew during practice round.

After the practice round, we went to another location where lunch was provided.  We had Chipotle burritos!  This happens to be our favorite to place to eat!  We were thrilled!  Distribution of the food was very orderly and quick.   The organizers had inquired about dietary restrictions prior to the event and accommodated our requests graciously.    

At 1pm, the student teams went back to the computer lab to begin the contest, while the coaches stayed behind in the room where lunch was served.  Coaches received copies of the problems and could watch their team’s progress  by viewing the teams’ stats on the display screens around the room. Information displayed included the problems the teams had attempted and solved, as well as how much time was spent on each problem.  The teams were listed in order by rank.
The students had 10 problems to work in 3 hours. Each team could have up to 4 students, but they shared one computer.     The team that solves the most problems wins!    Ties were broken by the amount of time taken to solve the problems.   If a program was submitted with an error, the team  was penalized by increasing their time by 20 minutes.  The penalty was only applied if the team eventually got the problem correct. 
To make it more interesting, when teams would get a problem correct, the judges would bring a balloon out and tie it to the team’s computer.  The balloons were color coded to correspond to the problems, for example, the first problem was yellow, the second problem was green, etc.  The ranked team listing of scores was also on display in the computer lab.  To increase the suspense, they froze the score display and didn’t bring out any more balloons during the last 30 minutes of the contest.  At that point 1st place had 8 problems solved, and 2nd through 5th had completed 6 problems.  It was exciting since several teams could potentially leap frog into second  place by completing an additional problem!  The mystery would be revealed at the end of the day when the awards were given out. 
After the competition was over, we regrouped in the Rice auditorium.  Rice is the new computer science building where our day had begun. We heard from the head of the Computer Science department, and from the Admissions department.  The volunteer staff  introduced themselves and we applauded each to thank them for their work.  And after a few more announcements, the winners were announced and prizes awarded.   Coaches were also acknowledged and received a nice UVA polo shirt!

The winning team at this event, Thomas Jefferson High School for Science and Technology (TJHSST) Seniors, solved 8 out of 10 problems! The second place team, TJHSST Intermediate, solved 7. The 3rd place team, the McClean High School Highlanders, solved 6.    

Our RoboDesigners team, a 1 man team consisting of Andrew Norton, came in 5th out of 17 teams, solving a total of 6 problems!  Although Andrew solved as many problems as the 3rd place team, his time was higher.  Most teams had 4 members who could debug or check programs while another coded.  We are now looking for additional team members to join our team for next year.  

Our hosts asked for our feedback by handing out a questionnaire about the day.   This was just their second year of hosting this contest and they want to improve.  I love that attitude of striving to be better!   
And for those who wanted to stay, the solutions to the problems were discussed—and teams were able to email their programs from the computer lab to themselves so they would have a copy of their work.  We also took our balloons home!
Andrew outside Rice Hall with his six balloons.
Traffic was light on the drive home.  We talked about the day all the way home.  We had packed food for the day and Andrew ate it all on the drive home.  We arrived by 7:30 pm.  It was nice to be home early. 
It was a great day!  Thank you to all who worked hard to make this event possible!  I want to also mention that Lockheed Martin was a sponsor of this event.  I am now paying more attention to sponsors as I know how much money it takes for our team to do these events—and to host an event is so much more!  We appreciate the opportunity to compete and realize that without sponsors and volunteers these events wouldn’t exist.

As I mentioned above, we are looking for other homeschoolers who can program in Java to come join our team!  Email us at info@robodesigners.com  if you are interested! 
Posted in Computer Programming, News

Twitter