CSE 12 - Fall 2016. 

Instructor: Marina Langlois



Schedule
Syllabus
Hours
Useful Links

Course overview

This course presents fundamental concepts in data structures and algorithm analysis. We will look
at why some arrangements of data lend themselves to efficient handling and how to implement these
arrangements. Data structures are collections: stacks, queues, and graphs, implemented using arrays,
linked lists, and trees.

We will begin by reviewing arrays and linked lists. These provide the basis for implementing the other
data structures discussed. Three classic data structures are the stack, the queue, and the priority queue,
ordered collections whose elements are accessed in a particular sequence only.

We will present a general-purpose collection, binary search trees, for speedy access, and the very
fast hash-table structure.

If time permits, we will spend a few lectures on an intro to a C language.


Schedule


NOTE: Subject to change throughout the quarter

Class#
Date
Topic
Slides



Ted
WEEK 0

1
09/23
F
Introduction and Course Logistics
Java Warm-up

WEEK 1

2
09/26
M
Abstraction and Interface

3
09/28
W
JUnit testing, Generics, Java Collection
References in Java


4
09/29
F
Linked Lists, iterators
WEEK 2

5
10/03
M
Linked List, cont

6
10/05
W
Linked List, cont
7
10/07
F
Collections, Generics, Iterators
WEEK 3

8
10/10
M
Algorithm and program analysis: analytical approach

9
10/12
W
Algorithm and program analysis: analytical approach (cont)
10
10/14
F
Empirical program measurement.


WEEK 4

11
10/17
M
Stacks


12
10/19
W
Stacks and the Adapter Design Pattern
13
10/21
F
Queues and Circular Array
WEEK 5

14
10/24
M
Search algorithms. Sorting part 1.

16
10/26
W
Recurrsion. Sorting part 2.
17
10/28
F
MIDTERM


WEEK 6

18
10/31
M
Generics. Part 2.

19
11/02
W
Heap/ Priority Queue
20
11/04
F
Heap Sort. Heap complexity

WEEK 7
21

11/07
M
Binary trees, Binary Search Trees

22
11/09
W
Binary Search Trees, add/remove/delete
23
11/11 (h)
F
HOLIDAY! NO CLASSES

WEEK 8
24

11/14
M
Hash Tables (direct hahsig and chaining)
25

11/16
W
Hash Tables (hash functions)
26
11/18
F
Hash Tables (open addressing). Time Complexity.
WEEK 9
27
11/21
M
Introduction to C

28
11/23
W
Introduction to C
29
11/25 (h)
F
HOLIDAY! NO CLASSES
WEEK 10
30
11/28
M
Introduction to C
31
11/30
W
Introduction to C/Review


32
12/02
F
Review

Final week

12/08
11:30-2:30
(Thursday)
FINAL EXAM

THE END


Useful Links