This is an article enlisting a number of opportunities in Computer Science you could pursue as an undergraduate at IIT Bombay. It does not talk about career paths in Computer Science after graduating, rather focusses on what you can do while you are an undergraduate at IIT Bombay.

Courses

  • Computer Science Minor Degree - A suite of five basic courses in Computer Science designed for non-CS undergraduates. Some of these courses are simpler than their counterparts for CS undergraduates, but they create a good foundation for Computer Science studies. You can find more information about the courses in the Course Information Booklet. I have also written a short review on Page 24 in the Sophomore Booklet.
    An RnD project (CS490) or a 6xx / 7xx CS course could be included in the minor degree along with four minor courses.

  • Computer Science Coursework - In addition to the minor courses, you are free to take CS courses as your Institute Electives or ALCs (Additional Learning Courses). While this might need instructor approval occasionally, it is generally quite smooth for the elective courses (4xx, 6xx, 7xx). I don’t recommend sitting-through courses (attending classes only), unless you are looking to learn a very specific topic or part of the course, since you are unlikely to appreciate the nitty-gritties of a subject without regular practice, assignments and examinations.

  • Your Own Department - Several faculty in non-CSE department work in areas closely related to Computer Science. In turn, they conduct courses in their own department at the intersection of CS and their own department. Notably, the EE department has active courses in cryptography, information theory, computer vision, machine learning, computer architecture etc. These electives could be taken up as Department Electives or ALCs (Additional Learning Courses).

Research Opportunities

  • Computer Science Faculty - Several CS faculty are actively looking for students to work on research projects with them. These projects are not restricted to the CS students, and with the right background and motivation faculty are happy to work with non-CS students as well. Here is a complete list of faculty at CSE IIT Bombay. It’s a good idea to work with faculty via Seminars, RnD Projects (CS490), or BTech Projects in the CS department since you obtain course credits for your work and it’s generally easier to score good grades in these projects. (Crediting the projects will also motivate you to work harder!)

  • Your Own Department - Several faculty work at the intersection on CS and their home department, and working with them is a good idea for CS experience. For instance, Prof. Prabhu Ramachandran at Aerospace, IIT Bombay works in computation fluid dynamics; Prof. Subhasis Chaudhari at EE, IIT Bombay works in Computer Vision; Prof. Manoj Gopalakrishnan at EE, IIT Bombay works in biological computing; Prof. Amit Sethi in EE, IIT Bombay works in Medical Computer Vision. You could take these projects up via RnD Projects or BTech Projects in your own department.

  • Reading Groups, Talks - There are a plethora of events happening daily in IIT Bombay, and talks on Computer Science are no exception. The CSE Department has a number of weekly talks at the FC Kohli Auditorium, often by our own faculty (Faculty Unplugged Seminar Series / FUSS) or professors from outside IIT Bombay (CSE Department Talks). A number of reading groups are organized on a weekly / bi-weekly schedule, notably the AIML reading group. The Web and Coding Club at IIT Bombay organize informal talks on undegraduate research experiences (Reflections). Finally, the CSE Cybersecurity Club and BioBytes Student Reading Group are two student-run clubs organizing biweekly talks on computer security and biological computing respectively.

Internship Opportunities

  • Google Summer of Code (GSoC) / Outreachy - These are exciting opportunities in the world of open source - a chance to get to work on a real-world codebase with excellent developers from across the world. Selection into this program is completely based on prior open source experience and a final project proposal. The Web and Coding Club at IIT Bombay runs an incubation cell for GSoC projects and has a detailed guide here.

  • Placement Cell - A number of start-ups, companies and universities offer Computer Science based interships via the Placement Cell at IIT Bombay. Selections for the company internships are generally done via a computerized test followed by an interview. It’s a good idea to start building your competitive programming skillset for these tests. Here is a beginner’s guide.
    University internship selections often use CPI, prior work, recommendation letters or an interview for selection. It’s preferred to apply to dedicated undergraduate internship programs for greater flexibility in the project. MITACS, Viterbi, SN Bose, DAAD are popular internship programs among IIT Bombay undergraduates.

  • Direct Applications - While it’s always better to apply to dedicated internship programs, you could directly email suitable university professors or company recruiters, seeking an internship. There is a very specific way to do this, do not spam. The best strategy is to first work with a professor in IIT Bombay and gain some research experience in some area of Computer Science. Then, contact professors who know your IIT Bombay advisor or whose work is closely aligned to your advisor’s. If you have built a good rapport with your IIT Bombay advisor, feel free to take his / her advice about this.

  • Seasons of Code / ITSP - The Seasons of Code is a student-run initiative where you get a chance to work with a senior undergraduate from IIT Bombay on his / her Computer Science project. This is a great chance (especially in your first two years) to get your hands dirty and find a good senior mentor (who could potentially guide you in your future career endeavours).
    The Institute Technical Summer Project (ITSP) is another student-run initiative where freshers get to work on a project of their choice along with a small budget over their first year’s summer. Students are free to work on technical projects in Computer Science, Electronics, Aeromodelling, Astronomy etc and are assigned a suitable mentor.

Other Opportunities

  • Tech Teams - Most Tech Teams at IIT Bombay have a Software Subsystem requiring CSE enthusiasts. Have a look at the “Tech Teams” tab in the Institute Technical Council’s website.

  • Online Resources - A number of online courses, blogs, video tutorials can be quite useful while learning Computer Science. Here is an excellent topicwise compilation of awesome university courses to learn CS. Notably, MIT OCW and Coursera are good places to find video lectures of complete courses. Stanford has publically released a number of machine learning courses like CS224n, CS229 and CS231n.
    Finally, here is a compilation of a number of topic-wise introductory programming articles and guides by The Web and Coding Club, IIT Bombay.

  • Competitions -

    • ACM ICPC - This is a popular contest in which a number of CS students from IIT Bombay take part (and do well!). “Competitive Coding” in its true sense, preparation for this contest requires significant comfort with data structures and a lot of practice. Here is a guide to get you started. Here is a useful certification by CodeChef.
    • Capture the Flag Events - These are computer security competitions which are quite popular among CS undergraduates at IIT Bombay. DEFCON CTF is one popular international level CTF. Contact the CSE Cybersecurity Club for more details.
    • Hackathons - A number of hackathons are organized throughout the year, sponsored by tech companies and startups. These are generally co-organized with an institute body like The Web and Coding Club at IIT Bombay or the Computer Science Department at IIT Bombay. Notably, Microsoft organizes a two-stage hackathon yearly, named code.fun.do.

Feel free to contact me in case you would like to add something to the article!