Timely information will be emailed to the class email list.


Assignments, due dates, course materials, and TA office hours.

  • All assignments are due at 10AM.
  • TA office hours will be posted at the start of quarter, provided before programming assignments and exams, and listed below.

Asymptotic Analysis (Week 0-1)

Dynamic Programming (Weeks 1-3)

Divide & Conquer Algorithms and Recurrence Relations (Weeks 3-5)

Midterm (Week 6: Tuseday October 30, on the above topics)

  • Note: To get a C or better in this class you must earn at least 50% on both the midterm and final.

Greedy Algorithms & Proofs of Correctness (Weeks 6-7)

  • Materials will be posted later.
  • Practice Assignment 4 due Thursday, November 8

Linear Programming (Week 8)

P & NP (Weeks 9-10)

Final Exam (Week 11, date and time TBA)

Course Staff

Prof. Borradaile holds office hours on Tuesday and Thursday from 1-3PM in KEC3071 (but may end office hours at 2.30 if there is no one waiting).
Prof. Borradaile can be reached at glencora@eecs.orst.edu. Please allow up to a full week day for response to email.

Your TA will be available for office hours as indicated in the calendar above.

Learning Materials

All learning materials are provided via links above and are free. Materials for the eCampus version of this class are available online. This includes videos, interactive questions, practice questions and readings and are (reportedly) a great way to prepare for the midterm and final exams. There is no required textbook for this class. However, if you insist on participating in the market economy for everything you do, I recommend Algorithms by Dasgupta, Papadimitriou and Vazirani.

Evaluation of student performance

Grades will be posted to the course website via an anonymizing identifier. Please verify the posted grade with that on your paper and report any discrepancies. Assignment reports/solutions will be uploaded to TEACH.

Group Assignments - 30% of your grade

There will be 4 assignments that you may (and are encouraged to) work on in groups of up to 3 students. You do not need to work in the same groups for each assignment, but you will only get credit for an assignment if your name is listed on exactly one assignment. Group assignments submitted within 24 hours of the deadline will not be penalized, but those handed in more than 24 hours late will not be graded without prior arrangements.

Practice Assignments - 10% of your grade

There will be at least 5 practice assignments. These assignments must be completed individually and may not be submitted after the due date as solutions may be discussed during lecture on the submission date. These assignments will be graded on effort alone and will not be returned. Solutions will be posted.

Exams - 60% of your grade

There are two tests (midterm and final), each worth 30% of your final grade. These tests are non-cumulative. For example, the second test will only explicitly ask questions on topics covered after the first test; however, mastery of those topics covered by the first test will be implicitly tested by these questions.

The grade cut-offs for this class are roughly (if they change they do so in your favor):
A >= 90; A- 85-89; B+ 80-84; B 75-79; B- 70-74; C+ 65-69; C 60-64
Additionally in order to get a 'C' in this class you must get at least 50% on both the midterm and final exams.

Measurable Student Learning Outcomes

At the completion of the course, students will be able to ...

  1. Use O, Omega, Theta and simple recurrences to analyze the time complexity of iterative and recursive algorithms.
  2. Prove the correctness of algorithms.
  3. Implement recursive, iterative and heuristic algorithms.
  4. Prove that a problem is NP-complete using reductions.

Course Standards

Electronic device limitation

Several studies and anecdotal experience shows that laptops are a distraction in the class room - they disrupt learning, lower the performance of students who use them, and, more worryingly, distract surrounding students. If you insist on using an electronic device with a screen in this class room (including, but not limited to, cell phones and laptops) please sit in the back row. You may use a tablet for note-taking if the tablet remains flat on the desk during class. If you expect this will pose an undue hardship for your learning, please speak with Prof. Borradaile about an exception.

Student Accommodations

Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.

Student Code of Conduct

Please make yourself familiar with the Student Conduct Code, which can be accessed at http://studentlife.oregonstate.edu/studentconduct/. Please pay particular attention to the sections on Academic Dishonesty, Harrassment, and Discriminatory Misconduct. Any violation of the Student Code of Conduct will be treated seriously. In particular, any violation that hampers the learning environment of any student in the classroom, may result in the removal of the offender from the class. If you do not feel comfortable reporting such violations to Prof. Borradaile, see this page for other ways to report.