Advanced Java Programming - Syllabus

Course Overview and Structure

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

Key Topics

  • Java Fundamentals
    PR-101

    Introduction to Java architecture, buzzwords, and environment setup including Path and ClassPath variables. Understanding the basic structure of a Java program, compiling, and running Java programs.

  • Object-Oriented Programming
    PR-102

    Understanding classes, objects, and interfaces in Java. Topics include overloading, access privileges, inner classes, final and static modifiers, packages, inheritance, and overriding.

  • Exception Handling
    PR-103

    Handling exceptions in Java using try, catch, finally, throws, and throw keywords. Creating custom exception classes to handle errors and exceptions.

  • Concurrency
    PR-104

    Introduction to concurrency in Java, including thread states, writing multithreaded programs, thread properties, thread synchronization, and thread priorities.

Key Topics

  • Introduction to AWT and Swing
    US-1

    This topic introduces the concept of AWT, compares AWT with Swing, and covers Java Applets, Applet Life Cycle, Swing Class Hierarchy, and Component and Containers.

  • Layout Management
    US-2

    This topic covers various layout management techniques including No Layout, Flow layout, Border Layout, Grid Layout, Gridbag Layout, and Group Layout.

  • GUI Controls
    US-3

    This topic explores various GUI controls such as Text Fields, Password Fields, Text Areas, Scroll Pane, Labels, Check Boxes, Radio Buttons, Borders, Combo Boxes, and Sliders.

  • Menu and Toolbar Management
    US-4

    This topic covers menu and toolbar management including 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, and Toolbars.

  • Option Dialogs and Frames
    US-5

    This topic discusses option dialogs, creating dialogs, File Choosers, Color Choosers, Internal Frames, Frames, Tables, Trees, and Tables.

  • Dialog Boxes
    US-6

    Creating and customizing dialog boxes, including option dialogs, file choosers, and color choosers.

  • Components Organizers
    US-7

    Organizing components using Split Panes, Tabbed Panes, Desktop Panes, Internal Frames, and cascading and tiling.

  • Advance Swing Components
    US-8

    Exploring advanced Swing components including List, Trees, Tables, and Progress Bars.

Key Topics

  • Event Handling Concept
    EV-1

    Understanding the concept of event handling in Java, including the role of listeners and event sources. This topic lays the foundation for handling events in Java applications.

  • Listener Interfaces
    EV-2

    Exploring the different listener interfaces in Java, including their methods and usage. This topic covers the interfaces that must be implemented to handle events.

  • Using Action Commands
    EV-3

    Learning how to use action commands to handle events, including setting and getting action commands. This topic covers the basics of using action commands in event handling.

  • Adapter Classes
    EV-4

    Understanding the role of adapter classes in event handling, including their usage and benefits. This topic covers how adapter classes simplify event handling.

  • Handling Action Events
    EV-5

    Handling action events, including button clicks and other actions. This topic covers the specifics of handling action events in Java applications.

  • Handling Key Events
    EV-6

    Handling key events, including key presses and releases. This topic covers the specifics of handling key events in Java applications.

  • Handling Focus Events
    EV-7

    Handling focus events, including gaining and losing focus. This topic covers the specifics of handling focus events in Java applications.

Key Topics

  • Introduction to Databases
    DA-1

    Introduction to databases, including examples and basic concepts.

  • Database Management System
    DA-2

    Introduction to Database Management Systems (DBMS), including advantages and examples.

  • Database Users
    DA-3

    Types of database users, including actors on the scene and workers behind the scene.

  • Benefits of Databases
    DA-4

    Advantages and benefits of using databases.

