We will be using Gradescope for this course. Check out the Gradescope Information Page for information on how to submit programming assignments to Gradescope.

That page also explains how the score reported by Gradescope translates to the two-level scale of *Incomplete, and Pass* that is used in this course.

Module Number | Module Name | Assignment |
---|---|---|

Module 1 | Div. and Con.: Insertion sort, Mergesort, and Quicksort | Sorting (grab the code here) |

Module 2 | Div. and Con.: Recurrence Relations | Recurrence Relations |

Module 3 | Div. and Con.: Advanced Topics | Trading |

Module 4 | Graphs: BFS and DFS | Written Graph Problems |

Module 5 | Graphs: Kruskal’s and Find-Union | Wiring |

Module 6 | Graphs: Prim’s and Dijkstra’s | More Graphs! |

Module 7 | Greedy algorithms | Daycare |

Module 8 | Dynamic Programming | Drainage |

Module 9 | Network Flow and Ford-Fulkerson | Flow Written |

Module 10 | Bi-Partite Matching and Reductions | Scheduling |

Sample Programming Assignment: A zip containing a sample programming assignment, a solution in three languages, and an example write-up. You can even submit this to Gradescope!

Latex Tutorial: A short “assignment” we used to require that asks you to practice with latex. Includes some links to some tutorials on using Latex