CSE 201 DS Course Handout

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

(Established under the Presidency University Act, 2013 of the Karnataka Act 41 of 2013)

ACA-2[2019] COURSE HAND OUT

SCHOOL: School of Engineering DEPT: CSE DATE OF ISSUE: 26/07/2020

NAME OF THE PROGRAM: B TECH

P.R.C. APPROVAL REF.: PU/AC-11/6/06_2019

SEMESTER/YEAR: III/ 2nd

COURSE TITLE & CODE: Data Structures & CSE 201

COURSE CREDIT STRUCTURE: 3-0-0-3

CONTACT HOURS: 42

COURSE INSTRUCTOR: Dr. M. Chandra sekhar, Dr. Nagaraja S R, Amogh P K, Sukruth Gowda M A, Madhura, Manjula
H M, Seena Elizebeth, Yashaswini, Shaleen Bhatnagar, Kokila, Deepak raj, Suhasini K, Rashda Khanam, Ashit Kumar,
Vikas, Kumar, Shobit Tembre.

PROGRAM OUTCOMES:

PO1: Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals,
and an engineering specialization to the solution of complex engineering problems. (M)
PO2: Problem analysis: Identify, formulate, review research literature, and analyze complex engineering
problems reaching substantiated conclusions using first principles of mathematics, natural sciences, and
engineering sciences.
PO3: Design/development of solutions: Design solutions for complex engineering problems and design
system components or processes that meet the specified needs with appropriate consideration for the
public health and safety, and the cultural, societal, and environmental considerations.
PO4: Conduct investigations of complex problems: Use research-based knowledge and research methods
including design of experiments, analysis and interpretation of data, and synthesis of the information to
provide valid conclusions.
PO5: Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modeling to complex engineering activities with
an understanding of the limitations.
PO6: The engineer and society: Apply reasoning informed by the contextual knowledge to assess societal,
health, safety, legal and cultural issues and the consequent responsibilities relevant to the
professional engineering practice. (L)
PO7: Environment and sustainability: Understand the impact of the professional engineering solutions in
societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable
development.
PO8: Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of
the engineering practice.
PO9: Individual and team work: Function effectively as an individual, and as a member or leader in diverse
teams, and in multidisciplinary settings.
PO10: Communication: Communicate effectively on complex engineering activities with the engineering
community and with society at large, such as, being able to comprehend and write effective reports and
design documentation, make effective presentations, and give and receive clear instructions.
PO11: Project management and finance: Demonstrate knowledge and understanding of the engineering
and management principles and apply these to one’s own work, as a member and leader in a team, to
manage projects and in multidisciplinary environments.
PO12: Life-long learning: Recognize the need for, and have the preparation and ability to engage
in independent and life-long learning in the broadest context of technological change.

COURSE DESCRIPTION:

The purpose of this Course is to provide the students with solid foundations in data structures and
algorithms. It focuses on logical structures of data, their physical representation, design of algorithms and
techniques for program development and debugging. Emphasis is placed on the appropriate use and choice
of standard data structures.
Topics include: ADT, lists, stacks, queues, trees, heaps, hash tables, and graphs.
COURSE OUTCOMES: On successful completion of the course the students shall be able to:

1. Implement modularized solutions for given problem using structures and pointers.
2. Choose an appropriate linear data structure for a given computation.
3. Choose an appropriate non-linear data structure for a given computation
4. Identify the need for heap and hash functions for given computational scenario

MAPPING OF C.O. WITH P.O:

[H-HIGH, M- MODERATE, L-LOW]

PO NO.
CO NO. PO1 PO2 PO3 PO5 PO10 PO12

1 L L L M L M
2 M H H M L M
3 M H H M L M
4 M M M M L M

COURSE CONTENT (SYLLABUS):

Pre requisites: One week Orientation classes on Foundations, Revisiting C Language, Arrays, Loops,
Functions
0
Module 1: Introduction to Programming Fundamentals 12 Hrs (Comprehension)

Structures and Unions: Introduction, Defining a Structure, Declaring Structure Variables, Accessing Structure
Members, Structure Initialization, Size of Structures, Array of Structures, Arrays within Structures, Structures
within Structures, Structures and Functions, Unions. Pointers: Introduction, Understanding Pointers,
Accessing the Address of a Variable, Declaring Pointer Variables, Initialization of Pointer Variables, Accessing
a Variable through the Pointer, Pointer Increments, Pointers and Arrays, Pointer as Function Arguments,
Functions Returning Pointers, Pointers and Structures, Enumerations, ADT, Recursion: Recursive Definition
and Processes, Recursion in C – factorial, Fibonacci numbers, Towers of Hanoi.

