This is the archived website of SI 413 from the Fall 2013 semester. Feel free to browse around; you may also find more recent offerings at my teaching page.

Scala is a Java relative that has removed some of the aspects of Java that the designers thought were no good, and added new features, notably functional programming. It was originally created in 2003 by Martin Odersky and relies on the Java Virtual Machine in order to work. Its features are somewhat similar to Clojure, but the syntax (way the language looks) is more like Java than like Scheme.

Useful Links

How I will run your code

Save your program in a single file called proj.scala. Your main method must be in a class called Proj. I will compile and run your code from the MI316 environment as follows:

  scalac proj.scala
  scala Proj

Phase 1 Requirements

For this language, you need to implement modifications A, B, C, D, F, G, and H. See the Phase 1 page for details on what this means.

Phase 2

See the Phase 2 Page for the list of suggested problems. Of the ones listed, I recommend the following as being most well-suited for ruby:

  1. Matrix Calculator
  2. Image Creator
  3. Game Scheduler
  4. TODO list
  5. Game with hidden agenda
  6. Guess the language
  7. Find the missing digits
  8. Sports Ticker
  9. Rock, Paper, Scissors
  10. ??? (you choose!)