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

Bits F232

The document provides details about the second semester course Foundations of Data Structures and Algorithms including course objectives, topics, textbook, evaluation scheme, instructor details and policies. The course aims to teach fundamental data structures and algorithms and their analysis. Topics include linked lists, trees, graphs and various sorting and searching algorithms.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
97 views3 pages

Bits F232

The document provides details about the second semester course Foundations of Data Structures and Algorithms including course objectives, topics, textbook, evaluation scheme, instructor details and policies. The course aims to teach fundamental data structures and algorithms and their analysis. Topics include linked lists, trees, graphs and various sorting and searching algorithms.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Second Semester 2023-2024

Date:09th January 2024

In addition to part-I (General Handout for all courses appended to the time table) this portion gives further
specific details regarding the course.

Course No. : BITS F232


Course Title : Foundations of Data Structures and Algorithms
Instructor-in-Charge : Sameera Muhamed Salam
Instructors : Prof Tathagata Ray

Scope and Objective of the Course:


A data structure is a collection of large amounts of data values, the relationships among them, and the
functions or operations that can be applied on them. In order to be effective, data has to be organized
in a manner that adds to the effectiveness of an algorithm, and data structures such as stacks, queues,
linked lists, heaps, trees, and graphs provide different capabilities to organize and manage large
amounts of data. While developing a program or an application, many developers find themselves more
interested in the type of algorithm used rather than the type of data structure implemented. However,
the choice of data structure used for a particular algorithm is always of paramount importance. For
example, B-trees have unique abilities to organize indexes and hence are well suited for implementation
of databases; Linked lists are well suited for backtracking algorithms like, accessing previous and next
pages in a web browser; Tries are well suited for implementing approximate matching algorithms like,
spell checking software or predicting text in dictionary lookups on Mobile phones; Graphs are well
suited for path optimization algorithms (like in Google maps) or searching in a Social graph (like
Facebook). As computers have become faster and faster, the problems they must solve have become
larger and more complex, requiring development of more complex programs. This course will also
teach students good programming and algorithm analysis skills so that they can develop such programs
with a greater degree of efficiency.
The primary objectives of the course are as under:
 Apply various basic data structures such as stacks, queues, linked lists, trees etc. to solve complex
programming problems. Understand basic techniques of algorithm analysis.
 Design and implement advanced data structures like graphs, balanced search trees, hash tables, priority
queues etc. Apply graph and string algorithms to solve real world problems like finding shortest paths
on huge maps or detecting plagiarism percentage.
 Apply basic algorithmic techniques such as brute-force, greedy algorithms, divide and conquer, dynamic
programming etc. to solve complex programming problems and examine their efficiency.
At the end of the course, you should understand common data structures and algorithms, be able to
develop new data abstractions (interfaces) .
Textbooks:
T1. Cormen TH, Leiserson CE, Rivest RL, and C Stein. Introduction to Algorithms. MIT
Press Second Edition (India reprint: Prentice-Hall 2009).

Reference books
R1. Micheal T Goodrich and Roberto Tamassia. Algorithm Design: Foundations, Analysis and
Internet examples. (John Wiley &Sons, Inc., 2002).
R2. Jon Kleinberg and Eva Tardos. Algorithm Design. Pearson Education. (2007).
R3. Sanjoy Das Gupta, Christos Papadimitriou, Umesh Vazirani, Algorithms. Tata McGraw-
Hill Publishers.

Course Plan:

Chapter in
Lecture No. Learning objectives Topics to be covered the Text
Book
Tounderstand the role of T1-1
DS and
1-2 Course Introduction & Motivation.
Algorithms in
Computing.
Growth of Functions & Asymptotic T1-2,3,4
To understand analysis Notation , R1-1
3-6
of algorithms Simple Case Studies: Binary search &
Bubble Sort
7-8 To understand Divide Using arrays , Divide & Conquer, Merge T1-7
and Conquer Sort & Quick Sort (Analysing lower R2 – 5
Algorithmic Technique bounds)
9-10 Linear time Sorting Algorithms – Radix T1 – 2, 6, 8
To understand Linear
Sort and Bucket Sort (Analysing lower R1- 4
time sorting algorithms
bounds)
11 – 16 Insertion and removal from a T1-10
Linked R1-2
To understand basic
list, generic single linked list,
datastructures, their
doubly linked lists,
implementations,
circular linked lists,
Complexity, Efficiency
Stack ADT, Queue ADT, Double
& Applications
ended Queue , Vectors, Lists &
Sequences
17-18 To understand Tree Tree ADT, Binary Tree, Types of R1 - 2
Data Structure Binary tree,
19 - 22 To understand Priority Queue ADT, Heaps,
Advanced data Applications of heap: Insertion
structures like Sort, Selection Sort & Heap Sort
23 - 24 Priority queues, MAP ADT, Dictionories and Hash T1 – 11
Heaps, Hash Tables, Separate Chaining vs. Open R1- 2
tables, Maps, Skip Addressing, Probing, Rehashing.
25 - 30 Binary Search Tree, Balanced T1 – 12, 13
Binary SearchTrees - Red-Black R1- 3
lists, Dictionaries, Trees, Skip list (Implementation,
Search Trees. Complexity & Efficiency)
31 - 36 To understand String Trie Data Structure, Pattern Matching T1 – 4,15,
Manipulation and Algorithms, LCS using Dynamic 32
Dynamic Programming Programming R1- 9
Algorithmic Technique
37 - 38 Graphs ADT& Graph Algorithms: T1 – 22,
To understand Graph Representation schemes, Traversals:DFS R1 - 6
Data Structure and and BFS
39 - 42 Greedy Algorithmic Greedy Algorithms: Shortest path and T1- 23, 24
technique MST (Dijkstra, Kruskal, and Prim-Jarnik R3 – 4,5
algorithms.)

Evaluation Scheme:

Weightage Nature of
Component Duration Date & Time
(%) Component
Mid Test 90 minutes 25% 15/03 - 4.00 - Closed Book
5.30PM
Lecture-Continous 10 Minutes 10 % Closed Book
One per week
Evaluation
Lab–Continuous Every 10% Open Book
Evaluation assignment will
TBA
(Assignments) be evaluated.

Lab Final Test One Hour 15% Open Book


TBA
Comprehensive 3 hours 40% Closed Book
17/05 AN

Note: Minimum 40% of the evaluation to be completed by midsem grading.

Chamber Consultation Hour:Monday (5 PM to 6 PM) Room No: H107

Notices:All notices pertaining to this course will be displayed on the CSIS Notice Board/CMS.

Make-up Policy: Prior Permission is mustand Make-up shall be granted only in genuine cases based on
individual’s need, circumstances. The recommendation from chief warden is necessary to request for a make-
up.

Academic Honesty and Integrity Policy: Academic honesty and integrity are to be maintained by all the
students throughout the semester and no type of academic dishonesty is acceptable.

INSTRUCTOR-IN-CHARGE

You might also like