Advanced Java Programming(AJP) Syllabus

This page contains Syllabus of Advanced Java Programming of CSIT.

Title Advanced Java Programming
Short Name AJP
Course code CSC409
Nature of course Theory + Lab
Seventh Semester
Full marks 60 + 20 + 20
Pass marks 24 + 8 + 8
Credit Hrs 3
Elective/Compulsary Compulsary

Course Description

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

Units and Unit Content

1. Programming in Java
teaching hours: 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

2. User Interface Components with Swing
teaching hours: 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
3. Event Handling
teaching hours: 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

4. Database Connectivity
teaching hours: 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

5. Network Programming
teaching hours: 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
6. GUI with JavaFX
teaching hours: 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.

7. Servlets and Java Server pages
teaching hours: 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

8. RMI and CORBA
teaching hours: 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.

9. Old Syllabus (Java Beans)
teaching hours: 0 hrs


Lab and Practical works

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.