Java is a powerful object-oriented programming language. Introduced more than two decades back, it has withstood the test of time for its ability to support production applications. This course introduces Java by gently introducing object-oriented programming style and instantiating these concepts in Java syntax. Students will learn all the key concepts including objects, classes, methods, inheritance, and control structures. This course is the foundation to more complex applications of Java including embedded programming, web technologies, and mobile applications.