CS 445: Data Structures

Daily Schedule

Week Day Topics References Announcements & Assignments
1 8/31
  • Introduction to the course
  • Syllabus
  • Review of CS/COE 401
  • Classes and Objects
Gaddis Ch. 6
Carrano App. C, D

Notes

Code from class:
PersonNotes01
Recitation 1

Review Course Information & Policies
9/2
  • References, pointers and memory
  • Building new classes via composition and inheritance
Review

Gaddis Ch. 10
Carrano App. C, D plus Prelude

Notes

PersonDriver02.java
2 9/7 No class Assignment 1
due Wed, Sept. 23

Review Course Information & Policies
9/9
  • Polymorphism
  • Class Hierarchy
  • Abstract Classes
  • Interfaces
Review
Gaddis: Chapter 11
Carrano: Appendix D, Prelude

Notes

Payroll Example
3 9/14
  • Generics
  • Abstract Data Types (ADTs)
Review
Gaddis Ch. 17
Carrano: Java Interlude 1 (Generics)

Notes
Recitation 2

Assignment 1
due Wed, Sept. 23

For copyright reasons, some examples are now protected.
If you are on Pitt's network, you can access them without problem.
If you are not on Pitt's network, you must enter:
Username: cs445
Password: data

Review Course Information & Policies

CS Welcome Party and Activities Fair
on Friday
9/16
  • Bag Data Type
  • Arrays
Review

Carrano Chapter 1 & 2

Notes

ArrayBag.java (original)
ArrayBag1.java (version 1)
4 9/21
  • Bag: Dynamic size array
  • Introduction to Linked Lists
  • Bag: Linked list
Review

Carrano: Chapter 2 & 3

Notes

ArrayBag2.java (version 2)
Recitation 3
- Discuss review questions
- Work on assignment 1

Assignment 1
due Wed, Sept. 23

Women in Computer Science (WiCS)
First meeting Tuesday, Sept. 22,
8:30 pm in 5317 Sennott Square
(meets every other Tuesday)
9/23
  • Bag: Linked list
  • Stacks: Introduction and uses
Review

Carrano: Chapter 3 & 5

Notes 2 (Creating Container Classes)
Notes 3 (Stack)

LinkedBag.java
5 9/28
  • Stacks: Implementation
  • Algorithm Analysis: Idea, Background & Simple Examples
Review

Carrano: Chapter 6 & 4

Notes (Stacks)
Notes (Algorithm Analysis)
Recitation 4

Quiz 1 next week

Assignment 2
9/30
  • Algorithm Analysis
Review

Carrano: Chapter 4

Notes
6 10/5
  • Algorithm Analysis: Amortized Analysis
  • Recursion
Review

Carrano: Chapter 7 & 18 (sequential search)

Notes (algorithm analysis)
Notes (recursion)
Recitation 5
- Quiz 1 (includes 9/28 lecture)
- Algorithm Analysis

Assignment 2

Wednesday Office Hours
Rescheduled to:
  • Monday, Oct. 5: 7:15pm - 8:00pm
  • Wednesday, Oct. 14: 5:05pm - 5:50pm
10/7
  • Recursion: Divide & Conquer
Review

Carrano: Chapter 7 & 18

Notes
7 10/12
  • Recursion (Backtracking)
    • Introduction
    • Eight Queens problem (discussion, idea, solution)
    • Towers of Hanoi problem
Review

Carrano: Chapter 7

Notes

Code from class: RecursionExample.java
Recitation 6

Assignment 2
Due Thursday

Midterm on Monday, Oct. 26
in lecture

Assignment 3
due 10/29

Additional Office Hours:
Wednesday, Oct. 14: 5:05pm - 5:50pm
10/14
  • Recursion (Backtracking): Finish Tower of Hanoi problem
  • Sorting
    • Introduction
    • Insertion Sort
    • Bounded Generics
Review

Carrano: Chapter 7 & 8

Notes (recursion)
Notes (sorting)
8 10/20
Tuesday
  • Sorting
    • Insertion Sort
    • Selection Sort
    • Shellsort
