0% found this document useful (0 votes)
97 views8 pages

Birla Institute of Technology & Science, Pilani Course Handout Part A: Content Design

The document provides information on a course titled "Data Structures and Algorithms Design". It includes the course description, objectives, learning outcomes, textbook and reference books. The course covers various fundamental and advanced data structures like trees, graphs, bloom filters. It also covers algorithm design techniques such as greedy, dynamic and map reduce. The document outlines the content structure of the course across 6 modules covering topics like analyzing algorithms, data structures, algorithm design techniques and complexity classes. It also includes a session plan mapping the topics to be covered in each session.

Uploaded by

Sunny Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
97 views8 pages

Birla Institute of Technology & Science, Pilani Course Handout Part A: Content Design

The document provides information on a course titled "Data Structures and Algorithms Design". It includes the course description, objectives, learning outcomes, textbook and reference books. The course covers various fundamental and advanced data structures like trees, graphs, bloom filters. It also covers algorithm design techniques such as greedy, dynamic and map reduce. The document outlines the content structure of the course across 6 modules covering topics like analyzing algorithms, data structures, algorithm design techniques and complexity classes. It also includes a session plan mapping the topics to be covered in each session.

Uploaded by

Sunny Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI

WORK INTEGRATED LEARNING PROGRAMMES


COURSE HANDOUT

Part A: Content Design


Course Title DATA STRUCTURES AND ALGORITHMS DESIGN
Course No(s) DSECLZG519
Credit Units 5
Course Author Febin. A.Vahab
Version No 2.0
Date 01/10/2020

Course Description
The course covers design, implementation and applications of basic and advanced data structures including
trees, graphs, bloom filters. The course also covers algorithm design techniques like greedy, dynamic, map
reduce etc. using examples from sorting, searching, graph theory, networking and number theory. The
complexity issues are also discussed further.

Course Objectives
No Objective

CO1 Introduce mathematical and experimental techniques to analyze algorithms

Introduce linear and non-linear data structures and best practices to choose appropriate data
CO2
structure for a given application

Teach various dictionary data structures (Lists, Trees, Heaps, Bloom filters) with illustrations on
CO3
possible representation, various operations and their efficiency

CO4 Exposes students to various sorting and searching techniques

Discuss in detail various algorithm design approaches ( Greedy method, divide and conquer and
CO5 dynamic programming) with appropriate examples, methods to make correct design choice and
the efficiency concerns

Introduce complexity classes , notion of NP-Completeness, ways of classifying problem into


CO6
appropriate complexity class

CO7 Introduce reduction method to prove a problem’s complexity class.


Learning Outcomes:

No Learning Outcomes

Describe various fundamental and advanced data structures, their properties, algorithm design
LO1
techniques and various means of evaluating algorithms

Demonstrate the ability to evaluate algorithms, to select from a range of possible options, to provide
LO2
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

Explain with a practical example, each of the algorithm design strategies (greedy, divide-and-
LO4
conquer, dynamic programming and map-reduce)

Use brute-force, greedy, divide-and-conquer, recursive backtracking, dynamic programming and


LO5
map reduce techniques to solve a given algorithm design problem.

Relate the real-world problems to known data structures and algorithms leading to the recommend
LO6
appropriate solutions in representation and implementation.

LO7 Explain the significance of NP-completeness

LO8 Classify problems into complexity classes P and NP and to prove hardness of problems

Text Book(s)
No Author(s), Title, Edition, Publishing House
T1 Algorithms Design: Foundations, Analysis and Internet Examples Michael T. Goodrich, Roberto
Tamassia, 2006, Wiley (Students Edition)

Reference Book(s) & other resources


No Author(s), Title, Edition, Publishing House
R1 Introduction to Algorithms, TH Cormen, CE Leiserson, RL Rivest, C Stein, Third Ed,
2009, PHI
R2 Data Structures, Algorithms and Applications in Java, Sartaj Sahni, Second Ed, 2005,
Universities Press
CONTENT STRUCTURE

No Title of the Module References


