Today's the last day of spring break. After the weekend it's back to the grind. It really hasn't been much of a spring break. The rain and the snow made for very little spring and between working on the Hunter / CUNY2X Internship program and reviewing applications for my Hunter Daedalus CS Honors program there has been very little break.
Today was no exception - I spent much of the day working but I did take a few hours to head over to Cornell Tech on Roosevelt Island. Why? To check out the Cornell High School Progrmaming Contest - first time in NYC.
I was invited by my friend and organizer Diane Levitt. I only stayed for an hour or so but it was shaping up to be a great event. It looked like around a hundred kids from maybe a dozen or so schools and it was run simultaneously with high schoolers on the Ithaca campus where the competition has been running for a few years.
The format was similar to other high school programming competitions I've been to. Teams of two or three sharing a single computer to solve a number of programming problems that varied in difficulty. You can check out a few "warm up" problems on the competition site.
The competition reminded me of the St. Joseph's High School Programming Competition held every spring but in NYC so more convenient for city dwellers. I went to the St. Joseph's competition a few times and I'm a big fan. I particularly like the awards luncheon after the competition. If I were to make one suggestion to the organizers there it would be to mix the seating at the luncheon so that kids get to sit with and spend time with kids from different schools.
These competitions contrast nicely with hackathons like StuyHacks for which I acted as a judge a couple of months ago. Competitions are, well, competitive. Hackathons can be but don't have to be. Competitions are about solving problems, hackathons, building things. Each can speak to a different kind of student.
Both competitions and hackathons have problems as well. On the competition side we have:
- Schools with more developed CS programs dominate
- A single strong student can carry a team
- Some kids don't like or do well in the competitive environment
And on the hackathon side:
- 24 hours of straight work is just a bad idea and a bad thing to encourage.
- Big advantage to teams that bring prefab code.
- Big advantage to kids with experience.
Both types of events are great opportunities for young programmers. They're celebrate academic work, bring tech kids together as a community and when done right are something of a CS party. Neither type of event speaks to all kids so it's great to have both competitions and hackathons to go along with other types of events available for our kids.
Another thing I love abut the Cornell and St, Joseph's competitions along with StuyHacks is that they're open to all schools and hence all students. There's room for the novice and also the expert and you don't have to be in a particular school or program to participate.
There are other events beyond these three. There are online competitions like the USACO, competitions on HackerRank and Topcoder, Halite along with it's hackathon which is great but specialized and in person ones that are farther away like the PClassic in Philidelphia and Rowan's HS programming competition in New Jersey but it's great to see great local opportunities like these emerging and hopefully running for years to come.