Course Description:
This course familiarizes students with basic as well as advanced features of Java Programming Emphasis will be given to GUI and event-driven programming, Database Connectivity, Socket Programming, Servlets and JSP Technology, and Distributed Programming.
Course Objectives:
The main objective of this course is to
- Introduce basic concepts of Java Programming.
- Exemplify the concept of GUI programming and JDBC
- Demonstrate socket programming. remote objects, and servlet and JSP Technology
Course Contents
Unit 1: Programming in Java (8 Hrs.)
- 1.1. Java Architecture, Java Buzzwords, Path and ClassPath variables, Sample Java Program, Compiling and Running Java Programs.
- 1.2. Arrays, for each loop, Class and Object, Overloading, Access Privileges, Interface, Inner Class, Final and Static Modifiers, Packages, Inheritance, Overriding.
- 1.3. Handling Exceptions: Try, Catch, Finally, Throws, and Throw keywords, Creating Exception Class
- 1.4. Concurrency: Introduction, Thread States, Writing Multithreaded Programs, Thread Properties, Thread Synchronization, Thread Priorities
- 1.5. Working with Files: Byte Stream Classes, Character Stream Classes, Random Access File, Reading and Writing Objects
Unit 2: User Interface Components with Swing( 10 Hrs.)
- 2.1. Introduction: Concept of AWT, AWT vs Swing, Java Applets, Applet Life Cycle, Swing Class Hierarchy, Component and Containers
- 2.2. Layout Management: No Layout, Flow layout, Border Layout, Grid Layout, Gridbag Layout, Group Layout.
- 2.3. GUI Controls: Text Fields, Password Fields, Text Areas, Scroll Pane, Labels, Check Boxes, Radio Buttons, Borders, Combo Boxes, Sliders
- 2.4. Menu, Menu Item, Icons in Menu Items, Check Box and Radio Buttons in Menu Items, Pop-up Menus, Keyboard Mnemonics and Accelerators, Enabling and Disabling Menu Items, Toolbars, Tooltips
- 2.5. Option Dialogs, Creating Dialogs, File Choosers, Color Choosers, Internal Frames, Frames, Tables, Trees, and Tables
Unit 3: Event Handling( 4 Hrs.)
- 3.1. Event Handling Concept, Listener Interfaces, Using Action Commands, Adapter Classes
- 3.2. Handling Action Events, Key Events, Focus Events, Mouse Event, Window Event, Item Events
Unit 4: Database Connectivity ( 4 Hrs.)
- 4.1. JDBC Architecture, JDBC Driver Types, JDBC Configuration, Managing Connections, Statements, Result Set, SQL Exceptions
- 4.2. DDL and DML Operations using Java, Prepared Statements, Multiple Results, Scrollable Result Sets, Updateable Result Sets, Row Sets and Cached Row Sets, Transactions, SQL Escapes
Unit 5: Network Programming ( 5 Hrs.)
- 5.1. Transmission control Protocol (TCP), User Datagram Protocol (UDP), Ports, IP Address Network Classes in JDK
- 5.2. Socket programming using TCP, Socket programming using UDP, Working with URL’s, Working with URL Connection Class.
- 5.3. Java Mail API, Sending and Receiving Email
Unit 6: GUI with JavaFX ( 3 Hrs.)
- 6.1. Introduction, JavaFX vs Swing, JavaFX Layouts: FlowPane, BorderPane, Hbox, VBox, GridPane
- 6.2. JavaFX UI Controls: Label, TextField, Button, RadioButton, CheckBox, Hyperlink, Menu, Tooltip, FileChooser.
Unit 7: Servlets and Java Server pages ( 8 Hrs.)
- 7.1. Web Container, Introduction to Servlets, Life cycle of servlets, The servlet APIs, Writing Servlet Programs, Reading Form Parameters, Processing Forms, Handling HTTP Request and Response (GET / POST Request), Database Access with Servlets, Handling Cookies and Session.
- 7.2. Servlet vs JSP, JSP Access Model, JSP Syntax (Directions, Declarations, Expression, Scriplets, Comments), JSP Implicit Objects, Object Scope, Processing Forms, Database Access with JSP.
- 7.3. Introduction to Java Web Frameworks
Unit 8: RMI and CORBA ( 3 Hrs.)
8.1 Introduction of RMI, Architecture of RMI, Creating and Executing RMI Applications
8.2 Introduction to CORBA, RMI vs CORBA, Architecture of CORBA, IDL, Simple CORBA Program.
Laboratory Works:
The laboratory work includes writing programs related to basic java programming concepts, Designing GUI, Event Handling, JDBC, Network Programming, Web Programming, and Distributed Programming. They also learn to develop web applications using Java Web Frameworks.