M1 Analyzing Algorithms T1: 1.1, 1.2
1.1. Theoretical Foundation T1:1.1.4
1.1.1. Algorithms and it’s Specification R1: 4.3,4.4,4.5
1.1.2. Random Access Machine Model
1.1.3. Notion of best case, average case and worst case
1.1.4. Notion of Algorithm Correctness
1.2. Characterizing Run Time
1.2.1. Use of asymptotic notation
1.2.2. Big-Oh, Omega and Theta Notations
1.3. Analyzing Recursive Algorithms
1.3.1. Recurrence relations
1.3.2. Specifying runtime of recursive algorithms
1.3.3. Master Theorem
1.3.4 Solving Recurrences: Substitution Method,
Recursion Tree Method
M2 Elementary Data Structures R1:10.1
2.1. Stacks ADT , Implementation and Applications R1:17.1
2.2. Queues ADT , Implementation and Applications R1:10.2
2.3. Amortized Analysis – Stack, Queue operations- Aggregate Method
2.4. List ADT , Implementation and Applications
M3 Non-Linear Data Structures T1: 2.3
3.1. Trees R2:6
3.1.1. Terms and Definition R1: 22.1, 22.2,22.3
3.1.2. Tree ADT R1:25.2
3.1.3. Applications
3.2. Binary Trees
3.2.1. Properties
3.2.2. Representations (Array Based and Linked Structure)
3.2.3. Binary Tree traversal (In Order, Pre Order, Post Order)
3.2.4. Applications
3.3. Heaps
3.3.1. Definition and Properties
3.3.2. Representations (Array Based and Linked)
3.3.3. Insertion and deletion of elements
3.3.4. Heap sort
3.3.5. Priority Queue
3.4. Graphs
3.4.1. Terms and Definitions
3.4.2. Properties
3.4.3. Representations (Edge List, Adjacency list, Adjacency Matrix)
3.4.4. Graph Traversals (Depth First and Breadth First Search )
3.5.5. Applications
3.5. Directed Graph and Reachability-
Floyd-Warshall’s Transitive Closure
M4 Dictionaries R2:11
4.1. Dictionary ADT , Applications Bloom Filter
4.2. Hash Tables R1: 12
4.2.1. Notion of Hashing and Collision T1:3.1
4.2.2. Methods for Collision Handling T1:3.2
T1:12.1
4.2.2.1. Separate Chaining
T1:12.3.2
4.2.2.2. Notion of Load Factor
4.2.2.3. Rehashing
4.2.2.4. Open Addressing [ Linear & Quadratic Probing, Double
Hash]
4.2.2.5. Applications
4.3. Universal Hashing
4.4. Introduction to Bloom Filters, Applications
4.5. Binary Search Tree
4.5.1. BST Operations
4.5.2. Applications
4.6. AVL trees
4.7. Rank and Range Queries, Performance
4.6 k-d Trees
4.6.1 Representation
4.6.2 Range and NN Queries
M5 Algorithm Design Techniques T1: 5.1, 7.3,7.1.1
5.1. Greedy Method T1: 5.2.2, 4.1,4.3
5.1.1. Design Principles and Strategy T1: 5.3,7.2
5.1.2. Fractional Knapsack Problem
5.1.3. Minimum Spanning Tree
5.1.4. Shortest Path Problem - Djikstra’s Algorithm
5.1.5. Task Scheduling Problem
5.2. Divide and Conquer
5.2.1. Design Principles and Strategy
5.2.2. Integer Multiplication Problem
5.2.3. Merge Sort
5.2.4. QuickSort
5.3. Dynamic Programming
5.3.1. Design Principles and Strategy
5.3.2. Matrix Chain Product Problem
5.3.3. All-pairs Shortest Path Problem
5.3.4. 0/1 Knapsack Problem
M6 Complexity Classes T1: 13
6.1. Definition of P and NP classes and examples
6.2. Understanding NP-Completeness: CNF SAT
6.3. Cook-Levin theorem
6.4. Polynomial time Reducibility:
6.4.1 CNF SAT
6.4.2 Clique
Part B: Session Plan
Academic Term 2020-2021 First Semester
Course Title DATA STRUCTURES AND ALGORITHMS DESIGN
Course No DSECLZG519
Lead Instructor

