This course is designed to be the first of a two course sequence that exposes linguistic graduate students to core methodologies and techniques in computational linguistics. This course will introduce you to fundamental programming techniques at a level that will allow you to begin building NLP (Natural Language Processing) applications as well as owing the abilities to perform various corpus processing tasks. This course will be taught in English and assumes only minimal background with computers, no programming skills or knowledge are required.

The programming language we will use is Python (and a bit Linux commands). It is noted that although assignments, lectures and projects will be mostly text and linguistically-oriented, the course provides sufficient 'general' programming background for students from any discipline who are interested in learning programming for their works.