Course 'Object-Oriented Compatibility'

This course is based on Scala 2.10 and Java 7, and has not been updated to Scala 2.11 or Java 8. Updating this course to a newer version of Java or Scala is currently a low priority.

This course focuses on Java/Scala interoperability. It provide students the knowledge and techniques to work with combined Scala/Java code bases in all their forms.

  1. The first section of this course helps you install Scala tools, including a brief refresher on how to use the three most popular choices of programming tools: a text editor with SBT, Eclipse and IntelliJ IDEA. Pick the toolchain that you are most comfortable with, watch the videos of interest and follow along. Within minutes you will have all of the code examples provided in the course compiled and running.
  2. The second section of this course shows you how Scala programs can work with Java code and data structures. This material is quite short, and is exactly what you would expect, with one notable exception, as you will see as you go through the course.
  3. The third section of this course shows you how to work with a Java dissembler and interpret what it shows you. After a quick review of Scala's object-oriented features, you will learn how to discover the proper incantations to call Scala code from Java, and to work with Scala data structures from Java.
  4. The fourth section of this course shows you how to access Scala objects and data from Java.
  5. The last section of this course offers guidance on how to write Scala code so it can be readily accessed from both Scala and Java.

This course is a well-organized and complete source of information on how to make Java and Scala code work together effectively. Students will learn how to write Java code that uses the Scala runtime as if it was just a very capable Java library, and to write Scala code that exposes the advanced features of Scala so Java programmers can use it without even knowing that it was written in Scala. If you need to develop software that is a blend of Java and Scala code, this course will give a solid foundation for intermediate and advanced Scala programmers. For example, you will learn how to structure a model so it can be used from Scala and Java code, while providing all the benefits of Scala.

How to Study This Course

The video on the front page of this web site discusses how to study this course. The transcript tab contains the same information as the video in written form.


Intermediate Scala course or equivalent.

Date Lecture Changes
2015-07-28 Quiz 1 on Setters and Getters Hived from Routes and Dispatching to Controllers
2013-11-04   Early access for this course ended
2013-06-01   Early access for this course began
Price: $249usd