7 1 Anup Kalbalia – Lead, CodeChef. 7 2 Role of Competitive Programming in Computer Science...
-
Upload
milton-lloyd -
Category
Documents
-
view
218 -
download
3
Transcript of 7 1 Anup Kalbalia – Lead, CodeChef. 7 2 Role of Competitive Programming in Computer Science...
1
7
Anup Kalbalia – Lead, CodeChef
2
7
Role of Competitive Programming
in
Computer Science Education
3
7Competitive 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
4
7
The core – Online Judge
5
7Two most basic tasks that an
online judge can help teachers:
1. Evaluation of Assignments
2. Plagiarism Detection
Online Judges
6
7 Things bundled around an online judge:
1. Support on many programming languages - Focus on solving problems than learning a language.
2. Carry it anywhere - online
3. Plagiarism Detection
4. Ratings - performance monitoring
5. Institution wise data
6. Editorials
7. Problem search on different topics + difficulty levels
8. Discussion Forum - community help
Online Judges
7
7
Some Popular Online Judges
• CodeForces
• SPOJ
• Topcoder
• HackerRank
• CodeChef
8
7
Some Judges that you can use offline
• PC^2
• DomJudge
• Mushak
• cms (IOI grader)
9
7
Most popular programming competitions
• ACM ICPC
• International Olympiads of Informatics
• Google Code Jam
• FacebookHackerCup
• CodeChef SnackDown
10
7
ACM ICPC
11
Me – in December 2003 @ IIT Bombay
12
7
Yet another Contest Platform?
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
13
7
Some Statistics
• 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.
14
7
Features
• 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….
15
7
Technology Stack
• Runs on the cloud - AWS
• MySQL
• Nginx
• PHP
• Memcache
16
7• Host your contests
• Go For Gold
• CodeChef for Schools
• Evaluation platform for universities
• Course Curriculum – IIIT Delhi
• Campus Chapters
Community building and Initiatives
17
Go For Gold - 2010
18
19
7Institutions using competitive
programming:• IIT’s
• IIIT Hyderabad
• IIIT Delhi
• DA-IIACT
20
7
IIIT D & Competitive Programming
• 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.
21
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
22
7Demo
http://www.codechef.com/ITP2014/
23
Thank You
Anup [email protected]
+91 9320060499
http://www.facebook.com/CodeChefhttp://www.twitter.com/codechef