The Artima Developer Community
Sponsored Link

Computing Thoughts
Gentle Introduction to Scala: The Seminar
by Bruce Eckel
August 21, 2012
For the last year and a half, Dianne Marsh and I have been working on an introductory Scala book.


The book is based on these ideas:

  1. We do not assume you know Java (or any particular programming language).
  2. We only cover some of the language, enough for you to get a foundation and comfort with it. We find that trying to cover everything in Scala all at once is overwhelming and confusing.
  3. We take the smallest steps possible, to give you many learning points where you have a sense of accomplishment.

The third idea produced the title of the book; the original concept of the "atom" was that it was the smallest indivisible piece of matter. Thus, we call the book "Atomic Scala" (this also gave us inspiration for the cover design: mid-century modern "atomic age").

Although the goal is to produce a book that is simple enough that a (dedicated) programming novice can learn Scala as their first language (and, taught right, it's a lot easier than Java as a first language), we also wanted to create something that works for more experienced programmers, who can easily skim through the earlier atoms until they get to the parts they need to study.

We feel that topics like unit testing, coding style and error handling should be internalized early, and so we introduce those in this book.

I tested both "Thinking in C++" and "Thinking in Java" as seminars first, and they became books later; this testing was fundamental to the success of those books. "Atomic Scala" is now at a point where it will benefit from live feedback, so we are holding our first week-long seminars.

The seminar will be hands-on, with lectures based on book atoms, followed by exercise sessions using book exercises. The course will put you in a great position to follow up with Escalate Scala training and/or other, more advanced books.

A great thing about the "atomic" format is that the resulting lectures are short -- typically less than 15 minutes, which is within the average human attention span. One of the main reasons I stopped giving seminars is that the "deep dive" of the chapters in "Thinking in C++" and "Thinking in Java" produced lectures that regularly lasted over an hour! I found this exhausting, and the audience did too. I'm looking forward to being able to give short lectures; it should be more energizing for everyone.

Attendees will receive an early access copy of the book and online commenting/review status on the Google doc where we're actively working to finish it (you might even witness the editing process).

The first seminar is October 15-19 in Boulder, CO. You can find full details at: And you can register at: The early bird pricing is based on 10 available tickets at a discounted rate. After those are sold, the price goes up to the regular rate.

We're also trying to figure out where we should hold the second seminar, so we've posted a quiz on our facebook page: Please suggest a place you'd like to see it held -- thanks!

We hope to see you in Boulder or somewhere else soon!

Talk Back!

Have an opinion? Be the first to post a comment about this weblog entry.

RSS Feed

If you'd like to be notified whenever Bruce Eckel adds a new entry to his weblog, subscribe to his RSS feed.

About the Blogger

Bruce Eckel ( provides development assistance in Python with user interfaces in Flex. He is the author of Thinking in Java (Prentice-Hall, 1998, 2nd Edition, 2000, 3rd Edition, 2003, 4th Edition, 2005), the Hands-On Java Seminar CD ROM (available on the Web site), Thinking in C++ (PH 1995; 2nd edition 2000, Volume 2 with Chuck Allison, 2003), C++ Inside & Out (Osborne/McGraw-Hill 1993), among others. He's given hundreds of presentations throughout the world, published over 150 articles in numerous magazines, was a founding member of the ANSI/ISO C++ committee and speaks regularly at conferences.

This weblog entry is Copyright © 2012 Bruce Eckel. All rights reserved.

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use