Module 2: Application of Linear Data Structure 12Hrs (Application)

Dynamic Memory Allocation: Introduction, Dynamic Memory Allocation, Allocating a Block of Memory:
Malloc, Allocating a Multiple Blocks of Memory: Calloc, Releasing the Used Space: Free, Altering a size of
Block: Realloc, Linked Lists: Inserting and Removing Nodes from a List, Linked Implementation of Stacks,
push and pop Operations, Stack application, Linked Implementation of Queues, C Implementation of
Queues using array, Circular Queue, Priority Queue, Doubly Linked lists.

Module 3: Application of Non Linear Data Structure 08Hrs (Application)


Introduction to Graphs and Trees, Operations on Binary Trees, Applications of Binary Trees, BST,
Implementation and Tree Traversal,

Module 4: Introduction to Heaps and Hashing Techniques 4 Hrs (Comprehension)


Heap, Hash Tables

DELIVERY PROCEDURE (PEDAGOGY):

Majority of the topics will be covered using chalk and talk method and PPT presentation.

Experiential Learning: case study of stack and queue

Self-Study: Operations and Applications of Graphs

REFERENCE MATERIALS: Text Book(s):

Richard F Gilberg and Behrouz A Forouzan, “Data Structures: A Pseudocode Approach with C”, Second
Edition, Cengage learning. ISBN-13: 978-0-534-39080-8, ISBN-10: 0-534-39080-3.

Reference Book(s):

1. Robert L Kruse, Bruce P Leung and Clovis L Tondo, “Data Structures and Program Design in
C”, Pearson.

2. Seymour Lipschutz, “Data Structures with C (Schaum’s Outline Series)”, McGraw Hill Education.

GUIDELINES TO STUDENTS:

Concentrate on Problem solving approach


Develop the analytical skills to solve a given problem

Examine real time problems which include data


COURSE SCHEDULE:

Sl.no Activity Starting Date Concluding Date Number of


Periods
1 Overview of the Course 10-Aug-20 10-Aug-20 1
2 Module 1 11-Aug-20 28-Aug-20 12
3 Continuous Assessment 1 28-Aug-20 28-Aug-20 1
4 Module 2 01-Sep-20 25-Sep-20 12
5 Continuous Assessment 2 24-Sep-20 24-Sep-20 1
6 Test 1 25-Sep-20 28-Sep-20 1
7 Module 3 05-Oct-20 25-Oct-20 10
8 Continuous Assessment 3 26-Oct-20 26-Oct-20 1
9 Module 4 28-Oct-20 26-Nov-20 4
10 Test 2 11-Nov-20 13-Nov-20 1
11 Continuous Assessment 4 28-Nov-20 28-Nov-20 1
12 Revision and Conclusion of the 01-Dec-20 10-Dec-20 1
Course
13 End Term Exam Dec-Jan

Sl.No Session Lesson Title Topics Course Delivery Reference


