Syllabus

CS 130A Data Structures and Algorithms I

Summer Session A 2019

Lecture

Tu W Th - 0900-1050 PHELP 3526

Office Hours: Tu 0800-0850 Trailer 936

My github

Email: ccoakley at tekabal dot com

Discussion

W 1100-1150 PHELP 2536

Office Hours: W 1220-1400 Trailer 936

Introduction

This is an undergraduate course on the analysis and implementation of data structures and algorithms. The syllabus consists of representing sets in support of various operations and groups of operations, and the computational complexity of these operations or groups of operations (e.g., union-find).

Textbook

The main textbook for the course is Data Structures and Algorithm Analysis in C++, by Mark Allen Weiss. Our schedule does not follow the same sequence of the book.

Grading

The grade breakdown is as follows:

Late Policy

Late work is heavily frowned upon. This is mostly out of concern for the TA's mental health, but also because the summer schedule is extremely tight. Late days begin counting one minute after the deadline and are 24 hour periods independent of weekends or holidays. A penalty of 10% is assessed on the first late day. Two days late, and a penalty of 20% is assessed. No work will be accepted after 2 days.

Exams are not included in the late policy. There are no makeup exams.

Tentative Schedule

The slides linked are older versions of professor Suri's slides. A current version of the slides are here.

Date Topic Reading Events
Week 1
6-25 Introduction I CH1 CH2
6-26 Hashing
6-27 Priority Queues
Heaps
d-heaps
CH 5
Week 2
7-2 Search Trees
7-3 Red-Black Trees CH 6
7-4 HOLIDAY
Week 3
7-9 Amortized Analysis HW 1 Due
7-10 Splay Trees
7-11 Union Find
Path Compression in C++
A(m,n)
CH 4
Week 4
7-16 Graphs
Topological Sorting
Prog 1 Due
7-17 MST
7-18 Shortest Path Algorithms
Week 5
7-23 B-Trees
7-24 Randomized Algorithms
kD-Trees
CH 9 HW2 Due in Discussion
7-25 CH 8 Prog2 due just before midnight
Week 6
7-30
7-31 Review CH 12
8-1 Final

Assignments

Additional Resources