Course Title of AOOP
Course Title of AOOP
Course Objectives
At the end of this course the student will be able to
Explain error and exception handling techniques in java and java exception hierarchy.
Create, read, write and update files.
Explain the Java streams class hierarchy.
Explain sequential-access and random-access file processing.
Understand and use basics of GUI Programming in Java.
Implement Java networking applications by using sockets and data grams.
Describe the notion of multithreading and how multithreading can improve performance.
Differentiate between Java servlets and JSP
Course Description
This course covers advanced programming concepts and practices in Java. The course requires
prior knowledge of structured and Object Oriented programming. However, the course revises
the fundamentals with respect to Java. Then it will expose students to Java technologies starting
from its OO to the more advanced features like GUI (AWT and Swing), Network Programming,
Threads Programming, Database programming, Java Servlets and the commonly used Java
Design Patterns.
Course Contents
1. Object Oriented Features of Java
1.1. Data Abstraction and Encapsulation
1.2. Classes and Objects
1.3. Constructors, Destructors And Member Access Control
1.4. Inheritance
1.5. Interfaces And Polymorphism
1.6. Interfaces
1.7. Abstract Classes
1.8. Inner Classes
1.9. Packages
2. Exception Handling
2.1. Error And Exception Handling
2.2. Catching Exceptions
2.3. Types Of Exception
2.4. Specifying Exceptions
2.5. Catch Or Specify Principle
2.6. Throwing Exceptions
2.7. Messages in Exceptions
3. Files and Streams
3.1. Introduction
3.2. I/O classes
3.3. File and File Dialog objects
3.4. Low-Level File I/O
3.5. High-Level File I/O
3.6. Object I/O
3.7. stream to kenizer
3.8. Random Access files
4. GUI Programming
4.1. GUI Programming Overview
4.2. Widget Concepts
4.3. AWT Vs. Swing Java GUI Facilities
4.4. GUI Program Outline
4.5. Swing Widgets
4.6. Layout Management
4.7. Using Dialogs
4.8. Using Menus, Event Handling
5. Network Programming
5.1. Networking By URL stream socket clients
5.2. Networking in Applets
5.3. Servlets
5.4. Network Communication with Sockets
5.5. Stream Socket Clients
6. Threads and Concurrent Programming
6.1. Threads in Java
6.2. Programming Threads
6.3. Thread States: Life Cycle of a Thread
6.4. Thread Priorities And Thread Scheduling: Creating, Executing, Synchronization
7. Database Programming (JDBC)
7.1. Creating Databases
7.2. Manipulating Databases with JDBC
7.3. Connecting to and Querying a Database
7.4. Querying a Database
7.5. Stored Procedures
8. Java Servlets and Java Server Pages (JSP)
8.1. Forms
8.2. Life Cycle, Servlet Persistence
8.3. Request and Response
8.4. Session Tracking
8.5. Databases
8.6. Introduction to JSPs
9. Common Java Design Patterns
9.1. Creational Patterns
9.2. Structural Patterns
9.3. Behavioral Patterns
9.4. J2EE Patterns
Reference Book
1. Dietal Dietal; Java; How to Program, 9th ed. (2006)