Syllabus: Colorado CSCI 5454, Fall 2019

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. The homework grade will be calculated by averaging homework percentage scores, subject to the Drop 2 Rule described below. Note that the instructor does not have discretion over the student's final score. Course letter grades will be assigned based on final score ranges, possibly with a curve.

CSCI 5454 Policies and Logistics

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.

Because of this, we will not accept late homework. Late homework will be marked as zero.

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 or series of exceptional situations 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 Piazza.
  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 Piazza.

Regrade Policy

If you feel a mistake has been made in grading a homework or your midterm exam, you may submit a specific, concise regrade request via Gradescope within 5 days of receiving the original grade. (Example: if a homework grade is released at any time on Thursday, the request is due by 11:59pm next Tuesday.) Please consult the official solutions, their peers, piazza, and/or office hours before submitting a regrade request. If there are too many incorrect requests, we may institute a policy charging some fraction of a point per request.

Exam Logistics

The logistics for the midterm and final exams will be announced on the course webpage, Piazza, and/or via email.

Standard Course Policies

Honor Code

All students enrolled in a University of Colorado Boulder course are responsible for knowing and adhering to the academic integrity policy of the institution. Violations of the policy may include: plagiarism, cheating, fabrication, lying, bribery, threat, unauthorized access, clicker fraud, resubmission, and aiding academic dishonesty. All incidents of academic misconduct will be reported to the Honor Code Council (; 303-735-2273). Students who are found responsible for violating the academic integrity policy will be subject to nonacademic sanctions from the Honor Code Council as well as academic sanctions from the faculty member. Additional information regarding the academic integrity policy can be found at

Disability Accommodations

If you qualify for accommodations because of a disability, please submit your accommodation letter from Disability Services to your faculty member in a timely manner (for exam accommodations provide your letter at least two weeks prior to the exam) so that your needs can be addressed. Disability Services determines accommodations based on documented disabilities in the academic environment. Information on requesting accommodations is located on the Disability Services website. Contact Disability Services at 303-492-8671 or for further assistance. If you have a temporary medical condition or injury, see Temporary Medical Conditions under the Students tab on the Disability Services website and discuss your needs with your professor.

Religious Observances

Campus policy regarding religious observances requires that faculty make every effort to deal reasonably and fairly with all students who, because of religious obligations, have conflicts with scheduled exams, assignments, or required attendance. If you have an exam or assignment conflict due to a religious observance please notify your instructor in a timely manner. See the campus policy regarding religious observances for full details.

Classroom Behavior

Students and faculty each have responsibility for maintaining an appropriate learning environment. Those who fail to adhere to such behavioral standards may be subject to discipline. Professional courtesy and sensitivity are especially important with respect to individuals and topics dealing with race, color, national origin, sex, pregnancy, age, disability, creed, religion, sexual orientation, gender identity, gender expression, veteran status, political affiliation or political philosophy. Class rosters are provided to the instructor with the student's legal name. We will gladly honor your request to address you by an alternate name or gender pronoun. Please advise me of this preference early in the semester so that I may make appropriate changes to my records. For more information, see the policies on classroom behavior and the Student Code of Conduct.

Sexual Misconduct, Discrimination, Harassment and/or Related Retaliation

The University of Colorado Boulder (CU Boulder) is committed to maintaining a positive learning, working, and living environment. CU Boulder will not tolerate acts of sexual misconduct, discrimination, harassment or related retaliation against or by any employee or student. CU's Sexual Misconduct Policy prohibits sexual assault, sexual exploitation, sexual harassment, intimate partner abuse (dating or domestic violence), stalking or related retaliation. CU Boulder's Discrimination and Harassment Policy prohibits discrimination, harassment or related retaliation based on race, color, national origin, sex, pregnancy, age, disability, creed, religion, sexual orientation, gender identity, gender expression, veteran status, political affiliation or political philosophy. Individuals who believe they have been subject to misconduct under either policy should contact the Office of Institutional Equity and Compliance (OIEC) at 303-492-2127. Information about the OIEC, the above referenced policies, and the campus resources available to assist individuals regarding sexual misconduct, discrimination, harassment or related retaliation can be found at the OIEC Website