7 Anup Kalbalia – Lead, CodeChef
Role of Competitive Programming Computer Science Education 7 Role of Competitive Programming in Computer Science Education
Competitive Programming? 7 Competitive Programming? (also called) Sports Programming “Competitive programming is a mind sport usually held over the Internet or a local network, involving participants trying to program according to provided specifications.” - Wikipedia
7 The core – Online Judge
Two most basic tasks that an online judge can help teachers: Online Judges 7 Two most basic tasks that an online judge can help teachers: Evaluation of Assignments Plagiarism Detection
Things bundled around an online judge: Online Judges 7 Things bundled around an online judge: Support on many programming languages - Focus on solving problems than learning a language. Carry it anywhere - online Plagiarism Detection Ratings - performance monitoring Institution wise data Editorials Problem search on different topics + difficulty levels Discussion Forum - community help
7 CodeForces SPOJ Topcoder HackerRank CodeChef Some Popular Online Judges 7 CodeForces SPOJ Topcoder HackerRank CodeChef
7 PC^2 DomJudge Mushak cms (IOI grader) Some Judges that you can use offline 7 PC^2 DomJudge Mushak cms (IOI grader)
7 ACM ICPC International Olympiads of Informatics Google Code Jam Most popular programming competitions 7 ACM ICPC International Olympiads of Informatics Google Code Jam FacebookHackerCup CodeChef SnackDown
7 ACM ICPC
Me – in December 2003 @ IIT Bombay
Yet another Contest Platform? 7 Why? Launched in 2009. With a specific objective to improve the programming scenario in India. By building a global community of programmers CodeChef is not just a contest control system. It has grown into a vibrant community
7 6.5+ million submissions to various problems. Some Statistics 7 6.5+ million submissions to various problems. 2,00,000+ registered users spread across the globe 5000+ educational institutions and 200+ countries use our platform. 800+ contests hosted in the last 5 years. 3500+ problems based on ACM ICPC and IOI. Problems available in 3 different languages - English, Russian and Chinese.
Features 7 Robust online judge back-end in partnership with SPOJ with extremely consistent execution run-time. Support for 50+ languages/compilers. A web interface making it very usable, portable, easy and friendly to use. An online IDE with user driven customization, that self destructs all submitted solutions Plagiarism Detection Ratings - Institution wise filters Verdict by email Tagged problems sorted by topics and difficulty levels Practice Section Elaborate Editorials for every problem Discussion Forum Translated Problem Statements in Russian and Chinese Scalable - Capacity can be increased by adding additional servers Secure judge environment - has access restriction based on IP/usernames. Fault tolerant – No single point of failure Runs on the cloud - no infrastructure headache. Just needs an Internet connection. Ability to write custom validators. On the fly re-judge facility. Moderation of comments/announcements/solutions for contest admin. Host your own contests - Free for use for any one 24-hour online/call support. ICPC Integration and many more….
Technology Stack 7 Runs on the cloud - AWS MySQL Nginx PHP Memcache
7 Host your contests Go For Gold CodeChef for Schools Community building and Initiatives 7 Host your contests Go For Gold CodeChef for Schools Evaluation platform for universities Course Curriculum – IIIT Delhi Campus Chapters
Go For Gold - 2010
Institutions using competitive programming: 7 Institutions using competitive programming: IIT’s IIIT Hyderabad IIIT Delhi DA-IIACT
IIIT D & Competitive Programming 7 Admission in MTech Course based on performance of our Long Challenge Score Lab assignments Extra marks in subjects like Introduction to Programming Data Structures Design and Analysis of Algorithms A 2-credit elective course on Competitive programming.
7 What all you can do? Use it for Lab assignments Extra marks for our contests Use Teaching Assistant – students An elective course on competitive programming? Create content and contribute towards the community
7 Demo http://www.codechef.com/ITP2014/
Thank You Anup Kalbalia anup@codechef.com +91 9320060499 http://www.facebook.com/CodeChef http://www.twitter.com/codechef