WS 2017/18

Computational Linguistics


Computational Linguistics

Winter Semester 2017/18
Prof. Dr. Alexander Koller
Tutor: TBA
Tue 10-12, Fri 12-14; Seminarraum C7.2

Core Course, Area CL
Required course for MSc with specializations CL and LT

First class: TBA, date will be announced here

The course “Computational Linguistics” is the introductory course to computational linguistics for MSc students. It covers a wide range of techniques for natural language processing. After completing the course successfully, students will be able to read current conference and journal publications in computational linguistics.

Structure of the course. We will meet twice a week for lectures and to discuss the assignments (see the course schedule). We will assign some reading material for each lecture, and will assume that you have read this material before the lecture. This will allow us to cover more ground in the lectures, and allow you to identify questions that you’d like to ask.

Furthermore, we will hand out six assignments over the course of the semester. Assignments will mostly be small programming projects that are designed to give you a deeper understanding of the course material. We will prepare the assignments under the assumption that you will use Python and NLTK to solve them. If you want to use a different programming language, please come talk to us at the beginning of the semester.

After you turn in each assignment, we will score it, and we will then discuss your solutions in class. You should be prepared to explain your own solution to the other students. In addition, we offer a voluntary weekly tutorial session in which you can ask us questions about the current assignment or anything else pertaining to the course.

We encourage you to use the Piazza Forum for this course to discuss any content or organizational questions that arise between classes. Piazza allows you to ask questions, which can then be answered collaboratively by both the instructors and the other students. We will also provide materials and make announcements via Piazza, so please be sure to sign up.

Prerequisites. As an introductory class, this course does not assume any prior knowledge in computational linguistics. However, the programming assignments will start the first week of the course, and you will need to either have or develop solid programming skills to pass the course (roughly at the level of the Coursera course “Principles of Computing, Part 2”). We will give you a one-lecture crash course in Python, and you can attend the lecture Introduction to Programming in Python in parallel to this class. However, if you have never programmed before, consider taking only the Python course in your first semester, and then taking Computational Linguistics in your third semester.

Grading. This class is worth 6 credit points, which translates into 180 hours of work. Please schedule your semester accordingly.

The grade for the course is determined based on a final project. Towards the end of the semester, you will propose a topic for a small final project that applies or extends the techniques from the course. Generally speaking, the workload for a final project should be similar to that of an assignment. You will then work on your project in the term break, and submit a working system together with a short paper that explains what problem your system solves and how it does this. We will grade the project on the difficulty of the task, the quality of your solution, and the clarity of the presentation.

In addition, you must successfully complete the assignments for the course. You must submit solutions to at least five of the six assignments. We will then add up your two best scores from Assignments 1-3 and your two best scores from Assignments 4-6. To pass the course, you must obtain at least 250 points (out of 400).