Perfect Guide to students in Indian colleges taught programming

5 323

In my second year in college (2010) we had to undertake Data Structure course. The course was considered to be one of the toughest courses at that time and moreover, the difficulty level was further compounded when we got to know that the instructor of the course was Prof. Subodh Kumar.

Related Posts
1 of 8


He is a brilliant professor but quite a taskmaster. The seniors had already warned us that his assignments will leave you with sleepless nights.

Now the course was to be taught using Java Programming language and none of us had any idea about Object Oriented Programming. Although we did not expect him to teach us Java Programming we at least expected initial tutorials from his Teaching Assistants, plus we really wanted to learn everything about the macro recorder.

On the very first day, he gave us the good news that we had to submit our first assignment in the next week. On reaching our hostel we opened our assignments and despite staring at the assignment for about 1–2 hours we (7–8 batchmates) could not make any sense of it.

We had to use the concept of Multithreading which is a very advanced concept and usually discussed at the end of any Java Programming book. So here it was, we were expected to master it without having ever written even a Hello World program in Java!

What happened in next few days is something that I will never forget. All of us were literally spending countless hours in understanding the basics and then completing the assignment. One could also not copy the codes of others as our codes were checked for similarity and there were a heavy penalty and even suspension of the course on being caught.

Luckily, within 10 days most of us learned JAVA and all associated concepts.

Although one might not agree with the teaching methodology it seems to work perfectly well in IITs.

How are students in Indian colleges taught programming?

This answer will specifically try to elaborate the current methods of teaching programming to first years at IIITH. In my opinion, the first step in programming is learning the semantics of programming languages with help of a language like C and the second step is data structures and algorithms. These two courses are taught at IIITH in first and second semesters respectively. I’ll try to write about main aspects.

1. Faculty and class:
The professor usually(except a few exceptions) presents basic features of programming language C like recursion, arrays, pointers etc. with a mix of algorithms like Newton’s sqrt method, Euclidean gcd etc. In DS course, classes consist of theory about data structures and algorithms. The Minimal syntax is discussed in classes.

2. Programming Assignments
An online judge(OJ) which tests programs is set up and all assignments are graded through OJ. Problems in CPro course include implementations, linked lists, sorting, sieves, binary search, modular arithmetic etc. Here is a snapshot of the status page. Language is kept C. C++ is allowed in later stages of the second semester because by then students have implemented in C the STL data structures available in C++.


Copying such assignments leads to very strict action. So, major of the life in the first year at IIITH consists of all the fun with OJ(Wrong Answers, TLEs and most eluding ACs). OJ is just up in the air during assignment times.
A search “oj” in my feed brings up various posts like “OJ is bullshit!” and a lot of other posts describing what a monster it is.

Following is a picture before one of the assignment deadlines. The Internet is not provided for first years, but this particular location in the hostel has internet accessibility due to a workaround.

3. Labs/Tutorials
A 3-hour lab is held every week which aims to make the proper introduction to the C language and implementation aspects. Being a Data Structures TA I’ll tell you about the structure I follow in the lab. The lab begins with detailed introduction to the algorithm/data structure, followed by implementation details. A problem consisting of input/output files is formalized which is usually the direct application of the DS/algorithm. Often problems are solved on online platforms like SPOJ/Codeforces in the labs. Students can ask for implementation related issues, and there are 2 TAs per 60 people, hence proper attention is paid to every student.
Two lab exams carrying good weight are held in the course, which to consisting of submitting problems on a platform within a fixed time span.

4. Teaching Assistants and the coding culture
IIITH is assumed to have the best coding culture among universities in India. In my opinion, one of the main reasons behind that is TAs of courses like DS and CPro which introduce freshers to programming are themselves experts in competitive programming and ACM ICPC World Finalist and make sure the spirits stay. One of the things I vividly remember is that Nadeem Moidu usually used to give WFs goodies to the best solver of a problem in labs. I myself distribute T-shirts(that I got from competitive programming) in labs.

5. Result of the process
At the end of the first year, a student is proficient in C and C++ and by then implemented in C data structures and algorithms like graph algorithms(Dijktra’s, Prim’s, Kruskals etc.) BSTs, AVL trees, stacks, queues, heaps, tries, segment trees etc. A student by then is very well acquainted with competitive programming. No doubt, IIITH keeps producing world finalists and enormous GSOCers every year.


  1. FirstNora says

    I have noticed you don’t monetize your page, don’t waste your traffic, you can earn additional bucks every month because you’ve got hi-quality content. If you want to know how to make extra $$$, search for:
    Boore’s tips best Adsense alternative

  2. StacieSmall says

    I have checked your site and i have found some duplicate content, that’s why
    you don’t rank high in google’s search results, but there is a tool that can help you to create 100% unique articles, search for: Boorfe’s
    tips unlimited content

  3. AundreaSmall says

    I have checked your website and i have found some duplicate content, that’s why you don’t rank high in google,
    but there is a tool that can help you to create 100% unique articles, search for;
    Boorfe’s tips unlimited content

  4. Lanora says

    You are so awesome! I don’t think I have read through a single thing like that before.
    So good to find another person with genuine thoughts on this subject matter.
    Really.. thank you for starting this up. This site is something that is needed
    on the internet, someone with some originality!

  5. 2018Thanh says

    I see your blog doesn’t rank in google’s top 10, but your articles can get
    into top 10. You should find the right longtail keywords before
    you write an article. How to find super easy longtail
    keywords? Search in google for; Fasrixo’s tools

Leave A Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

%d bloggers like this:
Optimized with PageSpeed Ninja