Remember, good research always teaches other researchers something new.
I do not expect you to write any code from scratch. In fact, if you have an account on sf3/sunfire, you can access a host of related software that I use in my research, in the NLP/IR software repository. Feel free to suggest to me other resources that you feel would be useful to have installed and available to the class. Also, please contact me if your quota of disk space is not sufficient for you to do the scale of research that you need.
A few highlighted resources in the NLP/IR software repository that can help you do research for this course are:
Aside from these tools, if you are doing any programming based project that are requires natural language processing, you may want to consider either Java or Python. Everyone already knows Java, but Python perhaps requires a bit more introduction.
Python is supported by the Natural Language Processing Toolkit (NLTK), which is a great resource for using natural languages. It deserves a course on its own, but you can rapidly get the basics (or ask Min in class or on the forum). Warning: NLTK is great, but not compliant with Python version 3.x, so if you are using Python, try out 2.6.6, known to play well with NLTK.
Python is used as a first language in some CS faculties. John M Zelle from Wartburg College has created a highly-rated (accordingly to Amazon, at least) textbook teaching Programming and simple Data Structures using Python, Python Programming: An introduction to Computer Science, 1st edition. (Second edition covers Py 3, which we are not using. Has useful set of slides and code samples.
Students: if you find other relevant links that you feel other students would benefit from, please post it to the general discussion forum AND email the instruction staff.