Faculty of Computing Riphah International University
Course Description
Course Code CS2104
Course Category Software Engineering Elective
Course Title Advance Computer Programming
Credit Hours 03
Prerequisites Object Oriented Programming
Co-Requisites -
Assessment Instruments with Sessional Work: 40%
Weights (homework, quizzes, - Assignments 10%
midterms, final, programming - Quizzes 20%
assignments, lab work, etc.) - Presentation 10%
Mid Term: 20%
Final Term: 20%
Semester Project: 20%
Course Instructor Maryam Mir
URL (if any) [Link]
Course Description This course will teach you how to develop web-based Java
applications and web services in a consistent, productive way
using the Spring Framework with Spring MVC. The Spring
Framework is a platform that aims to make Java application
development easier.
Textbook 1.
Reference Material Lecture Handouts, Sample Programs
Course Goals/Objectives CLO 1: Create a Spring project from scratch
CLO 2: Injecting dependencies using the Spring bean factory
CLO 3: Define beans and autowire them as required
CLO 4: Setup and develop web-based applications
CLO 5: Include database access with object persistence and
transaction support.
Code Bloom’s Taxonomy Course Teaching Course
1
Faculty of Computing Riphah International University
# And Course Learning Outcomes Strategies Assessment %Weight
Methods
1.0 Remember
1.1
2.0 Understand
2.1
2.2
3.0 Apply
3.1 Create a Spring project from scratch Class Activities
Injecting dependencies using the Lectures, Class Quiz, Project,
3.2 Spring bean factory End term exam, 20
Activities
Mid Term,
Define beans and autowire them as Quiz, Project,
required Lectures, Class
3.2.1 End term exam, 20%
Activities
Mid Term,
Quiz, Project,
Setup and develop web-based Lectures, Class
3.2.2 End term exam, 20%
applications Activities
Mid Term,
Include database access with object Quiz, Project,
Lectures, Class
3.2.3 End term exam, 40%
persistence and transaction support Activities
Mid Term,
4.0 Analyze
5.0 Evaluate
6.0 Create
Topics Covered in the Course, Please see details on next page
with Number of Lectures on
Each Topic
Laboratory NA
Projects/Experiments Done in
the Course
Programming Assignments Done NA
in the Course
Class Time Spent on (in credit Theory Problem Solution Social and Ethical
hours) Analysis Design Issues
0.75 0.5 1.5 0.25
2
Faculty of Computing Riphah International University
Oral and Written
Communications
Topics Covered in the Course, with Number of Lectures on Each Topic
Topics Hours
Basics Of Java 4
Front End Design 10
Java Persistence API 5
Model View Controller 6
Using Reflection, Working with Reflection, Invoking Methods 8
5
Creating Beans, Working with Beans, Bean Scopes
10
Spring with JDBC
Weekly Lecture Plan
Wee TOPIC CLOs Mapping Blooms
k Taxonomy
1 Course Introduction K,C,A
Basics Of Java
Input/output
Inheritance
Polymorphism
Encapsulation
Abstract Class
Interfaces
2 Front End K,C,A
Html
CSS
Javascript
3 Front End K, C, A
Html
3
Faculty of Computing Riphah International University
CSS
Javascript
4 Front End K, C, A
Html
CSS
Javascript
5 Java Persistence API K, C, A
Persistent Units
Entity Manager
JPA Query Language
JPA Persistence
Annotations
JPA Templates
Application Managed JPA
Container Managed JPA
6 Java Persistence API K, C, A
Persistent Units
Entity Manager
JPA Query Language
JPA Persistence
Annotations
JPA Templates
Application Managed JPA
Container Managed JPA
7 Model View Controller K, C, A
Domain Objects
Service Layer
Persistence Layer
Spring MVC Architecture
Dispatcher Servlets
Context Loaders
Controllers
ModelAndView
View Resolvers
Working with MVC
ModelAndView Objects
Handler Mappings
Handler Interceptors
Form Controllers
MultiAction Controllers
Controller Annotations
Mapping Exceptions to Views
Unit Testing MVC Controllers
8 Model View Controller K, C, A
Domain Objects
Service Layer
Persistence Layer
Spring MVC Architecture
4
Faculty of Computing Riphah International University
Dispatcher Servlets
Context Loaders
Controllers
ModelAndView
View Resolvers
Working with MVC
ModelAndView Objects
Handler Mappings
Handler Interceptors
Form Controllers
MultiAction Controllers
Controller Annotations
Mapping Exceptions to Views
Unit Testing MVC Controllers
9 Mid Term
10 Using Reflection K, C, A
Classes and Interfaces
Fields and Methods
Constructors
Working with Reflection
Constructing Objects
Manipulating Fields
Invoking Methods
Spring Framework
Containers and Services
Inversion of Control
Dependency Injection
11 Using Reflection K, C, A
Classes and Interfaces
Fields and Methods
Constructors
Working with Reflection
Constructing Objects
Manipulating Fields
Invoking Methods
Spring Framework
Containers and Services
Inversion of Control
Dependency Injection
12 Creating Beans K, C, A
Setter Injection
Constructor Injection
Static Factory Methods
Inner Beans
Working with Beans
Wiring Collections
Bean Abstraction
Autowiring
Method Injection
Bean Scopes
5
Faculty of Computing Riphah International University
Bean Scope Modes
Bean Life Cycle
Bean Postprocessing
13 Creating Beans K, C, A
Setter Injection
Constructor Injection
Static Factory Methods
Inner Beans
Working with Beans
Wiring Collections
Bean Abstraction
Autowiring
Method Injection
Bean Scopes
Bean Scope Modes
Bean Life Cycle
Bean Postprocessing
14 Spring with JDBC K, C, A
Data Access
DAO Support Classes
Data Source Configuration
JDBC Persistence
DAO Interfaces
JDBC Templates
RowMappers
Domains and Services
JDBC Transactions
Transaction Properties
Transaction Managers
Transaction Attributes
Programmatic Transactions
Declarative Transactions
AOP Support
Transaction Annotations
15 Revision K, C, A
16 Project Demo
Cours
e
LOs PLO PLO PLO PLO PLO PLO PLO PLO PLO PLO1 PLO1
# 1 2 3 4 5 6 7 8 9 0 1
6
Faculty of Computing Riphah International University
1.1
2.1
2.2
3.1
3.2
3.2.1
3.2.2
3.2.3
3.2.4
4.1
5.1
Grading Policy
A+ 90 and Above
A 80 and 89
B 70 - 79
C 60 – 69
D 50 – 59
F Below 50