Linguistics 435 | 555
(Foundations of|Programming for) Computational Linguist(ic)?s
Fall 2016

Course goals This course is geared towards students in Computational Linguistics and Linguistics with little or no experience in programming. It will lay a platform for computational linguistics, by establishing the fundamentals of programming and computer science and covering practical skills for text processing. While we will work with Python and the Natural Language Toolkit (NLTK), 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 NLTK and how to apply these skills to natural language data.

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

Meeting time: TR, 9:30–10:45am

Classroom: Lindley Hall (LH) 030

Course website:

Assignments, slides, etc. will be posted here. ... I will, however, sometimes put data on Canvas, and I will always note that it is on Canvas.

Credits: 3

Course prerequisites: None. That means that no prior programming experience is expected.

Instructor: Markus Dickinson

Office: Ballantine Hall (BH) 851

Phone: 856-2535


Office hours:

R 11:00am–12:00pm
or by appointment

Readings: There is no required textbook, but we will make reference to various resources throughout the semester. My attitude is that, while I will provide recommended readings, you will be sort of “on your own” in terms of finding useful materials to read—just be sure that what you’re looking at is for Python 3, not Python 2. There are paper versions of many of the links listed below, but they are all available freely online.

Again, note that we will be using Python 3. While you can easily transfer the learning of Python 3 to Python 2, many things will not work right if you are using Python 2.

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

Participation 10%
Homeworks 50%(10@5% each)
Midterm exam20%Due Thursday, October 13 by classtime
Final exam 20%Due Thursday, December 15 @ 5:00pm

Lab space: Python 3 should be installed in Mac labs on campus. You are also free to use the machines in Ballantine Hall (BH) 306, usually open during normal working hours, when the room is not otherwise in use.

Academic Integrity: (from the Dean for Academic Standards and Opportunities)

“As a student at IU, you are expected to adhere to the standards and policies detailed in the Code of Student Rights, Responsibilities, and Conduct ( When you submit an assignment with your name on it, you are signifying that the work contained therein is yours, unless otherwise cited or referenced. Any ideas or materials taken from another source for either written or oral use must be fully acknowledged. All suspected violations of the Code will be reported to the Dean of Students and handled according to University policies. Sanctions for academic misconduct may include a failing grade on the assignment, reduction in your final course grade, and a failing grade in the course, among other possibilities. If you are unsure about the expectations for completing an assignment or taking a test or exam, be sure to seek clarification beforehand.”

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;

CAPS One benefit of a school like IU is that there are many, many resources available to you. School—and life—can be intense at times, and if your academic responsibilities or other personal concerns are distracting or weighing on you this semester, I encourage you to contact Counseling and Psychological Services (CAPS, 812-855-5711, The people there can be a resource and a source of support, not just in times of crisis but also when you need an extra ear or a little extra support. I’m happy to be a listening ear, as well, but I have no counseling training and the folks at CAPS do. Note, too, that I am required to report certain things (e.g., reports of sexual assault, suicidal thoughts).

(Tentative) Schedule: The schedule is subject to change—and I can basically promise you that it will change, depending upon which concepts need more or less clarification. Links to notes and homeworks will be posted on the course website.

MonthDateTopic Readings Assignments

Aug. 23Intro to class/programming (.pdf, 2x3.pdf) ABD, ch. 1
25Unix (.pdf, 2x3.pdf) (handout)

30Unix (handouts: 1, 2)KWC
1Intro to python (.pdf, 2x3.pdf) ABD, ch. 2, app. A; (MP, ch. 1)

6Lists & Tuples (.pdf, 2x3.pdf) ABD, ch. 10; (MP, ch. 2)A1 due
8Lists & Tuples (handout) ABD, ch. 12; (MP, ch. 3)

13Lists & Tuples
15Conditionals & Loops (.pdf, 2x3.pdf) ABD, ch. 5.1–5.7 A2 due

20Conditionals & Loops (.pdf, 2x3.pdf, handout) ABD, ch. 7
22Conditionals & Loops (.pdf, 2x3.pdf)

27File input & output (.pdf, 2x3.pdf) (handout) ABD, ch. 14 A3 due
29Strings (.pdf, 2x3.pdf) (handout) ABD, ch. 8; (MP, ch. 4)

Oct. 4Strings ABD, ch. 9
6NLTK overview (.pdf, 2x3.pdf) NLTK, ch. 1 A4 due

11Midterm review (review)
13Midterm due

18NLTK NLTK, ch. 1 (cont.)
20Dictionaries (.pdf, 2x3.pdf) ABD, ch. 11

25Dictionaries ABD, ch. 13 A5 due

Nov. 1Functions (.pdf, 2x3.pdf) ABD, ch. 3 A6 due
3Functions (handout) ABD, ch. 5.8-5.14, ch. 6

8Modules (.pdf, 2x3.pdf) (handout)
10Regular expressions (.pdf, 2x3.pdf) MP, ch. 5 A7 due

15Regular expressions (handout)
17NLTK tagging (.pdf, 2x3.pdf) NLTK, ch. 5 A8 due

22Thanksgiving break, no classes
24Thanksgiving break, no classes

29NLTK tagging NLTK, ch. 5 (cont.)
Dec. 1Testing code

6Testing code A9 due
8Final review (review)

15Final due (5pm)

If we have time, we’ll also look at classes and objects (ABD, ch. 15–18).

Disclaimer 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.)