CS 130A Data Structures and Algorithms I
Spring Term 2014 - Credits: 4
EnrlCd Lecture: 08326, Discussion: 0334
Department of Computer Science
University of California Santa Barbara
- Instructor: Professor Koç
→ Koç is pronounced as "Coach"
- Class Schedule and Classroom:
Tuesdays and Thursdays 2:00-3:15pm; Girv 2128
- My office hours:
Monday, Tuesday, Wednesday 3:15-5:00pm; Office: Phelps 1314
- Discussion Schedule and Classrooms:
Friday 1:00-1:50pm; Phelps 3505
- TA is Dibyendu Nath (firstname.lastname@example.org)
- TA Office Hours: Mondays and Wednesdays 11:00-12:30pm
- TA's web page for the discussion section:
- Reader is Malavikka Ramesh (email@example.com)
- Reader Office Hours: Wednesdays 1:00-3:00pm
- TA and Reader Office: Trailer 936 Room 104
- Check the class website,
page, and/or your email once a day
- Grades →
The "code" is equal to your perm mod 9973
- First Midterm is on Tuesday, May 6, in class.
- Second Midterm is on Thursday, June 5, in class.
- Course notes and slides here: notes
Deliver the assignment to the HW Box in HFH 2108.
Every late day subtracts 10 % from the HW grade.
- Homework #1: hw1.pdf -
due 4pm Wed Apr 16
- Homework #2: hw2.pdf -
due 4pm Fri Apr 25
- Homework #3: hw3.pdf -
due 4pm Fri May 9
- Homework #4: hw4.pdf -
due 4pm Tue June 3
- Homework #5: hw5.pdf -
due 4pm Fri June 6
Deliver the assignment using turnin before midnight on the due date.
Read the assignment specs for instructions.
- Programming Assignment #1: pa1.pdf -
due 11:59pm Thu May 1
- Programming Assignment #2: pa2.pdf -
due 11:59pm Fri May 16
- Programming Assignment #3: pa3.pdf -
due 11:59pm Sun June 1
- Extra Credit Programming Assignment #4:
pa4.pdf - due 11:59pm Mon June 9
Weekly Course Plan
- Week 1: Introduction, Analysis, Big-Oh Notation, Asymptotics
- Week 2: Max Subsequence Algorithms, Sets ADT, Lists, Queues.
- Week 3: Hashing, Hash functions, Analysis of Hashing,
- Week 4: Universal Hashing, Perfect Hashing, Heaps
- Week 5: d-Heaps, Leftist Heaps, Midterm1
- Week 6: Binary Search Trees, Balanced Search Trees (AVL)
- Week 7: AVL Trees Operations and Analysis, Splay Trees
- Week 8: B-Trees, B-Trees Insert and Delete, Bloom Filters
- Week 9: Union Find Data Structure, Midterm2
- Week 10: Graph Algorithms and Sorting Algorithms
Other Course Material
- Binary Heap Visualization:
- Heapsort Audibilization:
- 15 Sorting Algorithms in 6 Minutes:
- Sorting Algorithms:
- Inside a Google Onsite Interview:
- How NOT to Hire an Engineer:
- Why the New Guy Can't Code:
- Homework Assignments: 30 %
- Programming Assignments: 30 %
- Two Midterm Exams: 40 %
- No Final Exam
Course (Catalog) Description
The study of data structures and their applications.
Correctness proofs and techniques for the design of
correct programs. Internal and external searching.
Hashing and height balanced trees. Analysis of
sorting algorithms. Memory management. Graph traversal
techniques and their applications.
CS 40; CS 32 or CS 20 and CS 60; PSTAT 120A or ECE 139;
open to computer science, computer engineering, and
electrical engineering majors only. Students in other majors
need to petition.
Dr. Cetin Kaya Koc