Core Java 11 Fundamentals, Second Edition

Video description

10 Hours of Video Instruction


Core Java® has long been recognized as the leading, no-nonsense tutorial and reference for experienced programmers who want to write robust Java code for real-world applications.

In Core Java® LiveLessons, Second Edition, Cay S. Horstmann takes that same approach to introducing experienced programmers to Java, with detailed demonstration. This training pairs with the forthcoming eleventh edition of Core Java®, Volume I‚ÄìFundamentals, which is being fully updated to cover Java SE 9 and 10.


The first two lessons of Core Java® LiveLessons, Second Edition, quickly review the history of Java and show you, step by step, how to install the software development environment. In lesson 3, you will learn how to do in Java what you already know in another programming language: write branches and loops, and work with numbers, strings, and arrays.

Lesson 4 covers object-oriented programming. Java is thoroughly object-oriented, and the lesson shows you how to use built-in classes and how to build your own. Lessons 5 and 6 cover inheritance and interfaces as well as the lambda expressions, a powerful new feature of Java SE 8.

Lesson 7 shows you what to do when your programs do the wrong thing. The lesson covers exception handling, logging, and debugging. In lesson 8, you will learn how to write generic code that works for many different data types. Lesson 9 puts those skills to work, when we examine the multitude of Java collections that allow you to organize your data in many ways.

The final three lessons introduce the fundamentals of user interface programming in Java.

The source code and presentation slides for this course can be found at:

About the Instructor
Cay S. Horstmann is a professor of computer science at San Jose State University and a Java Champion. He is also the author of Core Java®, Volumes I and II, Tenth Edition (Prentice Hall, 2016), Core Java SE 9 for the Impatient, Second Edition (Addison-Wesley, 2018), and Scala for the Impatient, Second Edition (Addison-Wesley, 2017). He has written more than a dozen other books for professional programmers and computer science students.

What You Will Learn

When you have completed this course, you will know enough Java to put it to work anywhere where Java is used: in backend servers, desktops, mobile devices, and embedded systems.

Who Should Take This Course

Programmers who are comfortable in another language and want to learn Java.

Course Requirements

Any procedural or object-oriented programming language such as C, C++, C#, JavaScript, Matlab, Python, Perl, PHP, Objective-C, R, Swift, or Visual Basic.

Table of Contents

Lesson 1: An Introduction to Java
Lesson 2: The Java Programming Environment
Lesson 3: Fundamental Programming Structures in Java
Lesson 4: Objects and Classes
Lesson 5: Inheritance
Lesson 6: Interfaces, Lambda Expressions, and Inner Classes
Lesson 7: Exceptions, Assertions, and Logging
Lesson 8: Generic Programming
Lesson 9: Collections
Lesson 10: JavaFX
Lesson 11: Swing Principles
Lesson 12: User Interface Components with Swing

About Pearson Video Training

Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Prentice Hall, Sams, and Que Topics include: IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at

