Upcoming deadlines and events

All guided problem sets and written homeworks are due by 9pm unless announced otherwise.

Tue Nov 03
Homework 9: More graph algorithms
Thu Nov 05

No lecture — Optional review for Midterm 2

— [practice 1; practice 1 answer booklet]
Fri Nov 06

No labs — Optional review for Midterm 2

— [practice 2; practice 2 answer booklet]
Sun Nov 08

Optional review party for Midterm 2 6pm–8pm

— [practice 3; practice 3 answer booklet; dp practice]
Mon Nov 09
Midterm 2: 7:00pm- 9:00pm
Tue Nov 10
Conflict Midterm 2: (time TBA)

Recent announcements

Sun Nov 01

Practice exams for Midterm 2 are available. We strongly recommend attempting each of these practice exams under exam conditions—two hours alone in a quiet space with a one-page cheat sheet but no other notes or internet—before discussing them with others or looking at any solutions. There will be an opportunity to work with course staff and other students on part of each exam (preferably after you attempt the exam alone) in place of lecture, lab, or a homework party. Handwritten solutions and walkthrough videos for each practice exam will be posted late in the evening the same day as that event.

The format of the actual exam will match these practice exams. At the actual exam, we will pass out the question sheet, give everyone a few minutes to read the questions, pass out the answer booklets, and then start the clock.

In addition to the practice exams, there are a collection of PrairieLearn practice problems and a collection of dynamic programming practice problems. The latter may be also reviewed on Sun Nov 8 in place of the homework party if there is time permitting. Completion of these problems will not be considered when determining your overall course grade.

Thu Oct 29

Midterm 2 will be held on Monday, November 9, from 7pm to 9pm. The exam will focus on material featured in Homeworks 5 through 9 plus the interface of any algorithms introduced on Tuesday, November 3: recursion, divide and conquer, backtracking, dynamic programming (including tree-shaped dynamic programming and dynamic programming on dags), graphs, traversal / connectivity / reachability through whatever-first search, depth-first search, topological sort, and shortest paths.

  • The exam will be split across multiple rooms throughout the Campus Instructional Facility (CIF). Please go the room that matches the start of your last name.

  • Please read and understand the exam policies. In particular, you are allowed to bring one double-sided 8½“×11“ handwritten cheat sheet to the exam.

  • We are offered multiple optional review sessions next week:

    • Thursday, November 5, in place of the usual lecture
    • Friday, November 6, in place of the usual labs
    • Sunday, November 8, in place of the usual homework party

    There will no homework party on Monday, November 9 (as you’ll be taking the exam!)

  • We will post multiple practice exams this weekend, which will have the same format as (but different questions than!) the actual midterm. We will cover these practice exams in the review sessions. Solutions and walkthrough videos will be released for each practice exam after the corresponding review session.

  • We are offering a conflict exam on Tuesday, November 10. If you cannot attend the regular midterm for any of the reasons outlined in the student code, please fill out this registration form no later than Friday, November 6. If you already know you are unavailable both Monday evening and Tuesday morning, fill out the form and email Emily as soon as possible. On Monday, November 9, we will email the precise time and location of the conflict exam to students who have filled out the registration form.

  • If you have a DRES accommodation, you are welcome to take the exam at the DRES Testing Accommodation Center either Monday or Tuesday. We strongly recommend scheduling your exam at TAC immediately if you have not done so already.

Wed Oct 21

The following line as has been added to the bottom of the Homework 8 Problem 1:

You may use the following fact without proof: Given a directed graph G = (V, E) with non-negative real valued edge weights w : E \to R^+ and a vertex s, Dijkstra’s algorithm computes for each vertex v \in V the value \mathit{dist}(v), the distance from s to v. The algorithm runs in O(|E| \log |V|) time.

Dijkstra’s algorithm is covered in the prerequisite course CS 225, meaning it was already fair game to use without citation. However, it is not listed as part of the stuff you already know. We’ll cover it in this course next week.

♾️
Older announcements