Methods in Computational Linguistics I

The course number is Ling78100; the CRN is 15705.
This course has a co-requisite practicum session: Ling73700, CRN 15707.

Fall 2013
Fridays, 11:45am to 1:45pm
Graduate Program in Linguistics
CUNY Graduate Center


Dr. Matt Huenerfauth
City University of New York (CUNY)
Associate Dean, Division of Math and Natural Science, Queens College
Associate Professor, Computer Science, Queens College
Doctoral Faculty, Computer Science and Linguistics, Graduate Center


This is the first of a two-part course sequence to train students with a linguistics background in the core methodologies of computational linguistics. Successful completion of this two-course sequence will enable students to take graduate-level elective courses in computational linguistics; both courses offered by the Graduate Center's Linguistics Program, as well as courses offered by the Computer Science Program. As the first part of the two-part sequence, Methods in Computational Linguistics I will introduce computer programming at a level that will allow students to begin building computer applications that address various computational linguistic tasks. No previous programming experience is required. The programming language we will use is Python. We begin by learning the syntax of Python and how to program generally; we then focus specifically on linguistic applications.

A Note on Prerequisites

This course is a pre-requisite for Methods in Computational Linguistics II.

Who Should Take this Course

This course is required for students pursuing the MA in Computational Linguistics or the PhD Certificate in Computational Lingusitics at CUNY Graduate Center. Further, this course would be excellent for students who may be interested in research in computational linguistics or natural language processing (NLP). Other graduate students (including those outside of linguistics) who wish to gain basic programming skills in the Python language, which is useful for text processing and various linguistic and web applications, may also benefit from this course. Because this course introduces basic programming concepts, it would not be appropriate for graduate students in Computer Science.


We will be using the following textbook for the course: Python Programming: An Introduction to Computer Science, First Edition, by John Zelle, Franklin Beedle & Associates publishers, 2003. ISBN: 978-1887902991. Retail Price: $40.
Note: It is important that you get the first edition of the textbook because this matches the version of the Python programming language that we will be learning in this course. The second edition covers Python version 3.

The textbook is available on Amazon and through other sources.

The official website for the textbook has useful resources.

Assignments and Grading

There will be homework assignments approximately every 2 weeks. There may also be in-class quizzes.

Course Topics

A detailed syllabus for this course will be available on the Blackboard website for this course, which is accessible to registered students. Go to Blackboard Briefly, the topics covered in this course will include:

Technical Details

Students are expected to install Python 2.6 and the Natural Language Toolkit (NLTK) on their personal computer so that they can write and run computer programs for this course. Details about what specific versions of this software to install and how to configure it will be discussed during the first week of class.

For More Information

For more information, you should consult the Blackboard website for this course. Go to Blackboard You may also contact the instructor, Matt Huenerfauth.