| 1 |
Java Overview |
| |
- What is Java and why is it so important?
- Java architecture and terminology
- Java language and programming models
- Java resources
|
|
| |
|
| 2 |
Fundamental Programming Elements of Java |
| |
- Basic OO concepts in Java
- Programming constructs of Java
- Details of non-OO programming elements like C
- Character Set and Identifiers
- Data Types
- Operators and expressions
- Variables, declarations, assignments
- Statements and blocks
- Strings, Arrays
- Reading user inputs
|
|
| |
|
| 3 |
Java Development with Eclipse |
| |
- Introduction of Eclipse IDE
- Creating Java projects
- Project properties
- Setting up source / output folders
- Java build path
- Preferences
- Create packages
- Importing files
- Develop Java code
- Running applications
- Break points and debugging
|
|
| |
|
| 4 |
Java Program Compilation and Execution |
| |
- How Java programs are compiled and executed
- Package
- JavaBeans
- JAR files
- Java compilation and classpath
- Java execution and classpath
|
|
| |
|
| 5 |
Object-oriented programming with Java |
| |
- Object-oriented programming constructs in Java
- Structures of classes, methods, variables
- Object instantiation and member access
- Class relationships
- Composition
- Inheritance
- Overriding and Overloading
- Polymorphism
- Dynamic Binding
- Abstract and final classes, Interfaces
- Object class
- Class loading and object instantiation
- Objects and threads
|
|
| |
|
| 6 |
Inner Classes |
| |
- Top level vs. Inner Classes
- Nested and member classes
- How to define Inner Classes
- Anonymous classes
- Benefits of Inner Classes
|
|
| |
|
| 7 |
Exceptions |
| |
- What is an Exception ?
- Java's Exception Handling Pattern
- Runtime Exceptions
- Standard Exceptions
- Throw-catch
- Try, Catch, and Finally
- Custom Exceptions
- Extensible
|
|
| |
|
| 8 |
Interfaces |
| |
- Motivation for interfaces
- Java interface
- Interfaces vs. Abstract Classess
- Define a type
|
|
| |
|
| 9 |
Package and access control |
| |
- Concept of package
- Package and classes
- Package and access control for class members
- Package and directory structure
|
|
| |
|
| 10 |
Input / Output |
| |
- IO Terminology
- Byte Streams
- Character Streams
- Reading binary data
- Reading character data
- Reading user input
- File I/O operations
|
|
| |
|
| 11 |
Collection Framework |
| |
- Understand the richer and simpler JDK1.2 collection framework
- Collections Framework concepts
- Collections Framework advantages
- Collection Interfaces
- General-purpose Implementations
- Changes in JDK1.1 APIs
- Wrapper Implementations
- Convenience Implementations
- Algorithms
- Array Utilities
- Compatibility with pre-JDK 1.2 collections
|
|
| |
|
| 12 |
Comparing C++ and Java (Optional) |
| |
- Differences between C++ and Java
- Object-oriented programming and portability
- Multiple Inheritance
- Pointer and data structures
- Memory Management
- Finalize and Destructor
- Templates
- Comparing performance of C++ and Java
- Memory usage
- Speed
- Accessing System Resources
|
|
| |
|
| 13 |
Reflection |
| |
- About Reflection API
- java.lang.Class objects
- Class, Method, Field objects
- Use of Reflection API
|
|
| |
|
| 14 |
Threads |
| |
- Why concurrency?
- Creating Threads in Java
- Synchronization and Deadlock
- Daemon Threads
- Scheduling and priority
- Thread Communication
- Thread states
|
|
| |
|
| 15 |
JDBC |
| |
- Overview of persistence options in Java
- Review of relational database concepts
- Overview of JDBC 1.1
- JDBC architecture
- Types of drivers
- High High-level steps of JDBC programming
- JDBC classes that are part of java.sql package since JDK1.1
|
|
| |
|
| 16 |
Testing Java application with JUnit and Eclipse |
| |
- Types of testing
- JUnit overview
- JUnit example code
- How to write a test
- Using Asserts
- JUnit set up in Eclipse
- Create a JUnit TestCase in Eclipse
|
|
| |
|
| 17 |
Design Patterns |
| |
- Define Design Pattern
- Elements of Pattern
- Describe specific patterns
- Factory Method
- Singleton
- Decorator
- State
- Observer
- Facade
|
|
| |
|
| Hands-on Labs: |
| 1 |
Java Programming with Eclipse |
| 2 |
Develop a Java class with Eclipse |
| 3 |
Programming with advanced OO concepts |
| 4 |
Exception-handling in Java |
| 5 |
Understanding Java Interfaces |
| 6 |
Understanding access controls |
| 7 |
Understanding Collection interfaces |
| 8 |
Introduction to Reflection API |
| 9 |
Introduction Multithreading Programming |
| 10 |
Using Relational Databases with JDBC 1.1 |
| 11 |
Learn how to use JUnit for testing |
|
| |
|
| Prerequisites: |
|
Basic knowledge of programming. Concepts of Object-oriented Analysis and Design. Prerequisites can be satisfied by taking Eclipse University Course on “OOAD using UML”. |
| |
|
| Audience: |
| Architects, designers, analysts, and developers. |