CS 16

Introduction to Algorithms and Data Structures

Super Villains

CS16 introduces fundamental techniques for problem solving that are relevant to most areas of computer science, both theoretical and applied. Algorithms and data structures for sorting, searching, graph problems, and geometric problems are covered. Programming assignments conform with the object-oriented methodology introduced in CS15.

CS16 meets Spring semester, Tuesdays and Thursdays 1:00-2:20 PM in Salomon DECI. It is taught by Professor Seny Kamara with the assistance of undergraduate TAs.


  • Pre-Requisites

    If you did not take CS15, contact the professor to explore the possibility of a special arrangement. The following background is assumed: programming experience in Java, knowledge of basic binary arithmetic and elementary properties of polynomials, logarithms, and exponentials.

  • Piazza

    Access the course Piazza page here.

  • Collaboration Policy

    All enrolled students must read this policy.
  • Course Missive

    The missive is designed to acquaint you with the structure and objectives of CS16.
  • Homework Rubric

    The grading rubric we'll be using for your homework problems.