You are on page 1of 7

Format No. QSP/7.1/01.F01 (B) Issue No.05 Rev.

No 5 Dated: Jan 1, 2018


________________________________________________________________
UNIVERSITY OF PETROLEUM & ENERGY STUDIES
College of Engineering Studies
Dehradun
COURSE PLAN

Programme : B. Tech CSE


Course : Advanced Data Structures
Subject Code : INFO-121
No. of credits : 4
Semester : II
Session : 2017-18
Batch : 2016-20
Prepared by : Prakash GL

Email : prakashgl@ddn.upes.ac.in
Co-Faculties:

Approved By

Faculty HOD/ Prog. Head

UPES Campus Tel : +91-135-2770137


“Energy Acres” Fax : +91 135- 27760904
P.O. Bidholi, , Dehradun

COURSE PLAN
A. PREREQUISITE:
a. Basic Knowledge of C-Programming, Data types
b. Basic data structures and oops concepts

B. COURSE OUTLINE

The course provides the deep understanding of advanced data structures (Tree and Graphs) and their
implementation in C++ programming language

Subject: Advanced Data Structures Lab, Course: B.Tech-CSE-All branches Duration: 120
Minutes

OBJECTIVES:

1. The overall objective of the modules is that the student should be able to distinguish between the concepts of
structural programming and object oriented programming.
2. The student should be able to design and code the programs using OOPS concept.
3. The student should be able to understand the flexibility and modularity provided by OOPs using C++.
4. The student should be able to understand the Data structure implementation using OOPs methodology.
5. The student should be able to understand the implementation of Non-Linear Data Structures using OOPs
concepts.

B. COURSE OUTLINE

Experiment - 1 Programs using classes and objects,


Experiment – 2 Constructor and Destructor
Experiment – 3 Inheritance and Polymorphism:
Experiment – 4 friend function
Experiment -5: Template
Experiment - 6: File handling
Experiment -7: Exception Handling
Experiment -8: Hashing
Experiment- 9: Trees
Experiment -10 Trees
Experiment -11: Graphs
Experiment - 12: Graphs

C. PEDAGOGY
1.1 PREREQUISITE : Basic knowledge of Computer Science such as fundamentals & logic for solving
programs, knowledge of basic mathematics.
1.2 CORE REQUISITE: Learning aptitude, Basic knowledge of programming, Data Structure concepts.

D. COURSE COMPLETION PLAN


E. EVALUATION & GRADING

Students will be evaluated based on the following 2 stages.

Internal assessment - 50%

End term Examination - 50%

INTERNAL ASSESSMENT:

WEIGHTAGE- 50% Internal Assessment shall be based on the following:

Internal Assessment Record Sheet will be displayed on LMS at the end of the
semester i.e. in the last week of regular classroom teaching.

CONTINUOUS ASSESSMENT: Based on the weekly evaluation of the experiments actually performed by the
students in the Laboratory and submitted on the same day or on the very next turn. A group project will be
submitted and that will be evaluated.

The continuous Assessment will be displayed on LMS/ICOS on monthly basis i.e. on


the last two or three working days of every month.

MANDATORY: A group project assignment will be submitted by the students.


Project progress / VIVA: Progress of the project work will be discussed by the students twice the term each time
a viva based exercise will be followed. Those who fail to do so shall be marked as absent and shall lose their marks.

The marks obtained by the students will be displayed on LMS after evaluation.

GENERAL DISCIPLINE: Based on student’s regularity, punctuality, sincerity and behavior in the class.
The marks obtained by the students will be displayed on LMS at the end of semester.

END TERM EXAMINATION: WEIGHTAGE – 50%


End Term Examination shall be Three Hours duration and shall be conducted by actually performing the
experiment.

GRADING: The overall marks obtained at the end of the semester comprising the above two mentioned shall be
converted to a grade.

F. DETAILED SESSION PLAN

EXPERIMENT NO – 1: Class and Objects (Unit 1)


Objective: - To understand the concept of classes, objects, data hiding and encapsulation.
1. WAP to input the distance in inches, then display the distance in feet and inches (more than 12 inches should
be converted into feet) by using classes and objects.
2. Write a C++ program to create a class called QUEUE with member function to add an element and to delete
an element from the queue of integer and double. Demonstrate the operation by displaying the content of the
queue after every operation.

EXPERIMENT NO-2 :Constructor and Destructor (Unit 2)


Objective: - To understand the concept of Constructor and destructor.
1. Supply the above classes with the constructors and destructors.
2. Exercise the concept of constructor overloading with parametric constructor and copy constructor..
3. Write a program for stack implementation.

EXPERIMENT-3: Inheritance and Polymorphism: (Unit 2)


