O'Reilly logo
live online training icon Live Online training

Impatient JavaScript: The Fundamentals

Modern JavaScript for Experienced Programmers

Topic: Web & Mobile
Cay Horstmann

Are you an experienced Java programmer who needs to learn modern JavaScript in a hurry? Would you like to skip the "how to program" part that teaches what variables, loops, and arrays are? Would you like to skip the "history of JavaScript" part that shows you the horrors of the past?

Then you have come to the right place. In this short course, you will leverage your knowledge of Java to learn the modern and useful parts of JavaScript that you need for building user interfaces or backend services.

What you'll learn-and how you can apply it

When you complete this live online course, you'll understand:

  • the type system of JavaScript
  • functional programming in JavaScript
  • object-oriented programming with prototypest

And you'll be able to:

  • work effectively with fundamental data types
  • implement classes and methods in JavaScript
  • steer clear of the pitfalls of "classic" JavaScript

This training course is for you because...

  • You are an experienced programmer
  • You want to learn modern JavaScript with a minimum of fuss


  • Comfortable with object-oriented programming in Java, C#, C++, or Python
  • No previous experience with JavaScript is required.

Course Set-up

  • The development tools in Chrome or Firefox suffice, but you may want to install node.js for a more comfortable experience.

Recommended Preparation

  • Modern JavaScript for the Impatient (Book), Cay Horstmann (Available July 2020)

Recommended Follow-up

About your instructor

  • Cay Horstmann grew up in Northern Germany and attended the Christian-Albrechts-Universität in Kiel, a harbor town at the Baltic sea. He received a M.S. in computer science from Syracuse University, and a Ph.D. in mathematics from the University of Michigan in Ann Arbor. For four years, Cay was VP and CTO of an Internet startup that went from 3 people in a tiny office to a public company. Cay now teaches computer science at San Jose State University and held visiting appointments at universities in Switzerland, Vietnam, and Macau. In his copious spare time Cay write books and articles on programming languages and computer science education.



The timeframes are only estimates and may vary according to how the class is progressing

Introduction (10 min)

Values and variables (30 min)

  • JavaScript types
  • Objects
  • Arrays
  • JSON

Break (10 min)

Expressions and statements (30 min)

  • What you already know
  • for in/for of
  • Semicolons
  • Exceptions

Break (10 min)

Functions (30 min)

  • function functions
  • Arrow functions
  • Flexible arguments
  • Strict mode

Break (10 min)

Classes (30 min)

  • Prototypes
  • Modern class syntax
  • Getters and setters
  • Subclasses
  • Safely using this

Conclusion (10 min)