CMPSCI 187: Programming with Data Structures
Marc Liberatore and John Ridgway
Spring 2015 (archived)
Assignments
- HamSpam — an introductory programming
project, due 1/29/2015, 8:30 a.m.
Project
description (PDF)
Starting
point, an Eclipse project to start off with,
wrapped up as a zip file.
- Tic-Tac-Toe — showing your competence in 121 topics, due 2/05/2015, 8:30 a.m.
Project
description (PDF)
The
Eclipse project, wrapped up as a zip file.
- Hangman — using arrays and
linked lists to simulate a game; due 2/12/2015, 8:30
a.m.
Project
description (PDF)
The
Eclipse project, wrapped up as a zip file.
Minor
update on 2015-02-06 16:57 to clarify JUnit test
output.
Minor update on 2015-02-08 14:00 to clarify
comments in GameModel.java.
- Sets — using linked lists to implement
generic, immutable sets; due 2/24/2015, 8:30
a.m.
Project
description (PDF)
The
Eclipse project, wrapped up as a zip file.
An additional set of tests that the original set
missed. This is a Java file, so right-click on it
and choose to save it. Put it right in your project
folder in test/sets/.
- Balanced Brackets — building a stack with a
dynamic array, and using it to check for balanced
brackets; due 3/05/2015, 8:30 a.m. (Note: concurrent
with the next assignment!)
Project
description (PDF)
The
Eclipse project, wrapped up as a zip file.
- Postfix Expression Evaluator — building a
stack with a linked list, and using it to evaluate
postfix integer arithmetic; due 3/05/2015, 8:30 a.m.
(Note: concurrent with the previous assignment!)
Project
description (PDF)
The
Eclipse project, wrapped up as a zip file.
- Hanoi — recursion, list implementation, and
the Tower of Hanoi; due 3/12/2015, 8:30 a.m.
Project
description (PDF)
The
Eclipse project, wrapped up as a zip file.
- Queues — Queues, file system traversal and
Merge-Sort; due Friday 3/27/2015, 8:30 a.m.
Project
description (PDF)
The
Eclipse project, wrapped up as a zip file.
- Lists — Recursive implementation of a linked
list; due Thursday 4/2/2015, 8:30 a.m.
Project
description (PDF)
Minor update on 2015-03-28 05:00 to note the required
Iterator's remove method can just throw an
UnsupportedOperationException
The
Eclipse project, wrapped up as a zip file.
This file had a minor error in the test class: It
mistakenly referred to a class "List". A corrected
version referencing only "RecursiveList" was posted
early Friday morning.
- Binary Search and Scapegoat Trees
— the classic tree, and a self-balancing variant;
due Thursday 4/9/2015, 8:30 a.m.
Project
description (PDF)
The
Eclipse project, wrapped up as a zip file.
Minor update to both on 2015-04-02 to move BSTNode to
src/, and give advice about parent pointers in the
assignment description.
- Heaps and Priority Queues
— WITH TESTING;
due Thursday 4/16/2015, 8:30 a.m.
Project
description (PDF) — updated 2015-04-12 to
remove some inconsistencies between the document and the
distributed project. The project zip file has not
changed.
The
Eclipse project, wrapped up as a zip file.
- Search — finding paths to
goals; due Thursday 4/23/2015, 8:30 a.m.
Project
description (PDF)
The
Eclipse project, wrapped up as a zip file.
- Sorting Kata — practice
implementing sort algorithms; due Thursday 4/30/2015, 8:30 a.m.
Project
description (PDF)
The
Eclipse project, wrapped up as a zip file.
- URL Table — hashing and hash tables; due never!
Project
description (PDF)
The
Eclipse project, wrapped up as a zip file.