Course information
- Class
- CS 561-001, Algorithms and Data Structures (CRN 70436)
- Meetings
- Tuesdays and Thursdays, 12:30-1:45 p.m.
- Classroom
- Mitchell Hall, Room 202
- Instructor
- Jared Saia, saia@unm.edu
- Instructor office hours
- Tuesdays and Thursdays, 2:00-3:00 p.m., Zoom (passcode 561)
- Teaching assistant
- Jingbo Liang, liangjingbo@unm.edu
- TA office hours
- Mondays and Wednesdays, 9:30-11:00 a.m., Farris Engineering Center, Room 3480
- Discussion
- Fall 2026 CS 561 Piazza
Course description
This course studies advanced algorithms and data structures together with the mathematical tools needed to analyze their time and space complexity. The emphasis is on mathematical techniques, proofs, and analysis. Topics are expected to include randomized algorithms and data structures, data-streaming algorithms, divide-and-conquer methods, induction and recurrences, dynamic programming, greedy algorithms, amortized analysis, graph algorithms, NP-hardness and approximation algorithms, and iterative methods such as gradient descent.
Text and references
The main text is Introduction to Algorithms, fourth edition, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Other useful references are Jeff Erickson's freely available Algorithms and Algorithm Design by Jon Kleinberg and Éva Tardos.
Prerequisites
CS 361/362 or an equivalent undergraduate algorithms course is a prerequisite. Students should be comfortable with asymptotic notation, recurrence relations, proofs and induction, basic probability and logic, graph theory, and the standard algorithms and data structures covered in an undergraduate algorithms sequence.
Communication and participation
Piazza will be used for all class discussion, including announcements, questions, and discussion of course content. Please use Piazza rather than email. For approximately every five hours spent on homework, students should post on Piazza or speak in lecture or office hours at least once. A useful contribution can be a question, a comment, or a partial solution on which feedback would help. Please seek assistance rather than struggling unproductively for hours.
Assignments and collaboration
- Assignment deadlines are strict. Late homework ordinarily receives no credit unless prior approval was granted for circumstances such as a medical or family emergency.
- For homework, students may discuss problems with anyone and consult books, websites, online solutions, AI systems, or other large language models. Name collaborators and cite outside materials or tools used.
- The “Star Trek” rule: After discussing a problem or consulting any outside source, wait at least 30 minutes before writing. Then complete the write-up alone, without looking at another solution, source, or AI output. The submitted solution must be your own work and reflect your own understanding.
- Copying another student's work or an outside solution is academic dishonesty and will be handled under University policy.
- Submission and grading instructions will be announced through the course site and Piazza. Submit pages in order.
- Regrade requests must be made to the TA within one week after the graded work is returned. Unresolved concerns may then be brought to the instructor.
- Worked solutions will not generally be distributed. Students are encouraged to bring partial work to Piazza, lecture, or office hours.
How written work is evaluated
- Clarity: Work must be legible, logically organized, and easy to locate.
- Completeness: Include enough intermediate reasoning to justify the conclusion, not only a final answer.
- Succinctness: Present the reasoning needed for correctness without burying it in scratch work or multiple competing answers.
Exams
Prerequisite quiz: A 30-minute prerequisite quiz will be given on Tuesday, August 25. It covers material from the prerequisite review slides and relevant textbook appendices.
- All exams are closed-book and closed-note.
- No electronic devices are permitted, including phones, smartwatches, earbuds, smart glasses, or other wearable technology.
- I maintain a zero-tolerance policy regarding cheating:
- Students may not leave the room after an exam begins. Please use the restroom before the exam starts.
- Exams are recorded by at least two cameras.
Expected topics
- Probability and expectation; randomized algorithms and data structures
- Divide and conquer; induction, recurrences, recursion trees, and annihilators
- Dynamic programming and greedy algorithms
- Amortized analysis
- Graph algorithms, including spanning trees and shortest paths
- NP-hardness and approximation algorithms
- Selected advanced topics, potentially including linear programming and gradient descent
Course assessment
The approximate weighting is:
- Participation: 10%
- Homework: 20%
- Midterm: 30%
- Final: 40%
Grades assigned at the end of the semester are final. Additional projects or papers cannot be completed afterward to change a grade.
Credit-hour statement
This is a three-credit-hour course. It meets for two 75-minute periods of direct instruction each week for fifteen weeks. Students should plan for a minimum of six hours of out-of-class work each week for reading, study, problem solving, and assignment preparation.
Accessibility
UNM is committed to providing equitable access to learning opportunities for students with documented disabilities. As your instructor, it is my objective to facilitate an inclusive classroom setting in which students have full access and opportunity to participate. To engage in a confidential conversation about requesting reasonable accommodations for this course, contact the Accessibility Resource Center at arcsrvs@unm.edu or 505-277-3506.
Respect, support, and reporting
Our classroom and University should foster mutual respect, kindness, and support. If you have concerns about discrimination, harassment, or violence, seek support and report incidents. Confidential services are available through the LoboRESPECT Advocacy Center, Women's Resource Center, and Arcoíris Center. UNM employees, including faculty and graduate teaching assistants, are responsible employees and must report Title IX disclosures to the Office of Compliance, Ethics & Equal Opportunity. See UAP 2720, UAP 2740, and the UNM Title IX syllabus guidance.
Academic integrity and conduct
Students are responsible for following the UNM Student Code of Conduct and all University policies on academic dishonesty. Plagiarism, cheating, fabrication, and facilitating another person's misconduct undermine both the course and the learning community.
Student support
UNM offers academic support, mental health resources, student resource centers, the Lobo Food Pantry, and assistance through the Dean of Students. If circumstances are interfering with your participation or learning, contact the instructor or an appropriate campus support office as early as possible.