Computer Science Fundamentals (CS153 2004S)

Homework 7: A To-Do List

Assigned: Friday, 23 April 2004
Due: Thursday, 29 April 2004

Summary: In this assignment, you will build a simple to-do list.

Citation: This assignment is based on another assignment (this time in C), also written by Samuel A. Rebelsky.

Turning it in: Email me your files.

Collaboration: You must work with at least one other person. You may work in group of up to size four, and may discuss your design with any size group. You may also work with each other on general debugging issues.

Contents:

Background

We have been exploring the GeneralList ADT and its variants in class recently. One of the standard applications of lists is to keep track of tasks that need to be done. Since my creativity is limited, I'm making that task your first list project.

Basics of the Assignment

You have many goals in the project. First, you must implement the GeneralList interface using circular, doubly-linked lists. Next, you must build a simple Task class for the tasks that get stored in the list. Third, you must build a TaskList class from those previous classes. Finally, you must build a TaskManager class that provides the user interface.

Tasks

Each task should store, at minimum,

If you want extra work, store for each task a list of prerequisite tasks that must be completed before that task can be started.

TaskManager Capabilities

At minimum, your TaskManager class (and, therefore, your underlying TaskList class) should provide at least the following operations:

You may add others you deem appropriate. If you've implemented the prerequisite tasks mentioned above, you could print out a list of all the tasks that must be completed before a user-selected task.

Required Classes

You must create at least the following classes and interfaces for the two parts of the assignment.

You may, of course, create other classes.

 

History

Monday, 21 April 2003 [Samuel A. Rebelsky]

Thursday, 23 April 2004 [Samuel A. Rebelsky]

 

Disclaimer: I usually create these pages on the fly, which means that I rarely proofread them and they may contain bad grammar and incorrect details. It also means that I tend to update them regularly (see the history for more details). Feel free to contact me with any suggestions for changes.

This document was generated by Siteweaver on Fri May 7 09:44:09 2004.
The source to the document was last modified on Wed Apr 28 22:20:04 2004.
This document may be found at http://www.cs.grinnell.edu/~rebelsky/Courses/CS153/2004S/Homework/hw.07.html.

You may wish to validate this document's HTML ; Valid CSS! ; Check with Bobby

Samuel A. Rebelsky, rebelsky@grinnell.edu