Skip to content

Latest commit

 

History

History
102 lines (97 loc) · 8.38 KB

File metadata and controls

102 lines (97 loc) · 8.38 KB

FAR WESTERN UNIVERSITY Faculty of Science & Technology Bachelor of Science in Computer Science & Information Technology (B.Sc. CSIT)

Course Title: Advanced Java Programming Credit: 3 Course No: CSIT.412 Number of period per week: 3+3 Nature of the Course: Theory + Lab Total hours: 45+45 Year: Fourth, Semester: Seventh Level: B. Sc. CSIT

  1. Course Introduction This course is 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.
  2. Objectives Upon completion of this course students should be able to:  Write sample applets and draw graphics by using AWT  Use libraries for creating GUIs handling events and accessing databases  Develop desktop applications, web applications, and network applications  Understand concepts of reusable software components and distributed program development. Specific Objectives Contents • Understand concepts of AWT containers and controls • Use Containers a d controls to create GUI • Demonstrate layout mangers and SetBound method • Apply graphics libraries to create graphics. • Create menus and Menubars using AWT Unit I: AWT & Layout Management (10 Hrs.) 1.1. AWT Basics: AWT class Hierarchy, AWT Containers & Controls, AWT Features 1.2. AWT Containers: Window, Frame, Panel, Dialog, Applets, Creating Frames & Panels, Creating Applets, Applet Life Cycle. 1.3. Layout Managers: Flow Layout, Grid Layout, GridBag Layout, Border Layout, Group Layout, Using SetBound method. 1.4. AWT Controls: TextField, TextArea, Button, Label, Checkbox, Checkbox Group, Choice, List, Canvas, Image 1.5. AWT Menu: Menu Hierarchy, Menu, MenuBar, MenuItem, PopupMenu 1.6. AWT Graphics: Graphics and Graphics2D Class, Drawing Lines, Curves, rectangles, ellipse, Changing Color & Font • Compare Swing with AWT and understand differences • Use Swing library to create GUI • with different controls and menus • Demonstrate the use of advanced swing components • Demonstrate the use of dialog boxes and internal frames • Understand the use of different component organizers Unit II: GUI with Swing (8 Hrs.) 2.1. Swing Basics: Swing Hierarchy, Swing Features, AWT vs Swing 2.2. Text Input: Text Fields, Password Fields, Text Areas, Scroll Pane, Label and Labelling Components 2.3. Choice Components: Check Boxes, Radio Buttons, Borders, Combo Boxes, Sliders 2.4. Menus: Menu Building, 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. Dialog Boxes: Option Dialogs, Creating Dialogs, Data Exchange, File Choosers, Color Choosers 2.6. Components Organizers: Split Panes, Tabbed Panes, Desktop Panes and Internal Frames, Cascading and Tiling 2.7. Advance Swing Components: List, Trees, Tables, Progress Bars • Understand event handling models • Demonstrate the use of listeners and adapters • Write programs to handle different types of events Unit III: Event Handling (6 Hrs.) 3.1. Introduction: Standard Event Handling, Using Delegated Class, Using Action Commands, Listener Interfaces, Adapter Classes 3.2. Handling Events: Action Events, Key Events, Focus Events, Window Event, Mouse Event, Item Event • Understand JDBC architecture and driver types • Explain different steps used in connecting with databases • Demonstrate used of different types of statements • Create programs to executes • DDL and DML statement Unit IV: Java Database Connectivity (6 Hrs.) 4.1. Design of JDBC: JDBC Architectures, Drivers & Jar Files, Driver Types, Steps for Connecting to JDBC 4.2. Executing SQL Statements: Managing Connections, Statements, Result Set, SQL Exceptions, Populating Database 4.3. 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

• Understand concepts of ports, IP address, and Protocols • Implement TCP/UDP servers and clients • Perform different operations with URLs Unit V: Network Programming (4 Hrs.) 5.1. Networking Basics: Transmission control Protocol (TCP), User Datagram Protocol (UDP), Ports, IP Address Network Classes in JDK 5.2. Working with URLS: Connecting to URLS, Reading Directly from URLS, Inet Address Class 5.3. Sockets: TCP Sockets, UDP Sockets, Serving Multiple Clients, Half Close, Interruptible Sockets, Sending Email • Practice the creation, modification, and deletion of JAR files • Demonstrate the use of bean components • Write programs to create Java Beans Unit VI: Java Beans (5 Hrs.) 6.1. Introduction: Creating, Updating and Reading From JAR Files, Java Beans, Advantages of Java Beans, Class vs Beans, BDK and Bean Box 6.2. 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 • Understand Servlet basics and its life cycle • Configure web servers and create servlets by using different classes and interfaces • Demonstrate the use of session and cookies • Understand JSP architecture and compare it with servlets • Demonstrate the use of JSP tags by writing sample programs • Under exceptions and exception handling Unit VII: Servlets & JSP(5 Hrs.) 7.1. Servlets: 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 7.2. Java Server Pages: Advantage of JSP technology (Comparison 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. • Explain basics of RMI and CORBA • Write, Compile, and Execute sample RMI programs • Understand CORBA and its architecture Unit VIII: RMI & CORBA (5 Hrs.) 8.1. Remote Method Invocation: Introduction of RMI, Architecture of RMI, Remote Objects, Creating and Executing RMI Applications 8.2. CORBA: Introduction to CORBA, Architecture of CORBA, Functioning of CORBA Applications, CORBA Service Presentation: Students will be divided into groups and each group will be provided with a topic for presentation. It will be evaluated individually as well as group-wise. Individual students have to make presentations on the given topics. Mid-term examination: It is a written examination and the questions will be asked covering all the topics in the session of the course. Discussion and participation: Students will be evaluated on the basis of their active participation in the classroom discussions. Instructional Techniques: All topics are discussed with emphasis on real-world application. List of instructional techniques is as follows: • Lecture and Discussion • Group work and Individual work • Assignments • Presentation by Students • Quizzes • Guest Lecture Students are advised to attend all the classes and complete all the assignments within the specified time period. If a student does not attend the class(es), it is his/her sole responsibility to cover the topic(s) taught during that period. If a student fails to attend a formal exam/quiz/test, there won’t be any provision for re-exam. Unless and until the student clears one semester he/she will not be allowed to study in the following semesters. Laboratory Work Student should design at least two Projects. Desktop Application (Address Book, Library system etc), Simple network Application (e.g. Chatting Application) or Simple Web Applications (online banking Application, Online Music Application, etc) Prescribed Text • Cay S. Horstmann, Core Java Volume I--Fundamentals Ninth Edition, Prentice Hall, 2012 • Cay Horstmann and Grazy Cornell, Core Java Volume II-Advance Features, Eighth Edition References • Hebert Schildt Java: The Complete Reference, McGraw-Hill Education, Ninth Edition, 2014 • Steven Holzner, Java 7 Programming, Black Book, Dreamtech Press, 2013