Logo

BIT Advanced Java Programming

bitsemester 7

Advanced Java Programming

Subject Code: BIT401

Course Title: Advanced Java Programming

Course No: BIT401

Nature of Course: Theory & Practical

Full Marks: 100

Pass Marks: 40

Credit Hours: 3

Course Description

This course explores advanced Java language techniques. GUI and event-driven programming, database connectivity, socket programming, distributed programming, and servlets and JSP technology will all be highlighted.

Course Objective

To demonstrate basic Java Programming, exemplify the concept of GUI programming and event handling, demonstrate Java database connectivity and socket programming. Furthermore, it discusses the applications of Java in web programming using servlets and JSP Technology and introduces the concepts of distributed programming with Java.

Course Contents

Unit 1: Programming in Java (8 Hrs.)

Architecture and Features of Java, Environment variables: Path and Class path variables, Structure of Java Programs, Compiling and Running Java Programs; Arrays in Java, for each loop, Class and Object, Method Overloading, Access Specifiers, Interface, Inner Class, Final and Static Modifiers, Packages, Inheritance, Method Overriding; Exception Handling: Types of Exceptions, Try, Catch, Finally, Throws, and Throw keywords, Creating Exception Class; Concurrency: Introduction to Threads, Thread States, Writing Multithreaded Programs, Thread Properties, Thread Methods, Synchronizing Threads, Setting and Getting Thread Priorities; Working with Files: Byte Stream Classes, Character Stream Classes, Random Access Files, Reading and Writing Objects

Unit 2: User Interface Components with Swing (10 Hrs.)

Introduction: Concept of AWT, AWT vs. Swing, Swing Class Hierarchy, Component vs. Containers; Layout Managers: No Layout, Flow layout, Border Layout, Grid Layout, Gridbag Layout, Group Layout; GUI Controls: JTextField, JPasswordField, JTextArea, JScrollPane, JLabels, JCheckBox, JRadioButton, Borders, JComboBox, JSliders; JFrame, JPanel, JOptionPane Dialog Boxes, Creating Custom JDialogBox, JFileChooser, JColorChooser, JInternalFrame; JMenu, JMenuItem, JIcons in JMenuItem, JCheckBox and JRadioButtons in Menu Items, Pop-up Menus, Keyboard Mnemonics and Accelerators, Enabling and Disabling JMenuItems, JToolBars, Tooltip Text

Unit 3: Event Handling (4 Hrs.)

Event Handling Concept, Event Delegation Model, Listener Interfaces, Using Action Commands, Adapter Classes; Handling ActionEvents, KeyEvents, FocusEvents, MouseEvents, WindowEvents, ItemEvents

Unit 4: GUI with JavaFX (3 Hrs.)

Introduction, JavaFX vs Swing, Steps of Writing JavaFX Programs, Writing JavaFX programs; JavaFX Layouts: FlowPane, BorderPane, HBox, VBox, GridPane; JavaFX UI Controls: Label, TextField, Button, RadioButton, CheckBox, Hyperlink, Menu, Tooltips, FileChooser

Unit 5: Java Database Connectivity (4 Hrs.)

Architecture of JDBC, JDBC Driver Types, Steps of JDBC, Statements, Result Sets, DML Operations Using Java; Prepared Statements, Multiple Results, Scrollable Result Sets, Updateable Result Sets, Row Sets and Cached Row Sets, Transactions

Unit 6: Network Programming (5 Hrs.)

Review of Transmission Control Protocol (TCP), User Datagram Protocol (UDP), TCP vs UDP, Ports, IP Address Network Classes in JDK; Steps of Writing Socket programs using TCP, Steps of Writing Socket programs using UDP, Examples of Socket programs using TCP and UDP, Working with URLs, Working with URL Connection Class

Unit 7: Servlets and Java Server Pages (8 Hrs.)

Introduction to Servlets, Servlet Lifecycle, The Servlet APIs, Methods of Writing Servlet Programs, Reading Form Parameters, Form Processing, Handling GET/POST Response, Servlets and JDBC; JSP Access Model, Servlet vs. JSP; JSP Syntax (Directives, Declarations, Expression, Scriptlets, Comments), JSP Implicit Objects, Object Scopes, Form Processing, Database Access with JSP

Unit 8: RMI and CORBA (3 Hrs.)

Introduction of RMI, RMI Architecture, Steps of Writing RMI Programs, Creating and Executing RMI Applications; Introduction to CORBA, RMI vs CORBA, Architecture of CORBA, Concept of IDL, Sample Examples of IDL

Reference Books

  • Horstmann, Cay S. Core Java Volume I – Fundamentals. 11th ed. Pearson, 2018.
  • Horstmann, Cay S. Core Java Volume II – Advanced Features. 11th ed. Pearson, 2019.
  • Schildt, Herbert. Java: The Complete Reference. 11th ed. McGraw-Hill Education, 2018.
  • D.T. Editorial Services. Java 8 Programming Black Book. Dreamtech Press, 2015.

Lab Works

Students need to write programs related to basic Java programming concepts, Designing GUI, Event Handling, JDBC, Network Programming, Web Programming, and Distributed Programming.