Key Topics

  • Neurally Inspired Models of Information Processing
    NE-1

    This topic explores models of information processing inspired by the structure and function of the brain. It introduces the concept of neural networks and their application to information processing.

  • Single-Layer Networks and Boolean Functions
    NE-2

    This topic delves into the basics of single-layer neural networks and their relationship with Boolean functions. It covers the fundamentals of neural network architecture and its application to simple logical operations.

  • Multilayer Networks
    NE-3

    This topic builds upon the basics of single-layer networks and explores the architecture and functionality of multilayer neural networks. It discusses the advantages and limitations of multilayer networks in information processing.

Key Topics

  • Introduction to Java Beans
    JA-01

    This topic introduces Java Beans, its advantages, and how it differs from a Java class. It also covers the basics of creating, updating, and reading from JAR files.

  • Creating a Java Bean
    JA-02

    This topic covers the process of creating a Java Bean, including creating a Bean manifest file and a Bean JAR file.

  • Using and Customizing Java Beans
    JA-03

    This topic explains how to use a new Bean, add controls to Beans, and give a Bean properties, bound properties, and methods.

  • Giving a Bean an Icon
    JA-04

    This topic covers the process of giving a Bean an icon, enhancing its visual representation.

Key Topics

  • Challenges and Approach of E-government Security
    SE-1

    This topic covers the challenges faced by e-government in terms of security and the approaches to address them. It explores the importance of security in e-government and the ways to mitigate risks.

  • Security Management Model
    SE-2

    This topic introduces a security management model for e-government, outlining the key components and processes involved in ensuring the security of e-government systems.

  • E-Government Security Architecture
    SE-3

    This topic delves into the architecture of e-government security, including the design and implementation of secure systems and infrastructure for e-government services.

  • Security Standards
    SE-4

    This topic covers the security standards and guidelines for e-government, including international standards and best practices for ensuring the security of e-government systems and data.

  • Data Transaction Security
    SE-5

    Security measures for protecting data during transactions in e-commerce.

  • Security Mechanisms
    SE-6

    Various security mechanisms used in e-commerce including cryptography, hash functions, digital signatures, authentication, access controls, intrusion detection systems, and secured socket layer (SSL).

  • javax.servlet.http Package
    SE-7

    Exploring the javax.servlet.http package, including key classes and interfaces. Understanding how to use the package to develop HTTP-based servlets.

  • Handling HTTP Requests and Responses
    SE-8

    Understanding how to handle HTTP requests and responses using servlets, including request and response objects.

  • Using Cookies
    SE-9

    Understanding how to use cookies in servlets, including setting and retrieving cookie values.

  • Session Tracking
    SE-10

    Understanding how to track user sessions using servlets, including session creation and management.

  • Introduction to JSP
    SE-11

    Introduction to JavaServer Pages (JSP), including their role in web development and key features.

Key Topics

  • Introduction to RMI
    RM-1

    RMI (Remote Method Invocation) is a Java API that allows objects to communicate with each other over a network. This topic introduces the concept of RMI and its importance in distributed systems.

  • Client-Server Architecture
    RM-2

    This topic explains the roles of client and server in an RMI system, including the responsibilities of each and how they interact with each other.

  • Remote Method Calls
    RM-3

    Remote method calls allow a client to invoke methods on a remote server. This topic covers the process of making remote method calls and the underlying mechanisms.

  • Stubs and Parameter Marshalling
    RM-4

    Stubs and parameter marshalling are essential components of RMI. This topic explains how stubs act as local representatives of remote objects and how parameter marshalling enables data transfer between client and server.

  • RMI Programming Model
    RM-5

    The RMI programming model defines how to write RMI-based applications. This topic covers the principles and best practices of the RMI programming model.

  • Interfaces and Implementations
    RM-6

    This topic explains the importance of interfaces and implementations in RMI, including how to define and use them to create remote objects.

  • RMI Registry
    RM-7

    The RMI registry is a repository of remote objects. This topic covers how to use the RMI registry to bind, lookup, and unbind remote objects.

  • Parameters and Return Values
    RM-8

    This topic explains how to handle parameters and return values in remote methods, including data types and serialization.