Syllabus: Colorado CSCI 5454, Fall 2021

Instructor: Bo Waggoner
Course webpage:

Course Information

Goals and topics

The goal of the course is to familiarize students with the dominant paradigms for mathematically rigorous design and analysis of classical, sequential algorithms. After taking this course, students will be prepared: to interface with and design sophisticated modern algorithms in software engineering; go on to (self-)study advanced or specialized topics in algorithms; study related topics such as machine learning.


This course will be theoretical, mathematically rigorous, and proof-based. We will assume familiarity with undergraduate algorithms (such as CSCI 3104), data structures (such as CSCI 2270), discrete mathematics (such as CSCI 2824), linear algebra, and calculus. Students may also be expected to implement small programs in a programming language of their choice.

Students should already have learned and reviewed the following material. Students lacking these prerequisites are strongly encouraged to take CSCI 3104 first.

When you have questions

Assignments and Evaluation

The final score will be calculated by a weighted average of the grades in each component, subject to Drop policies below. The instructor does not have discretion over the student's final score. Course letter grades will be assigned based on final scores, possibly adjusted upward.

Peer Feedback

In peer feedback, you will be asked to give a classmate feedback on one of their problems from homework. You should do THREE things:

  1. Review the sample correct solutions posted on Canvas. Note there may be more than one way to do a problem.
  2. Provide any specific feedback, such as parts you didn't understand or statements you think were not correct. It's okay to say you had trouble following. Clarity is an important part of homework, so this is useful feedback.
  3. At the top, provide an overall assessment from the following scale:

It is okay to use N/A sometimes if you are made an effort to understand the problem. Consider asking classmates, at office hours, or on Zulip for help understanding the problem before writing your feedback.

It is expected that students spend about 10-20 minutes per week on providing peer feedback. If a solution is very difficult to follow, after about 20 minutes of effort, it is appropriate to use N/A.

CSCI 5454 Policies and Logistics

Remote and Asynchronous Students

Students, including those enrolled in the remote (virtual) section, are expected to attend synchronously unless they have another class or work conflict. Students who have a conflict will be asked to notify the instructor so that exams and other work can be coordinated.

Homework Policy (Drop 2 Rule)

Each student's two lowest homework grades will be dropped and the homework component of their course grade will be calculated from scores on remaining assignments. Th corresponding homework self-assessment scores will be dropped as well.

Because of this, we will not accept late homework for any reason (it will be dropped instead).

This allows students two emergency or exceptional scenarios during the semester that prevent them from turning in homeworks, as these two zeros will not affect their final grade. It also allows our staff to post solutions and return homeworks to students as quickly as possible, which improves the feedback cycle and learning process.

If a student faces an on-going exceptional situation that is likely to prevent on-time submission of three or more homeworks, they should notify the instructor as soon as possible.

Collaboration and Homework Policy

  1. Students are encouraged to work together to understand course material, including homework material, and study for exams.
  2. Students must write their own homework solutions themselves in their own words.
  3. Each homework must list the people the student collaborated with and external resources consulted (people not affiliated with the course or materials not mentioned or linked on the course site).
  4. Students may consult external resources for general understanding of material covered in class (such as "how does topological sort work?") and are encouraged to share useful resources with others on Zulip.
  5. Students may not use external resources to find solutions to specific homework problems.
  6. If this policy is unclear or you have any questions, contact the instructors e.g. by posting on Zulip.

Regrade Policy

Grading will assess the submission as written according to a rubric that is equally applied to all students and cannot be changed.

If you feel a mistake has been made in applying the rubric on a homework or exam, you may submit a specific, concise regrade request via Gradescope within one week of receiving the original grade. Consult the official solutions, peers, Zulip, and/or office hours before submitting a regrade request. Spurious regrade requests may result in a lowered grade.

Standard Course Policies

Other course policies can be found here: