LING 1330/2330 Computational Linguistics
Fall 2018, University of PittsburghMeetings: Tue & Thu 4:30pm - 5:45pm Classroom: 363 Cathedral of Learning
DescriptionThis is a course designed to introduce students who have been exposed to linguistics to real-world applications of computational linguistics. The students will first learn the fundamentals of how computers are used to represent and process textual and spoken information. They will then be introduced to the challenges of real-world language engineering problems and learn how they are handled with the latest language technologies. The topics include: spell-checking, machine translation, part-of-speech tagging, parsing, document classification, and corpus building and exploration. Students will be given hands-on training on the basics of text processing using Python and will have a chance to work with NLTK, a popular natural language processing application suite. This course is designed specifically for students in the humanities; computer science majors (who are not linguists) are encouraged to take CS 1671 or CS 1571 instead.
PrerequisitesLING 1000 Introduction to Linguistics is the only prerequisite for this course. Prior knowledge of Python or other programming languages is not required but highly recommended. CS 0008 "Introduction to Computer Programming with Python" or CS 0155 "Data Witchcraft" will give you a good preparation.
Notes for Incoming StudentsDo you have little/no programming experience? Please read the following.
Students are required to bring their own laptop to class. It should be running one of the following operating systems: Windows 10 (7 & 8 are also fine), Mac OS-X, and Linux (any distribution). Mobile or cloud-based machines such as Android/Apple tablets or Chromebooks are not suited.
Textbooks Language and Computers. Markus Dickinson et al. Wiley-Blackwell. 2012.
 Python tutorial: Python 3 Notes
 Natural Language Processing with Python. (updated edition based on Python 3 and NLTK 3) Steven Bird et al. O'Reilly Media.
Course OrganizationEach meeting will comprise two parts: lecture and lab. In the first half of the class, topics presented in the textbook  Language and Computers will be covered in a lecture-and-discussion format. In the second half, students will get hands-on training on the basics of text processing using Python and Natural Language Toolkit (NLTK). Friday recitations (optional) will focus on the programming aspect: additional Python exercises, upcoming homework reviews, and individual help will be offered.
Exams, Requirements, Grading and PoliciesPlease read the Course Policies page.