Scala is an object-functional programming language that runs on the Java virtual machine. Scala has full support for functional programming, while also supporting traditional object-oriented programming. Scala is also fully interoperable with Java. Scala provides advanced and powerful capabilities, well beyond what’s available in most other JVM languages. Like Java, Scala has compile-time type safety, unlike popular dynamic languages (though Scala is even more type-safe than Java). But Scala also provides type inference, pattern matching, higher-order functions, a powerful and flexible collections library, and advanced support for the concurrent programming that’s so necessary to scale today’s demanding applications. There’s a sudden explosion of interest in Scala, and this course will help prepare you to take advantage of this intriguing and capable language. Based on Cay Horstmann’s excellent book, Scala for the Impatient, our course starts with Scala basics and gradually works its way through more complicated and powerful language capabilities.
• A working knowledge of the Java programming language, since the course often compares Scala constructs to Java constructs. Knowledge of C++ is a reasonable substitute for Java knowledge. • A solid programming background. This course is not for managers or CIOs; it’s aimed squarely at developers. • A desire to dig into a new language and get your hands dirty. • A familiarity with the Unix or Windows command line is helpful.
4 Days/Lecture & Lab
Java or C++ developers interested in diving into Scala development.