csu logo green Department of Computer Science

Algorithms and Data Structures 2012

-Home -Syllabus -Schedule -Assignments -Grading Policy -Course Policy -Code of Conduct -RamCT
Week # Lectures Readings Recitations Assignments

Week 1
1/18, 1/20

Course introduction,
Recursion, Mathematical Induction, Grammer
Lecture note: [Part 0: Course Overview] [Part 1: Recursion and problem solving methods]
Part 1 updated Jan. 23

Chapters 6
in Prichard

No Recitation scheduled


Week 2

Mathematical Induction Revisit,
Programming Assignment Overview: [Download] [PA1-Overview]

Lecture note: [Part 2: Stacks]

Chapter 7
in Prichard

Tour of CS200 RamCT, Checkin system, Programming Assignment 0 (submit anything)

WA (Written Assignment)1 Due on 1/27 at the beginning of class [Download]

PA(Programming Assignment) 0 due on 1/26 by 2:00PM

Week 3

Lecture note: [Part 3: Queues]
Advanced Object Oriented programming concept(inheritance, polymorphism, abstract classes)
Lecture note: [Part 4: Advanced Java programming concept]
Introduction to ADT,
Computational Complexity
Section 1. Time Complexity, Big O Analysis)
Lecture note: [Part 5: Computational Complexity(1)]

Chapter 8, 9 in

Sections 3.2, 3.3 in Rosen
Section 8.1, 8.2 in Rosen

Mathematical Induction [Handout]

PA 1
Due on 2/2 by 2:00pm

Week 4

Computational Complexity cont'd
Section 2. Search and Advanced sorting) [Part 5: Computational Complexity(2)] Updated on Feb 10.(final version)


Queue and Interface


Week 5

Section 3. Recurssive Relations and Divide & Conquer [Part 5: Computational Complexity(3)] Chapter 10
in Prichard
Big O Practice

WA 2 Due on 2/15 at the beginning of class

Week 6

Special talk "Successful Team Programming", by Elaine Regelson ,Director of mentoring and retention, CS, CSU, 2/20/2012 (Slides)

Midterm 1 Preparation Guide(pdf)
Preparation kit (.tar): this contains worksheet, previous quizzes, and sample code for quicksort.
Midterm Exam -1 (2/24 in class)

Section 11.1, 11.2 in Prichard

Review for the Midterm 1


Week 7

Midterm 1: review
Binary Tree, Binary Search Tree[Part 6: Trees (1)] modified on March 2.

Section 11.3, in Prichard Quicksort

Week 8

Tree cont'd (Balanced Search Trees)
Balanced Search Tree [Part6:Trees(2)-No animatioin version] : modified on March 23

Section 13.1 in Prichard

Binary Search Trees

PA 2 due on 3/8 by 5:00 pm: Last modified on March 2.

Week 9
Spring Break

No class

  No Recitation  

Week 10

Balanced Search Trees cont'd (2-3 trees, 2-3-4 trees, Red-black trees, AVL trees, BTree) [Part6:Trees(3)]

  Help session for PA3[Handout]

WA3 Due on 3/21 at the beginnng of class

Week 11

Midterm Exam -2 (3/30 in class)
Midterm 2 Preparation Guid(pdf)
Worksheet (pdf)
AVL tree, RB tree applet(here)
Priority Queue, Heaps and Heapsort
[Part7:Tables]: modified on April 2

Section 12.1,2
in Prichard
Open Help session for PA3
Review for midterm II [Handout]

PA 3 due on 3/27 by 2:00 pm

Week 12

Heaps and Heapsort continued. [Part7:Tables]
[Part8:Hashing]:updated on April 4th
Section 13.2
in Prichard
Section 8.1~3
in Rosen
Hash Table [Handout] [Files]  

Week 13

Relations cont.[Part9:Relations] updated on April 13th
and Graphs

Section 14.1,2 in Prichard Heaps [Handout][Files] WA 4 Due on 4/13 at the beginning of class

Week 14

Graphs: Topological sorting, Spanning trees, Minimum Spanning Trees, Shortest Paths, Circuits [Part10:Graphs][Part10:Graphs-2] Chap 9 in Rosen
Section 14.3
in Prichard
Relations [Worksheet]

PA4 due on 4/19 by 2:00 PM

Week 15

Graph cont.[Part10:Graphs-2] [Part10:Graphs-3]



WA 5 Due on 4/30 at the beginning of class

Week 16

Graph cont. Reviews for the final exam
Final Exam Toolkit [here]

  Review for the Final Exam

PA 5 due on 5/3 by 2:00 PM

Final Week

Final Exam
Time: May 10, 11:50AM ~ 1:50PM
Location: Engineering Room 120


CSU Spring 2012Final exam schedule