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
http://cs.ucsb.edu/~koc/cs130a
Announcements
 Instructor: Professor Koç
→ Koç is pronounced as "Coach"
 Class Schedule and Classroom:
Tuesdays and Thursdays 2:003:15pm; Girv 2128
 My office hours:
Monday, Tuesday, Wednesday 3:155:00pm; Office: Phelps 1314
 Discussion Schedule and Classrooms:
Friday 1:001:50pm; Phelps 3505
 TA is Dibyendu Nath (dnath+ta@cs.ucsb.edu)
 TA Office Hours: Mondays and Wednesdays 11:0012:30pm
 TA's web page for the discussion section:
here
 Reader is Malavikka Ramesh (malavikkaramesh@umail.ucsb.edu)
 Reader Office Hours: Wednesdays 1:003:00pm
 TA and Reader Office: Trailer 936 Room 104
 Check the class website,
the Piazza
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
Homework Assignments
 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 to the HW Box in HFH 2108.
Every late day subtracts 10 % from the HW grade.
Programming Assignments
 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
Deliver the assignment using turnin before midnight on the due date.
Read the assignment specs for instructions.
Weekly Course Plan
 Week 1: Introduction, Analysis, BigOh 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: dHeaps, Leftist Heaps, Midterm1
 Week 6: Binary Search Trees, Balanced Search Trees (AVL)
 Week 7: AVL Trees Operations and Analysis, Splay Trees
 Week 8: BTrees, BTrees 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:
url
 Heapsort Audibilization:
url
 15 Sorting Algorithms in 6 Minutes:
url
 Sorting Algorithms:
url
 Inside a Google Onsite Interview:
url
 How NOT to Hire an Engineer:
url
 Why the New Guy Can't Code:
url
Textbook
Grading Rules
 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.
Prerequisites
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
