CS 130A Data Structures and Algorithms I

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: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:50am; Phelps 3505
  • TA is Dibyendu Nath (dnath+ta@cs.ucsb.edu)
  • TA Office Hours: Mondays and Wednesdays 11:00-12:30pm
  • TA's web page for the discussion section: here  

  • Reader is Malavikka Ramesh (malavikkaramesh@umail.ucsb.edu)
  • Reader Office Hours: Wednesdays 1:00-3: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 Thursday, May 1, in class.
  • Second Midterm is on Thursday, May 29, 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
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 Tue Apr 29
Deliver the assignment using turnin before midnight on the due date. Read the assignment specs for specific instructions.

Weekly Course Plan

  • Week 1: Introduction, Analysis, Big-Oh notation, Asymptotics
  • Week 2: Exponentiation, Max Subsequence, Sets ADT, Lists, Queues.
  • Week 3: Hashing, Hash functions, Analysis of Hashing, Universal Hashing, Perfect Hashing
  • Week 4: Heaps and d-Heaps, Leftist Heaps
  • Week 5: Review, Search Trees, 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:   url
  • Heapsort Audibilization   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