Dựa theo sách Murach's Java Programming của tác giả Joel Murach
Bài 1: How to get started with Java and Eclipse (Chapter 1)
      Introduction to Java
      How to use Eclipse to work with existing projects
      How to use 
Eclipse to develop new projects
----------------------------------------------------------------------------------------

Bài 2: Introduction to Java programming (Chapter 2)
      Basic coding skills
      How to work with numeric variables
      How to work with string variables
      How to use Java classes, objects, and methods
      How to use the console for input and output
      How to code simple control statements
      Two illustrative applications
      How to test and debug an application
----------------------------------------------------------------------------------------

Bài 3: How to work with data (Chapter 3)
      Basic skills for working with data
      How to use Java classes for working with data types
      The formatted Invoice application
      How to use the BigDecimal class
----------------------------------------------------------------------------------------

Bài 4: How to code control statements (Chapter 4)
      How to code Boolean expressions
      How to code if/else and switch statements
      How to code loops
      How to code break and continue statements
      How to code and call static methods
----------------------------------------------------------------------------------------

Bài 5: Practice (Chapter 4)
----------------------------------------------------------------------------------------
Bài 6: How to validate input data (Chapter 5)
      How to handle exceptions
      How to validate data
      The Future Value application with data validation
          How to test and debug an application (Chapter 6)

      Basic skills for testing and debugging
      How to use Eclipse to debug an application
----------------------------------------------------------------------------------------

Bài 7: How to define and use classes (Chapter 7)
      An introduction to classes
      How to code a class that defines an object
      How to create and use an object
      How to code and use static fields and methods
      The Line Item application
----------------------------------------------------------------------------------------

Bài 8: Practice (Chapter 7)
----------------------------------------------------------------------------------------
Bài 9: How to work with inheritance (Chapter 8)
      An introduction to inheritance
      Basic skills for working with inheritance
      The Product application
      More skills for working with inheritance
      How to work with the abstract and final keywords
----------------------------------------------------------------------------------------

Bài 10: How to work with interfaces (Chapter 9)
      An introduction to interfaces
      How to work with interfaces
      A Product Maintenance application that uses interfaces
      How to implement the Cloneable interface

----------------------------------------------------------------------------------------
Bài 11: Other object-oriented programming skills (Chapter 10)
      How to work with packages
      How to use javadoc to document a package
      How to code classes that are closely related
      How to work with enumerations

----------------------------------------------------------------------------------------
Bài 12: How to work with arrays (Chapter 11)
      Basic skills for working with arrays
      More skills for working with arrays
       How to work with two-dimensional arrays
----------------------------------------------------------------------------------------

Bài 13: How to work with collections and generics (Chapter 12)
      An introduction to Java collections
      How to use the ArrayList class
      An Invoice application that uses an array list
      How to use the LinkedList class
      An enhanced version of the Invoice application
      How to work with maps
      How to work with legacy collections
----------------------------------------------------------------------------------------

Bài 14: Practice (Chapter 12)
----------------------------------------------------------------------------------------
Bài 15: How to work with dates and strings (Chapter 13)
      How to work with dates and times
      How to work with the String class
      How to work with the StringBuilder class
----------------------------------------------------------------------------------------

Bài 16: How to handle exceptions (Chapter 14)
      An introduction to exceptions
      How to work with exceptions
      How to work with custom exception classes

      How to work with assertions
----------------------------------------------------------------------------------------
Bài 17: How to work with text and binary files (Chapter 18)
      Introduction to directories and files
      Introduction to file input and output
      How to work with text files
      How to work with binary files

      How to work with random-access files
----------------------------------------------------------------------------------------
Bài 18: Practice – (Chapter 18)
----------------------------------------------------------------------------------------
Bài 19: How to work with XML (Chapter 19)
      Introduction to XML
      How to view and edit an XML file
      An introduction to three XML API

      How to use StAX to work with XML      
----------------------------------------------------------------------------------------
Bài 20: How to work with threads (Chapter 22)
      An introduction to threads
      How to create threads
      How to manipulate threads
      How to synchronize threads

      The Order Queue application
----------------------------------------------------------------------------------------
Bài 21: Ôn tập