Course 'Introduction to Scala'
$495usd

The "Setting Up IntelliJ IDEA" lecture is not free and you are not enrolled in the course, or you are not logged in. Information about the lecture follows. Click on the About the Course and Course Outline tabs above to learn more about the course. You can enroll by clicking on the button on the upper right of this page.

Lecture Contents

Configuring IDEA

Modifying Plugins (Supplemental)

Settings

Launching IDEA from the Command Line (Supplemental)

Invalid JDK Settings

Tuning Memory Allocation

Overriding IDEA Settings

References: Lecture Installing Scala
Lecture SBT Global Setup
Lecture SBT Project Setup
Lecture SBT Tasks and Settings
Referenced by: Lecture Installing First-Level Software Tools for this Course
Lecture Working on Play Projects with IDEs
Lecture Working on Play Projects with IntelliJ IDEA
Lecture Play Framework REPL & Tools
Lecture SBT Project Setup
Lecture Working With Scala-IDE for Eclipse
Lecture Working With IntelliJ IDEA

Abstract

This lecture is for programmers who would like to set up IntelliJ IDEA for use with this course and those that follow. It has been updated to IDEA 15.0.3, and discusses special considerations for Mac OS/X, Linux and Windows, as well as Eclipse / Scala IDE compatibility.

Revision History

Date Changes
2016-05-21 Added suggestion regarding "Smart Keys / Reformat block on typing '}'" and new key bindings for moving between editor tab groups
2016-02-15 Hived Working with IntelliJ IDEA lecture and republished video
2016-02-12 Updated transcript to IntelliJ IDEA 15.0.3
2015-11-30 Added Running SBT Console Inside IDEA section to the transcript.
2015-08-26 Added section Overriding IDEA Settings
2015-07-25 Added instructions on how to bind Alt-Shift-H to View Local History.
2015-07-10 Added new demo to end of transcript and republished video
2015-06-26 Updated video and transcript for IDEA 14.1.4, lecture is no longer free
2014-07-24 Minor update - just changed the short introduction segment. No technical content was modified
2014-07-02 Updated video; more than half is new, the rest was remastered
2014-06-29 Updated transcript to IDEA 13.1.3 and added the Invalid JDK Settings section
2013-09-01 First published transcript and video

Whether you want to learn Scala in order to work with Apache Spark, or an industrial-strength Scala program, or Play Framework 2, enrolling in this course is the logical starting point.

This Introduction to Scala course covers the fundamentals and is designed to give you a variety of hands-on experiences with Scala. The unique features of Scala are introduced, including object-oriented and functional aspects. Software tools are discussed in detail, including SBT, both leading IDEs (IntelliJ IDEA and Scala-IDE), and several options for programming Scala without an IDE. Exercises are provided throughout that reinforce the lecture material.

