Tag Archives: programming

Overhauling IT Education in India

I feel that level of IT education is really pathetic in our country (except in maybe top 20% colleges like IITs and NITs). It may seem funny coming from a non-graduate like me, but running my own software company for over 10 years gave me enough exposure and interaction with programmers coming out of colleges and also teachers teaching them. I visited colleges often to give seminar, workshops etc.

I have observed that in most technical fields, everybody first wants to join a great company and earn big bucks. Engineers, MCAs want to join Microsoft, Google, TCS, Infosys when they come out of college. Students who are not selected by big companies, try to get job with small software companies and students who don’t get job with any software company end up finally applying for teaching positions with colleges. So basically we have failed programmers teaching programmers of future.

How can we expect this system to work? We need to change the system at many levels. Here are my thoughts in brief:

  1. We need to attract good bright people to become teachers.
  2. We need to partner with Software companies and involve working professionals to teach in colleges part-time or over the weekend.
  3. We need to make competitive coding contests compulsory to attend. Google Code Jam happens once every year. Should be mandatory for every IT engineering and MCA student.
  4. Every student should participate on challenges on websites such as HackerEarth, Codechef, Topcoder etc.
  5. Many courses from Harvard, Stanford etc. are available online and even free in many cases. May be they can be taught as it is to whole class-room with teacher just acting as facilitators.
  6. MCA is a Master’s program, but it’s considered inferior to engineering which is a Graduation program. It needs to be improved with greater stress on industrial training which is part of 6th Sem.
  7. Colleges should open incubation centers and encourage their students to become entrepreneurs. Maybe college can even have a stake in the formed company. Not all such startups will succeed, but even if a few do, govt. will easily make up the investment in other failed companies.
  8. Teachers normally don’t upgrade themselves with the time. They should be regularly asked to take courses and appear for exams themselves to keep improving.
  9. IT Teachers should also be allowed to pursue some programming related profession. Not teaching or private coaching business, but some real programming with some software company or independent programming work. It’s allowed for Architects and Doctors as they are quite practical intensive fields. It should be done for the IT teachers as well.
  10. Students should be made aware about open-source resources such as Github and made to participate in resources like StackOverFlow
  11. New and Emerging programming languages/ frameworks should be included in the curriculum – Ruby on Rails, Python, Node.js & of course Swift

Update: 27th May 2015 – Google has just published it’s own guide if you are looking at a Career in Software for yourself.

If given a chance, I would love to talk to Colleges and even Government in detail and explore how can we work along these lines and overhaul the IT education scenario in the country. Looking forward to hear thoughts from readers of this blog.

Kids & Computer

I gifted a computer to my son on his 9th birthday and tried to guide him on what all he can do with it. After a few months, I made an interesting observation – he obviously loves playing games and he does that often, but he has also developed genuine interest in doing other stuff with computer because he finds it equally exciting as well. This helped me realise that if kids are encouraged and taught to use computers productively, they won’t be really using them only for thing s like gaming, social-networking and other things any parent won’t like them doing.

I thought this can help everybody having young kids or grand-kids at home so I am sharing a few tips from my experience here:

Learning to Type  – The first thing I told my son was that he should know how to properly type using all his fingers from both hands and not just use 2 fingers to type. I told him to visit –  www.typeonline.co.uk and take typing lessons there. It’s a free website and very useful for anybody who wants to learn proper typing sitting at home. So after a month he was able to type properly and you know what kept him interested in doing it – Speed Test. Website offers a speed test to know your typing speed and he loved to regularly test himself and do better everyday. He is doing 25 WPM right now which I think is a pretty good start.

DIY Projects – One day son asked me how he can learn juggling and I searched and showed him a video on Youtube which teaches juggling step-by-step. He tried doing that but lost interest after a few days. But he remembered how to use youtube after that. One day when I came home from office, he was making paper aeroplanes and other origami stuff watching their videos on Youtube. There are DIY (Do It Yourself) videos for practically everything on web and you can learn anything watching them. Recently I am trying to get him interested in a very good website dedicated to Kids DIY and it is called www.diy.org.

This site is a community for children where they can learn to make various things like cardboard birdhouses, soda bottle safety glasses, duct tape wallets and toothbrush robots that scurry across a desk like alien life-forms. All these projects allow children to earn virtual badges, which will appear on the site. Kid’s account is also linked with parent’s account so that you can monitor your kid’s activities on the website.

Learn Programming –  What I love about programming is that even kids can learn and do it effectively, that’s why we keep reading about so many 10-13 yr old programming wiz kids and now there are various websites which teach programming in very effective manner. My son learned HTML, CSS and basic website development on www.codecademy.com which is a free website and teaches you programming like a game. You have to progress through various stages and while doing so you earn points and badges to show off on your profile. Contrary to what many of you think, programming can actually be quite fun. Check out video on www.code.org to see why rock stars and athletes are learning to program these days. Check out this, this, this & this for more resources on teaching kids to program.

I hope you find these suggestions useful and practical with kids in your homes. Let me know what do you think in comments.

Wanted Hackers

I gave a talk to MCA (Master of Computer Applications) students of GHRCE yesterday. Topic of my talk was ‘Wanted Hackers’ and objective was to inspire students to adopt hacker culture so that they can become better programmers and do great things in future.

At the outset I emphasised that Hacking is not actually what media and general public thinks it is and there is difference between hacking and cracking. Hacking is good, cracking is not. I showed a video of TED talk by Thomas Suarez: A 12-year-old app developer to inspire students.

Then I elaborated on various websites which organise programming contests and challenges. I also shared my views on which programming languages students should learn and from where.

I ended my talk with a brilliant video from code.org starring Bill Gates, Mark Zuckerberg, will.i.am, Chris Bosh, Jack Dorsey, Tony Hsieh, Drew Houston etc.

I hope my talk inspired atleast a few students to become good programmers and not average unemployable college passouts which are so common in India.