↑ All Courses

Student Qualifications

  • Grades 6–12 (Accelerated learners in earlier grades are welcome with instructor approval)
  • Logical thinking and math skills
  • Facility with computers

Class Description

Scala is a popular, mainstream programming language, that for many top programmers, replaces Java. This class will start with Kojo, learning Scala while making interesting geometrical patterns, and then move into more mainstream uses, perhaps a text adventure game or a simple web application.

Some things we will learn:

  • Communicating with the user (println, io.ReadStdin.readLine)
  • Taking action depending on conditions (if)
  • Looping (repeat, for)
  • Making things happen randomly in games (math.random)
  • Different ways of storing data (Int, Float, String, Map, Vector, Set)


If you have no programming experience, please first spend some time with Scratch or Tynker, getting some experience with things like:

  • repeat
  • if
  • sprites
  • costumes
  • 2-d coordinates (x, y)

Before class, please set up your laptop for Kojo.

Adventure Game

This is a somewhat advanced project, a bit beyond what we will learn in this class, but a good example of what we can do with Scala.

Scala Playlist

Source Code