Condor
An account on the Condor Cluster (patas.ling.washington.edu) is also required. Feel free to develop using whatever OS you prefer. But please keep in mind that all homework assignments must ultimately run on the cluster. Please be sure to familiarize yourself with this system, in particular how to run code using condor_submit. See the CLMA wiki pages for help on this. This is required for finished assignments. You should use this even during the debugging stage if you expect your code to take up a lot of processing resources. The short-cut command condor_exec is also useful.
Languages
For this course, you can use any programming language you like. Some good choices are Python, Perl, Ruby, C#, C++ and Java. I would avoid using Lisp or C unless you are very familiar with these languages already. First, have a look at this article comparing scripting and compiled languages. Finally, note this Wikipedia table comparing NLP toolkits and languages.
Python
Perl
C#
Java
Ruby