Java Programming (Java SE 7)
Course Specifications
Course number: 085665
Course length: 5.0 day(s)
Course Description
Course Objective: You will work with advanced features of Java.

Target Student: This course is intended for individuals who are Java programmers and have worked with databases and with object-oriented programming techniques, who are now ready to create more complex and advanced programs using Java SE 7.

Prerequisites: Students should be skilled and experienced in using Java. They should have knowledge of database structures and terminology. Also, they should be familiar with object-oriented programming. To ensure your success, we recommend you first take the Logical Operations courses or have equivalent knowledge. 
•	Introduction to Programming Using Java
•	Object-Oriented Programming and Design Using Java (Third Edition) 
•	Java Fundamentals (Java SE 7)
Hardware Requirements
On each student's machine, you need the following hardware: 
•	1 GHz Pentium-class processor or faster
•	Minimum 256 MB of RAM (512 MB of RAM recommended)
•	10 GB hard disk or larger (You should have at least 250 MB of free hard disk space available for the Eclipse installation.) 
•	CD-ROM drive
•	Keyboard and mouse or other pointing device
•	1024 x 768 resolution monitor recommended
•	Network cards and cabling for local network access
•	Internet access (contact your local network administrator)
•	Printer (optional) or an installed printer driver
•	A projection system to display the instructor’s computer screen 
Software Requirements
Each computer requires the following software:
•	Eclipse for Java SE 7, Indigo
•	JDK 1.7
Course Objectives
Upon successful completion of this course, students will be able to: 
•	create and manage custom classes. 
•	control program flow by writing code to respond to specific criteria. 
•	implement object-oriented programming techniques to create reusable and reliable programs. 
•	work with Java utility class libraries.
•	use the capabilities of the Java I/O package to read and write data to external files or media. 
•	use collection APIs in Java to manage data.
•	use generics to enforce compile-time type checking.
•	use multi-threaded programs to help handle multiple tasks concurrently. 
•	manage Java applications for memory efficiency and create distributable versions of a Java application. 
Course Content
Lesson 1: Working with Classes

Topic 1A: Create Classes 
Topic 1B: Create Variables 
Topic 1C: Write an Expression 
Topic 1D: Work with Arrays 
Topic 1E: Work with Static Class Members 
Topic 1F: Define Methods 
Topic 1G: Use Enumerated Data Types 
Lesson 2: Controlling Program Flow

Topic 2A: Work with Conditional Statements 
Topic 2B: Work with Looping Statements 
Topic 2C: Handle Exceptions 
Topic 2D: Handle Chained Exceptions 
Topic 2E: Write and Enable Assertions 
Lesson 3: Implementing Object-Oriented Programming Concepts

Topic 3A: Extend a Class 
Topic 3B: Overload and Override Methods 
Topic 3C: Work with Interfaces 
Topic 3D: Create Inner Classes 
Topic 3E: Examine Object-Oriented Design Concepts 
Lesson 4: Working with Java Utility Class Libraries

Topic 4A: Work with Strings 
Topic 4B: Format and Parse Strings 
Topic 4C: Work with Dates, Numbers, and Currencies 
Lesson 5: Using the Java I/O Package

Topic 5A: Work with the File Class 
Topic 5B: Work with Byte Streams 
Topic 5C: Work with Character Streams 
Topic 5D: Read Files 
Topic 5E: Write to a File 
Topic 5F: Manipulate I/O Objects 
Lesson 6: Using Collections

Topic 6A: Work with the Collection Interface 
Topic 6B: Work with the Set Collection 
Topic 6C: Work with List Collections 
Topic 6D: Work with Queues 
Topic 6E: Work with the Map Collection 
Topic 6F: Work with Collection Utilities 
Lesson 7: Working with Generics

Topic 7A: Declare Generics 
Topic 7B: Implement Generics 
Lesson 8: Using Multi-Threaded Programs

Topic 8A: Create a Multi-Threaded Program 
Topic 8B: Synchronize Threads 
Lesson 9: Managing Java Applications

Topic 9A: Implement Garbage Collection 
Topic 9B: Deploy a Java Application