Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Have Code, Will Compete

1,334 views

Published on

pre-event talk

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Have Code, Will Compete

  1. 1. HaveCode,WillCompete The Rise of Code Competitions By Paul Pajo SMARTDevNet Developer Evangelist, SMART
  2. 2. CompetitiveProgramming  is a mind sport usually held over the internet or a local network, involving participants trying to program according to provided specifications.Competitive programming is recognized and supported by several multinational software and internet companies, such asGoogle,[ Facebook[ and IBM. As of January 2012 there are several organizations who host programming competitions on a regular basis.  A programming competition generally involves the host presenting a set of logical or mathematical problems to the contestants (who can vary in number from tens to several thousands), and contestants are required to write computer programs capable of solving each problem. Judging is based mostly upon number of problems solved and time spent for writing successful solutions, but may also include other factors (quality of output produced, execution time, program size etc.)  http://en.wikipedia.org/wiki/Competitive_programming
  3. 3. SomePopularCompetitions  IOI  ACM-ICPC  Google Code Jam  Facebook Hacker Cup  CodeForces  Top Coder
  4. 4. Somemore….  AIChallenge  Australian Informatics Olympiad  BAPC  Bitwise IIT Kharagpur  British Informatics Olympiad  CanadianComputing Competition  Central European Olympiad in Informatics  Cloudball  Code golf  TheCode Room  Codecraft  Competitive programming  CoreWar  The DailyWTF  Electric Jungle  FastCode  GoogleCode-In  Gridwars  Hong Kong Olympiad in Informatics  HPCodeWars  ICFP Programming Contest  IndianComputingOlympiad  InternationalObfuscated C CodeContest  Internet Problem Solving Contest  Java 4K Game Programming Contest  LesTrophées du Libre  Multi-Agent Programming Contest  National Olympiad in Informatics, China  National University of Computer and Emerging Sciences  Obfuscated Perl Contest  Perl Golf Apocalypse  Rails Rumble  Robocode  Roboforge  RoboWar  SOFTEC  SouthAfrican Computer Olympiad  SPOJ  SupercomputingChallenge  Syrian Olympiad in Informatics  Turkish Informatics Olympiad  UnderhandedC Contest  UnitedStates of America ComputingOlympiad  UVaOnline Judge  WoburnChallenge
  5. 5. Local Version  DevCon C-Cup & mini C-Cups  WebGeek DevCup  Freelancer.com Manila Dev Challenge  HTML5 DevDay  ???  Profit?  If you love basketball, dream FIBA  If you love coding, dream IOI?
  6. 6. Whoaretheheroes?  Petr Mitrichev?  Gennady Korotkevich?
  7. 7. PetrMitrichev  Russian sport programmer who won multiple major international competitions.  His accomplishments include gold (2000, 2002) and silver (2001) medals in the IOI, gold medals (2003, 2005) in the ACM ICPC World Finals as part of the team of Moscow State University and winning Google Code Jam (2006), theTopCoder Open (2006[2]), theTopCoder Collegiate Challenge (2006,2007), Facebook Hacker Cup (2011,[2013) as well as numerous national and online contests.  He has achieved the highest rating ever among the Algorithm competitors ofTopCoder.comand consistently ranks in the top two of the world, currently being the world leader as of April 10, 2013.  He is also the third highest rated coder in the competitive programming websiteCodeforces.com as of April 10, 2013. He currently works at Google, where he is a maintainer of the search engineand helps to prepare Code Jam.  See: http://en.wikipedia.org/wiki/Petr_Mitrichev
  8. 8. GennadyKorotkevich  a Belarusian sport programmer who has won multiple major international competitions.  His accomplishments include gold 6 consecutive times from 2007 to 2012 , silver before that in 2006 in the IOIand world champion (2013) in the ACM ICPCWorld Finals as part of the team of Saint Petersburg State University of Information Technologies, Mechanics and Opticsas well as numerous national and International contests.  He is currently the highest rated at Codeforcesand the highest rated Algorithm competitor atTopCoder as of August 8, 2013.  See: http://en.wikipedia.org/wiki/Gennady_Korotkevich
  9. 9. PetronGena  What feels so good aboutGena is that he doesn't seem to lose the rest of his life to programming contest training, at least according to the above interview. He reminds me of myself, but of course on a greater scale.While I'm sure he's training a lot, it's important that becoming a world-class master does not affect the other aspects of his life badly.  Gennady, if you're reading this, I challenge you for a game of soccer or table tennis :)  More generally, I think this example supports the idea that the skillset (or maybe talent? that's probably a question for a separate discussion) that the programming challenges require is unique and is only partially related to CS or mathematical higher education.And seeing how many big companies are valuing that skillset in job interviews, it seems important enough for education of future software engineers to maybe borrow something from the algorithm contests.  Another possible direction, of course, is that algorithm contest puzzles were just lucky to get into the limelight, and will just go away (or maybe become a pure sport) at some point when the big companies and universities discover a better way to educate and recognize the future engineers. Somewhat like Formula 1 which is becoming less and less important for the development of normal cars.  http://petr-mitrichev.blogspot.com/2009/10/gennady-korotkevich.html
  10. 10. Genaresponds  Yes, this is Gena) It's a very interesting comparison between sport programming and Formula 1.This is almost completely true. But, this is only a game, sometimes paid. This is very useful for the first time, but then it becomes into writing of templates, typing.  http://petr- mitrichev.blogspot.com/2009/10/gennady- korotkevich.html
  11. 11. Q:  Should we have more of ths?   @pageman @smartdevnet  http://facebook.com/groups/smartdevnet

×