In this course, students learn how to develop applications using the Java Platform, Standard Edition (Java SE) 6 programming language.
The course begins with an introduction to the Java programming language and a review of the principles of object-oriented (OO) development before focusing on how to create object-oriented applications in Java. The course provides students with an overview of the Java language syntax, including packages, classes, methods, variables, conditional statements, and control flow. Students then learn about the role of inheritance and interfaces in Java, how to apply design patterns in their application design, how to create and handle exceptions, and how to refactor code. In addition, this course covers various new features of Java SE 5 and Java SE 6, such as generics, autoboxing, and annotations.
Students also learn about the different Java application programming interfaces (APIs), focusing on the APIs most commonly used in real-world Java applications such as Collections, Input/Output (I/O), Threads, and other utility classes.
Hands-on lab exercises are provided throughout the course, allowing students to explore the Java language and reinforcing the concepts covered in the lectures. In the labs, students write and debug Java code and work with the Java APIs by using the Java development tools provided in Eclipse and IBM Rational Application Developer. These development tools include the tools used to write and execute Java code, the integrated debugger, the refactoring tools, and the JUnit unit testing tools.
Students have the choice of performing the lab exercises in either Eclipse V3.5 or IBM Rational Application Developer V7.5.
Students should be familiar with object-oriented (OO) programming, or successfully complete course Introduction to Object-Oriented Programming with Java Examples (WD150) or Introduction to Object-Oriented Programming with Java Examples (Remote Classroom) (VD150).
This basic course is for students with little or no Java programming experience. However, some programming experience and some familiarity with object-oriented programming is helpful.