GUJARAT TECHNOLOGICAL UNIVERSITY (GTU)
Competency-focused Outcome-based Green Curriculum-2021 (COGC-2021)
Semester - V
Course Title: Advanced JAVA Programming
Course Code: 4351603
| Diploma programme in which this course is offered | Semester in which offered |
|---|---|
| Information Technology | 5th semester |
1. RATIONALE
This course provides the knowledge necessary to develop dynamic web pages using Servlet, JSP, MVC web frameworks and hibernate. It covers the basic underlying concepts and techniques recently used in the IT industry. After going through this course students will be able to design MVC based Web applications.
2. COMPETENCY
The purpose of this course is to help the student to attain the following industry identified competency through various teaching-learning experiences:
- Develop MVC based web applications using Java web framework.
3. COURSE OUTCOMES (COs)
The practical exercises, the underpinning knowledge, and the relevant soft skills associated with this competency are to be developed in the student to display the following COs:
The student will develop underpinning knowledge, adequate programming skills of competency for implementing various applications using java programming language to attain the following course outcomes.
- a) Develop a GUI application using swing components.
- b) Apply ORM based Methodology for Application Development.
- c) Develop Web Applications using Servlets and deploy in popular servers like Tomcat
- d) Develop JSP based applications with database connectivity.
- e) Apply MVC architecture using Spring framework.
4. TEACHING AND EXAMINATION SCHEME
| Teaching Scheme (In Hours) | Total Credits | Examination Scheme | Practical Marks | Total | ||||
|---|---|---|---|---|---|---|---|---|
| L | T | P | C (L+T/2+P/2) | Theory CA | Theory ESE | Practical CA | Practical ESE | Total Marks |
| 3 | - | 2 | 4 | 30 | 70 | 25 | 25 | 150 |
Note (*): Out of 30 marks under the theory CA, 10 marks are for assessment of the micro-project to facilitate integration of COs and the remaining 20 marks is the average of 2 tests to be taken during the semester for the assessing the attainment of the cognitive domain UOs required for the attainment of the COs.
Legends: L - Lecture; T - Tutorial/Teacher Guided Theory Practice; P - Practical; C - Credit; CA - Continuous Assessment; ESE - End Semester Examination.
5. SUGGESTED PRACTICAL EXERCISES
The following practical outcomes (PrOs) are the subcomponents of the COs. These PrOs need to be attained to achieve the COs.
| S. No. | Practical Outcomes (PrOs) | Unit No. | Approx. Hrs. Required |
|---|---|---|---|
| 1 | Develop a GUI program by using one swing button and adding it on the JFrame object | I | 02 |
| 2 | Develop a program to create checkboxes for different courses belonging to a university such that the course selected would be displayed | I | 02 |
| 3 | Develop a program to Implement Traffic signal (Red, Green and Yellow) by using Swing components (Using JFrame, JRadioButton, ItemListener etc.) | I | 04 |
| 4 | Develop a program using JDBC to display student's record (Enroll No, Name, Address, Mobile No, and Email-ID) into table 'StuRec' | II | 02 |
| 5 | Develop a program using JDBC to edit (insert, update, delete) Student's profile stored in the database | II | 02 |
| 6 | Develop an application to store, update, fetch and delete data of Employee (NAME, AGE, SALARY and DEPARTMENT) using Hibernate CRUD operations | II | 02 |
| 7 | Develop a simple servlet program which maintains a counter for the number of times it has been accessed since its loading; initialize the counter using deployment descriptor | III | 02 |
| 8 | Create a web form which processes servlet and demonstrates use of cookies and sessions | III | 02 |
| 9 | Develop a web form which processes servlet for user login functionality | III | 02 |
| 10 | Develop a JSP web application to display student monthly attendance in each subject of current semester via enrollment number | IV | 02 |
| 11 | Develop a JSP web application to select shopping products, buy any products and product billing page using session management | IV | 02 |
| 12 | Develop a JSP program for student registration for new admission in college and display stored data it into admin dashboard | IV | 02 |
| 13 | Develop a Web MVC Architecture based application to provide user Login and Register using Spring Boot | V | 02 |
| Total | 28 |
Note
- i. More Practical Exercises can be designed and offered by the respective course teacher to develop the industry relevant skills/outcomes to match the COs. The above table is only a suggestive list.
- ii. The following are some sample 'Process' and 'Product' related skills (more may be added/deleted depending on the course) that occur in the above listed Practical Exercises of this course required which are embedded in the COs and ultimately the competency.
| S. No. | Sample Performance Indicators for the PrOs | Weightage in % |
|---|---|---|
| 1 | Use of appropriate technology/software/tools | 10 |
| 2 | Coding methodology | 30 |
| 3 | Testing and Debugging of the program | 20 |
| 4 | Correctness of Program | 20 |
| 5 | Submission in time | 20 |
| Total | 100 |
6. MAJOR EQUIPMENT/ INSTRUMENTS REQUIRED
This major equipment with broad specifications for the PrOs is a guide to procure them by the administrators to usher in uniformity of practical in all institutions across the state.
| S. No. | Equipment Name with Broad Specifications | PrO. No. |
|---|---|---|
| 1 | Computer system with operating system: Windows 7 or higher Ver., macOS, and Linux, with 4GB or higher RAM, Java, mysql | All |
| 2 | JDK and IDE such as eclipse, netbeans & spring framework | All |
7. AFFECTIVE DOMAIN OUTCOMES
The following sample Affective Domain Outcomes (ADOs) are embedded in many of the above-mentioned COs and PrOs. More could be added to fulfill the development of this competency.
- a) Work as a Java developer.
- b) Follow ethical practices.
The ADOs are best developed through the laboratory/field based exercises. Moreover, the level of achievement of the ADOs according to Krathwohl's 'Affective Domain Taxonomy' should gradually increase as planned below:
- i. 'Valuing Level' in 1st year
- ii. 'Organization Level' in 2nd year
- iii. 'Characterization Level' in 3rd year
8. UNDERPINNING THEORY
Only the major Underpinning Theory is formulated as higher-level UOs of Revised Bloom's taxonomy in order development of the COs and competency is not missed out by the students and teachers. If required, more such higher-level UOs could be included by the course teacher to focus on the attainment of COs and competency.
| Unit | Unit Outcomes (UOs) - (4 to 6 UOs at Application and above level) | Topics and Sub-topics |
|---|---|---|
| Unit - I JAVA SWING | 1a. Differentiate between AWT and Swing 1b. Develop GUI programs using Swing Components 1c. Develop simple event driven programs using event class and event listener interface | 1.1 Introduction to JFC, AWT and Swing, Difference between AWT and Swing 1.2 Features of the Java Foundation Classes 1.3 Swing Components: Swing Classes Hierarchy, Commonly used Methods of Component class (add(), setSize(), setLayout(), and setVisible()), JApplet, JFrame, JLabel, JTextField, JTextArea, JButton, JCheckBox, JRadioButton, JComboBox, JMenu 1.4 Layout Management: Flow Layout, Border Layout, Card Layout, Box Layout, Grid Layout, Gridbag Layout, Group Layout, Spring Layout 1.5 Event Handling: Introduction, Action Events, Key Events, Focus Events, Window Event, Mouse Event, Item Events 1.6 EventListener Interface: ActionListener, KeyListener, FocusListener, WindowListener, MouseListener, MouseMotionListener, ItemListener |
| Unit - II Java Database Connectivity | 2a. Describe the basics of JDBC and its connectivity 2b. Explain different types of JDBC drivers and their advantages and disadvantages 2c. Develop program using JDBC to query a database and modify it 2d. Explain Object Relational Mapping and Advantages 2e. Describe Hibernate Architecture and Environment setup | 2.1 Two-Tier Database Design, Three-Tier Database Design 2.2 The JDBC API: The API components, database operations like creating tables, CRUD (Create, Read, Update, Delete) operations using SQL 2.3 JDBC - advantages and disadvantages 2.4 JDBC drivers 2.5 JDBC-ODBC bridge 2.6 Develop java program using JDBC 2.7 ORM working model, advantages and ORM tools 2.8 Architecture of hibernate and installation steps for IDE 2.9 Hibernate Properties and supported database |
| Unit - III Servlets | 3a. Describe life cycle of servlet 3b. Develop web application using javax.servlet package | 3.1 The life cycle of a servlet 3.2 The Java Servlet Development Kit 3.3 The Simple Servlet: create and compile servlet source code, start a web browser and request the servlet, example of echo servlet and deployment in tomcat server 3.4 The javax.servlet Package: reading database/table records and displaying them using servlet |
| Unit - IV Java Server Pages | 4a. Explain JSP with syntax and Semantics 4b. Implement web application using JSP Form input elements and validation 4c. Implement web application using JSP Cookies and Session tracking 4d. Describe JSTL - JSP STANDARD TAG LIBRARY 4e. Implement web application using JSP database connection | 4.1 Advantages of JSP and lifecycle of JSP 4.2 Components of JSP page: Directives, Comments, Expression, Scriptlets, Declarations, Implicit Objects, Standard Actions and Tag Extensions 4.3 Elements Created with the INPUT Tag, Elements Created with select and option, textarea Element 4.4 JSP form validation 4.5 Read and Delete data from cookies, maintain session and track session id, Core tags, SQL tags, XML tags, JSTL functions 4.6 Create Table using JSP, SELECT, INSERT, DELETE and UPDATE |
| Unit - V Web MVC Framework | 5a. Explain Web Application Framework 5b. Describe MVC Architecture Layers 5c. Implement web application using Spring Framework 5d. Describe Spring Boot and applications of Spring Boot | 5.1 Importance of MVC architecture, Advantages of MVC Architecture 5.2 Model layer, View layer and Controller layer 5.3 Aspect-oriented programming (AOP), Dependency injection (DI) and Plain Old Java Object (POJO), Spring Framework Architecture 5.4 Features in Spring Boot, Comparison Between Spring and Spring Boot |
Note : The UOs need to be formulated at the 'Application Level' and above of Revised Bloom's Taxonomy' to accelerate the attainment of the COs and the competency.
9. SUGGESTED SPECIFICATION TABLE FOR QUESTION PAPER DESIGN
| Unit No. | Unit Title | Teaching Hours | Distribution of Theory Marks | Total | ||
|---|---|---|---|---|---|---|
| R Level | U Level | A Level | Total Marks | |||
| I | Java Swing | 12 | 04 | 06 | 08 | 18 |
| II | Java Database Connectivity | 06 | 04 | 03 | 03 | 10 |
| III | Servlets | 09 | 04 | 06 | 06 | 16 |
| IV | Java Server Pages | 09 | 04 | 06 | 06 | 16 |
| V | Web MVC framework | 06 | 02 | 04 | 04 | 10 |
| Total | 42 | 18 | 25 | 27 | 70 |
Legends: R = Remember, U = Understand, A = Apply and above (Revised Bloom's taxonomy)
Note: This specification table provides general guidelines to assist students for their learning and to teachers to teach and question paper designers/setters to formulate test items/questions assess the attainment of the UOs. The actual distribution of marks at different taxonomy levels (of R, U and A) in the question paper may vary slightly from the above table.
10. SUGGESTED STUDENT ACTIVITIES
Other than the classroom and laboratory learning, following are the suggested student-related co-curricular activities which can be undertaken to accelerate the attainment of the various outcomes in this course: Students should conduct following activities in group and prepare reports of about 5 pages for each activity, also collect/record physical evidences for their (student's) portfolio which will be useful for their placement interviews:
- a) Explore different application development using java web application technologies/tools and frameworks.
- b) Undertake micro-projects in teams
- c) Give a seminar on any relevant topics.
11. SUGGESTED SPECIAL INSTRUCTIONAL STRATEGIES (if any)
These are sample strategies, which the teacher can use to accelerate the attainment of the various outcomes in this course:
- a) Massive open online courses ( MOOCs ) may be used to teach various topics/subtopics.
- b) Guide student(s) in undertaking micro-projects.
- c) 'L' in section No. 4 means different types of teaching methods that are to be employed by teachers to develop the outcomes.
- d) About 20% of the topics/sub-topics which are relatively simpler or descriptive in nature is to be given to the students for self-learning, but to be assessed using different assessment methods.
- e) With respect to section No.11, teachers need to ensure to create opportunities and provisions for co-curricular activities.
- f) Guide students for open source java editors.
12. SUGGESTED MICRO-PROJECTS
Only one micro-project is planned to be undertaken by a student that needs to be assigned to him/her in the beginning of the semester. In the first four semesters, the micro-project are group-based. However, in the fifth and sixth semesters, it should be preferably be individually undertaken to build up the skill and confidence in every student to become problem solver so that he/she contributes to the projects of the industry. In special situations where groups have to be formed for micro-projects, the number of students in the group should not exceed three.
The micro-project could be industry application based, internet-based, workshop-based, laboratory-based or field-based. Each micro-project should encompass two or more COs which are in fact, an integration of PrOs, UOs and ADOs. Each student will have to maintain a dated work diary consisting of individual contributions in the project work and give a seminar presentation of it before submission. The total duration of the micro-project should not be less than 16 (sixteen) student engagement hours during the course. The student ought to submit a micro-project by the end of the semester to develop the industry-oriented COs.
A suggestive list of micro-projects is given here. This has to match the competency and the COs. Similar micro-projects could be added by the concerned course teacher:
- Project idea 1: Degree/Diploma Admission Web Application - Develop Degree/Diploma Admission web application using java web application technologies to get student registration data, process and filter data
- Verification of submitted data
- Support files/documents uploading features - Project idea 2: Library Management System - Develop Library Management System
- To update the record, monitor and add books
- Search for the required ones, taking care of the issue date and return date
- It comes with basic features like creating a new record and updating and deleting it - Project idea 3: College Placement Record Keeping System - Develop MVC based web application for college placement record keeping
- Student registration, apply for company
- Find the result of the interview
13. SUGGESTED LEARNING RESOURCES
| S. No. | Title of Book | Author | Publication with place, year and ISBN |
|---|---|---|---|
| 1 | Black Book 'Java Server Programming' J2EE | Kathy Walrath | Dream Tech Publishers |
| 2 | Complete Reference J2EE | James Keogh | McGraw Publication |
| 3 | Java: The Complete Reference | Herbert Schildt | McGraw-Hill ISBN: 9781260440249 |
| 4 | JSP: The Complete Reference | Phillip Hanna | McGraw Hill Education ISBN: 0072224371 |
| 5 | Beginning Hibernate 6 | Joseph B. Ottinger, Jeff Linwood, Dave Minter | Springer India ISBN: 1484284135 |
14. SOFTWARE/LEARNING WEBSITES
- a. JavaTpoint - Java EE Tutorial
- b. GeeksforGeeks - Introduction to Java Swing
- c. TutorialsPoint - Programming Tutorials
- d. NPTEL - Online Courses
- e. Hibernate Reference Documentation
- f. JavaTpoint - What is Advance Java
- g. Oracle - JSP Introduction
- h. Spring Framework Reference Documentation
15. PO-COMPETENCY-CO MAPPING
Semester V - Advanced JAVA Programming (Course Code: 4351603)
| Competency & Course Outcomes | PO 1 Basic & Discipline specific knowledge | PO 2 Problem Analysis | PO 3 Design/development of solutions | PO 4 Engineering Tools, Experimentation & Testing | PO 5 Engineering practices for society, sustainability & environment | PO 6 Project Management | PO 7 Life-long learning |
|---|---|---|---|---|---|---|---|
| Competency: Develop MVC based web applications using Java web framework | - | - | - | - | - | - | - |
| Course Outcomes | |||||||
| CO a) Develop a GUI application using swing components | 2 | 3 | 3 | 2 | 2 | 2 | 2 |
| CO b) Apply ORM based Methodology for Application Development | 3 | 2 | 3 | 2 | - | 2 | 2 |
| CO c) Develop Web Applications using Servlets and deploy in popular servers like Tomcat | 3 | 3 | 3 | 3 | 1 | 2 | 2 |
| CO d) Develop JSP based applications with database connectivity | 3 | 3 | 3 | 3 | - | 2 | 2 |
| CO e) Apply MVC architecture using Spring framework | 3 | 2 | 3 | 3 | - | 3 | 2 |
Legend: '3' for high, '2' for medium, '1' for low or '-' for the relevant correlation of each competency, CO, with PO/PSO
17. COURSE CURRICULUM DEVELOPMENT COMMITTEE
GTU Resource Persons
| Sr. No. | Name and Designation | Institute | |
|---|---|---|---|
| 1 | Miss. Priti N. Parikh H.O.D I.T | GP, Himatnagar | pritiparikhdit@gmail.com |
| 2 | Mr. Ajaykumar J. Barot L.I.T | GP, Himatnagar | ajay2185@gmail.com |
| 3 | Mr. Umang Shukla L.I.T | SSGP, Surat | umang.shuklait@gmail.com |