Course Description
This course covers advanced features of Java programming language including, GUI programming, database programming, JavaBeans, JSP, Servlet, and Remote Method Invocation (RMI).
Course Objectives
The primary objective of this course is to provide concepts of advanced features of Java programming and make students familiar with their uses and applications.
Course Contents
Introducing Swing: Creating a Frame; Displaying Information in a Component; Working with 2D Shapes; Using Color; Using Special Fonts for Text; Displaying Images; Event Handling: Event Handling Basics, Event Classes, Event Listeners and Adapter Classes; Swing and the MVC Design Pattern; Layout Management; Basic Swing Components
The Design of JDBC: JDBC Driver Types and Typical Uses of JDBC; the Structured Query Language; JDBC Configuration; Working with JDBC Statements; Query Execution; Scrollable and Updatable Result Sets; Row Sets
What Is a Java Bean? Advantages of Java Beans; Introspection; Properties, Events, and Methods Design Patterns; Using BeanInfo Interface; Bound and Constrained Properties; Persistence; Customizers; the Java Beans API; Writing JavaBeans
Background; The Life Cycle of a Servlet; A Simple Servlet; The Servlet API; The javax.servlet Package; Reading Servlet Parameters; The javax.servlet.http Package; Handling HTTP Requests and Responses; Using Cookies; Session Tracking; Introduction to JSP; Using JSP; Comparing JSP with Servlet; Java Web Frameworks
What is RMI? The Roles of Client and Server; Remote Method Calls; Stubs and Parameter Marshalling; the RMI Programming Model; Interfaces and Implementations; the RMI Registry; Parameters and Return Values in Remote Methods; Remote Object Activation; Simple Client/Server Application using RMI; Comparing RMI with CORBA
Laboratory Work
The laboratory work includes writing Java programs:
- To create GUI applications using swing, event handling, and layout management
- To create applications to work with databases
- To create JavaBeans
- To create server side web programs using Servlet and JSP
- To create distributed applications using RMI
Text Books
- Core java Volume I – Fundamentals, Tenth Edition, Cary S. Horstmann, Prentice Hall
- Core java Volume II – Advanced Features, Tenth Edition, Cary S. Horstmann, Prentice Hall
- Java: The Complete Reference, 10th, Herbert Schildt, McGraw-Hill
Reference Books
- Advanced Java Programming, Ultam K. Roy, Oxford University Press
- Java: Advanced Features and Programming Techniques, Nathan Clark
Teaching Methods
The teaching faculties are expected to create environment where students can update and upgrade themselves with the current scenario of computing and information technology with the help of topics listed in the syllabus. The general teaching pedagogy that can be followed by teaching faculties for this course includes class lectures, laboratory activity, group discussions, case studies, guest lectures, research work, project work, assignments (Theoretical and Practical), and written and verbal examinations.