Objective: - To understand the concept of Inheritance and polymorphism.
1. Friend Function: WAP to read molecular values for Oxygen, Hydrogen and Sulpher in three different classes
named Oxygen, Hydrogen and Sulpher, then find out chemical compound that to be formed based on the
given input molecular values.
2. Design the following hierarchy: Shape — Base class Rectangle --- Derived class of Shape Triangle ---
Derived class of Shape main() should show the following menu: 1. Rectangle 2. Triangle 3. Exit. (Enter
choice:_) A function calculate_area() should be made to calculate the area of the chosen shape.(Hint: Use
concepts of inheritance, late binding, virtual functions and abstract class in the above program).
3. Write a C++ program to implement the above multi-path inheritance, declaring the base class (i.e. Student) as
virtual. Take functions as student_Details ( ) and display_Student_Details ( ) and name, roll no, and gender as
data members. Members of Internal Exam class are array of internal exam for six subjects and a function
get_InternalMarks () for getting internal marks and display_InternalMarks (). Members of External Exam
class are array of external exam for six subjects and a function get_ExternalMarks () for getting external
marks and display_ExternalMarks (). Members of Result class are and display Results ( ).
Experiment No 4: operator overloading (Unit 2)
Objective: - To understand the concept of operator overloading in C++.
1. Write a program to implement the Binary Operator Overloading with and without using friend functions
2. To write a program to find the complex numbers using unary operator overloading.

Experiment No 5: Template (Unit 2)


Objective: - To understand the concept of Generic functions in oops.
1. Write a program which designs a template that performs multiplication of : a. ‘int’ type data b. ‘float’
type data
2. Write a generic function to sort the given elements in any order. This generic function must support
int, char, and double types

Experiment No 6: File handling (Unit -3)


Objective: - To understand the concept of File handling in C++
1. Create one file and copy its contents to other file.
2. File Random Access handling and writing objects.
3. Insert 10 students record in a file.

Experiment No 7: Exception Handling (Unit 3)


Objective: - To understand the concept of exception handling in C++.
1. Write a program which accepts a number and a divisor to divide it. If the divisor is zero the program
terminates abruptly. Modify the program by adding exception handling in it and prevent abnormal
termination.
2. Program on linked lists using Object Oriented Concepts.

Experiment No 8: Hashing (Unit -3)


Objective: - To apply the hashing data structures to solve the various problem.
1. Write a program that implements a hash function on student roll no and categorize them in their families.
Like 5000423, last 2 digits 23, 2+3=5, so belongs to family 5.
2. C++ program to implement Hash Table insert, delete and search operations

Experiment No 9: Trees (Unit -4 and 5)


Objective: - To understand the concept of tree.
1. Create a binary tree using an array/Inked List
2. Implement Heap Sort.
Experiment No 10 Trees (Unit -4 and 5)
Objective: - To implement the of tree operations.
1. Create a binary search tree by inserting one node at a time.
2. Search an element from a BST.
3. Delete a node from BST
3. Display tree content

Experiment No 11: Graphs (Unit -6)


Objective: - To understand the graph traversing methods.

1. Create a graph Data Structures using array/Linked List


2. Implement DFS Graph Traversal
3. Implement BFS Graph Traversal

Experiment No 12: Graphs (Unit -6)


Objective: - To implement the shortest path algorithm and spanning tree algorithm.

1. For a given graph, implement the Floyds algorithm to find shortest path.
2. Implement the prims algorithm to construct the spanning tree

G. SUGGESTED READINGS:

G: 1 TEXT BOOKS:

G: 2 REFERENCE BOOKS
Ref. 1: OBJECT ORIENTED PROGRAMMING WITH C++; ------ EDITION; BY E. BALAGURUSAMY;
PUBLICATION: TMH
Ref. 2: PROGRAMMING WITH C++; SECOND EDITION; BY D.RAVICHANDRAN; PUBLICATION:
TMH
Ref. 3: OBJECT ORIENTED PROGRAMMING IN TURBO C++; --------- EDITION, BY ROBERT LAFORE;
PUBLICATION: GALGOTIA
Ref.4: SCHAUM’S OUTLINES, DATA STRUCTURES WITH C++, BY JOHN R. HUBBARD, INDIAN
EDITION, MC GRAW HILL EDUCATION.
REF.5: DATA STRUCTURES AND ALGORITHMS IN C++, BY MICHAEL T. GOODRICH, ROBERTO
TAMASSIA AND DAVID MOUNT, WILLEY INDIA EDITION

G : 3 VIDEO RESOURCES (URL LINK) AND NPTEL LECTURES

www.youtube.com/watch?v=vlEqthyN06A
http://www.youtube.com/watch?v=oqJy4e6Aa0M
www.cplusplus.com
www.cprogramminglanguage.net
www.mycplus.com

GUIDELINES
Cell Phones and other Electronic Communication Devices: Cell phones and other electronic communication
devices (such as Blackberries/Laptops) are not permitted in classes during Tests or the Mid/Final Examination.
Such devices MUST be turned off in the class room.
E-Mail and LMS: Each student in the class should have an e-mail id and a pass word to access the LMS system
regularly. Regularly, important information – Date of conducting class tests, guest lectures, via LMS. The best
way to arrange meetings with us or ask specific questions is by email and prior appointment. All the assignments
preferably should be uploaded on LMS. Various research papers/reference material will be mailed/uploaded on
LMS time to time.
Attendance: Students are required to have minimum attendance of 75% in each subject. Students with less than
said percentage shall NOT be allowed to appear in the end semester examination.
Passing criterion: Student has to secure minimum 30%/40% marks of the “highest marks in
the class scored by a student in that subject (in that class/group class)” individually in both the
‘End-Semester examination’ and ‘Total Marks’ in order to pass in that paper.

 Passing Criterion for B. Tech: minimum 40% of the highest marks in the class

 Passing Criterion for M. Tech: minimum 40% of the highest marks in the class