Software Support

The primary prerequisite of CIS705a is that you have nontrivial experience with (i) a scripting language like Python or Ruby, (ii) a typed functional langugage like SML, OCaml, or Haskell, and (iii) a logical language like Prolog or Datalog. Reference materials for these languages are found at the CIS505 website,

In this course, we will experiment with Scala, which is Martin Odersky's attempt to integrate attractive features of scripting and typed-functional programming into Java. It's possible to write "script style" in Scala, or write "functional style" in Scala, or write "object style" in Scala. So, what is "Scala style" in Scala? We will try to find out!

  1. Download an implementation (requires Java) at

    Here are some notes I wrote about how to install and use Scala.

  2. Here is a local copy of the standard reference, Programming in Scala.

    Here are some notes I wrote that give a quick survey of the above book.

  3. Here are some other reference materials: