CS F211 - Data Structures & Algorithms
CS F211 - Data Structures & Algorithms
Pilani Campus
AUGS/ AGSR Division
In addition to part-I (General Handout for all courses appended to the time table) this portion gives
further specific details regarding the course
1. a. Course Overview:
This course offers an introduction to typical data structures used for representing collections of data and the
associated relations. The course has a design focus but realization and performance issues will also be
emphasized.
1. b. Course Objectives:
The objectives of the course are to introduce students to:
• common structures for storing collections of data and associated relations along with algorithms for
retrieving/modifying such collections
• techniques for designing and implementing such data structures on modern computers
• formal and experimental techniques for analyzing the performance (time and space requirements) of
such data structures.
1.c. Course Scope
The course will cover most common deterministic data structures for linear and non-linear data as well as a few
randomized data structures. Implementation techniques will be covered for sequential execution with virtual
memory.
2. Text & Reference:
a.Text Book:
T1. Michael T. Goodrich and Roberto Tamassia: Algorithm Design: Foundations, Analysis and
Internet examples (John Wiley &Sons, Inc., 2002).
b. Reference Book:
R1. Cormen T.H., Leiserson, C.E., Rivest, R.L., and C. Stein. Introduction to Algorithms, MIT Press,
3rd Edition, 2009. (Indian reprint: Prentice-Hall).
AR: [See course website for additional material]
1
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division
3. Course Plan:
P-III Trees Binary Search Trees and Height Balancing; General Trees and
Traversals; Applications; Tries and Heaps.
P-IV Graphs Basic representations of graphs and traversals; implementation of
simple graph algorithms.
Prior Knowledge: Basic but rigorous programming using C
3
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division
16a V Lower Bound on • argue that comparison based sorting algorithms T1 4.4
Comparison-based Sorting cannot be designed below a certain complexity
16b III Bin Sort / Bucket Sort, and • explain how distribution-based sorting algorithms T1 4.5
to Radix Sort work
17 • implement Bucket Sort, Radix Sort, and their
variations.
18 III, V Hashing and Hashtables – • explain the significance of hash functions and T1 2.5
to Unordered Dictionary, Hash hash tables in providing efficient lookup and R1
21 functions and Collision, • implement a few different hash functions and 11.2 to
Separate Chaining, Open- analyze their performance 11.4
Addressed Hashtables and • implement separately-chained hashtables and
Probing Techniques, analyze their performance
Analyses. • implement open-addressed hashtables with
different probing techniques and analyze their
performance
22 III, V Bloom Filters – Motivation, • understand the need for a probabilistic data Addl.
Design and Analysis. structure Readin
• understand and leverage the trade-offs in using a g
Bloom filter
• implement Bloom filters
23 VI Partially Ordered Data – • understand how to model partially ordered data T1 2.3
to Modeling using Trees, Binary • implement binary trees and traversals on binary
24 Trees, Tree Traversals. trees
25 V, VI Ordered Dictionaries: Binary • implement binary search trees T1 3.1
to Search Trees – Operations • understand the time complexity issue to 3.2
26 and Analysis, Height • design and implement a height balancing and T1
Balanced BSTs. technique 3.5
27 V, VI Generalized Trees and Tree • understand how to model data using trees Class
to Traversals. • design and implement trees with fixed and Notes
28 arbitrary branching
• implement traversal techniques on trees and use
traversals in applications
29 VI Ordered Dictionaries: Tries, • Design and implement Tries and its variants T1 9.2
to Analysis, Variants.
30
31 VI Partially Ordered Data – • implement and use heaps T1 2.4
to Heaps, Analysis,
32 Applications.
33 VII Modeling Binary Relations • model binary relations using graphs T1 6.1
using Graphs. Graph • understand and choose graph representations for to 6.2
Representations. specific problems
• implement graph operations using a chosen
representation
34 V, VII Graphs – Traversal, • understand and implement algorithms for graph T1 6.3
to Connectivity and Connected traversal to 6.4
36 Components • understand and implement algorithms for testing
connectivity and finding connected components
4
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division
Note: See course website for Class Notes and Additional Reading. End of Note.
3. d. Pedagogy
Pedagogy
• Lectures:
o Classes are designed to be organic – interaction is essential
o Socratic approach will be followed i.e. there will be questions raised in class to provoke the students’
thinking and derive the answers therefrom.
• Labs:
o Lectures and Labs are tightly woven i.e.
▪ it is important to pay attention to lectures to be able to implement the exercises in the lab
and
▪ it is important to carry out the lab exercises to completely understand lecture material and
occasionally for following subsequent lectures.
o Focus in the labs would be in getting sound and complete implementations but also in learning to
analyze performance:
▪ Performance analysis is key to this course and
▪ theoretical/mathematical approach to performance analysis would be taught in lectures but
▪ practical approach must be understood by doing it in labs – profiling programs, measuring
time and space usage, plotting and fitting curves, and tuning your program to improve
performance are essential tools in an implementer’s survival kit!
• Evaluation:
o Evaluation components will assess a range of learning outcomes: basic understanding of the material
taught, lab skills learnt, ability to apply what is learnt in lectures and labs, ability to solve new
problems by combining several components of content and skills learnt and design skills.
5
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division
4. Evaluation
4.a. Evaluation Scheme:
Component Marks Date & Time Duration Remarks
[300]
Lab 21 M For each Lab 3 days each Each lab performance will be graded
Performance (7%) Session for 3M marks. Students will upload the
solution of the lab sheet within three
days of the conduct of the lab session.
Quiz 60 M TBA 40 Minutes Open Book
(20%)
Mid-Term 93 M As per AUGSD As per AUGSD Open Book
Test (31%)
(Written)
Comprehens 126 M As per AUGSD As per AUGSD Open Book
ive Exam (42%)
TOTAL 300M
Note: As per the date on which this handout is prepared, the whole semester is expected to be online
because of COVID19 pandemic. If you will be in campus in between the semester, the components and its
type/mode might change. It such case, it would be communicated to you in advance.
4. b. Make-up Policy:
- Laboratory Performance:
1. Marks in best 7 labs (out of 8 evaluative ones) will be taken up in final grading. No explicit MakeUP
for any lab.
2. All the solutions uploaded will undergo through plagiarism testing using MOSS/JPLAG.
- Quiz and Mid Sem:
1. Make-up will be granted only for genuine reasons when the student is physically unable to appear for
the quiz/test.
2. It is the responsibility of the student to communicate a make-up request (along with necessary
documentary proof) to the course IC before or during the test/quiz.
3. Decision of the instructor-in-charge with respect to a make-up request is final.
4. Make-up of this component can be conducted using viva-voce examination.
- Comprehensive Exam:
1. Permission for a Make-up for the comprehensive exam will have to be obtained from Associate Dean,
AUGSD and
2. Make-up for the comprehensive exam will usually be scheduled centrally.
Any use of unfair means in lab tests, Quiz, mid-term test, or comprehensive exam will be handled strictly. The
minimum penalty would be loss of full weight of the component. Students involved in such activity are liable for
further sanctions including being formally reported to the Unfair Means committee and being subject to penalties
6
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division
enabled by Unfair Means Rules of the Institute. Unfair means would include copying from or enabling copying by
other students; or copying / borrowing material from sources of information not permitted during the tests /
exams.
.
6. Notices: All notices concerning this course will be displayed on the course website (on Nalanda) only. If there is a
need email would be used on short notice (12 hours) – only BITS Pilani mail id of students would be used.