CMPS101 - Algorithms and Abstract Data Types


Course Basics

Class: M/W/F, 2-3:10
Location: Thimann 3

Instructor: C. (Sesh) Seshadhri (sesh@)
Office: E2-347A
Office hours: Mon, 3-4 (please email to let me know)

TA 1: Andrei Ignat (aignat@)
Discussion session: Thu, 10-11:30 , BE 105
Office hours: Thu, 9-10, BE-105

TA 2: Lena Reed (lireed@)
Discussion session: Tue, 6-7:30, BE 105
Office hours: Tue, 1-2, E2-480

TA 3: Kivanc Yazan (kyazan@)
Discussion session: Wed, 5-6:30, BE 105
Office hours: Wed, 11-12, E2-480

MSI Kenneth High (khigh@)
Discussion sessions:
Mon, 5-6:10, Social Sciences I Mac Computer Lab
Wed 12:30-1:40, ARCenter 221
Thu 6-7:10, ARCenter 130

Piazza: http://piazza.com/ucsc/spring2016/cmps101


Course Description

The aim of the course is to study basic algorithms and their relationships to common abstract data types. We will cover the notion of abstract data types and the distinction between an abstract data type and an implementation of that data type. The complexity analysis of common algorithms using asymptotic (big "O") notation will emphasized. Topics include (but not limited to) sorting, searching, as well as algorithm design and analysis. Abstract data types covered include priority queues, dictionaries, disjoint sets, heaps, balanced trees, and hashing. Familiarity with Python and Unix is assumed.

Course Textbook

We will follow Introduction to Algorithms, Third Edition by Cormen, Leiserson, Rivest and Stein. Course slides and additional handouts are available at the schedule.

Other announcements