No Outcome Mode
Number
1 L1 Overview of the Data, need for the CO1 Online T1
course structure class
2 L2 Introduction to Revisit: Arrays, CO1 Online T1
Programming Functions class
Fundamentals
3 L3 Introduction to Functions: Pass by CO1 Online T1
Programming Value class
Fundamentals
4 L4 Introduction to Structures and CO1 Online T1
Programming Unions: class
Fundamentals Introduction,
Defining a
Structure, Declaring
Structure Variables,
Accessing Structure
Members, Structure
Initialization, Size of
Structures,
5 L5 Introduction to Array of Structures, CO1 Online T1
Programming Arrays within class
Fundamentals Structures,
Structures within
Structures,
6 L6 Introduction to Structures and CO1 Online T1
Programming Functions, Unions. class
Fundamentals
7 L7 Introduction to Pointers: CO1 Online T1
Programming Introduction class
Fundamentals ,Understanding
Pointers, Accessing
the Address of a
Variable, Declaring
Pointer Variables,
Initialization of
Pointer Variables,
Accessing a Variable
through the Pointer
8 L8 Introduction to , Pointer CO1 Online T1
Programming Increments, class
Fundamentals Pointers and Arrays,
Pointer as Function
Arguments,
Functions Returning
Pointers, Pointers
and Structures,
9 Continuous Assessment 1
10 L9 Introduction to Enumerations, ADT, CO2 Online T1
Programming class
Fundamentals
11 L10 Introduction to Recursion: CO2 Online T1
Programming Recursive Definition class
Fundamentals and Processes,
12 L11 Introduction to case study CO2 Online T1
Programming Recursion in C – class
Fundamentals factorial, Fibonacci
numbers,
13 L12 Introduction to Towers of Hanoi. CO2 Online T1
Programming class
Fundamentals
14 L13 Application of Dynamic Memory CO2 Online T1
Linear Data Allocation: class
Structure Introduction,
Dynamic Memory
Allocation,
Allocating a Block of
Memory: Malloc,
Allocating a
Multiple Blocks of
Memory: Calloc,
Releasing the Used
Space: Free,
Altering a size of
Block: Realloc,
15 L14 Application of Dynamic Memory CO2 Online T1
Linear Data Allocation: class
Structure Introduction,
Dynamic Memory
Allocation,
Allocating a Block of
Memory: Malloc,
Allocating a
Multiple Blocks of
Memory: Calloc,
Releasing the Used
Space: Free,
Altering a size of
Block: Realloc,
16 Continuous Assessment 2
17 L15 Application of Linked Lists: CO2 Online T1
Linear Data Inserting and class
Structure Removing Nodes
from a List,
18 L16 Application of Linked CO2 Online T1
Linear Data Implementation of class
Structure Stacks, push and
pop Operations,
19 Test 1 CO1, CO2
20 L17 Application of Stack application, CO3 Online T1
Linear Data class
Structure
21 L18 Application of Stack application, CO3 Online T1
Linear Data class
Structure
22 L19 Application of Linked CO3 Online T1
Linear Data Implementation of class
Structure Queues,
23 L20 Application of C Implementation CO3 Online T1
Linear Data of Queues using class
Structure array,
24 L21 Application of Circular Queue, CO3 Online T1
Linear Data class
Structure
25 L22 Application of Priority Queue, CO3 Online T1
Linear Data class
Structure
26 Continuous Assessment 3
27 L23 Application of CO4 Online T1
Linear Data Doubly Linked lists. class
Structure
28 L24 Application of Doubly Linked lists. CO4 Online T1
Linear Data class
Structure
29 L25 Application of Introduction to CO4 Online T1
Non Linear Data Trees, Operations class
Structure on Binary Trees,
30 L26 Application of Applications of CO4 Online T1
Non Linear Data Binary Trees, class
Structure
31 L27 Application of Applications of CO4 Online T1
Non Linear Data Binary Trees, class
Structure
32 L28 Application of BST, CO4 Online T1
Non Linear Data class
Structure
33 Continuous Assessment 4
34 L29 Implementation
and Tree Traversal.
35 Test 2 CO3,CO4
36 L30 Application of Implementation and CO4 Online T1
Non Linear Tree Traversal. class
Data Structure
37 L31 Application of Implementation and CO4 Online T1
Non Linear Tree Traversal. class
Data Structure
38 L32 Application of Implementation and CO4 Online T1
Non Linear Tree Traversal. class
Data Structure
39 L33 Introduction to Heap, Hash Tables CO4 Online T1
Heaps and class
Hashing
Techniques
40 L34 Introduction to Heap, Hash Tables CO4 Online T1
Heaps and class
Hashing
Techniques
41 L35 Introduction to Heap, Hash Tables CO4 Online T1
Heaps and class
Hashing
Techniques
42 L36 Introduction to Heap, Hash Tables CO4 Online T1
Heaps and class
Hashing
Techniques