Table of contents

  1. Introduction
    1. Core Java 9: Introduction
  2. Lesson 1: An Introduction to Java
    1. Learning objectives
    2. 1.1 Understand the design decisions that shaped Java
    3. 1.2 Become familiar with the history of Java
  3. Lesson 2: The Java Programming Environment
    1. Learning objectives
    2. 2.1 Setting up your Java development environment
    3. 2.2 Using the command-line tools
    4. 2.3 Using an integrated development environment
    5. 2.4 Running graphical applications and applets
  4. Lesson 3: Fundamental Programming Structures in Java
    1. Learning objectives
    2. 3.1 Write a simple Java program
    3. 3.2 Work with numeric data types
    4. 3.3 Work with Strings and the API documentation
    5. 3.4 Write programs that read input and produce output
    6. 3.5 Use the control flow constructs of the Java language
    7. 3.6 Work with big numbers when arbitrary precision is required
    8. 3.7 Use arrays to store multiple elements of the same type
  5. Lesson 4: Objects and Classes
    1. Learning objectives
    2. 4.1 Understand the fundamental concepts of object-oriented programming
    3. 4.2 Work with predefined classes
    4. 4.3 Define your own classes
    5. 4.4 Understand advanced concepts of classes in Java
    6. 4.5 Understand parameter passing in Java
    7. 4.6 Learn more about object construction
    8. 4.7 Work with packages and imports
    9. 4.8 Use the javadoc utility to produce class documentation
    10. 4.9 Design classes effectively
  6. Lesson 5: Inheritance
    1. Learning objectives
    2. 5.1 Understand and define subclasses
    3. 5.2 Override methods and provide constructors in subclasses
    4. 5.3 Understand advanced inheritance concepts in Java
    5. 5.4 Work with the Object class and its methods
    6. 5.5 Understand how inheritance shapes Java language features
    7. 5.6 Use reflection to work with arbitrary objects
    8. 5.7 Use inheritance effectively
  7. Lesson 6: Interfaces, Lambda Expressions, and Inner Classes
    1. Learning objectives
    2. 6.1 Understand the concept of interfaces
    3. 6.2 Understand the properties of Java interfaces
    4. 6.3 Work with default methods
    5. 6.4 Become familiar with use cases for interfaces
    6. 6.5 Understand how lambda expressions work
    7. 6.6 Understand the inner workings of inner classes
  8. Lesson 7: Exceptions, Assertions, and Logging
    1. Learning objectives
    2. 7.1 Use exceptions to report errors in a program
    3. 7.2 Catch exceptions to remedy error conditions
    4. 7.3 Know how to use exceptions effectively
    5. 7.4 Use assertions to enforce algorithm constraints
    6. 7.5 Use logging to record what your program does
  9. Lesson 8: Generic Programming
    1. Learning objectives
    2. 8.1 Understand the advantages of generic programming
    3. 8.2 Define a simple generic class
    4. 8.3 Define generic methods
    5. 8.4 Know how to place restrictions on type variables
    6. 8.5 Understand how generic code is translated to run on the Java virtual machine
    7. 8.6 Be aware of restrictions and limitations of Java generics
    8. 8.7 Understand the interaction between generic types and inheritance
    9. 8.8 Work with reflection and generic types
  10. Lesson 9: Collections
    1. Learning objectives
    2. 9.1 Understand the benefit of separate collection classes and interfaces
    3. 9.2 Become familiar with the types in the collections framework
    4. 9.3 Work with linked lists and array lists
    5. 9.4 Work with hash sets and sorted sets
    6. 9.5 Work with queues, deques, and priority queues
    7. 9.6 Use maps to organize key/value pairs
    8. 9.7 Understand collection wrappers and views
    9. 9.8 Use common algorithms with collections
    10. 9.9 Be able to use collections from old versions of Java
  11. Lesson 10: JavaFX
    1. Learning objectives
    2. 10.1 A Brief History of Java GUI Programming
    3. 10.2 Displaying Information in a Scene
    4. 10.3 Event Handling
    5. 10.4 Layout
    6. 10.5 User Interface Controls
    7. 10.6 Dialogs
    8. 10.7 Fancy Controls
    9. 10.8 Properties and Bindings
    10. 10.9 Asynchronous Processing
  12. Lesson 11: Swing Principles
    1. Learning objectives
    2. 11.1 Understand the design decisions behind the Swing Toolkit
    3. 11.2 Be able to display frame windows
    4. 11.3 Display graphical shapes
    5. 11.4 Display colors, fonts, and images
    6. 11.5 Understand how a program can react to user interface events
    7. 11.6 Provide user interface actions that can be activated in multiple ways
    8. 11.7 Handle mouse events
    9. 11.8 Understand the AWT event hierarchy
  13. Lesson 12: User Interface Components with Swing
    1. Learning objectives
    2. 12.1 Understand how Swing uses the model-view-controller design pattern
    3. 12.2 Be able to arrange user interface components in a window
    4. 12.3 Process text input
    5. 12.4 Present choices in a user interface
    6. 12.5 Implement menus and toolbars
    7. 12.6 Solve complex layout management tasks
    8. 12.7 Use and implement dialog boxes
  14. Summary
    1. Core Java 9: Summary

Product information

  • Title: Core Java 11 Fundamentals, Second Edition
  • Author(s): Cay S. Horstmann
  • Release date: April 2018
  • Publisher(s): Pearson
  • ISBN: 0135160057