Advanced Java Programming - Syllabus

Embark on a profound academic exploration as you delve into the Advanced Java Programming course (AJP) within the distinguished Tribhuvan university's CSIT department. Aligned with the 2074 Syllabus, this course (CSC409) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 60 + 20 + 20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.

This 3 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.


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

Programming in Java

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


User Interface Components with Swing
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

Event Handling
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


Database Connectivity
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


Network Programming
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

GUI with JavaFX
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.


Servlets and Java Server pages
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


RMI and CORBA
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.


Old Syllabus (Java Beans)

 


Lab 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.