Seventh Semester

Selction Image

Advanced Java Programming

Course Title: Advanced Java Programming

Course No.: CSC403

Course Nature: Theory + Lab

Semester: Seventh

Year: Fourth

Full Marks: 60 + 20 + 20

Pass Marks: 24 + 8 + 8

Credit Hours: 3

Course Synopsis: A study in Java language techniques beyond the introductory course. Emphasis will include, GUI and event-driven programming, Database Connectivity, Socket Programming, Remote Method Invocation and Servlets and JSP Technology.

Course Goal: The purpose of this course is to present the concept of GUI programming and JDBC, Socket programming and remote objects, and JSP Technology. Since software components are best learned by implementation, each student will complete a project independently which will involve the design and implementation three software components.

Contents of Chapter

Unit 1: Programming in Java (8 Hrs.)

Introduction to Java: Java Architecture, Advantages of Java, PATH and CLASSPATH variables, Compiling and Running Java Programs

Class and Object: Creating Classes, Interfaces, Creating Objects, Access Modifiers, Arrays, Packages, Inheritance

Exception Handling and Threading: Try, Catch, Finally, Throws, Creating Multithreaded Programs, Thread Life Cycle

File IO: Byte Stream Classes (FilleInputStream and FileOutputStream), Character Stream Classes(FileReader and FileWriter), RandomAccessFile Class

Unit 2: User Interface Components with Swing (10 Hrs.)

Swing and MVC Design Patterns: Design Pattern, MVC Pattern, MVC Analysis of Swing Buttons

Layout Management: Border Layout, Grid Layout, Gridbag Layout, Group Layout, Using No Layout managers, Custom layout Managers

Text Input: Text Fields, Password Fields, Text Areas, Scroll Pane, Label and Labeling Components

Choice Components: Check Boxes, Radio Buttons, Borders, Combo Boxes, Sliders

Menus: Menu Building, Icons in Menu Items, Check box and Radio Buttons in Menu Items, Pop-up Menus, Keyboard Mnemonics and Accelerators, Enabling and Design menu Items, Toolbars, Tooltips

Dialog Boxes: Option Dialogs, Creating Dialogs, Data Exchange, File Choosers, Color Choosers

Components Organizers: Split Panes, Tabbed Panes, Desktop Panes and Internal Frames, Cascading and Tiling

Advance Swing Components: List, Trees, Tables, Progress Bars

Unit 3: Event Handling (4 Hrs.)

Introduction: Standard Event Handling, Using Delegated Class, Using Action Commands, Listener Interfaces, Adapter Classes

Handling Events: Action Events, Key Events, Focus Events, Window Event, Mouse Event, Item Events

Unit 4: Database Connectivity (4 Hrs.)

Design of JDBC: Driver Types, Typical Uses of JDBC

JDBC Configuration: Database URLS, Driver JAR Files, Starting Database, Registering Driver class, Connecting to the database

Executing SQL Statements: Managing Connections, Statements, Result Set, SQL Exceptions, Populating Database

Query Execution: Prepared Statements, Reading and Writing LOBs, SQL Escapes, Multiple Results, Scrollable Result Sets, Updateable Result Sets, Row Sets and Cached Row Sets, Transactions.

Unit 5: Network Programming (5 Hrs.)

Networking Basics: Transmission control Protocol(TCP), User Datagram Protocol (UDP), Ports, IP Address Network Classes in JDK

Working with URLS: Connecting to URLS, Reading Directly from URLS, InetAddress Class

Sockets: TCP Sockets, UDP Sockets, Serving Multiple Clients, Half Close, Interruptible Sockets, Sending Email

Unit 6: Java Beans (3 Hrs.)

Introduction: Creating, Updating and Reading from JAR Files, Java Beans, Advantages of Java Beans, Class vs Beans, BDK and Bean Box

Java Bean: Creating a Java Bean, Creating a Bean Manifest File, Creating a Bean JAR File, Using a New Bean, Adding Controls to Beans, Giving a Bean Properties, Creating Bound Properties, Giving a Bean Methods, Giving a Bean an Icon

Unit 7: Servlets and Java Server pages (8 Hrs.)

Servelets: Introduction to Servlets,Life cycle of servlets, Java Servlets Development Kit, Creating, Compiling and running servlet, The servlet API ( javax.servlet package), Reading the servlet Parameters, Reading Initialization parameter, The javax.servlet.http.Package, Handling HTTP Request and Response (GET / POST Request), Using Cookies, Session Tracking

Java Server Pages: Advantage of JSP technology (Comparision with ASP/ Servlet), JSP Architecture, JSP Access Model, JSP Syntax Basic (Directions,Declarations, Expression, Scriplets, Comments), JSP Implicit Object, Object Scope, Synchronization Issue, Exception Handling, Session Management, Creating and Processing Forms.

Unit 8: RMI and CORBA (3 Hrs.)

Remote Method Invocation: Introduction of RMI, Architecture of RMI, Remote Objects, Creating and Executing RMI Applications

CORBA: Introduction to CORBA, Architecture of CORBA, Functioning of CORBA Applications, CORBA Services

Laboratory Works:

Student should design at least two Projects. Desktop Application (Address Book, Library system etc.), Simple network Application (e.g. Chatting Application) or Simple Web Applications (online banking Application, Online Music Application, etc.)

Reference Books:

  1. Cay Horstmann and Grazy Cornell, Core Java Volume I-Fundamentals, Eighth Edition
  2. Cay Horstmann and Grazy Cornell, Core Java Volume II-Advance Features, Eighth Edition
  3. Steven Holzner, Java 2 Pagramming-AWT, Swing, XML and Java Beans Black Book, Dreamtech Press
  4. Pallvi Jain and Shadab Siddiqui, J2EE Professional Projects, Premier Press