Review
Quiz 1 Solution

Carrano: Chapter 8

Notes
Recitation 6:
- Review for midterm

Midterm on Monday, Oct. 26
in lecture

Assignment 3
due 10/29
Minor change to Extra Credit Option 2
10/21
  • Sorting : Faster Sorts
    • Merge Sort
    • Quick Sort
Review

Carrano: Chapter 9

Notes
9 10/26 Midterm Recitation 7

Assignment 3
due 10/29
10/28
  • Sorting
    • Quick Sort
    • Merge Sort vs. Quick Sort
Review

Carrano: Chapter 9

Notes
10 11/2 Review

Carrano: Chapter 12 & 13

Notes

Typed Notes from Class
Recitation 8
Return quizzes

Assignment 4

Final Exam Schedule
on CourseWeb
11/4
  • List ADT
    • Linked implementation
    • Linked List Variations
    • Runtime Analysis
Review

Carrano: Chapter 13 & 14

Notes
11 11/9
  • List ADT : Iterators
    • Introduction
    • Interface and Operators
Review

Carrano: Chapter 15

Notes

Typed notes from class
Recitation 9
Midterm Exams returned

Assignment 4
due 11/16

Quiz 2 next week

Final Exam Schedule
on CourseWeb

CS Undergraduate Town Hall Meeting
Addressing new CS/IS unit
Monday, November 16 at 9am in 5317 SENSQ
RSVP
11/11
  • List ADT : Iterators
    • List Iterator
  • Trees
    • Introduction
Review

Carrano: Chapter 15 & 23

Notes (List)
Notes (Trees)
12 11/16
  • Trees : Binary Trees
    • More tree definitions
    • Binary trees
    • Height of a tree
    • Tree implementations (interfaces and classes)
    • getHeight() method
Review

Carrano: Chapter 23 & 24

Notes
Recitation 10
Quiz 2
Midterm Exams returned

Assignment 4
due 11/16

Assignment 5

Finals Week:
Monday (12/14): Review
Wednesday (12/16): Final Exam
11/18
  • Trees : Binary Trees
    • copy() method
    • Tree traversals (preorder, inorder, postorder)
    • Runtime of traversals
Review

Carrano: Chapter 24 & 23

Notes
13 11/23
  • Trees : Binary Search Trees
    • Introduction
    • Specifications
    • Implementing a Binary Search Tree (getEntry(), add(), remove())
Review

Carrano: Chapter 23 & 25

Notes
Recitation 11
- Discuss Binary Trees and Binary Search Trees

Assignment 5

Finals Week:
Monday (12/14): Review
Wednesday (12/16): Final Exam
11/25 No class
14 11/30
  • Trees : Binary Search Trees
    • Finish BST remove() method
    • Iterating on a Binary Search Tree
    • Overall BST performance
  • Queues
    • Introduction
Review

Carrano: Chapter 25 & 10

Notes (BST)
Notes (Queues)
Recitation 12

Assignment 5

OMET Teaching Evaluations

Finals Week:
Monday (12/14): Review
Wednesday (12/16): Final Exam
12/2
  • Queues
    • linked implementations / variations
    • array implementation
    • comparison
Review

Carrano: Chapter 11

Notes
15 12/7
  • Priority Queue ADT
  • Heap ADT
Review

Carrano: Chapter 10, 11, & 26

Notes
Recitation 13

Assignment 5
Due Friday, December 11

OMET Teaching Evaluations

Finals Week:
Monday (12/14): Review
Wednesday (12/16): Final Exam

Final Exam Review Survey
(due December 12)
12/9
  • Heaps
  • Queues and Trees
  • Mutable Objects and Cloning
  • CS/COE 1501 Introduction
  • Review for final
Review

Notes (Heaps)
Recitation 13 (Queues & Trees)
Notes (Mutable Objects & Cloning)

Data Structure & Algorithm Visualizations
16 12/14
Review for Final
(6:00pm - 7:15pm in 5502 Sennott Square)

12/16
Final Exam
(6:00pm - 7:15pm in 5502 Sennott Square)

No office hours after the exam