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