CS260 — Lectures

Week Topics Reading from Text Homework
1 Introduction to Python; Equivalence Relation, Asymptotic Behavior (Big-O, Dominance) 1 hw1
2 Arrays (review), lists; stacks and queues; maps, Searching 2 hw2
3 Trees; Huffman coding 3 hw3
4 Sets, hash tables, dictionaries 4.1 – 4.9 hw4
5 BSTs, Tries, Heaps (Priority Queues) 4.10 – 5.3 hw5
6 (Midterm) 2-3 Trees 5.4 hw6
7 Disjoint Sets, Return midterm, Intro to Graphs 5.5, 6.1–6.2 hw7
8 Graphs - BFS, Dijkstra (SSSP), Floyd-Warshall (APSP), MST (Prim, Kruskal) 6.3 – 6.4, 7.1 – 7.3 hw8
9 Graphs - DFS, Dag, SCC, Topological Sort, Bipartite Matching 6.5 – 6.7, 7.3 – 7.5 hw9
10 Sorting, Solving Recurrence Relations 8, 9 None

Submission

Homeworks are in 2 parts: written, and implementation (programming). The written work will be submitted as a PDF to GradeScope . The practical (programming) work will be submitted on tux via submit.

Hand-written work will not be accepted.

Word Processors

Most word processors these days will publish to PDF. lyx is a WYSIWYG LaTeX creator, publishes to PDF. It's free, runs on Linux, Mac and Windows. Download from http://www.lyx.org/ . Good info can be found on wiki.lyx.org .

LaTeX

I have supplied an example LaTeX file. Instructions for compiling are in the header comments. Here is the resulting PDF.

You might also want to look at TexMaker. Not a WYSIWYG, I think, but, a helpful environment for editing tex files.

Markdown, with Math in LaTeX

Instead of learning a bunch of LaTeX, you can concentrate just on the math and algorithms, embed them in a Pandoc Markdown document. See CS260/Assignments/homework-example.md, which produces CS260/Assignments/markdown.pdf. Instructions for compiling are in the document.