Course Objectives: CO1 CO2
Course Objectives: CO1 CO2
Course Objectives: CO1 CO2
CO2 Introduce linear and non-linear data structures and best practices to choose appropriate data
structure for a given application
C03 Teach various dictionary data structures (Lists, Trees, Heaps) with illustrations on possible
representation, various operations and their efficiency
CO5 Discuss in detail various algorithm design approaches ( Greedy method, divide and conquer,
dynamic programming, backtracking, and branch and bound) with appropriate examples,
methods to make correct design choice and the efficiency concerns.
CO6 Introduce complexity classes , notion of NP-Completeness, ways of classifying problem into
appropriate complexity class
Text Book(s)
T1 Algorithms Design: Foundations, Analysis and Internet Examples Michael T.
Goodrich, Roberto Tamassia, 2006, Wiley (Students Edition)
6. Complexity Classes
6.1. Definition of P and NP classes and examples
6.2. Understanding NP-Completeness
6.2.1. NP-Hardness
6.2.2. Polynomial time reducibility
6.2.3. Cook-Levin theorem
6.2.4. Problems in NP-Complete and using polynomial time reductions
6.2.4.1. CNF-SAT, 3-SAT
6.2.4.2. Vertex Cover
6.2.4.3. Clique and Set-Cover
6.2.4.4. Subset-Sum and Knapsack
6.2.4.5. Hamiltonian Cycle and TSP
Learning Outcomes:
No Learning Outcomes
LO1 Describe various fundamental data structures, their properties, algorithm design techniques
and various means of evaluating algorithms
LO2 Demonstrate the ability to evaluate algorithms, to select from a range of possible options, to
provide justification for that selection, and to implement the algorithm in a particular
context.
LO3 Solve problems using Algorithms for Linear and Non-Linear Data Structures, Graph
algorithms (Shortest Paths Algorithms, Connectivity and Reachability Algorithms,
Spanning Trees)
LO4 Explain with a practical example, each of the algorithm design strategies (brute-force,
greedy, divide-and-conquer, recursive backtracking, and dynamic programming)
LO6 Relate the real-world problems to known data structures and algorithms leading to the
recommend appropriate solutions in representation and implementation.
LO8 Classify problems into complexity classes P and NP and to prove hardness of problems
Academic Term
Course Title Data Structures and Algorithms Design
Course No
Content Developer
Glossary of Terms
1. Contact Hour (CH) stands for a hour long live session with students conducted either in a
physical classroom or enabled through technology. In this model of instruction, instructor led
sessions will be for 22 CH.
a. Pre CH = Self Learning done prior to a given contact hour
b. During CH = Content to be discussed during the contact hour by the course instructor
c. Post CH = Self Learning done post the contact hour
2. Contact Hour (CS) stands for a two-hour long live session with students conducted either in a
physical classroom or enabled through technology. In this model of instruction, instructor led
sessions will be for 11 CS.
a. Pre CS = Self Learning done prior to a given contact session
b. During CS = Content to be discussed during the contact session by the course
instructor
c. Post CS = Self Learning done post the contact session
3. RL stands for Recorded Lecture or Recorded Lesson. It is presented to the student through an
online portal. A given RL unfolds as a sequences of video segments interleaved with
exercises
4. SS stands for Self-Study to be done as a study of relevant sections from textbooks and
reference books. It could also include study of external resources.
5. LE stands for Lab Exercises
6. HW stands for Home Work.
7. M stands for module. Module is a standalone quantum of designed content. A typical course
is delivered using a string of modules. M2 means module 2.
Teaching Methodology (Flipped Learning Model)
The pedagogy for this course is centered around flipped learning model in which the traditional class-
room instruction is replaced with recorded lectures to be watched at home as per the student’s
convenience and the erstwhile home-working or tutorials become the focus of classroom contact
sessions. Students are expected to finish the home works on time.
Detailed Structure
Introductory Video/Document: << Introducing the faculty, overview of the course,
structure and organization of topics, guidance for navigating the content, and expectations
from students>>
Each of the sub-modules of Recorded Lectures (RLx.y ) shall delivered via 30 – 60mins
videos followed by:
Contact session (CSx.y) of 2Hr each for illustrating the concepts discussed in the videos with
exercises, tutorials and discussion on case-problems (wherever appropriate); contact sessions
(CS) may cover more than one recorded-lecture (RL) videos.
Course Contents
Contact Hour 1
Time Type Description Content Reference
Pre CH RL1.1
Post CH SS1
QZ1
Lab Reference
Contact Hour 2
Time Type Description Content Reference
Pre CH RL2.1
During CH CH2 CH 2.1 =Stacks: ADT and Implementation, T1: 2.1, 2.2
Applications
CH 2.2= Queues: Queue ADT and Implementation,
Applications
CH 2.3 =List: Notion of position in lists
CH 2.4 = List ADT and Implementation
Post CH SS2
HW2
QZ2
Lab Reference
Contact Hour 3
Time Type Description Content Reference
Pre CH RL 3.1
Post CH SS3
HW3
QZ3
Lab Reference
Contact Hour 4
Time Type Description Content Reference
Pre CH RL3.2
RL 4.1
RL 4.2
During CH CH4 CH4.1 =Review of Heaps: Definition and Properties, T1: 2.4, 2.5
Representations (Vector Based and Linked),
Insertion and deletion of elements
CH4.2 = Heaps as Priority Queue and Using Heaps
for Sorting.
Post CH SS4
HW4
LE4
QZ4
Lab Reference
Contact Hour 5
Time Type Description Content Reference
Pre CH RL 4.3
Post CH SS5
HW5
LE5
QZ5
Lab Reference
Contact Hour 6
Time Type Description Content Reference
Pre CH RL5.1
During CH CH6 CH 6.1: Review of Divide and conquer with T1: 5.2
examples
CH 6.2: Review of Methods and exercises (Matrix
Multiplication Problem, Analysis of Algorithm,
Solving Recurrence and other exercises.)
CH 6.3= Exercises
Post CH SS6
HW6
LE6
QZ6
Lab Reference
Contact Hour 7
Time Type Description Content Reference
Pre CH RL5.2
Post CH SS7
HW7
LE7
QZ7
Lab Reference
Contact Hour 8
Time Type Description Content Reference
Pre CH RL5.3
HW8
LE8
QZ8
Lab Reference
Contact Hour 9
Time Type Description Content Reference
Pre CH RL5.4
During CH CH9 CH: 9.1: Review of Graph spanning and searching T1: Ch 6, 7
algorithms
CH 9.2 : Overview and applications of minimum
spanning tree
CS 9.3: Overview of shortest path algorithms and
analysis
Post CH SS9
HW9
LE9
QZ9
Lab Reference
Contact Hour 10
Time Type Description Content Reference
Pre CH RL3.1
Post CH SS10
HW10
LE10
QZ10
Lab Reference
Evaluation Scheme:
Legend: EC = Evaluation Component; AN = After Noon Session; FN = Fore Noon Session
No Name Type Duration Weight Day, Date, Session, Time
EC-1 Quiz-I/ Assignment-I Online - 5% To be announced
Quiz-II 5% To be announced
Quiz-III/ Assignment-II 5% To be announced
EC-2 Mid-Semester Test Closed 2 hours 35% To be announced
Book
EC-3 Comprehensive Exam Open Book 3 hours 50% To be announced
Note - Evaluation components can be tailored depending on the proposed model.
Important Information:
Syllabus for Mid-Semester Test (Closed Book): Topics in CS 1-5.
Syllabus for Comprehensive Exam (Open Book): All topics given in plan of study
Evaluation Guidelines:
1. For Closed Book tests: No books or reference material of any kind will be permitted.
Laptops/Mobiles of any kind are not allowed. Exchange of any material is not allowed.
2. For Open Book exams: Use of prescribed and reference text books, in original (not
photocopies) is permitted. Class notes/slides as reference material in filed or bound form is
permitted. However, loose sheets of paper will not be allowed. Use of calculators is permitted
in all exams. Laptops/Mobiles of any kind are not allowed. Exchange of any material is not
allowed.
3. If a student is unable to appear for the Regular Test/Exam due to genuine exigencies, the
student should follow the procedure to apply for the Make-Up Test/Exam. The genuineness of
the reason for absence in the Regular Exam shall be assessed prior to giving permission to
appear for the Make-up Exam. Make-Up Test/Exam will be conducted only at selected exam
centres on the dates to be announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self-study
schedule as given in the course handout, attend the lectures, and take all the prescribed evaluation
components such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to the
evaluation scheme provided in the handout.