Brain & AI Lab

Data Structures & Algorithm Analysis

Data Structures and Algorithm Analysis (CSC317) 

syllabus | problem sets | practicum

Fall 2018
Instructor: Odelia Schwartz (odelia at cs dot miami dot edu)
Tues, Thurs 8am – 9:15AM; Dooly Memorial 312
TA: Jack McKeown (jam771 at miami dot edu) (CSC401 TA: Jack McKeown)

This is a course on algorithmic thinking. You will learn how to think about problems from the point of view of machine procedures to solve the problem. You will be given techniques to break a problem down, to notice its combinatorial difficulties, to reason about correctness, and to measure the efficiency of a solution. You will learn how to recognize the inherent complexity of a problem – the best possible efficiency that a problem can be solved.

The course does not require programing. The course is more about thinking about code, than writing code. However, the Practicum does Javascript programming and dynamic HTML to create creative animations of the algorithms presented in the course. The Practicum is self-study, and highly recommended. In the practicum you will learn the basis of in-browser programming, and exercise your coding skills for algorithms.


  • The required textbook is Introduction to Algorithms (3rd edition), Cormen, Leiserson, Rivest and Stein.
  • Extracurricular (optional) reading: Algorithms to live by. The Computer Science of Human Decisions. Brian Christian and Tom Griffiths.
  • TA lab hours: Wednesday 11am-1pm. Ungar 310T (Projects lab).
  • The course assigns weekly problem sets, due on Thursdays in class. Please hand in homeworks on time and email in advance if there are unforeseen circumstances.
  • Grading is 30% homeworks, 30% midterm, 40% final.
  • Instructor office hours: Students are encouraged to ask questions. Please email odelia at cs miami edu to schedule an appointment in Ungar 310D.