Course Title: Java Programming Language – 5 days
Course #: J07F
Duration: 5 days
Overview:This is an introduction to Java that builds a foundation for using Java in a real-world development environment.
This intense five-day course begins with a discussion of why Java has become so popular and ends with the student writing a fully-functional chat program that uses Java threads, sockets, streams and GUI programming. After taking this class, students will be able to develop object oriented programs in Java. Topics covered include multi-threading, Swing GUI development, creating socket and TCP/IP connections, I/O, interfaces, and object-oriented concepts.
Topics:Module 1: An Introduction to Java
- History of Java
- Java Timeline
- Why Program in Java?
- Java and C/C++ Languages
- A simple Java Program
Module 2: Java Fundamentals
- Comments
- Statements and Blocks
- Identifiers
- Java’s Primitive Data Types
- Integer Literals
- Floating-point Literals
- Java Keywords
- Char and String
- Variables
- Arithmetic Operators
- Assignment Operators
- Short-Circle Logical Operators
- Conditions
- The if Statement
- The if-else Statement
- The switch Statement
- The for Statement
- The while Statement
- The do-while Statement
- break and continue
Module 3: Introducing OOAD
- Defining OOAD Methodology
- The Analysis and Design Stage
- Defining the Analysis Phase
- Defining the Design Phase
- Characteristics of OOP
- Objects
- Classes
- Features of OOP
- Abstraction
- Encapsulation
- Association
- Aggregation
- Composition
- Inheritance
- Polymorphism
- Overview of Development Process
- Lifecycle of Projects
- Major Phases of Lifecycle of Projects
- The Inception Phase
- The Elaboration Phase
- The Construction Phase
- The Transition Phase
- Workflow Within Phases
- Benefits
Module 4: User – defined Type
- Analysis and Design
- Classes and Objects
- Declaring Classes
- Declaring Attributes
- Declaring Methods
- Instantiating Objects
- Encapsulation
- Overloading Methods
- Declaring Constructors
- Constructing and Initializing Objects
- References
- The Default Constructor
- Method Invocation
- Variables
- Life Time and Scope
- The this Reference
- Constructor Invoking Another Constructor
- The package and import Statement
Module 5: Arrays and Vectors
- Arrays
- Declaring an Array
- Using Arrays
- Shortcuts
- Copying Arrays
- Java Multidimensional Arrays
- Vector
- An Example
Module 6: Inheritance
- Two Techniques Of Reuse
- Reuse Methods: “as-is”
- Reuse Methods” “Redefine”
- Single Inheritance
- Polymorphism
- Method Invocation
- The “instanceof” Operator and Type Casting
- Access Control
- The super Keyword
Module 7: Advanced Class Concepts
- The final Keyword
- The static Keyword
- Singleton Design Pattern
- Abstract Class
- Abstract Method
- Interfaces
- Uses of Interfaces
- Inner Classes
Module 8: Exception Handling
- Exceptions
- Runtime Exceptions
- Checked Exceptions
- try and catch Statements
- The Handle or Declare Rule
- Throwing an Exception
- User-defined Exception
- Example
- finally Block
Module 9: Abstract Window Toolkit
- AWT
- Containers
- Building GUI
- Frames
- Panels
- Examples
- Container Layouts
- Examples
- FlowLayout Manager
- BorderLayout Manager
- GridLayout Manager
- Examples
Module 10 Event Handling
- What is an Event?
- Delegation Model
- Java GUI Behavior
- Complex Example
- Event Adapters
Module 11 Java Applets
- What is an Applet?
- Applet Security
- Applet Class Hierarchy
- The Applet Life Cycle
- Example
- AWT Painting
- Appletviewer
- Example
Module 12 I/O Streams in Java
- I/O Fundamentals
- Data within Streams
- InputStreams
- OutputSteams
- Reader Methods
- Writer Methods
- Example
- Random Access Files
- Serialization
Module 13 Networking
- Java Networking Model
- TCP/IP Server
- TCP/IP Client
Module 14 Threads
- Processes vs. Threads
- Threads Scheduling
- Creating a Thread
- Starting a Thread
- Managing a Thread
- Synchronization
Appendix: An Introduction to UML
- Defining UML
- Types of UML Diagrams
- Static Model
- Dynamic Model
- Use Case Diagram
- Class Diagram
- Object Diagram
- Component and Deployment Diagram
- Sequence Diagram
- Collaboration Diagram
- State Transition Diagram
- Activity Diagram
Prerequisites:This course is designed for developers who want to learn the Java programming language and have experience in other languages like C, COBOL, Visual Basic, Fortran, and so on.
Exam Information:The course prepares the student for taking the Sun Certified Java Programmer exam.