Java for Programmaers
5 day Instructor-Led Course (40 hours)
Course Overview
This course teaches programmers the skills necessary to create Java programming system applications and satisfies the skills necessary to pass the Sun Java Certified Programmer Exam.
Target Audience
Students who can benefit from this course are programmers who are interested in adding the Java programming language to their list of skills and students who are preparing for the Sun Certified Programmer for Java examination.
Prerequisites
To succeed fully in this course, students should be able to:
•
Skills Gained
Upon completion of this course, you should be able to:
• Create Java technology applications that leverage the object-oriented features of the Java language, such as encapsulation, inheritance and polymorphism
• Execute and run a Java technology application
• Use Java technology data types and expressions
• Use Java technology flow control constructs
• Use arrays and other data collections
• Implement error-handling techniques using exception handling
• Create event driven GUI using Java technology GUI components: panels, buttons, labels, text fields, and text areas
• Implement I/O functionality to read from and write to data and text files
• Create multithreaded programs
• Create a simple Transmission Control Protocol/Internet Protocol (TCP/IP) client that communicate through sockets
Course Outline:
Module 1: Getting Started
Describe the key features of Java technology
Write, compile, and run a simple Java technology application
Describe the Java virtual machine's (JVM machine's) function
Define garbage collection
List the three tasks performed by the Java platform that handle code security
Module 2: Object-Oriented Programming
Define modeling concepts: abstraction, encapsulation, and packages
Discuss why you can reuse Java technology application code
Define class, member, attribute, method, constructor, and package
Use the access modifiers private and public as appropriate for the guidelines of encapsulation
Invoke a method on a particular object
In a Java technology program, identify the following: The package statement; The import statements; Classes, methods and attributes; and Constructors
Use the Java technology API online documentation Module 3: Identifiers, Keywords, and Types
Use comments in a source program
Distinguish between valid and invalid identifiers
Recognize Java technology keywords
List the eight primitive types
Define literal values for numeric and textual types
Define the terms primitive variable and reference variable
Declare variables of class type
Construct an object using new
Describe default initialization
Describe the significance of a reference variable
State the consequence of assigning variables of class type
Module 4: Expressions and Flow Control
Distinguish between instance and local variables
Describe how to initialize instance variables
Identify and correct a Possible reference before assignment compiler error
Recognize, describe, and use Java software operators
Distinguish between legal and illegal assignments of primitive types
Identify boolean expressions and their requirements in control constructs
Recognize assignment compatibility and required casts in fundamental types
Use if, switch, for, while, and do constructions and the labeled forms of break and continue as flow control structures in a program
Module 5: Arrays
Declare and create arrays of primitive, class, or array types
Explain why elements of an array are initialized
Explain how to initialize the elements of an array
Determine the number of elements in an array
Create a multidimensional array
Write code to copy array values from one array type to another
Module 6: Class Design
Define inheritance, polymorphism, overloading, overriding, and virtual method invocation
Use the access modifiers protected and "package-friendly"
Describe the concepts of constructor and method overloading
Describe the complete object construction and initialization operation
In a Java program, identify the following: Overloaded methods and constructors; The use of this to call overloaded constructors; Overridden methods; Invocation of super class methods; Parent class constructors; and Invocation of parent class constructors
Module 7: Advanced Class Features
Describe static variables, methods, and initializers
Describe final classes, methods, and variables
Explain how and when to use abstract classes and methods
Explain how and when to use nested classes
Distinguish between static and non-static nested classes
Explain how and when to use an interface
In a Java software program, identify: static methods and attributes; final methods and attributes; Nested classes; interface and abstract classes; and abstract methods
Module 8: Exceptions and Assertions
Define exceptions
Use try, catch, and finally statements
Describe exception categories
Identify common exceptions
Develop programs to handle your own exceptions
Use assertions
Distinguish appropriate and inappropriate uses of assertions
Disable assertions at runtime
Module 9: Text-Based Applications
Write a program that uses command-line arguments and system properties
Write a program that reads from standard input
Write a program that can create, read, and write files
Describe the basic hierarchy of collections in Java 2 SDK
Write a program that uses sets and lists
Write a program to iterate over a collection
Describe the collection classes that existed before Java 2 SDK
Identify deprecated classes and explain how to migrate from Java Development Kit (JDK) 1.0 to JDK 1.1 to Java 2 JDK
Module 10: Building Java GUIs
Describe the Abstract Windowing Toolkit (AWT) package and its components
Define the terms containers, components and layout managers, and describe how they work together to build a GUI
Use layout managers
Use the FlowLayout, BorderLayout, and GridLayout managers to achieve a desired dynamic layout
Add components to a container
Use the Frame and Panel containers appropriately
Describe how complex layouts with nested containers work
In a Java technology program, identify the following: Containers; The associated layout managers;and the layout hierarchy of all components
Module 11: GUI Event Handling
Define events and event handling
Write code to handle events that occur in a GUI
Describe the concept of adapter classes, including how and when to use them
Determine the user action that originated the event from the event object details
Identify the appropriate interface for a variety of event types
Create the appropriate event handler methods for a variety of event types
Understand the use of inner classes and anonymous classes in event handling
Module 12: GUI-Based Applications
Identify the key AWT components and the events that they trigger
Describe how to construct a menu bar, menu, and menu items in a Java GUI
Understand how to change the color and font of a component
Module 13: Threads
Define a thread
Create separate threads in a Java technology program, controlling the code and data that are used by that thread
Control the execution of a thread and write platform-independent code with threads
Describe the difficulties that might arise when multiple threads share data
Use wait and notify to communicate between threads
Use synchronized to protect data from corruption
Module 14: Advanced I/O Streams
Describe the main features of the java.io package
Construct node and processing streams, and use them appropriately
Distinguish readers and writers from streams, and select appropriately between them
Module 15: Networking
Develop code to set up the network connection
Understand the TCP/IP protocol
Use ServerSocket and Socket classes for implementing TCP/IP clients and servers
Source
5 day Instructor-Led Course (40 hours)
Course Overview
This course teaches programmers the skills necessary to create Java programming system applications and satisfies the skills necessary to pass the Sun Java Certified Programmer Exam.
Target Audience
Students who can benefit from this course are programmers who are interested in adding the Java programming language to their list of skills and students who are preparing for the Sun Certified Programmer for Java examination.
Prerequisites
To succeed fully in this course, students should be able to:
•
- Understand object-oriented principles
• Create or compile simple programs in a language, such as C or C++ or have completed the SL-110: Fundamentals of the Java Programming Language course and have created and compiled simple Java programs.
• Create and edit text files using a text editor
• Use an Internet browser, such as Netscape Navigator
Skills Gained
Upon completion of this course, you should be able to:
• Create Java technology applications that leverage the object-oriented features of the Java language, such as encapsulation, inheritance and polymorphism
• Execute and run a Java technology application
• Use Java technology data types and expressions
• Use Java technology flow control constructs
• Use arrays and other data collections
• Implement error-handling techniques using exception handling
• Create event driven GUI using Java technology GUI components: panels, buttons, labels, text fields, and text areas
• Implement I/O functionality to read from and write to data and text files
• Create multithreaded programs
• Create a simple Transmission Control Protocol/Internet Protocol (TCP/IP) client that communicate through sockets
Course Outline:
Module 1: Getting Started
Describe the key features of Java technology
Write, compile, and run a simple Java technology application
Describe the Java virtual machine's (JVM machine's) function
Define garbage collection
List the three tasks performed by the Java platform that handle code security
Module 2: Object-Oriented Programming
Define modeling concepts: abstraction, encapsulation, and packages
Discuss why you can reuse Java technology application code
Define class, member, attribute, method, constructor, and package
Use the access modifiers private and public as appropriate for the guidelines of encapsulation
Invoke a method on a particular object
In a Java technology program, identify the following: The package statement; The import statements; Classes, methods and attributes; and Constructors
Use the Java technology API online documentation Module 3: Identifiers, Keywords, and Types
Use comments in a source program
Distinguish between valid and invalid identifiers
Recognize Java technology keywords
List the eight primitive types
Define literal values for numeric and textual types
Define the terms primitive variable and reference variable
Declare variables of class type
Construct an object using new
Describe default initialization
Describe the significance of a reference variable
State the consequence of assigning variables of class type
Module 4: Expressions and Flow Control
Distinguish between instance and local variables
Describe how to initialize instance variables
Identify and correct a Possible reference before assignment compiler error
Recognize, describe, and use Java software operators
Distinguish between legal and illegal assignments of primitive types
Identify boolean expressions and their requirements in control constructs
Recognize assignment compatibility and required casts in fundamental types
Use if, switch, for, while, and do constructions and the labeled forms of break and continue as flow control structures in a program
Module 5: Arrays
Declare and create arrays of primitive, class, or array types
Explain why elements of an array are initialized
Explain how to initialize the elements of an array
Determine the number of elements in an array
Create a multidimensional array
Write code to copy array values from one array type to another
Module 6: Class Design
Define inheritance, polymorphism, overloading, overriding, and virtual method invocation
Use the access modifiers protected and "package-friendly"
Describe the concepts of constructor and method overloading
Describe the complete object construction and initialization operation
In a Java program, identify the following: Overloaded methods and constructors; The use of this to call overloaded constructors; Overridden methods; Invocation of super class methods; Parent class constructors; and Invocation of parent class constructors
Module 7: Advanced Class Features
Describe static variables, methods, and initializers
Describe final classes, methods, and variables
Explain how and when to use abstract classes and methods
Explain how and when to use nested classes
Distinguish between static and non-static nested classes
Explain how and when to use an interface
In a Java software program, identify: static methods and attributes; final methods and attributes; Nested classes; interface and abstract classes; and abstract methods
Module 8: Exceptions and Assertions
Define exceptions
Use try, catch, and finally statements
Describe exception categories
Identify common exceptions
Develop programs to handle your own exceptions
Use assertions
Distinguish appropriate and inappropriate uses of assertions
Disable assertions at runtime
Module 9: Text-Based Applications
Write a program that uses command-line arguments and system properties
Write a program that reads from standard input
Write a program that can create, read, and write files
Describe the basic hierarchy of collections in Java 2 SDK
Write a program that uses sets and lists
Write a program to iterate over a collection
Describe the collection classes that existed before Java 2 SDK
Identify deprecated classes and explain how to migrate from Java Development Kit (JDK) 1.0 to JDK 1.1 to Java 2 JDK
Module 10: Building Java GUIs
Describe the Abstract Windowing Toolkit (AWT) package and its components
Define the terms containers, components and layout managers, and describe how they work together to build a GUI
Use layout managers
Use the FlowLayout, BorderLayout, and GridLayout managers to achieve a desired dynamic layout
Add components to a container
Use the Frame and Panel containers appropriately
Describe how complex layouts with nested containers work
In a Java technology program, identify the following: Containers; The associated layout managers;and the layout hierarchy of all components
Module 11: GUI Event Handling
Define events and event handling
Write code to handle events that occur in a GUI
Describe the concept of adapter classes, including how and when to use them
Determine the user action that originated the event from the event object details
Identify the appropriate interface for a variety of event types
Create the appropriate event handler methods for a variety of event types
Understand the use of inner classes and anonymous classes in event handling
Module 12: GUI-Based Applications
Identify the key AWT components and the events that they trigger
Describe how to construct a menu bar, menu, and menu items in a Java GUI
Understand how to change the color and font of a component
Module 13: Threads
Define a thread
Create separate threads in a Java technology program, controlling the code and data that are used by that thread
Control the execution of a thread and write platform-independent code with threads
Describe the difficulties that might arise when multiple threads share data
Use wait and notify to communicate between threads
Use synchronized to protect data from corruption
Module 14: Advanced I/O Streams
Describe the main features of the java.io package
Construct node and processing streams, and use them appropriately
Distinguish readers and writers from streams, and select appropriately between them
Module 15: Networking
Develop code to set up the network connection
Understand the TCP/IP protocol
Use ServerSocket and Socket classes for implementing TCP/IP clients and servers
Source