CS 277: Algorithms and Data Structures for Data Science (Spring 2026)
- Instructors
- Harsha Srimath Tirumala
(harshast)
Mahesh Viswanathan
(vmahesh)
- Teaching Assistants
- Bhavana Bheem
Madhav Kanda
Wanting Mao
Shuhaib Mehri
Aniket Vashishtha
Minjian Zhang
- Course Assistants
- Akash Elumalai
Jonathan Gao
Jiawen Gong
Suvinay Goyal
Eddy Jiang
Adarsh Krishnan
Steven Piotrowski
Youyou Wu
Announcements
- January 10
-
-
Welcome! We're working hard to get everything set up before the semester begins.
- The primary textbook is Algorithms by Dasgupta, Papadimitriou, Vazirani. Electronic copies of the book is available through the University of Illinois library. We will use Data Structures and Algorithms in Python by Goodrich, Tamassia, and Goldwasser, as a resource for Python programming. A copy of this is in reserve in the Engineering Library.
- The first lecture is Wednesday, January 21, 2025.
- All assigned work will be on PrairieLearn.
- We will use Ed for class discussions. All urgent information will be posted there. This website will be largely static.
Regular weekly schedule
- Lectures
- MW 3:30-4:45pm, 3039 Campus Instructional Facility
- Discussion
- F 3:30-4:45pm, 3039 Campus Instructional Facility
-
Office hours
- Schedule can be found here
- Lab Work
- Assigned each week during Discussion section on Friday. Due the following Thursday at midnight. The lab will consist of auto-graded algorithm design problems solved in Python in PrairieLearn. The schedule of lab assignments can be found here.
- Homework
- Homework will be assigned every two weeks on Monday and will be due two weeks later on Monday at midnight. They will be released and submitted on PrairieLearn. We expect to have roughly 6 homework assignments. Homework schedule can be found here.
Grading Policy
- Grading Formula
- Your course total will be determined as follows.
- 30% Lab assignments: 11 in total.
- 25% Homework: 6 in total.
- 30% Midterms: Each midterm will be worth 15%. They will test competence on material since the previous midterm.
- 15% Final: The final exam will test material covered after the second midterm.
- Letter Grades
- When translating averages into final letter grades, a score of 90 will be at least an A-, 80 at least a B-, 70 at least a C-, 50 at least a D-. The instructor may change these approximate grade cut-offs to be more generous. The instructor also reserves the right to make adjustments to individual final grades to ensure that grades are appropriate in unusual circumstances, such as illness where it's infeasible to make up all the missed work, disabilities that affect the fairness of the standard grading formula, and so forth.
Homework and Lab submissions
- Homework
- Please note the following -
- Group submissions: Homework can be submitted in groups of up to 3 members on Prairielearn.
- Different groups: You can submit homework in different groups for different homeworks.
- Late Submissions:
Homework can be submitted on the day following the due date (within 24 hours) for 90% credit consideration.
- Free Extension: Each student will have a one week extension for a homework of their choice. In order to receive this, please fill and submit the following google form within 24 hours of the deadline for (the chosen homework) Homework Extension form
- Lab Submissions
- Please note the following -
- Individual submissions: Lab assignments must be submitted individually on Prairielearn.
- Late Submissions:
Lab assignments can be submitted on the day following the due date (within 24 hours) for 90% credit consideration.
- Free Extension: Each student will have a one week extension for a lab assignment of their choice. In order to receive this, please fill and submit the following google form within 24 hours of the deadline for (the chosen lab) Lab Extension form
- Credits
- Web design: Jeff Erickson.