BIT Advanced Java Programming
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
Course Objective
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.
