Linguistics 555
Programming for Computational Linguists
Autumn 2010

Course goals

This course is geared towards students concentrating in Computational Linguistics with little or no experience in programming; Linguistics students are welcome, too. It will introduce the fundamentals of programming and computer science, aiming at attaining practical skills for text processing. While we will work with Python, the main focus is on introducing basic concepts in programming, such as loops or functions. In contrast to similar courses in Computer Science, we will concentrate on problems in Computational Linguistics, which generally involve managing text, searching in text, and extracting information from text. For this reason, one part of the course will concentrate on regular expression searching.

Through lectures, lab sessions, and (bi-)weekly assignments, students will learn the essentials of Python and how to apply these skills to natural language data.

By the end of the course, you should be able to:

Some details

Meeting time: MW 2:30-3:45pm
Classroom: Music Library (M) 373
Credits: 3
Course prerequisites: None. That means that no prior programming experience is expected.

Instructor: Markus Dickinson
Office: Memorial Hall (MM) 317
Phone: 856-2535
Office hours: (at least for the first week)

M 10:00-11:00am
R 11:00am-12:00pm
  or by appointment


We will work with the following (recommended) textbook:

We will also make reference to the NLTK book at the end of the semester:


Grades will be based on classroom discussion/participation, homeworks, a midterm exam, and a final examination.

HOMEWORKS 50% (10@5% each)
MIDTERM EXAM 20% Due Monday, October 25
FINAL EXAM 20% Due Friday, December 17 @ 5:00pm

Academic Misconduct:

Academic misconduct is not allowed in this course. The Indiana University Code of Student Rights, Responsibilities, and Conduct ( defines academic misconduct as ``any activity that tends to undermine the academic integrity of the institution . . . Academic misconduct may involve human, hard-copy, or electronic resources . . . Academic misconduct includes, but is not limited to . . . cheating, fabrication, plagiarism, interference, violation of course rules, and facilitating academic misconduct'' (II. G.1-6).

Students with Disabilities:

Students who need an accommodation based on the impact of a disability should contact me to arrange an appointment as soon as possible to discuss the course format, to anticipate needs, and to explore potential accommodations.

I rely on Disability Services for Students for assistance in verifying the need for accommodations and developing accommodation strategies. Students who have not previously contacted Disability Services are encouraged to do so (812-855-7578;


Links to notes and homeworks will be posted on the course website.

Month Date Topic Readings Assignments
Aug. 30 Intro to class/programming (.pdf, -2x3.pdf)    
Sep. 1 Unix (.pdf, -2x3.pdf) Handouts: 1, 2, extra ch. 1, p. 1-9  
  6 Intro to python (.pdf, -2x3.pdf) ch. 1, p. 9-30  
  8 Lists & Tuples (.pdf, -2x3.pdf) ch. 2, p. 31-40 A1 due
  13 Lists & Tuples (handout) ch. 2, p. 40-52  
  15 Conditionals & Loops (.pdf, -2x3.pdf) ch. 5, p. 83-97 A2 due
  20 Conditionals & Loops (.pdf, -2x3.pdf) (handout) ch. 5, p. 97-112  
  22 File input & output (.pdf, -2x3.pdf) ch. 11 (p. 261-276) A3 due
  27 Strings (.pdf, -2x3.pdf) ch. 3, p. 53-59  
  29 Strings ch. 3, p. 60-67 A4 due
Oct. 4 For loops (.pdf, -2x3.pdf) ch. 6, p. 69-74  
  6 Dictionaries (.pdf, -2x3.pdf) ch. 6, p. 74-81 A5 due
  11 Regular expressions (.pdf, -2x3.pdf) ch. 10, p. 242-257  
  13 Functions (.pdf, -2x3.pdf) ch. 6, p. 113-130 A6 due
  18 Functions ch. 6, p. 131-140  
  20 Midterm review    
  25 MIDTERM DUE    
  27 Modules ch. 10, p. 209-241  
Nov. 1 Testing code ch. 16, p. 349-358 A7 due (
  3 Testing code ch. 16, p. 358-364  
  8 Classes & Objects ch. 7, p. 141-150  
  10 Classes & Objects ch. 7, p. 150-159 A8 due
  15 Exceptions ch. 8, p. 161-170  
  17 Exceptions ch. 8, p. 170-174 A9 due
  22 N-grams    
  29 Edit distance    
Dec. 1 NLTK NLTK, ch. 1  
  6 NLTK NLTK, ch. 5 A10 due
  8 Final review    
  17 FINAL DUE (5pm)    


This syllabus is subject to change. All important changes will be made in writing, with ample time for adjustment. (Midterm and final dates, however, will not change.)