- Time/Location
- Tuesday/Thursday 10:30am–11:50am (Fully Online - Synchronous)
- Instructor
- Amir Masoumzadeh (amasoumzadeh@albany.edu)
- Office Hours: Tuesday/Thursday 4pm–5pm, or by appointment
- Teaching Assistant
- Baibhav Rajbhandari (brajbhandari@albany.edu)
- Office Hours: by appointment
Course Overview
This is a graduate-level course on data structures and algorithms with an emphasis on algorithm design techniques and analysis of algorithms. Students will learn about design techniques such as divide-and-conquer, dynamic programming, greedy, and approximation. They will also learn about proving the correctness of algorithms, complexity analysis of algorithms, and complexity theory. Advanced algorithms and data structures in different areas such as trees and graphs will be explored.
Prerequisites
- CSI 213 (CSI 310): Data Structures
- Departmental examination in discrete mathematics
Students are expected to have previously taken an undergraduate level course on data structures and algorithms. Therefore, they are expected to know about basic data structures (such as lists, heaps, and binary search trees), and basic algorithms (such as sorting and searching).
Textbook
Introduction to Algorithms (3rd Edition) By Cormen, Leiserson, Rivest, and Stein (ISBN: 9780262033848) (Required Reading)
Optional Readings:
- Algorithms by Jeff Erickson
Communication and Submissions
The course syllabus and schedule is available on the course webpage. Most of the tasks in this class will be handled via Blackboard including distribution of lecture notes, homework assignments, exams, and feedback. Lectures will be delivered online at the scheduled class time via Zoom. Instructions to connect to the class Zoom meeting will be available on Blackboard. Lectures will be also recorded and posted (only accessible to class).
Assessment and Grading
The course is A-E graded based on the following categories and corresponding weights. Conversion from the final numerical grade to the letter grade will be based on cutoffs determined according to the grade distribution in the class. This results in more flexible and favorable grades compared to using a fixed conversion scale.
- Homework Assignments (45%)
- There will be about 6 problem sets. Your lowest grade will be dropped.
- Exams (50%)
- There will be a midterm exam (taken during regular class sessions) and a final exam. Each exam is worth 25% of your total grade.
- Class Participation (5%)
Schedule
The following schedule is tentative and will be frequently updated. It is your responsibility to check the schedule regularly.
Date | Topic/Reading | Assignment |
---|---|---|
Feb02 |
Course Overview, Introduction to Algorithms
|
|
Feb04 |
Analyzing algorithms
|
|
Feb09 |
Asymptotic Notation
|
|
Feb11 |
Divide-and-Conquer
|
Homework 1 due Feb19 |
Feb16 |
Divide-and-Conquer (cont.)
|
|
Feb18 |
Divide-and-Conquer (cont.), Probabilistic Analysis
|
|
Feb23 |
Randomized Algorithms
|
|
Feb25 |
Amortized Analysis
|
Homework 2 due Mar08 |
Mar02 |
Amortized Analysis (cont.), Dynamic Programming
|
|
Mar04 |
Dynamic Programming (cont.)
|
|
Mar09 |
Dynamic Programming (cont.)
|
|
Mar11 |
Greedy Algorithms
|
Homework 3a due Mar15 |
Mar16 | Midterm Review | |
Mar18 | Midterm Exam (On Blackboard) | |
Mar23 |
Graph Representation and Basic Algorithms
|
|
Mar25 |
Graph Representation and Basic Algorithms (cont.)
|
|
Mar30 |
Graph Representation and Basic Algorithms (cont.)
|
Homework 3b due Apr05 |
Apr01 |
Minimum Spanning Trees
|
|
Apr06 | No Class (Break) | |
Apr08 |
Shortest Paths
|
|
Apr13 |
Shortest Paths (cont.)
|
Homework 4 due Apr23 |
Apr15 |
Shortest Paths (cont.)
|
|
Apr20 |
Maximum Flow
|
|
Apr22 |
Maximum Flow (cont.)
|
|
Apr27 |
Maximum Flow (cont.)
|
Homework 5 due May03 |
Apr29 |
NP-Completeness
|
|
May04 |
NP-Completeness (cont.)
|
Homework 6 due May10 |
May06 |
NP-Completeness (cont.)
|
|
May11 | Final Review | |
May15 (Sat) | Final Exam (1pm-3pm) |
Policies
- No Late Submission
- Assignments will be released about a week before their due date. You are highly recommended to study an assignment as soon as it becomes available. There will be ample opportunities to benefit from office hours and communication with me and the TAs before the due date. Assignments are due 11:59pm on the day specified in the homework. Submissions after due time will receive no points.
- Review of Grades
- Any issue regarding your grade in a specific assignment must be communicated to us no later than 5 business days after the posting day of the grades. There will be no re-grading after the 5-day period has passed.
- Attending Lectures
- Attendance will be taken in lectures. Your absence will be excused if approved by Student Health Services (see medical excuse policy). You should notify the instructor of your absence due to religious observance in advance. Note that even though some of the material covered in class may not appear on the lecture slides, you are responsible for all materials covered in lectures. It is your responsibility to find out the material covered in a lecture you missed.
- Attending Exams
- The midterm exam is given in regular hours of the class. The final exam will be during the final exam period. Tentative exam dates are given in the course schedule, and there will be usually reminders about them in the lectures. Makeup exams will be given only for valid and verifiable extenuating circumstances (e.g., a major medical situation). It is the student’s responsibility to contact the instructor at least a week ahead of the exam date and arrange to take a makeup exam at an alternate date/time. Makeup exams are not guaranteed and will be generally harder than the regular exams.
- Academic Integrity
- For assignments and projects, you must submit your own work, except where collaboration is explicitly permitted or required. Also, you must properly cite any resources from which you borrow ideas and clearly distinguish them from your contributions.
For open-book/notes exams, you are not allowed to use other resources (e.g., searching online) or others’ help.
It is every student’s responsibility to become familiar with the standards of academic integrity at the University. Claims of ignorance, of unintentional error, or of academic or personal pressures are not sufficient reasons for violations of academic integrity. Any incident of academic dishonesty can result in (i) no credit for the affected assignment, (ii) report to the appropriate University authorities (e.g., Dean of Undergraduate Education or Graduate Studies), and/or (iii) a failing grade for the course.
- Use of Electronic Devices
- Computers or other electronic devices may be only used during class for note-taking, in-class exercises, or other class-related activities. You are not allowed to perform any unrelated tasks during class.
- Students with Disabilities
- Reasonable accommodation will be provided for students with documented disabilities. If you believe you have a disability requiring accommodation in this class, please notify the Disability Resource Center (Campus Center 130, 518-442-5490). That office will provide me with verification of your disability, and will recommend appropriate accommodations. In general, it is your responsibility to contact me at least one week before the relevant activity to make arrangements.
- Mental Health
- As a student, there may be times when personal stressors interfere with your academic performance and/or negatively impact your daily life. The University at Albany Counseling and Psychological Services (CAPS) provides free, confidential services including individual and group psychological counseling and evaluation for emotional, social, and academic concerns. Given the COVID pandemic, students may consult with CAPS staff remotely by telephone, email, or Zoom appointments regarding issues that impact them or someone they care about. For questions or to make an appointment, call (518) 442-5800 or email consultation@albany.edu. Visit https://www.albany.edu/caps/ for hours of operation and additional information.
If your life or someone else’s life is in danger, please call 911. If you are in a crisis and need help right away, please call the National Suicide Prevention Lifeline at 1-800-273-TALK (8255). Students dealing with heightened feelings of sadness or hopelessness, increased anxiety, or thoughts of suicide may also text “GOT5” to 741741 (Crisis Text Line).