SESSION CONTENTS
Session List of Topic Title Text/Ref
(#) (from content structure in Course Handout) Book
1 Analyzing Algorithms T1: 1.1, 1.2
Theoretical Foundation
 Algorithms and it’s Specification
 Random Access Machine Model
 Notion of best case, average case and worst case
 Notion of Algorithm Correctness

2 Analyzing Algorithms (Continued…) T1:1.1.4


Characterizing Run Time R1: 4.3,4.4,4.5
 Use of asymptotic notation
 Big-Oh, Omega and Theta Notations
Analyzing Recursive Algorithms
 Recurrence relations
 Specifying runtime of recursive algorithms
 Master Theorem

3 Elementary Data Structures R1:10.1


 Stacks ADT , Implementation and Applications R1:17.1
 Queues ADT , Implementation and Applications R1:10.2
 Amortized Analysis -Stack, Queue operations-Aggregate Method
 List ADT , Implementation and Applications

4 Non-Linear Data Structures T1: 2.3


Trees
 Terms and Definition
 Tree ADT
 Applications
Binary Trees
 Properties
 Representations (Array Based and Linked Structure)
 Binary Tree traversal (In Order, Pre Order,Post Order)
 Applications

5 Heaps R2:6
 Definition and Properties
 Representations (Array Based and Linked)
 Insertion and deletion of elements
 Heap sort
 Priority Queue
6 Graphs R1: 22.1,
 Terms and Definitions 22.2,22.3
 Properties
 Representations (Edge List, Adjacency list, Adjacency Matrix)
 Graph Traversals (Depth First and Breadth First Search )
 Applications

7  Directed Graph and Reachability-Floyd-Warshall’s Transitive R1:25.2


Closure
Dictionaries R2:11
 Dictionary ADT , Applications
 Hash Tables
 Notion of Hashing and Collision
Methods for Collision Handling
 Separate Chaining
 Notion of Load Factor
 Rehashing
8 Methods for Collision Handling (Continued…) R2:11
 Open Addressing [ Linear &Quadratic Probing, Double Hash]
 Applications
 Universal Hashing
 Introduction to Bloom Filters, Applications
9 Binary Search Tree T1:3.1,3.2
 BST Operations
 Applications
 AVL trees

10  Rank and Range Queries, Performance T1:12.1


k-d Trees T1:12.3.2
 Representation
 Range and NN Queries
11. Algorithm Design Techniques T1: 5.1
Greedy Method
 Design Principles and Strategy
 Fractional Knapsack Problem
12 Greedy Method (Continued…) T1: 7.3,7.1.1
 Minimum Spanning Tree
 Shortest Path Problem - Djikstra’s Algorithm
13 Divide and Conquer T1: 5.2.2, 4.1
 Design Principles and Strategy
 Integer Multiplication Problem
 Merge Sort
14 Dynamic Programming T1: 5.3
 Design Principles and Strategy
 Matrix Chain Product Problem
15  All-pairs Shortest Path Problem T1: 7.2
Complexity Classes T1: 13
 Definition of P and NP classes and examples
16 Complexity Classes (Continued…) T1: 13
 Understanding NP-Completeness: CNF SAT
 Cook-Levin theorem
Polynomial time Reducibility:
 CNF SAT
 Clique

WEBINAR CONTENTS
# There should be 4 webinars planned each with a duration of 1.5 hours.

Webinar(#) Topic References


1 Solving recurrence equations–Substitution Method, Recursion Tree Method R1:4.3,4.4
2 Greedy Method: Task Scheduling Problem T1:5.1.2
3 Divide and Conquer: Quick Sort T1:4.3
4 Dynamic Programming: 0/1 Knapsack Problem T1:5.3.3.

Select Topics and Case Studies from business for experiential learning
Topic No. Select Topics in Syllabus for experiential learning Access URL

TBD TBD TBD

Evaluation Scheme
Legend: EC = Evaluation Component
No Name Type Duration Weight Day, Date, Session, Time
Assignment-1
EC-1 Assignment-2 30%
Quiz
EC-2 Mid Term Closed Book 30%
EC-3 Comprehensive Exam Open Book 40%

Note - Evaluation components can be tailored depending on the proposed model.


Important Information
Syllabus for Mid-Semester Test (Closed Book): Topics in Weeks 1-7
Syllabus for Comprehensive Exam (Open Book): All topics given in plan of study
Evaluation Guidelines:
1. EC-1 consists of either two Assignments or three Quizzes. Announcements regarding the
same will be made in a timely manner.
2. 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.
3. 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.
4. 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.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy