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:
|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.
|MIDTERM EXAM||20%||Due Monday, October 25|
|FINAL EXAM||20%||Due Friday, December 17 @ 5:00pm|
Academic misconduct is not allowed in this course. The Indiana University Code of Student Rights, Responsibilities, and Conduct (http://dsa.indiana.edu/Code/) 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 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; http://www.indiana.edu/~iubdss/).
Links to notes and homeworks will be posted on the course website.
|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|
|27||Modules||ch. 10, p. 209-241|
|Nov.||1||Testing code||ch. 16, p. 349-358||A7 due (useful.py)|
|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|
|24||NO CLASS, THANKSGIVING BREAK|
|Dec.||1||NLTK||NLTK, ch. 1|
|6||NLTK||NLTK, ch. 5||A10 due|
|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.)