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 times||Mondays & Fridays 16-18|
|Room||0.02 on Mondays & 0.02/1.13* on Fridays|
*Please see the schedule for when we meet in which room on Fridays
|First lecture||Monday, October 24, 2016|
|Registration||in the first lecture|
|Lecturers||Thilo Götz & Verena Henrich|
|Contactfirstname.lastname@example.org (reaches both Thilo and Verena)|
|Time for questions||after the lectures or by mail|
|Slides and samples||https://bitbucket.org/verenahenrich/scala-4-cl|
Links & Literature
- Book: Programming in Scala – A comprehensive step-by-step guide, Third Edition, by Martin Odersky, Lex Spoon, and Bill Venners. Artima, 2016.
- Advanced book: Functional Programming in Scala by Paul Chiusano and Rúnar Bjarnason. Manning, 2014.
- Official Scala website
- Scala API