Prerequisites
CSC 171 or equivalent, MTH 150
Instructor: Tamal Tanu Biswas
Office: Wegmans 2107
Office Hours: Tu 12 pm - 1pm and Wed 11 am - 12 pm, or by appointment
Email: tbiswas2 [at] cs.rochester.edu
Grad TA: Divya Ojha
Office: Wegmans 3209
Office Hours: Tu 5pm - 6pm. Th 2:15 pm - 3:15 pm
Email: dojha@cs.rochester.edu
Course description
This course presents the fundamental data structures, their design and use. The course also covers various algorithms and their analysis. Java is the official laguage for all the programming tasks. The data strucutures covered are Lists, Stacks, Queues, Maps (Dictionary), Trees and Graphs. This course also covers various sorting and searching algorithms.Topics covered
The course gives you a comprehensive understanding of various data strucutres and when to use them. In this course, we will cover:- Basic data strucutures such as lists, stacks, queues, trees, maps, sets, hash tables, trees, and graphs.
- Design and analysis
- Various cost-benefit tradeoffs in designing, implementing, and using them
- Implement the data strucutures in Java
- Various algorithms including algorithms for searching and sorting, recursive algorithms, and graph traversing algorithms.
Course schedule
Faculty | Location | Days | Time |
---|---|---|---|
Tamal Biswas | Hutch 141 | TuTh | 3:25 PM - 4:40 PM |
Required textbook

Data Structures and Algorithm Analysis by C. A. Schaffer
An online version of the book can be found here.
Some nice optional texts :
Data Structures and Algorithm Analysis in JAVA, 3rd Edition by M. A. Weiss
The C Programming Language by B. W. Kernighan and D. M. Ritchie
Structure and Interpretation of Computer Programs by H. Abelson and J. Sussman with J. Sussman
Foundations of Computer Science by A. Aho and J. Ullman
Workload
- In-class Quizzes
- Projects
- Labs
- Workshops
- 1 Mid Term
- 1 Final
Grading policy
Minor adjustments may be made to the weights and number of assignments at the discretion of the instructor.- Quizzes : 10%
- Labs: 15%
- Projects (3 to 4 projects) 35%
- Midterm: 15%
- Final: 20%
- Workshop Participation: 5%
- There will be 8+ quizzes.
- The lowest quiz will be dropped.
- All the quizzes will be held during the lectures on Thursdays.
- I will let you know if any week does not have a quiz
- There will be approx. 10 labs.
- Labs are due on Sundays
- Each lab is worth either 1 or 2 pts.
- 1 midterm (15%)
- 1 final (20%)
Midterm on March 08, 2018
Final: May 01, 2018 (from 3:25 pm to 4:40 pm).
Final: May 01, 2018 (from 3:25 pm to 4:40 pm).
- Bonus points (not exceeding 3) will be awarded to students whose participation was exemplary.