First-Ever CS50x Coding Contest

David J. Malan

CS50
Aug 3, 2016 · 2 min read

Each year, CS50 starts with CS50 Puzzle Day (an afternoon of pizza, puzzles, and prizes) and ends with the CS50 Hackathon (an epic all-nighter) and the CS50 Fair (an epic display of final projects). I’m only now realizing that we only describe two out of the three as epic for some reason. Was too focused on the alliteration perhaps.

This fall, we thought we’d (try to!) introduce a new tradition into CS50, this one mid-semester, an opportunity for students to compete (playfully and optionally) against classmates after just a few weeks of C under their belts. Thus was born another alliteration, a CS50 Coding Contest, an amalgam of CS50 Puzzle Day’s format and Problem Set 5’s Big Board, not unlike other such programming competitions.

Rather than reinvent a wheel, we selected HackerRank for our own contest’s platform, on which our (new!) friends at HackerRank kindly installed CS50's own library. Turns out HackerRank sometimes uses CRLF (\r\n) for line endings in test inputs, rather than just LF (\n), so we actually first added support to GetString for that too!

We decided to pilot the vision this summer via the first-ever CS50x Coding Contest for students online, an “epic weekend of code” during which students had 72 hours (Friday through Sunday) to tackle, on teams of size 1 – 4, a set of 10 challenges: 3 easy, 4 medium, and 3 hard. Though our friends at HackerRank kindly added a new feature to the platform itself so that we could hide those ratings, lest students less comfortable be discouraged by mere labels.

Thanks to CS50's production team, here’s the invitation that went out:

And these were the challenges, thanks to CS50's own Colton Ogden, Doug Lloyd, Kareem Zidane, and Glenn Holloway who readied the event:

  1. Punctuation, by Stelios Rousoglou of Yale
  2. Money, Money, Money by Brian Yu of Harvard
  3. One Day More, by Brian Yu of Harvard
  4. Airport Arbitrage, by Anthony Bau of MIT
  5. Name Your Cat, by Annie Chen of Yale
  6. X, by Jack Deschler of Harvard
  7. Word Reverse, by Walter Martin of Harvard
  8. Maze Runner, by Walter Martin of Harvard
  9. Wait for It, by Brian Yu of Harvard
  10. Trading Up, by Anthony Bau of MIT

By weekend’s end, 659 teams from 89 countries had submitted solutions, with these 10 countries fielding the most teams:

And here are the 12 winning teams, all of whom solved all 10 challenges!

  1. ITMO11, from Russian Federation
  2. M_R_H, from Egypt
  3. Koyondor, from Kyrgyzstan
  4. ZetaColn, from Malaysia
  5. Dangrous, from United States
  6. Os Brasileiros, from Brazil
  7. Zols, from Qatar
  8. WaterlooCs50x, from Canada
  9. private byte me, from United States
  10. Xxb00la_b00laxX, from United States
  11. The Mauve Gruffalos, from Argentina
  12. taqen, from Egypt

They’ll each be receiving a little something by mail from CS50!

Ready for the challenges’ postmortems? Spoilers ahead!

CS50

Written by

CS50

Harvard’s introduction to the intellectual enterprises of computer science and the art of programming.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade