
CS-130A: Data Structures and Algorithms I
- Instructor: Prof. Subhash Suri (suri@cs.ucsb.edu).
- Office: Engr I, Rm. 2111
- Class: Mon-Wed 9:30 - 10:45 (PHELP 1260)
- Office Hours: Mon, Wed 11-12 or by appointment.

Teaching Assistants
- Rajesh Kumar (Email: rajesh@cs.ucsb.edu)
Discussion Section, Friday 1-2 PM.
TA hours: Tues, 3-5 PM.
Location: HFH 2120 B.
- Shiyuan Wang (Email: sywang@cs.ucsb.edu)
Discussion Section, Mon 4-5 PM.
TA hours: Wed, 2:50 - 4:50 PM.
Location: Phelps 1413.
- Eugene Dvortsov (Email: eugened@umail.ucsb.edu)
Discussion Section, Mon 4-5 PM.
Location: Trailer 932.
- The Course Schedule appears
here
Textbook
- The main textbook for the course is
Data Structures and Algorithm Analysis in C++,
by Mark Allen Weiss.
- My lectures will only roughly follow the style and content
of this book. Instead, I use my own notes that
draw upon several other books and original research
papers for specific algorithms and data structures.
- It is, therefore, imperative that you attend all lectures
because you will not find in the textbook many ideas and
details discussed in class.
- A rough sketch (including only the text, but not figures and
examples) of my lecture notes is provided in the links below.
However, I emphasize that unless you personally attend the
lectures, these notes will not prove very helpful.
Lecture Slides
Homework Assignments
- Homework 1 (handed out Oct 1), Problems 2.1, 2.2, 2.6, 2.7.
- Homework 2 (handed out Oct 8), Problems 2.11, 2.26, 2.27, 3.34.
- Homework 3 (handed out Oct 15), Exercise Set Download.
- Homework 4 (handed out Oct 22), Exercise Set Download.
- Homework 5-6 (handed out Nov 5; due on Nov 16 or 19),
Exercise Set Download.
- Homework 7 (handed out Nov 19; due on Mon, Nov 26),
Exercise Set Download.
- Homework 8 (handed out Nov 28), Problems 9.1, 9.6, 9.6(a), 9.16.
Programming Assignments
- 1. Programming Assignment #1
(in pdf).
*DEADLINE: 11:59 PM, Nov 7 *
- 2. Programming Assignment #2
(in pdf).
*DEADLINE: 11:59 PM, Dec 7 *
-
Turnin Instructions for submitting
your programming assignments.
The Final Grade!
- I will assign weekly homework exercises that you must do.
These exercises will NOT be individually graded by TAs.
Instead, you will get a binary score for completing them,
and turning them on time.
- The TAs will discuss solutions to these exercises during the
Discussion Section, so you must turn in your work on time.
- The completion and on-time submission of the homework exercises
will account for 20% of your final grade.
- There will be 2 programming assignments during the quarter,
requiring you to program some combination of the data structures
described in class, and perhaps use them in an algorithm.
This will account for 30% of your final grade.
- The remaining 50% of your grade will be determined by
two in-class written tests.
These tests will focus on your understanding of the concepts
and details of the data structures and algorithms.
- You can see the solutions for the 2nd midterm here.
