CSCI 3212

The course Syllabus is here.
Practice Final Exam, and solutions (updated).
homework 5.
My lectures are drawn from fantastic online materials from David Mount, and Steven Skienna.
Lecture Notes:
  1. [8/29] Introduction/ Algorithmic Thinking
    1. Lecture 1 approximately followed this lecture by Steve Skienna
    2. Lecture 2 approximately followed Lectures 2, 4 from These lecture notes by David Mount.
  2. Homework 1, PDF version of assignment, and if you like to use LaTeX as a way to write up technical homeworks, I'm also sharing my LaTeX source.
  3. [9/5] Sorting, Quicksort, Mergesort, Bucketsort... we approximately followed these notes from Steve Skienna.
  4. [9/12] Search Trees, and Lower Bound for sorting on page 256-33 of these notes.
  5. [9/19] Hashing.
  6. [9/26] MIDTERM 1 review. Midterm 1 on 9/28.
  7. [10/3] Graphs, Tuesday lecture largely followed these notes, and thursday lecture followed these notes.
  8. Homework 3, due October 17.
  9. [10/10] Graphs II, spanning trees/union find. Notes about Depth First Search, and
  10. [10/17] Minimum Spanning Trees Notes about Prim and Kruskals algorithm for Minimum Spanning Trees, and a Video of the proof of Kruskal's algorithm, Video of Kruskals Algorithm.
  11. [10/24] Shortest Paths Shortest Paths, Dijkstra's algorithm nicely visualized.
  12. [10/31] Dynamic Programming Intro Dynamic Programming, and alternative notes and examples
  13. MIDTERM 2 on 11/9
  14. [11/14] Strings, Search and Edit Distance visualization: .
  15. [11/21] Applications to Computational Biology [Thanksgiving]
  16. [11/29] NP Completeness Lecture Notes. Clear specific proof that independent set is NP-Complete Notes.
University policy on observance of religious holidays
In accordance with University policy, students should notify faculty during the first week of the semester of their intention to be absent from class on their day(s) of religious observance. For details and policy, see:
Academic integrity code
Academic dishonesty is defined as cheating of any kind, including misrepresenting one's own work, taking credit for the work of others without crediting them and without appropriate authorization, and the fabrication of information. For details and complete code, see:
Support for students outside the classroom
Disability Support Services (DSS): Any student who may need an accommodation based on the potential impact of a disability should contact the Disability Support Services office at 202-994-8250 in the Rome Hall, Suite 102, to establish eligibility and to coordinate reasonable accommodations. For additional information see: Mental Health Services 202-994-5300: The University's Mental Health Services offers 24/7 assistance and referral to address students' personal, social, career, and study skills problems. Services for students include: crisis and emergency mental health consultations confidential assessment, counseling services (individual and small group), and referrals. For additional information see: