17/10, morning assembly time at City Montessori School (CMS), Lucknow, Gomti Nagar branch: A group of five hundred students from grade XI and XII gathered in the main auditorium. I go up on stage to explain all these budding students the concept of competitive programming. “Hello juniors” “Well, any guesses as to why I called you all as juniors?”… “Hmmm… as many of you might have guessed it, yes, I gave my ISC board examinations in this very same auditorium this year only”. “Now coming to a formal introduction, I am Karan Saxena, a First year Computer Science student at Sir MVIT, Bangalore. I am the Technology Head at Google Students Club and a freelancer at JAR (Just Android Resources) – India’s first all Android magazine.”
I then go on to ask them the next question- “What is a code?” I am expecting some enthusiastic answers but my hopes are soon dashed to the ground as only two hands go up. Nevertheless, I call one of them up on stage to answer. “Code is a small part of a program” “Correct. But don’t you think that’s a very dull kind of a description?” I then give them an intuitive definition of ‘code’- “Code is Logic. It means understanding the process and making it simpler. It is converting simple day to day tasks into mathematical terms and symbols”, I explain. I then show them the video created by CodeChef. Next, the obvious question is ‘Why should I code?’ or ‘What kind of people should learn coding?’ For the answer, I show them the 5min version of Code.org video.
After these two videos, I go for an example of ‘Binary search’. Over the next few minutes, I explain them ‘Binary Search’ from grass-root level with the help of a presentation. Then I announce that I have a twitter sticker and whosoever will give the correct complexity of binary search will get it. In the intermediate time, I explain them the definition of complexity. A student comes up and gives a correct answer as O(log N). I see a puzzled expression on the faces of students. I then intuitively explain them how log N came and that log is with base 2 and not 10 or ‘e’. Over the next few minutes, I go on to explain them that how India is technologically progressing but it is nowhere when it comes to competitive coding. I tell them that the only solution of this problem is to start early, and the way to start early is to practice and participate as much as possible. I then explain them what is ZIO/ZCO, IOI and ICPC. I tell them that nobody has ever achieved a gold medal in IOI. I explain them about ‘CodeChef Go for Gold’ initiative and ‘CodeChef Lunchtime’ programming series and that they should start participating in it as early as possible.
Watch the video of the assembly here: Karan Saxena, introduces CodeChef to students from City Montessori School, Lucknow, India
Wrapping up the session, I invite the interested students to the computer lab where they can have a hands-on session and ask their doubts. About 30 students turn up in the computer lab and have conversation with me over the next one hour. It was nice to see the enthusiasm with which they put forward their queries. All of them left with a sense of satisfaction and eagerness to participate in the upcoming ZIO/ZCO.
Overall, I felt very satisfied with the session. It was small yet effective step towards promoting programming culture. I’ve done my class XI and XII from CMS only. It’s an outstanding academic institution and is counted among premier institutions in the country, but the thing I noticed during my time is that there is very less focus on programming, specifically competitive programming. Students are extremely brilliant here but only focus on science subjects and study computers only with point of view of examinations. I wanted to change this and hence approached the principal, Ms. Manjit Batra, who, gave me permission to conduct this session for the betterment of the students. She also allowed me to act as a mentor to the students and help them with their doubts and also to keep them updated with the contests happening. I’ve created a group on facebook where all the class XI and XII students can discuss their programming problems and solutions with other students from the same institution. All of them have my number and are welcome to call me anytime they feel necessary. I’m constantly in touch with all of them via the group. Many of them are participating in this year’s ZIO/ZCO and I’m hoping to get a good result from these students.
Lastly, I would like to thank the whole of CodeChef team for taking up this one of its kind initiative which will prove to be very useful for budding young programmers. I wish them a grand success in this endeavor.