We will not take attendance, but attendance is recommended.

Course work

There will be 11 assignments. Assignments will be a mix of problems, proofs, and programming assignments. Any programming language can be used but you will find it easiest to use Python. Some assignments will require you to work individually, others will allow group work. Each assignment will state the group work policy

There will be a take home final which will be a programming assignment involving concepts from several chapters

Late policy

We will deduct 10 percentage points from an assignment for every every 12 hours that a homework is late. For example, if a homework is due on Jan 16 at 11:59PM and you hand it in on Jan 17 at 1:30AM you will lose 10%, if you hand it in Jan 17 at 6PM you will lose 20%, etc.


The homework will count for 75% of the final grade, and the final exam will count for 25%. Grade cutoffs will be determined at the end of the course.

We will drop the lowest homework grade to calculate the homework grade total

The grade cutoffs will be at least as generous as standard cutoffs, with curving in your favor if the distribution of grades requires us to do so.

Academic integrity

We expect you to do your own work in the course. We expect you are familiar with university and department policy on cheating and plagiarism.