11
Have Code, Will Compete The Rise of Code Competitions By Paul Pajo SMARTDevNet Developer Evangelist, SMART

Have Code, Will Compete

Embed Size (px)

DESCRIPTION

pre-event talk

Citation preview

Page 1: Have Code, Will Compete

Have Code, Will CompeteThe Rise of Code Competitions

By Paul PajoSMARTDevNet

Developer Evangelist, SMART

Page 2: Have Code, Will Compete

Competitive Programming

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

Page 3: Have Code, Will Compete

Some Popular Competitions

IOI ACM-ICPC Google Code Jam Facebook Hacker Cup CodeForces Top Coder

Page 4: Have Code, Will Compete

Some more …. AI Challenge Australian Informatics

Olympiad BAPC Bitwise IIT Kharagpur British Informatics

Olympiad Canadian Computing

Competition Central European

Olympiad in Informatics Cloudball Code golf The Code Room Codecraft Competitive

programming Core War The Daily WTF Electric Jungle FastCode Google Code-In

Gridwars Hong Kong Olympiad in

Informatics HP Code Wars ICFP Programming

Contest Indian Computing

Olympiad International Obfuscated

C Code Contest Internet Problem Solving

Contest Java 4K Game

Programming Contest Les Trophé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 South African Computer

Olympiad SPOJ Supercomputing

Challenge Syrian Olympiad in

Informatics Turkish Informatics

Olympiad Underhanded C Contest United States of America

Computing Olympiad UVa Online Judge Woburn Challenge

Page 5: Have Code, Will Compete

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?

Page 6: Have Code, Will Compete

Who are the heroes?

Petr Mitrichev? Gennady Korotkevich?

Page 7: Have Code, Will Compete

Petr Mitrichev

 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), the TopCoder Open (2006[2]), the TopCoder 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 of TopCoder.com and 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 website Codeforces.com as of April 10, 2013. He currently works at Google, where he is a maintainer of the search engine and helps to prepare Code Jam.

See: http://en.wikipedia.org/wiki/Petr_Mitrichev

Page 8: Have Code, Will Compete

Gennady Korotkevich

 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 IOI and world champion (2013) in the ACM ICPC World Finals as part of the team of Saint Petersburg State University of Information Technologies, Mechanics and Optics as well as numerous national and International contests.

He is currently the highest rated at Codeforces and the highest rated Algorithm competitor at TopCoder as of August 8, 2013.

See: http://en.wikipedia.org/wiki/Gennady_Korotkevich

Page 9: Have Code, Will Compete

Petr on Gena

 What feels so good about Gena 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

Page 10: Have Code, Will Compete

Gena responds

 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

Page 11: Have Code, Will Compete

Q:

 Should we have more of ths? @pageman @smartdevnet http://facebook.com/groups/

smartdevnet