Computer Science Fundamentals (CS153 2004S)
[Skip to Body]
Primary:
[Front Door]
[Current]
[Glance]
-
[Honesty]
[Instructions]
[Links]
[Search]
Groupings:
[EBoards]
[Examples]
[Exams]
[Handouts]
[Homework]
[Labs]
[Outlines]
[Readings]
[Reference]
Misc:
[Experiments in Java]
[Java API]
[Scheme Reference]
[Scheme Report]
[CS153 2003S]
[CS151 2003F]
[CS152 2000F]
[SamR]
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:
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.
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.
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 CapabilitiesAt 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.
You must create at least the following classes and interfaces for the two parts of the assignment.
CircularlyLinkedList, which
implements the GeneralList interface.
DoublyLinkedNode, which is used in the construction of CircularlyLinkedList objects.
Task, which stores tasks.
TaskList, which stores lists of tasks.
Note that the constructor for this class should probably take a
plain GeneralList as its parameter.
TaskManager, the user interface.
You may, of course, create other classes.
Monday, 21 April 2003 [Samuel A. Rebelsky]
Thursday, 23 April 2004 [Samuel A. Rebelsky]
[Skip to Body]
Primary:
[Front Door]
[Current]
[Glance]
-
[Honesty]
[Instructions]
[Links]
[Search]
Groupings:
[EBoards]
[Examples]
[Exams]
[Handouts]
[Homework]
[Labs]
[Outlines]
[Readings]
[Reference]
Misc:
[Experiments in Java]
[Java API]
[Scheme Reference]
[Scheme Report]
[CS153 2003S]
[CS151 2003F]
[CS152 2000F]
[SamR]
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
;
;
Check with Bobby