Timely information will be emailed to the class email list.

# Calendar

## 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)

- Material covered in class: material under the heading
*Run Time Analysis*(the practice problems are largely the same as for your practice assignment below) - Review by Tuesday, September 25: What is an algorithm? (sections 0.1 to 0.4) and review recursion by playing Robozzle, solve puzzles 330, 536, 656.
- Practice Assignment 1 due Tuesday, September 25
- Group Assignment 1 due Tuesday, October 2

### Dynamic Programming (Weeks 1-3)

- Material covered in class: Dynamic Programming (sections 5.1 to 5.5), The Knapsack Problem (read intro, definition and DP solution to 0/1 problem
- Practice Assignment 2 due Tuesday, October 9
- Group Assignment 2 due Thursday, October 11

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

- Material covered in class: the material under the heading "Divide and conquer & recurrence relations"
- Practice Assignment 3 due Tuesday, October 23
- Group Assignment 3 due Thursday, October 25

### 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)

- Material covered in class: the material under the heading "Linear Programming"
- Practice Assignment 5 due Thursday, November 15
- Group Assignment 4 due Tuesday, November 27

### P & NP (Weeks 9-10)

- Material covered in class: (most of) the material under the heading "Computational Complexity" and the material under the heading "NP-completeness and reductions"
- Practice Assignment 6 due Thursday, November 29

### 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 ...

- Use O, Omega, Theta and simple recurrences to analyze the time complexity of iterative and recursive algorithms.
- Prove the correctness of algorithms.
- Implement recursive, iterative and heuristic algorithms.
- 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.

resources

courses

- CS523, Spring 2020
- CS515, Fall 2018
- CS325, Fall 2018
- CS523, Winter 2017
- CS523, Spring 2016
- CS325H, Winter 2016
- CS325, Fall 2015
- CS507, ECE507, Fall 2015
- CS523, Spring 2015
- CS325, Winter 2015
- CS325, Fall 2014
- CS523, Spring 2014
- CS325, Fall 2013
- CS515, Fall 2013
- CS523, Spring 2013
- CS325, Fall 2012
- CS523, Spring 2012
- CS515, Fall 2011
- CS523, Spring 2011
- CS325, Winter 2011
- CS515, Fall 2010
- CS521, Spring 2010
- CS325, Winter 2010