0% found this document useful (0 votes)
53 views4 pages

CS F232 - Fdsa

The document outlines the course BITS F232 (Foundations of Data Structures and Algorithms) for the Second Semester of 2024-2025, detailing its objectives, syllabus, textbooks, and evaluation scheme. Key topics include data structures like stacks, queues, trees, and graphs, as well as algorithmic techniques such as divide and conquer and dynamic programming. The course aims to equip students with programming and algorithm analysis skills to solve complex problems efficiently.
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)
53 views4 pages

CS F232 - Fdsa

The document outlines the course BITS F232 (Foundations of Data Structures and Algorithms) for the Second Semester of 2024-2025, detailing its objectives, syllabus, textbooks, and evaluation scheme. Key topics include data structures like stacks, queues, trees, and graphs, as well as algorithmic techniques such as divide and conquer and dynamic programming. The course aims to equip students with programming and algorithm analysis skills to solve complex problems efficiently.
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/ 4

Department of Computer Sc.

and Information Systems


Second Semester 2024-2025
BITS F232 (Foundations of Data Structures and Algorithms)

Date:31st Dec 2024

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

Course No. : BITS F232 (L:3, P:3) M W F: 3 PM – 4 PM (F104)


Course Title : Foundations of Data Structures and Algorithms
Instructor-in-Charge : Sameera Muhamed Salam
Instructors : Prof Barsha Mitra, Prof Jay Dave

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. Micheal T Goodrich and Roberto Tamassia, Algorithm Design and Applications. (John Wiley
&Sons, Inc., 2015).
R3. Jon Kleinberg and Eva Tardos. Algorithm Design. Pearson Education. (2007).
R4. 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
The role of DS and T1-1
1-2 Algorithms in Course Introduction & Motivation.
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 (Analyzing lower R2 – 5
Algorithmic Technique bounds)
9-10 Linear time Sorting Algorithms – Radix T1 – 2, 6, 8
To understand Linear
Sort and Bucket Sort (Analyzing 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, Tree traversal
19 - 22 To understand Priority Queue ADT, Heaps,
Applications of heap: Insertion
Advanced data Sort, Selection Sort & Heap Sort
23 - 24 structures like MAP ADT, Dictionories and Hash T1 – 11
Priority queues, Tables, Separate Chaining vs. Open R1- 2
Heaps, Hash Addressing, Probing, Rehashing.
25 - 30 tables, Maps, Skip Binary Search Tree, Balanced T1 – 12, 13
lists, Dictionaries, Binary SearchTrees - Red-Black R1- 3
Search Trees. Trees, Skip list (Implementation,
Complexity & Efficiency)
31 - 36 Trie Data Structure, Suffix tree, Pattern T1 – 4,15,
To understand String
Matching Algorithms, LCS using 32
Manipulation and
Dynamic Programming R1- 9
Dynamic Programming
Text Compression: The Huffman Coding
Algorithmic Technique
Algorithm
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-term Exam 90 Minutes 30% 06/03 Closed Book
4.00 PM – 5.30 PM
Lecture - Continuous 10 Minutes 5% Open Book
Once in two weeks
Evaluation
Lab - Continuous 10 Minutes 10% Open Book
One per week.
Evaluation
Lab – Final Test 60 Minutes 15% 19/04 Open Book
10.00 AM – 12.30 PM
Comprehensive Exam 3 hours Closed Book
09/05 AN
40%

Note 1: For Comprehensive exam and Mid-semester Test, the mode (offline/online) and the duration
are subject to changes as decided by the AUGSD/Timetable division in future.

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

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

Notices: All notices pertaining to this course will be announced in LMS (or Google Classroom). All course
material pertaining to this course will be made available on a regular basis on the LMS (or Google Classroom).
Make-up Policy: Prior Permission is must and 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