The material builds from lecture to lecture, so be sure to go through the material from start to finish. This course is based on lots of code examples that can be pasted into the Scala REPL, and that code is also provided in the the courseNotes/ directory. The course consists of 7 hours of video, over 450 pages of lecture notes (if printed as an O'Reilly-sized book), more than five-dozen sample programs, and about a dozen exercises. As you can see from the Revision History tab on this page, we continually keep this course up-to-date. The discussions of upcoming versions of Scala also have working code examples, as appropriate.

First Things First

We suggest that everyone take this course before moving on to the follow-on course, Intermediate Scala. Many students enroll in Intermediate Scala straight away after having spent time experimenting with Scala. Although you can spend a lot of time trying to learn Scala from the Internet and by reading books, this leads to an uneven and often incorrect understanding of Scala. We find that most students who enroll in Intermediate Scala without enrolling in this course first soon enroll in this course as well.

In addition to offering self-paced online learning with email support, Micronautics Research (the company that operates ScalaCourses.com) offers on-site and remote delivery for this course. Our instructors use videoconferencing to provide office hours so students can interact directly. Please contact us for further details.

The overview video on the front page of this web site discusses how ScalaCourses.com works.

Prerequisites

Familiarity with Java, Ruby or another object-oriented programming language is recommended.

Date Lecture Changes
2016-08-15 Working With IntelliJ IDEA Added Exploring Project Dependencies section to transcript.
2016-08-12 SBT Project Setup Updated the recommended Scala compiler options
2016-08-02 SBT Tasks and Settings Added section sbt Script
2016-07-24 SBT Tasks and Settings Added section Run All Tests In a Specific SBT Subproject to transcript
2016-07-14 Functions are First Class Added New for Scala 2.12 section to transcript and updated the Desugared Syntax section
2016-07-04 Case Classes Added Example from Play Framework section
2016-06-22 Ensime Initial version of transcript published
2016-06-16 SBT Tasks and Settings Republished video
2016-06-16 Atom Editor Added Cygwin launch script for Atom to transcript
2016-06-16 SBT Global Setup Added new section Coursier - An Alternative Maven / Ivy Fetcher
2016-06-13 Atom Editor Published video
2016-06-10 Atom Editor Wrote transcript
2016-05-21 Setting Up IntelliJ IDEA Added suggestion regarding "Smart Keys / Reformat block on typing '}'" and new key bindings for moving between editor tab groups
2016-03-13 SBT Tasks and Settings Moved the Examining Dependencies section from the Standard Files and Directories and Improved Template lecture of the Introduction to Play Framework for Scala course to the end of this transcript
2016-03-13 SBT Project Setup Changed references from Typesafe (the company name) to Lightbend
2016-03-13 SBT Global Setup Added section A Word About SBT's Documentation to transcript
2016-03-02 Objects Added a mention of Ammonite's block input mode
2016-03-02 Learning Scala Using The REPL Enhanced REPL the here docs section in the transcript with three Scala 2.11.8 examples
2016-02-22 SBT Global Setup Updated to SBT 0.13.11
2016-02-22 SBT Project Setup Updated to SBT 0.13.11
2016-02-22 SBT Tasks and Settings Updated to SBT 0.13.11
2016-02-15 Setting Up IntelliJ IDEA Hived Working with IntelliJ IDEA lecture and republished video
2016-02-15 Working With IntelliJ IDEA Hived from Setting Up IntelliJ IDEA lecture and published video
2016-02-12 Working With IntelliJ IDEA Updated transcript to IntelliJ IDEA 15.0.3
2016-02-11 SBT Project Setup Hived into SBT Tasks and Settings
2016-02-11 SBT Tasks and Settings Hived from SBT Project Setup lecture
2016-02-10 SBT Project Setup Updated and republished video
2016-02-06 Setting up Bash and Git on Windows Republished video
2016-02-05 Scala Imports and Packages Updated transcript and republished video
2016-02-02 SBT Global Setup Republished video
2016-01-28 SBT Global Setup Added SBT's Recursive Build Process section
2016-01-27 Unit testing With ScalaTest and Specs2 Updated transcript to current versions of all software mentioned and republished video
2016-01-25 Setters, Getters and the Uniform Access Principle Tweaked transcript and redid video
2016-01-24 SBT Global Setup Enhanced preamble and Plugins sections; added Reproducible Builds section
2016-01-24 Reading ScalaDoc Updated video to match transcript
2016-01-23 Scala Traits Updated video
2016-01-23 Try and try/catch/finally Video brought up to date with transcript
2016-01-23 Scala Overview and Philosophy Completely redid the video
2016-01-23 Sublime Text Looks like Sublime Text is dead. This lecture is deprecated and will not be updated.
2016-01-21 Classes Part 2 Republished video so it matches the transcript
2016-01-20 Classes Part 1 Updated video to match transcript and improved video presentation
2016-01-07   Published new promotional video for this course (See Overview Video tab)
2016-01-03 Working With Scala-IDE for Eclipse Lecture is no longer free
2015-12-21 Learning Scala Using The REPL Added Scala REPL Here Docs section (new for Scala 2.11.8)
2015-12-05 SBT Global Setup Updated initialCommands in (Test, console) for Ammonite-REPL
2015-11-30 Working With IntelliJ IDEA Added Running SBT Console Inside IDEA section to the transcript.
2015-11-27 SBT Global Setup Added Ammonite - An Alternative REPL section to transcript
2015-11-27 SBT Project Setup Added Handy Settings section
2015-11-21 SBT Project Setup Added Managing Conflicting Dependencies and Handy One-Liners sections to the transcript
2015-11-19 Learning Scala Using The REPL Republished video discussing REPL changes for Scala 2.11.8 & 2.12
2015-11-19 Closures Updated video with new section Closure Improvements with Scala 2.12
2015-11-07 Setting up Bash and Git on Windows Added new section Speeding up git on Windows
2015-10-17 Setting up Bash and Git on Windows Added Spaces in User Names section
2015-10-09 Learning Scala Using The REPL Added Scala 2.11.8/2.12 Improvements section
2015-09-22 Pattern Matching Tweaked transcript and redid video
2015-09-14 tmux Published transcript
2015-09-13 Lambda Review & Drill Added Spark Property Graph Exercise to transcript
2015-09-06 Functions are First Class Added section entitled Function1 Shorthand and republished video.
2015-09-05 Either, Left and Right Rewrote lecture and republished
2015-08-26 Working With IntelliJ IDEA Added section Overriding IDEA Settings
2015-07-25 Working With IntelliJ IDEA Added instructions on how to bind Alt-Shift-H to View Local History.
2015-07-10 Working With IntelliJ IDEA Added new demo to end of transcript and republished video
2015-07-09 Learning Scala Using The REPL Republished video
2015-07-07 Learning Scala Using The REPL Added the until and the indices Idiom section
2015-07-01 Scala Overview and Philosophy Added new paragraph on implicit conversions in the Everything is an Object section
2015-07-01 Learning Scala Using The REPL Added Scala / Java Interoperability section
2015-06-26 Working With IntelliJ IDEA Updated video and transcript for IDEA 14.1.4, lecture is no longer free
2015-06-24 Installing Scala Updated to Scala 2.11.7
2015-06-13 Reading ScalaDoc Added Symbol Definitions section
2015-06-08 SBT Global Setup Fixed video, which was missing first 5 seconds of audio
2015-05-29 Type Hierarchy and Equality Added 'Exercise - Something to Go "Hmm" about'
2015-05-26 Case Classes Added a cautionary section about defining types in methods and functions
2015-05-24 Case Classes Added case object section to transcript
2015-03-15 Either, Left and Right Moved after Functions are First Class lecture and added Processing Either Efficiently with fold section
2015-03-11 Classes Part 2 Added Splatting a Seq section to the transcript
2015-03-10 Classes Part 2 Republished video because audio for first few minutes was missing
2015-03-10 Classes Part 1 Republished video to fix portion that had no video
2015-03-10 More Fun With Functions Hived from Functions are First Class lecture and published video with enhanced transcript.
2015-03-10 Closures Hived from Functions are First Class lecture and published video with enhanced transcript.
2015-03-10 Functions are First Class Hived portions of this overly long lecture into the Closures and More Fun With Functions lectures and republished video.
2015-02-28 SBT Project Setup Updated transcript; many small changes, published a completely new video
2015-02-26 Installing Scala Updated transcript to Scala 2.11.6, removed "bad quality" information because it is now obsolete
2015-02-25 Type Hierarchy and Equality Updated video to match transcript
2015-02-25 Either, Left and Right Updated video to match transcript
2015-02-25 Deceptively familiar: access modifiers Updated video to match transcript
2015-02-25 Enumerations Published video
2015-02-21 Sublime Text Added Always on Top section to transcript
2015-02-21 Lambda Review & Drill Published video
2015-02-20 SBT Project Setup Reworked Using sbtTemplate section of transcript
2015-02-19 Recursion and Functional Programming Published transcript
2015-02-13 Case Classes Fixed preamble video so output is visible
2015-02-12 Functions are First Class Enhanced Call By Name / Lazy Evaluation of a Parameter section and touched up most of the other sections. Published new video, nearly twice as long as the previous video.
2015-02-11 Try and try/catch/finally Updated video to reference the Trying Harder exercise in the Partial Functions lecture of the Intermediate Scala course
2015-02-10 Learning Scala Using The REPL Added 95% Runtime Fidelity and Pasting a Transcript sections, added information on string interpolation, recreated entire video
2015-02-07 Setting up Bash and Git on Windows Updated screen shots for Configuring ConEmu With Cygwin Bash (Supplemental) section
2015-02-06 Lambda Review & Drill Published transcript for new lecture
2015-02-06 Scala Overview and Philosophy Added 60% more material and republished video
2015-02-05 Installing Scala Updated transcript for JDK 8, added more UTF-8 info, made many small changes and republished video
2015-01-14 Functions are First Class Added Handmade unless Construct and Handmade until Construct sections to transcript
2015-01-13 Setting up Bash and Git on Windows Added the ConEmu Hot Keys section
2015-01-07 SBT Global Setup Updated Debian/Ubuntu SBT install instructions to SBT 0.13.7
2015-01-07 Installing Scala Updated transcript to Scala 2.11.5 and added .deb installation instructions for Debian-related Linux distros like Ubuntu
2015-01-01 Classes Part 1 Updated and expanded material from the original Classes lecture
2015-01-01 Classes Part 2 Hived this lecture from the Classes lecture and expanded the material
2014-12-31 Type Hierarchy and Equality Added discussion of array equality to transcript
2014-12-29 Either, Left and Right Added the Option vs. Either vs. Try section to transcript
2014-12-26 SBT Global Setup Updated and expanded the lecture and video
2014-12-23 Working With Scala-IDE for Eclipse Published updated video
2014-12-19 Setting up Bash and Git on Windows Published the transcript and the video of a special lecture for Scala programmers that must use Windows
2014-12-18 Working With Scala-IDE for Eclipse Updated the transcript to JDK 8 and Scala-IDE 4.0.0 with Scala 2.11
2014-12-16 Traits / Mixins Refactored some material into the Self Types vs Inheritance lecture
2014-12-16 Self Types vs Inheritance Added the Self Types vs Inheritance vs Composition section and a section on numerically formatted interpolated strings
2014-12-16 Stackable Traits and Abstract Override Hived this lecture from the More Traits lecture
2014-12-08 Classes Added the Digging Deeper section to transcript
2014-11-29 SBT Global Setup Transcript now mentions that SBT 0.13.7 no longer requires double-spaced .sbt files
2014-11-29 Unit testing With ScalaTest and Specs2 Added an example to the transcript of running a specific ScalaTest test by using the -z argument within sbt
2014-11-29 Traits / Mixins Added the Self Types section to transcript
2014-11-21 Pattern Matching Added the Match Case with Multiple Values section
2014-11-19   Updated courseNotes project to SBT 0.13.7
2014-11-01   Updated sample code to Scala 2.11.4
2014-11-01 Scala Overview and Philosophy Added a reference to the Scala Specification
2014-11-01 SBT Global Setup Added the Colorized Scala REPL Output section to transcript
2014-10-12 Deceptively familiar: access modifiers Added update for Scala 2.11.3 bug fixes
2014-10-11   Updated sample code to Scala 2.11.3
2014-09-21 Enumerations Updated transcript
2014-09-17 Enumerations Wrote transcript for new lecture
2014-08-28 SBT Global Setup Added information about sbt-updates plugin
2014-08-17 Functions are First Class Added the Function1 Shorthand section to transcript
2014-08-08 Functions are First Class Video is 50% longer, recorded 3 new sections
2014-08-07 Functions are First Class Added the Method Lifting Turns Varargs into a Sequence section to the transcript
2014-08-04 Type Hierarchy and Equality Reworked video
2014-07-26 Classes Added the Types vs. Classes section to the transcript
2014-07-24 Working With IntelliJ IDEA Minor update – just changed the short introduction segment. No technical content was modified.
2014-07-08 SBT Project Setup Updated sbtTemplate to Scala 2.11.1 and fixed the sbt eclipse setup. Updated the Discovering Dependencies and Versions section with a Scala 2.11 example.
2014-07-03   Updated the courseNotes project to Scala 2.11.1 and SBT 0.13.5.
2014-07-02 Working With IntelliJ IDEA Updated the video for this free lecture; more than half is new, the rest was remastered.
2014-06-29 Working With IntelliJ IDEA Updated the transcript for this free lecture to IDEA 13.1.3 and added the Invalid JDK Settings section
2014-06-22 Installing Scala Updated the brew install incantation in lecture and this page.
2014-06-22 Sublime Text, SBT Project Setup Moved the Sublime Text lecture after the SBT Project Setup lecture.
2014-06-14 SBT Global Setup Added sbt-dependency-graph-sugar to SBT configuration instructions.
2014-04-24   Course complete, Early Access program ends, maintenance begins.
2014-01-13 Functions are First Class Published video
2012-12-14   Initial course setup.
Price: $495usd
Instructor(s): ,