Java Full Stack
Java Full Stack
COURSE PLAN
PROGRAM OUTCOMES :
Name of
PO'S Description
PO
Engineering knowledge: Apply the knowledge of mathematics, science,
PO1 engineering fundamentals, and an engineering specialization to the solution of
complex engineering problems.
The engineer and society: Apply reasoning informed by the contextual knowledge
PO6 to assess societal, health, safety, legal and cultural issues and the consequent
responsibilities relevant to the professional engineering practice.
Environment and sustainability: Understand the impact of the professional
PO7 engineering solutions in societal and environmental contexts, and demonstrate the
knowledge of and need for sustainable development.
Ethics: Apply ethical principles and commit to professional ethics and
PO8
responsibilities and norms of the engineering practice.
Individual and teamwork: Function effectively as an individual, and as a
PO9 member or leader in diverse teams, and in multidisciplinary settings.
COURSE DESCRIPTION:
This advanced level course enables students to perform full stack development using Java, with
emphasis on employability skills. The key technologies used for Full Stack development is based
on either Java technology or .NET technology. In this course, the focus is on using Java, and the
related technologies/tools like Java EE, Java Persistence, Hibernate, Maven, Spring Core, etc. On
successful completion of this course, the student shall be able to pursue a career in full-stack
development. The students shall develop strong problem-solving skills as part of this course.
.
COURSE OUTCOMES: On successful completion of the course the students shall be able to:
CO. PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO 11 PO 12
No
CO1 M H H M H M L M M
CO2 M H H M H M L M M
CO3 M H H M H M L M M
CO4 M H H M H M L M M
CO5 M H H M H M L M M
Name
PSO'S Description
of PSO
Problem Solving: Identify, formulate and apply appropriate techniques in the areas
PSO2 related to Software development, Augmented and Virtual Reality, Gaming and
Graphics and related domains of varying complexities in real-time applications.
Module: 3: Java Persistence using JPA and Hibernate [12 Sessions] [Apply]
Fundamentals of Java Persistence with Hibernate; JPA for Object/Relational Mapping,
Querying, Caching, Performance and Concurrency; First & Second Level Caching, Batch
Fetching, Optimistic Locking & Versioning; Entity Relationships, Inheritance Mapping &
Polymorphic Queries; Querying database using JPQL and Criteria API (JPA)
Module: 4: Spring Core [12 Sessions ] [ Apply]
Spring Core, Spring MVC, Spring Boot REST API; Understanding Spring Framework; Using
Spring MVC; Building a Database Web App with Spring and Hibernate - Spring AOP (Aspect
Oriented Programming); Implementing Spring Security; Developing Spring REST API; Using
Spring Boot for Rapid Development.
DELIVERY PROCEDURE(PEDAGOGY): Delivery of Content is done using PPT, Chalk and Talk, IDE,
Web Browsers.
The procedure to be adopted in the course for delivering the content will be PPT and Practical
Sessions.
Students shall be divided into groups for the Projects.
REFERENCE MATERIALS:
Textbooks:
T1 : Mayur Ramgir, “Full Stack Java Development with Spring MVC, Hibernate, jQuery , and
Bootstrap”, 1st Edition, Wiley Publication, 2020.
References:
R1: Chris Northwood, “The Full Stack Developer: Your Essential Guide to the Everyday Skills
Expected of a Modern Full Stack Developer”, 1st edition, APress,2018.
R2: Herbert Schildt, “Java The complete reference” , 11th Edition, ORACLE, 2020.
Web References:
1. https://docs.oracle.com/javaee/6/tutorial/doc/geysl.html
2. https://twww.tutorialspoint.com/jpa/index.htm
3. https://docs.spring.io/spring-framework/docs/current/reference/html/core.html
4. https://www.javatpoint.com/hibernate-tutorial
5. https://maven.apache.org/
6. https://www.selenium.dev/
24 P7 Experiment No. 6: L3
Illustrate the JSP develop
a web application connect
with a database. LO1:
Use Servlet API to
SK1,SK
develop a web application
2,SK3,S Lab Sheet
that connects with CO2
K54,SK
MySQL database. 5,SK10
LO2: Apply JSP to
develop a web application
that connect with MySQL
database
25 P8 Experiment No. 7: L3 -
Demonstrate MVC
architecture with simple
and integrate with JDBC.
LO1: Use MVC design SK1,SK
pattern to develop a small 2,SK3,S
web application to K54,SK CO2 Lab Sheet
validate the user name and 5,SK10,
password. SK7
LO2: Apply MVC
architecture to create a
web application that
connects with MySQL
database.(Employee
Registration and
26 L19 Understanding Spring L3 - CO4 PPT / T1-
Framework Interactive
Lecture
(CH15.3.,Pg.4
LO1: Illustrate the 52-460)
advantages of Spring Experienti
Module
:04 framework. al
Spring LO2: Illustrate Spring Learning
Core framework architecture.
27 L20 (Apply) Using Spring Boot for L2 - CO4 PPT / T1-
Rapid Development, Interactive
Lecture
(CH19.1,Pg.6
Spring Boot REST API 15-622)
Spring MVC Experienti
al
LO1: Differentiate
Learning
between Spring and
Spring Boot.
LO2: Define IOC.
28 L21 Using Spring MVC; L3 CO4 Active T1-
Building a Database Learning (CH16.5,Pg.5
Web App with Spring 08-518
and Hibernate.
LO1: Explain the ways
to develop MVC
applications with
database. LO2:
Distinguish between
MVC and Spring MVC.
29 L22 Spring AOP (Aspect L2 CO4 T1-
Oriented Programming) PPT / (CH16.5,Pg.5
Interactive
LO1: Explain about 08-518
Lecture
AOP and its uses.
LO2: List out the steps to Experienti
do AOP al
Learning
30 L23 Implementing Spring L2 CO4 PPT / T1-
Security Interactive
(CH16.5,Pg.5
Lecture
LO1: Define Spring 08-518
Security. Experienti
LO2: Explain how to al
implement Spring
Learning
security
31 P9 Experiment No. 8: L3 - SK1,SK
Demonstrate Hibernate 2,SK3,S
CO3,CO5 Lab Sheet
framework with ORM. K54,SK
LO1: Apply Hibernate 5,SK10
ORM concept to develop
a console application
using Eclipse IDE to store
and retrieves the
persistent object with
MySQL using XML.
LO2: Apply Hibernate
ORM concept to develop
a console application
using Eclipse IDE to store
and retrieves the
persistent object with
MySQL using annotation.
SKILL SETS:
Graduate of the B. Tech Program in Computer Science and Engineering shall be able to:
1. An attitude of enquiry.
2. Confidence and ability to tackle new problems.
3. Ability to interpret events and results.
4. Ability to work as a leader and as a member of a team.
5. Assess errors in systems/processes/programs/computations and eliminate them.
6. Observe and measure physical phenomena.
7. Write reports.
8. Select suitable equipment, instrument, materials & software
9. Locate faults in system/Processes/software.
10. Manipulative skills for setting and handling systems/Process/ Issues
11. The ability to follow standard /legal procedures.
12. An awareness of Professional Ethics.
13. Need to observe safety/General precautions.
14. To judge magnitudes/Results/issues without actual measurement/actual contacts
ASSESSMENT SCHEDULE
TABLE6: ASSESSMENTSCHEDULE
Sl. Course Duration Tentative Date
AssessmentType Contents Marks Weightage
No. Outcomes In
Hours
Module1,2 90 50 17.03.2025
1 Mid Term Exam CO1&CO2 25%
Minutes (Theory)
CONTACT TIMINGS IN THE CHAMBER FOR ANY DISCUSSIONS: (Here mention the fixed slots on any
of the week days for students to come and interact with you)
Students are encouraged to come for any discussions on this course at my chamber L2-16 between 3:00
PM-4:00 PM
Sl Task Course
Question
No. No. Outcome No.
Develop a application to implement the following. Create a super class called Train
which has attributes like trainName, trainNumber, source, destination, no.of seats,
cost. Make sure, you initialise the basicCost for few destination. Use the setter
methods to set the details. Derive two sub classes such as Ordinary and Superfast.
Add methods in such as Check_SeatAvailablity, BookTicket. The Ordinary train
has three categories Seater, Sleeper, ACchair. The superFast train has sleeper,
1 1 CO2
ThreeTierAc, TwoTierAc. Implement the services to check seatAvailablity(),
bookTicket(), computeCost(). While booking, if the chosen train is ordinary, and
for Seater, the cost is equal to the baseCost, for sleeper it is baseCost + 30% of
baseCost. For ACChair, it isbaseCost+60% of the baseCost. Override the
computeCost() method in the SuperFast class, and calculate the cost accordingly.
For for sleeper it is baseCost + 50% of baseCost. For ThreeTierAc, it is
baseCost+90% of the baseCost, For TwoTierAc, it is baseCost+125% of the
baseCost. Calculate the cost and confirm the booking details completely.
Demonstrate with appropriate web based application.
Explain fetch type Lazy and eager. For a many-to-many mapping between two
tables product and customer, what will be the fetch-type. Implement both the table
2 2 CO3
using hibernate. Also explain the various annotations used in respective object-
relationship mapping.
TARGETSETFORCOURSEOUTCOMEATTAINMENT:
TABLE8:TARGETSETFORATTAINMENTOFEACHCO
ANDATTAINMENTANALYSISAFTER
RESULTS
APPROVAL:
Name and signature of the Instructor In-Charge (s)AFTER completing entries in Table number 3 and 8 at end of
semester:
Name and signature of the DAC Chairperson AFTER completing entries in Table number 3 and 8 at end of semester:
Learning Outcomes Verbs at Each Bloom Taxonomy Level to be used for writing the course Outcomes.