CS 130A Data Structures and Algorithms I

CS 130A Data Structures and Algorithms I

Spring Term 2011 - Enroll Code 46383 & 46391
Department of Computer Science
University of California Santa Barbara
http://cs.ucsb.edu/~koc/cs130a

Announcements

  • Class Schedule and Classroom: Mondays and Wednesdays 9:30-10:45am; Phelps 1440.
  • My office hours: Mondays and Wednesday 11:00-12:30.

  • Discussion Schedule and Classroom: Tuesdays 3:30-4:20pm; Trailer 932 and Room 101.
  • Our TA is Yang Li (yangli@cs); TA Office: Trailer 931
    TA office hours: Tuesdays 2:30-3:30pm.
  • Our TA, Yang Li's website for CS 130A

  • Please subscribe to groups.google.com/group/cs130a for class discussions.
  • Please check the class website, Google group page, and/or your email once a day.

  • PA#1 is due May 10, Tuesday, Midnight -- a 1-day extension is granted (one-time only!)

Grades

  • Grades   -- updated on June 11.

Homework Assignments

There will be 4 homework assignments.

Programming Assignments

There will be 2 programming assignments. The assigments will be posted according to the following:
  • Project 1 .. posted Apr 25 .. due May 10
  • Project 2 .. posted May 18 .. due 23:59 Friday Jun 3

Midterm Examinations

There will be 2 midterm exams according to the following schedule:
  • Midterm 1 .. on May 04
  • Midterm 2 .. on May 25

Weekly Course Plan

  • Week 01 - Mar 28 & Mar 30:
  • Week 02 - Apr 04 & Apr 06: HW1 (posted Apr 6)
  • Week 03 - Apr 11 & Apr 13: HW1 (due Apr 13), HW2 (posted Apr 13)
  • Week 04 - Apr 18 & Apr 20: HW2 (due Apr 20)
  • Week 05 - Apr 25 & Apr 27: Project1 (posted Apr 25)

  • Week 06 - May 02 & May 04: MT1 (on May 4)
  • Week 07 - May 09 & May 11: Project1 (due May 9), HW3 (posted May 11)
  • Week 08 - May 16 & May 18: HW3 (due May 18), Project2 (May 18)
  • Week 09 - May 23 & May 25: HW4 (posted May 23), MT2 (on May 25)
  • Week 10 - May 30 & Jun 01: HW4 (due Jun 1), Project2 (Jun 3, Friday)

Course Material

  • Week 1: Introduction, Analysis, Bi-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
  • Week 6: Midterm1, Binary Search Trees
  • Week 7: Balanced Search Trees (AVL), AVL Trees Operations and Analysis
  • Week 8: Splay Trees, B-Trees, B-Trees Insert and Delete, Bloom Filters
  • Week 9: Union Find Data Structure, Midterm2
  • Week 10: Graph Algorithms and Sorting Algorithms

Additional Course Material

  • How NOT to Hire an Engineer:   url
  • Finding kth Largest Items using Binary Heap:   url
  • Why the New Guy Can't Code:   url

Textbook

Mark Allen Weiss. Data Structures and Algorithm Analysis in C++, Third Edition, Addison Wesley, 2006.

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.

Dr. Cetin Kaya Koc