Course Plan
A. Course Handout (Version 1.0)
Institute/School Name Chitkara University Institute of Engineering and Technology
Department Name Department of Computer Science & Engineering
Programme Name Bachelor of Engineering (B.E.), Computer Science & Engineering
Course Name Backend Engineering-I Session 2024-2025
Course Code 23CS006 Semester/Batch 4th/2023
L-T-P(Per Week) 2-0-0 Course Credits 2
Pre-requisite Basic knowledge Java Script and React NHEQF Level 05
Course Coordinator Dr. Kiran Deep Singh SDG Number 1,2,9
CLO01 Understand the fundamental concept of client-server architecture and implement server-side logic.
Build web applications using express.js, including routing, middleware integration, and response
CLO02
handling.
CLO03 Apply different attributes to Manage client states using sessions and cookies.
CLO04 Analyse the EJS templates to create dynamic and reusable front-end components.
CLO05 Design the minor project and generate report using backend Technologies.
1. Objectives of the Course
The scope of the course is to Gain a comprehensive understanding of backend development concepts, including
server-side languages, databases, APIs, and server management.
Students will master one or more programming, such as Javascript and Node.js, focusing on their
application in server-side operations.
Develop skills in designing and implementing databases.
Learn how to design, build, and test RESTful APIs to facilitate communication between front-end and
back- end systems.
2. Course Learning Outcomes
After completion of the course, student should be able to:
Course Learning Outcome *POs **CL ***KC Sessions
Understand the fundamental concept
PO4, PO7, PO9, Factual
CLO01 of client-server architecture and K2 4
PO12 Conceptual
implement server-side logic.
CLO02 Build web applications using
express.js, including routing, PO1, PO3, PO6, PO8, Conceptual
K3 5
middleware integration, and response PO9, PO11 Procedural
handling.
CLO03 Apply different attributes to Manage
PO1, PO2, PO5, PO7, Conceptual
client states using sessions and K3 8
PO10 Procedural
cookies.
CLO04 Analyse the EJS templates to create
dynamic and reusable front-end PO2, PO11, PO12 K4 Procedural 6
components.
CLO05 Design the minor project and generate PO3, PO4, PO5, Conceptual
K5 5
report using backend Technologies. PO10 Procedural
Backend Engineering-I /23CS006 Page 1 of 8
Course Plan
Total 30
Revised Bloom’s Taxonomy Terminology
* PO's available at (shorturl.at/cryzF)
**Cognitive Level =CL
***Knowledge Categories = KC
Course PO PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
Learning 1
Outcomes
CLO01 M L H M
CLO02 L M M H M M
CLO03 M L L M H
CLO04 M L L
CLO05 M M H H L
H=High, M=Medium, L=Low
3. ERISE Grid Mapping
Feature Enablement Level(1-5, 5 being highest)
Entrepreneurship 1
Research 3
Innovation 2
Skills 5
Employability 4
4. Recommended Books:
Text Books:
B01: Node.js, MongoDB and Angular Web Development, 2nd Edition, Brad Dayley, Brendan Dayley, Caleb
Dayley, Oreilly Publications, 2017.
BO2: Beginning Node.js, Express & MongoDB Development by Greg Lim, September 2020
B03: Node.js Design Patterns: Design and Implement Production-Grade Node.js Applications Using Proven
Patterns and Techniques, Mario Casciaro and Luciano Mammino, Packt Publishing , 3rd Edition (2020)
Reference Books:
B04: Web Development with Node and Express: Leveraging the JavaScript Stack, Ethan Brown O'Reilly
Media, 2019
B05: SQL Database Programming Hardcover by Tim Warren, 2020
E-Resources:
https://library.chitkara.edu.in/subscribed-books.php
5. Other readings and relevant websites:
Serial No Link of Journals, Magazines, websites and Research Papers
1. https://nodejs.org (Docs + Examples)
Backend Engineering-I /23CS006 Page 2 of 8
Course Plan
2. https://www.npmjs.com (Docs + Examples)
3. https://firebase.google.com/docs/server/setup
4. https://www.mongodb.com/products/platform/atlas-database
6. Recommended Tools and Platforms
Node JS, React JS
NPM, VS Code, MongoDB Atlas.
7. Course Plan:
Lecture Topics Textbook
Number
1 Detail Discussion of Course Handout (CHO)
2 Introduction to Client Server Architecture, Understanding Server and how B01-Chpater-1
request is handled at the server.
3-4 Understanding Nodejs, advantages and disadvantages with respect to the B01-Chapter-1
available languages, Install nodeJS and create a nodejs server.
5-6 handling request, creating endpoints, Modules, npm, import B02-Chapter-2
Modules, Handling static pages with file stream, Handling exceptions.
7-8 Frameworks, Different frameworks of NodeJs. Introduction to express, Serve B02-Chapter-3,
static files. Routing ( Routing methods, Route paths, Route parameters, Route B01-Chapter-6
Handlers ), Response Methods.
9-10 Middleware: Middleware lifecycle, Application-level, middleware, Router-level B01-Chapter-7
middleware, Error-handling middleware and Third-party middleware. B01-Chapter-8
11-12 How request travels in express, Blocking vs non-blocking code - B02-Chapter-6
Body parser
Project Based Evaluation – 1 (Lecture number 1-12)
13-14 Introduction to Multer, Disk Storage handling. Client state management: Client B02-Chapter-14
state management using session module, Different ways of managing session B02-Chapter-15
15-16 Authentication, Authorization, and Handling Exceptions during B01-Chapter-10
Authentication and authorization.
17-18 JSON web token, Authentication using JSON, Authentication B01-Chapter-11
using JSON using Web Tokens
19-20 Rendering, Client-side rendering, Server-side rendering, Comparison between B02-Chapter-12
CSR and SSR
21-22 Template Engines, How to use the EJS template in your Node.js B01-Chapter-17
application, Create the EJS Partials, Pass Data to Views and Partials, and Live the B02-Chapter-18
application with
EJS.
23-24 Practical (Modify the EJS template to handle arrays of data. Use looping B01-Chapter-17
constructs (for, for Each) in the template to iterate over the array data and
merge it into the template for dynamic
rendering.)
Project Based Evaluation – 2 (Lecture number 13-24)
25-26 Create reusable EJS partials for common UI components such as header, B01-Chapter-18
footer, and sidebar. Then, merge these partials into the main EJS template to
construct the complete UI
dynamically.
27-28 Introduction to databases, SQL and No SQL Databases. B04-Chapter-1
29-30 Connecting MongoDB with NodeJS application B03-Chapter-1
Backend Engineering-I /23CS006 Page 3 of 8
Course Plan
Final Project Based Evaluation
8. Delivery/Instructional Resources
Lecture
Topics Web References Audio-Video
No.
1 Detail Discussion of Course Handout (CHO)
2 Introduction to Client Server Architecture, https://www.simplilearn. https://www.youtu
Understanding Server and how request is com/what-is-client- be.com/watch?v=zE
handled at the server. server-architecture- n93Km_CdM
article
3-4 Understanding Nodejs, advantages and https://www.geeksforge https://www.youtu
disadvantages with respect to the available eks.org/node-js- be.com/watch?v=W
languages, Install nodeJS and create a nodejs introduction/ jzLVU-aFXI
server.
5-6 handling request, creating endpoints, https://expressjs.com/en https://www.youtu
Modules, npm, import Modules, Handling /guide/routing.html be.com/watch?v=Ya
static pages with file stream, Handling zJFb_i4A0
exceptions.
7-8 Frameworks, Different frameworks of NodeJs. https://www.geeksforge https://www.youtu
Introduction to express, Serve static files. eks.org/how-to-use- be.com/watch?v=Ya
Routing ( Routing methods, Route paths, Route routes-with-serve-static- zJFb_i4A0
parameters, Route Handlers ), Response files-in-node-js/
Methods.
9-10 Middleware: Middleware lifecycle, https://expressjs.com/en https://www.youtu
Application-level, middleware, Router-level /guide/using- be.com/watch?v=b
middleware, Error-handling middleware and middleware.html RqUaDRm8Po&t=13
Third-party middleware. 4s
11-12 How request travels in express, Blocking vs https://nodejs.org/en/le https://www.youtu
non-blocking code - Body parser arn/asynchronous- be.com/watch?v=O
work/overview-of- 9tU97F4bfU
blocking-vs-non-blocking
13-14 Introduction to Multer, Disk Storage handling. https://www.geekster.in https://www.youtu
Client state management: Client state /articles/introduction- be.com/watch?v=rf
management using session module, Different to-multer/ SJeox61vA
ways of managing session
15-16 Authentication, Authorization, and Handling https://medium.com/@ https://www.youtu
Exceptions during authentication and minadev/authentication be.com/watch?v=B
authorization. -and-authorization-with- 76BhEq1FN8
spring-security-
bf22e985f2cb
17-18 JSON web token, Authentication using JSON, https://www.geeksforge https://www.youtu
Authentication using JSON using Web Tokens eks.org/json-web-token- be.com/watch?v=xr
jwt/ j3zzaqODw
19-20 Rendering, Client-side rendering, Server-side https://www.geeksforge https://www.youtu
rendering, Comparison between CSR and SSR eks.org/how-does- be.com/watch?v=O
ssrserver-side- brSuDYMl1s
rendering-differ-from-
csrclient-side-rendering/
Backend Engineering-I /23CS006 Page 4 of 8
Course Plan
21-22 Template Engines, How to use the EJS https://www.geeksforge https://www.youtu
template in your Node.js application, Create eks.org/use-ejs-as- be.com/watch?v=K
the EJS Partials, Pass Data to Views and template-engine-in- ah88N8W5rs
Partials, and Live the application with node-js/
EJS.
23-24 Practical (Modify the EJS template to handle https://www.geeksforge https://www.youtu
arrays of data. Use looping constructs (for, eks.org/how-to-use- be.com/watch?v=Y
for Each) in the template to iterate over the array-of-objects-in-ejs- Wyr7Nug2oc
array data and merge it into the template for template-engine/
dynamic rendering.)
25-26 Create reusable EJS partials for common UI https://ejs.co/ https://www.youtu
components such as header, footer, and be.com/watch?v=vP
sidebar. Then, merge these partials into the FVwMSeKZM
main EJS template to construct the
complete UI dynamically.
27-28 Introduction to databases, SQL and No SQL https://www.geeksforge https://www.youtu
Databases. eks.org/difference- be.com/watch?v=iA
between-sql-and-nosql/ dTs4hVK8E
29-30 Connecting MongoDB with NodeJS application https://www.geeksforge Connecting
eks.org/how-to-connect- MongoDB with
node-js-to-a-mongodb- NodeJS application
database/
9. Lab Plan:
S. No. Experiments Learning Resource
1 Testpad Module Progress and Completion Student’s Testpad Portal of Chitkara University
10. Action plan for different types of learners
Slow Learners Average Learners Fast Learners
Remedial Classes on Saturdays Workshops Engaging students to hold hands
Encouragement for improvement Formative Exercises used of slow learners by creating a
using Peer Tutoring to highlight concepts and Peer Tutoring Group
Use of Audio and Visual Materials notions Design solutions for complex
Use of Real-Life Examples E-notes and E-exercises to problems
read ahead of the Design solutions for
pedagogic material. complex problems
Presentation on topics beyond
those covered in CHO
11. Evaluation Scheme & Components:
Weightage Mode of
Evaluation No. of
Type of Component of Assessment
Component Assessments
Component
Component 1 Test pad Module Progress and completion - 10% Online
Component 2 Project Based Evaluation 02* 50% Offline
Component 3 Final Project Based Evaluation 01** 40% Offline
Total 100%
* Students will have to appear in all Project Based Evaluations.
**As per Academic Guidelines minimum 75% attendance is required to become eligible for appearing in the End Semester Examination.
Backend Engineering-I /23CS006 Page 5 of 8
Course Plan
12. Syllabus of the Course:
No. of
S. No. Topic (s) Weightage %
Sessions
1 Introduction to Client Server Architecture, Understanding Server and how 12 25%
request is handled at the server. Understanding Nodejs, advantages and
disadvantages with respect to the available languages, Install nodeJS and
create a nodejs server. handling request, creating endpoints, Modules, npm,
import Modules, Handling static pages with file stream, Handling exceptions.
Frameworks, Different frameworks of NodeJs. Introduction to express, Serve
static files. Routing (Routing methods, Route paths, Route parameters, Route
Handlers), Response Methods. Middleware: Middleware lifecycle,
Application-level, middleware, Router-level middleware, Error-handling
middleware and Third-party middleware. How request travels in express,
Blocking vs non-blocking code -Body parser.
Project Based Evaluation - 1
2 Introduction to Multer, Disk Storage handling. Client state management: 12 25%
Client state management using session module, Different ways of managing
session. Authentication, Authorization, and Handling Exceptions during
authentication and authorization. JSON web token, Authentication using
JSON, Authentication using JSON using Web Tokens Rendering, Client-side
rendering, Server-side rendering, Comparison between CSR and SSR
Template Engines, How to use the EJS template in your Node.js application,
Create the EJS Partials, Pass Data to Views and Partials, and Live the
application with EJS.
Practical (Modify the EJS template to handle arrays of data. Use looping
constructs (for, for Each) in the template to iterate over the array data and
merge it into the template for dynamic rendering.)
Project Based Evaluation - 2
3 Create reusable EJS partials for common UI components such as header, 6 50%
footer, and sidebar. Then, merge these partials into the main EJS template
to construct the complete UI dynamically. Introduction to databases, SQL
and No SQL Databases. Connecting MongoDB with NodeJS application.
Final Project Based Evaluation
This Document is approved by:
Designation Name Signature
Course Coordinator Dr. Kiran Deep Singh
Head-Academic Delivery Dr. Mrinal Paliwal
Dean Dr. Rishu Chhabra
Date 30.11.2024
Backend Engineering-I /23CS006 Page 6 of 8
Course Plan
Backend Engineering-I /23CS006 Page 7 of 8