Advanced Java Programming
0%
Course Title: Advanced Java Programming
Course No: CSC419
Nature of the Course: Theory + Lab
Semester: 7
Full Marks: 60 + 20 + 20
Pass Marks: 24 + 8 + 8
Credit Hours: 3
Course Description
Course Objectives
Course Contents
1.1. Java Basics
- Java Architecture
- Java Buzzwords
- Path and ClassPath variables
- Sample Java Program
- Compiling and Running Java Programs
1.2. Object-Oriented Concepts
- 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
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 Components
- 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. Advanced Components
- Option Dialogs
- Creating Dialogs
- File Choosers
- Color Choosers
- Internal Frames
- Frames
- Tables
- Trees
3. Event Handling
4 hrs
3.1. Event Handling Basics
- Event Handling Concept
- Listener Interfaces
- Using Action Commands
- Adapter Classes
3.2. Event Types
- Handling Action Events
- Key Events
- Focus Events
- Mouse Event
- Window Event
- Item Events
4.1. JDBC Fundamentals
- JDBC Architecture
- JDBC Driver Types
- JDBC Configuration
- Managing Connections
- Statements
- Result Set
- SQL Exceptions
4.2. Advanced JDBC
- 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
5.1. Network Fundamentals
- Transmission control Protocol (TCP)
- User Datagram Protocol (UDP)
- Ports
- IP Address Network Classes in JDK
5.2. Socket Programming
- 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
6. GUI with JavaFX
3 hrs
6.1. JavaFX Introduction
- Introduction
- JavaFX vs Swing
6.2. JavaFX Layouts
- FlowPane
- BorderPane
- Hbox
- VBox
- GridPane
6.3. JavaFX UI Controls
- Label
- TextField
- Button
- RadioButton
- CheckBox
- Hyperlink
- Menu
- Tooltip
- FileChooser
7.1. Servlets
- 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. Java Server Pages (JSP)
- 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. Java Web Frameworks
- Introduction to Java Web Frameworks
8. RMI and CORBA
3 hrs
8.1. RMI (Remote Method Invocation)
- Introduction of RMI
- Architecture of RMI
- Creating and Executing RMI Applications
8.2. CORBA
- Introduction to CORBA
- RMI vs CORBA
- Architecture of CORBA
- IDL
- Simple CORBA Program
Laboratory Works
- 1.Writing programs related to basic java programming concepts, Designing GUI, Event Handling, JDBC, Network Programming, Web Programming, and Distributed Programming
Text Books
- 1.Cay S. Horstmann, Core Java Volume I--Fundamentals, Pearson, Eleventh Edition, 2018
- 2.Cay S. Horstmann, Core Java Volume II-Advance Features, Pearson, Eleventh Edition, 2019
- 3.Herbert Schildt, Java: The Complete Reference, McGraw-Hill Education, Eleventh Edition, 2018
Reference Books
- 1.D.T. Editorial Services, Java 8 Programming Black Book, Dreamtech Press, 2015