Syllabus - DSA, WDF
Syllabus - DSA, WDF
COURSE OBJECTIVES
To understand the concepts of ADTs.
To design linear data structures – lists, stacks, and queues.
To learn the non–linear data structure trees and its types.
To understand the concepts of graphs and its applications.
To understand sorting, searching, and hashing algorithms.
TOTAL: 45 PERIODS
COURSE OUTCOMES:
At the end of the course, the student should be able to:
Explain abstract data types.
Design, implement, and analyze linear data structures, such as lists, queues and stacks,
according to the needs of different applications.
Explore deeper into algorithms that operate on trees such as tree traversals and tree
balancing concepts
Model problems as graph problems and implement efficient graph algorithms to solve
them.
Design, implement, and analyze efficient tree structures to meet requirements such as
searching, indexing, and sorting.
TEXT BOOKS:
1. Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser, “Data Structures
& Algorithms in Python”, An Indian Adaptation, John Wiley & Sons Inc., 2021.
2. Devraj Ganguly,”Introduction to Data Structures and Algorithms”: A Conceptual
Guide. Paperback – 19 May 2021.
REFERENCES:
1. Lee, Kent D., Hubbard, Steve, “Data Structures and Algorithms with Python” Springer
Edition, 2015.
2. Rance D. Necaise, “Data Structures and Algorithms Using Python”, John Wiley &
Sons, 2011.
3. Aho, Hopcroft, and Ullman, “Data Structures and Algorithms”, Pearson Education,
1983.
4. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein,
“Introduction to Algorithms", Second Edition, McGraw Hill, 2002.
5. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C++”, Fourth Edition,
Pearson Education, 2014.
WEB REFERENCES:
1. https://dl.acm.org/doi/10.5555/577958
2. https://www.javatpoint.com/data-structure-tutorial
3. https://www.javatpoint.com/data-structures-and-algorithms-in-c-set-1
4. https://www.w3schools.in/data-structures/intro
CO-PO MAPPING:
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3
CO1 1 1 1 1 1 - - - 2 - 2 1 1 1 2
CO2 2 3 2 2 2 - - - 2 - 2 2 3 2 2
CO3 2 2 3 2 3 - - - 3 - 2 2 3 2 -
CO4 3 3 3 1 1 - - - 3 - 2 2 3 2 2
CO5 - - - - - - - - - - - - - - 1
WEB DEVELOPMENT L T P C
JAL1502
FRAMEWORK 2 0 2 3
COURSE OBJECTIVES:
To describe the various components of web development framework.
To outline the features of Node.js.
To give an introduction on the basics of MongoDB.
To explain the role of Express in web applications.
To elucidate the use of Angular in web applications.
UNIT II NODE JS 9
Understanding Node JS – Installing Node.js – Working with Node packages – Creating a
simple Node.js application - Handling Data I/O – Using the Buffer Module to Buffer Data -
Implementing HTTP services in Node.js - Processing URLs - Processing Query Strings and
Form Parameters - Understanding Request, Response, and Server Objects.
UNIT IV EXPRESS 9
Implementing Express in Node.js – Configuring routes – Using Request and Response objects
– Implementing Express middleware - Understanding Middleware - Using the query
Middleware - Serving Static Files - Handling POST Body Data - Sending and Receiving
Cookies - Implementing Sessions - Applying Basic HTTP Authentication - Implementing
Session Authentication - Creating Custom Middleware.
UNIT V ANGULAR 9
Angular – Typescript – Angular Components – Expressions – Data binding – Built-in
directives.
TOTAL: 45 PERIODS
LIST OF EXPERIMENTS:
1. Download and install Node.js, MongoDB, Express and Angular.
2. Perform the following using Node.js:
a. Set up a basic HTTP Server.
b. Read a file from the file system and write data to a file.
c. Create a simple module.
d. Make HTTP requests.
e. Create a basic CLI tool.
3. Perform the following using MongoDB:
a. Create a database and collection and insert multiple documents into the collection
b. Query and retrieve documents from a collection based on specific criteria.
c. Update and delete documents in a collection.
d. Perform indexing on a collection.
e. Use aggregation to perform complex queries.
f. Use MongoDB with Node.js
4. Perform the following using Express:
a. Set up an Express server.
b. Create multiple routes to handle different HTTP requests.
c. Create a route to handle POST requests and send back a response.
d. Handle query parameters in a GET request.
e. Handle URL parameters in a route.
f. Serve static files using Express.
g. Implement basic error handling in Express.
5. Perform the following using Angular:
a. Set up an Angular project and create a component.
b. Demonstrate the use of interpolation and property binding.
c. Handle button click events.
d. Implement two-way data binding.
e. Use structural and attribute directives.
f. Create a service and use dependency injection to consume it in a component.
g. Set up basic routing in an Angular application.
h. Create a form and handle form submission with validation.
i. Create and implement modules and controllers and implement error handling.
6. Design and develop anyone of the following applications:
a. A portfolio website for yourself which gives details about yourself for a
potential recruiter.
b. A web application to manage the TO-DO list of users, where users can login
and manage their to-do items.
c. A food delivery website where users can order food from a particular restaurant
listed in the website.
d. A classifieds web application to buy and sell used products.
e. A leave management system for an organization where users can apply different
types of leaves such as casual leave and medical leave. They also can view
the available number of days.
f. An online survey application where a collection of questions is available and users
are asked to answer any random 5 questions.
TOTAL: 15 PERIODS
COURSE OUTCOMES:
At the end of the course, students will be able to
Discuss about the purpose of the components of web development framework.
Develop web applications using Node.js.
Experiment the usage of MongoDB.
Apply Express in designing web applications.
Design web applications using Angular.
TEXTBOOKS:
1. Brad Dayley, Brendan Dayley, Caleb Dayley, ‘Node.js, MongoDB and Angular Web
Development’, Addison-Wesley, Second Edition, 2018.
REFERENCES:
1. Vasan Subramanian, ‘Pro MERN Stack, Full Stack Web App Development with Mongo,
Express, React, and Node’, Second Edition, Apress, 2019.
2. Chris Northwood, ‘The Full Stack Developer: Your Essential Guide to the Everyday Skills
Expected of a Modern Full Stack Web Developer’, Apress; 1st edition, 2018.
3. Kirupa Chinnathambi, ‘Learning React: A Hands-On Guide to Building Web Applications
Using React and Redux’, Addison-Wesley Professional, 2nd edition, 2018.
WEBSITE REFERENCES:
1. https://www.tutorialspoint.com/the_full_stack_web_development/index.asp
2. https://www.coursera.org/specializations/full-stack-react
3. https://www.udemy.com/course/the-full-stack-web-development/
HARDWARE:
Stand-alone desktops 30 Nos. (or) Server supporting 30 terminals or more
SOFTWARE:
Web browser (Google Chrome, Microsoft Edge), Python, React.js framework, Angular
framework, Django (Python) framework, Express.js (Node.js) framework, MongoDB
(NoSQL).
CO-PO MAPPING:
PO PO PO PO PO PO PO PO PO1 PO1 PO1
PO1
2 3 4 5 6 7 8 9 0 1 2
CO1 3 3 3 3 2 - - - 1 1 2 2
CO2 3 3 3 3 3 - - - 1 1 2 2
CO3 3 3 3 3 3 - - - 1 1 2 2
CO4 3 3 3 3 3 - - - 1 1 2 2
CO5 3 3 3 3 3 - - - 1 1 2 2
AVG 3 3 3 3 2.8 - - - 1 1 2 2