Professor, Department of Computer Science & Engg., IIT
Bombay
So you are interested in doing summer internship with us?
I keep receiving numerous emails requesting a summer/winter
project.
There is nothing much meaningful that can be achieved in a short
duration of 4 weeks to 8 weeks in my area of work (what is my
area?
Good question. Please do your homework). Hence I do not take
candidates
for such short projects. I consider only those applicants who are
interested in working with me for at least six months actively and
are
willing to spend at least six months before this active period in
preparing background in programming and some tools used in writing
a
compiler. If you are interested, please read on.
- Please do your homework on my area of work. Please go through
my
web page thouroghly. Please look at the courses I teach, the
seminars/projects that I offer and the papers that I publish.
Please
collect as much background information about this area as
possible.
Please don't ask me where you will get this information from. I
would
like to see your dynamism and initiative in building the
background.
- Having collected the information, please ponder over your
desire
to work with me. Exactly why do you want to work with me?
- If you are mainly interested in a stamp of having worked at
an
IIT, you will not survive in my group so it is better that we
spare
each other the trouble.
- If you are interested in building something fantastic
and
become famous overnight, I would be very happy to learn from
you how it
can be achieved. I have tried it for over 35 years and have
not succeeded.
- If you are interested in pursuing your higher studies abroad
and want to use IIT as a stepping stone, there is nothing much
wrong in
it (something certainly is wrong), you cannot do so unless you
are
willing to contribute something to IIT. For this you need to
spend at
least six months of background preparation and six months of
active
work.
- If you are interested in gaining more knowledge, you are
most
welcome to do so but you cannot remain merely at the receiving
end; you must
plan to give something back. You must learn with a goal of
contributing something to IIT. For this you need
to spend at least six months of background preparation and six
months
of active work.
- Programming languages and compilers is one of the more
difficult areas of CS as it spans both theory and practice
deeply,
requiring several layers of abstractions for developing
insights in
this area. Please note that working in programming languages
is not as
simple as writing programs using some programming language.
Working in
programming languages implies providing support for
programming in a
language.
- If you have read this far, perhaps you are really interested.
Good. Please spend sufficient time in learning about the
following: A
good exposure to Linux, Shell programming, make, C programming,
cscope, ddd/gdb, lex, and yacc. Please try to build a project
using
these tools. I will assess your project, will ask you to modify
it in
some non-trivial manner (to ensure that you have really learnt
the
things rather than merely copying the code from somewhere).
Please don't forget that I have sufficient experience to figure
out if you have copied the code from the internet of used
generative AI for the purpose. Using small code examples is
okay, generating the entire code is not. And no, I
will not suggest a problem; I would like to see how you think of
designing a suitable problem.
- If you show sufficient motivation and initiative and I find
some
promise in you, I will be happy to interact with you over email
giving
you exercises and suggestions. No phone calls please.
- The students who do their homework and propose a particular
problem related to my research project stand a much better
chance of
hearing from me.
Please send me a mail only if
you are sure you can satisfy all the above requirements.
Back to the main page