ASSESSMENT SCHEDULE:
Sl.NO Assessment Contents Course Duration Marks Weightage Venue
type[Include Outcome in Hours
here Number
assessment
method for self
learning
component also

1 Continuous Module1 CO1 1 10 5%


Assessment 1
2 Continuous Module 2 CO2 1 10 5%
Assessment 2
3 Test 1 Module1&2 CO1,CO2 1 30 15%
4 Continuous Module3 CO3 1 10 5%
Assessment 3
5 Continuous Module 4 CO4 1 10 5%
Assessment 4
6 Test 2 Module3&4 CO3,CO4 1 30 15%
7 End Term Exam Module 1,2 CO1,CO2, 3 100 50%
,3 and 4 CO3,CO4

COURSE CLEARANCE CRITERIA


1.75% attendance is required to attempt the end term examination.
2. Marks in continuous assessments: 40Marks (20% weightage)
3. Test1 and Test2 Examinations: 60Marks (30% weightage)
The student needs to score 40 marks (20% weightage) minimum in continuous assessment, test1 and test2 examination
together. Failing which, the student will be awarded “NE” (not eligible) grade.
Continuous Assessment tests: 40 marks
Test1 and Test 2 Exam: 60 marks
3. Final End term examination = 100 Marks (50% weightage)
The student needs to score 30 marks (15% weightage) minimum in final end term exam.
4. Total marks for this course is 200 marks
5. No makeup exam policy for any assessments.
Note: (Academic Regulations Rule: 8.5.3) The Student must have secured a minimum of 40% of the AGGREGATE of the
marks/weightage of the components of the Continuous Assessments and the End Term Final Examination in the
concerned Course.

CONTACT TIMINGS IN THE CHAMBER FOR ANY DISCUSSIONS:

Will be announced in the class

SAMPLE THOUGHT PROVOKING QUESTIONS:

Sl.No Question Marks Course Blooms


Outcome Level
1 Hari and his wife Priya moved to new 10 CO2 Application
apartment. Priya arrange Hari’s washed and
ironed shirts in his wardrobe. The maximum
number of shirt which can be stored in
Wardrobe is 10. Priya insists Hari to pick the top
most shirt. However, frequency and number shirts
stored by Priya is more than Hari’s usage. Hari want
to develop a software application which can be
used to track the number of shirts available in the
wardrobe.
Requirements.
1: Provide Provision to store the shirt to Priya.
2: Provide provision to remove shirt to Hari.
3: Keep the track of number of shirts.
2: If wardrobe is empty, Hari should be informed
that he do not have shirt to wear.
3: If wardrobe is full, Priya should be informed
that no more place to store the shirt.
Madan works as a software developer in a bank,
the bank wants to add a Mini statement
2 option for the customer through the ATMs. The
mini statement should display the last five
transactions performed by the customer with the
latest transaction on top and so on.
Which among the following data structure is
suitable for Madan to implement the above
1 CO2 Knowledge
requirements
a. List
b. Queue
c. Stack
d. Tree

3 The multiplex issues tickets on First come first 1 CO2 Knowledge


serve basis to the customers standing in the queue.
Tom, John and Harry are waiting in the queue, Tom
being the First person in the queue, he will be given
the ticket first followed by John and Harry. If Raju
wants a ticket where should he join the queue
a. Before Tom
b. After Tom
c. After Harry
d. In between John and Harry

Target Set for Course Outcome Attainment

Sl.No CO.No Course Outcomes Target set for Attainment in


Percentage
1 CO1 Describe the need for data representation, data 75
structure and algorithms for a specific problem
2 CO2 Choose an appropriate linear data structure for 70
a given computation.
3 CO3 Choose an appropriate non-linear data 65
structure for a given computation
4 CO4 Identify the need for heap and hash functions 60
for the given computation scenario

Signature of the course Instructor

This course has been duly verified Approved by the D.A.C.


Signature of the Chairperson D.A.C.

Course Completion Remarks &Self-Assessment. [This has to be filled after the completion of the course]

[Please mention about the course coverage details w.r.t. the schedule prepared and implemented. Any
specific suggestions to incorporate in the course content. Any Innovative practices followed and its
experience. Any specific suggestions from the students about the content, Delivery, Evaluation etc.]

Sl.no. Activity Scheduled Completion Actual Completion Remarks


As listed in the Experiment Date Date
Schedule
1 Continuous Assessment 1 28-Aug-20
2 Continuous Assessment 2 24-Sep-20
3 Test 1 25-Sep-20
4 Continuous3Assessment 3 26-Oct-20
5 Continuous Assessment 4 28-Nov-20
6 Test 2 11-Nov-20
7 End Term Exam Dec 2020

Any specific suggestion/Observations on content/coverage/pedagogical methods used etc.:

Course Outcome Attainment:

Sl.no C.O. Course Outcomes Target set Actual C.O. Remarks on


No. for Attainment attainment
attainment In Percentage &Measures to
in enhance the
percentage attainment
01 CO1 Implement modularized solutions for 75%
given problem using structures and
pointers.

02 CO2 Choose an appropriate linear data 70%


structure for a given computation.
03 CO3 Choose an appropriate non-linear 65%
data structure for a given
computation

04 CO4 Identify the need for heap and hash 60%


functions for the given computation
scenario

Name and signature of the Faculty member:

D.A.C. observation and approval:

You might also like