Scala Programming for Computational Linguistics

Winter Semester 2016/17, University of Tübingen

Scala is a functional and object oriented programming language for the Java virtual machine. In this class, we will give an introduction to Scala, concentrating on the functional programming aspects. We will be using examples from computational linguistics throughout. One of the main reasons why functional programming is receiving so much attention right now is the fact that it lends itself particularly well to parallel execution. Time permitting, we will explore some aspects of parallel/concurrent execution in Scala to speed up processing of large volumes of data.

Prerequisites: This course is an advanced programming course. Although we give an introduction to Scala, we expect students to have a solid level of programming skills. That is, students must have completed at least the two introductory Java classes (Data Structures and Algorithms for Language Processing I & II). You should also have completed the Introduction to Computational Linguistics. While we do not expect any advanced CL skills, you should know what part of speech tagging is, for example.


Class timesMondays & Fridays 16-18
Room0.02 on Mondays & 0.02/1.13* on Fridays
*Please see the schedule for when we meet in which room on Fridays
First lectureMonday, October 24, 2016
Registrationin the first lecture
LecturersThilo Götz & Verena Henrich (reaches both Thilo and Verena)
Time for questionsafter the lectures or by mail
Slides and samples

Links & Literature