Advanced Java Programming - Syllabus

Embark on a profound academic exploration as you delve into the Advanced Java Programming course () within the distinguished Tribhuvan university's CSIT department. Aligned with the 2065 Syllabus, this course (CSC-403) 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 Synopsis: A study in Java language techniques beyond the introductory course. Emphasis will include, GUI and event-driven programming, Database Connectivity, Socket Programming, Remote Method Invocation and Servlets and JSP Technology

Goal: The purpose of this course is to present the concept of GUI programming and JDBC, Socket programming and remote objects, and JSP Technology. Since software components are best learned by implementation, each student will complete a project independently which will involve the design and implementation three software components.

Units

Programming in Java

 Introduction to Java: Java Architecture, Advantages of Java, PATH and CLASSPATH variables, Compiling and Running Java Programs

 Class and Object: Creating Classes, Interfaces, Creating Objects, Access Modifiers, Arrays, Packages, Inheritance

 Exception Handling and Threading: Try, Catch, Finally, Throws, Creating Multithreaded Programs, Thread Life Cycle

 File IO: Byte Stream Classes (FilleInputStream and FileOutputStream), Character Stream Classes (FileReader and FileWriter), Random Access File Class


User Interface Components with Swing

 Swing and MVC Design Patterns: Design Pattern, MVC Pattern, MVC Analysis of Swing Buttons

 Layout Management: Border Layout, Grid Layout, Gridbag Layout, Group Layout, Using No Layout managers, Custom layout Managers

 Text Input: Text Fields, Password Fields, Text Areas, Scroll Pane, Label and Labeling Components

 Choice Components: Check Boxes, Radio Buttons, Borders, Combo Boxes, Sliders

 Menus: Menu Building, Icons in Menu Items, Check box and Radio Buttons in Menu Items, Pop-up Menus, Keyboard Mnemonics and Accelerators, Enabling and Design menu Items, Toolbars, Tooltips

 Dialog Boxes: Option Dialogs, Creating Dialogs, Data Exchange, File Choosers, Color Choosers

 Components Organizers: Split Panes, Tabbed Panes, Desktop Panes and Internal Frames, Cascading and Tiling

 Advance Swing Components: List, Trees, Tables, Progress Bars


Event Handling

 Introduction: Standard Event Handling, Using Delegated Class, Using Action Commands, Listener Interfaces, Adapter Classes

 Handling Events: Action Events, Key Events, Focus Events, Window Event, Mouse Event, Item Events


Database Connectivity

 Design of JDBC: Driver Types, Typical Uses of JDBC

 JDBC Configuration: Database URLS, Driver JAR Files, Starting Database, Registering Driver class, Connecting to the database

 Executing SQL Statements: Managing Connections, Statements, Result Set, SQL Exceptions, Populating Database

 Query Execution: Prepared Statements, Reading and Writing LOBs, SQL Escapes, Multiple Results, Scrollable Result Sets, Updateable Result Sets, Row Sets and Cached Row Sets, Transactions.


Network Programming

 Networking Basics: Transmission control Protocol(TCP), User Datagram Protocol (UDP), Ports, IP Address Network Classes in JDK

 Working with URLS: Connecting to URLS, Reading Directly from URLS, InetAddress Class

 Sockets: TCP Sockets, UDP Sockets, Serving Multiple Clients, Half Close, Interruptible Sockets, Sending Email


Java Beans

 Introduction: Creating, Updating and Reading from JAR Files, Java Beans, Advantages of Java Beans, Class vs Beans, BDK and Bean Box

 Java Bean: Creating a Java Bean, Creating a Bean Manifest File, Creating a Bean JAR File, Using a New Bean, Adding Controls to Beans, Giving a Bean Properties, Creating Bound Properties, Giving a Bean Methods, Giving a Bean an Icon


Servlets and Java Server pages

 Servelets: Introduction to Servlets,Life cycle of servlets, Java Servlets Development Kit, Creating, Compiling and running servlet, The servlet API ( javax.servlet package), Reading the servlet Parameters, Reading Initialization parameter, The javax.servlet.http.Package, Handling HTTP Request and Response (GET / POST Request), Using Cookies, Session Tracking

 Java Server Pages: Advantage of JSP technology (Comparision with ASP/ Servlet), JSP Architecture, JSP Access Model, JSP Syntax Basic (Directions, Declarations, Expression, Scriplets, Comments), JSP Implicit Object, Object Scope, Synchronization Issue, Exception Handling, Session Management, Creating and Processing Forms.


RMI and CORBA

 Remote Method Invocation: Introduction of RMI, Architecture of RMI, Remote Objects, Creating and Executing RMI Applications

 CORBA: Introduction to CORBA, Architecture of CORBA, Functioning of CORBA Applications, CORBA Services