Project 4: Task
Scheduling
Scheduling is an important activity that encompasses many everyday
activities (e.g., determining which classes to take each semester). It is also used to optimize performance of
applications, services, and utilization of computer resources. The scheduling problem covers important
concepts and topics in computer science.
Definitions and
Specifications:
A task (e.g., A B C …) can be completed if it has no dependencies
or all its dependencies are met. A
dependency: (A, B) indicates that A has to be completed before B. A task list is a list of all tasks to be
completed. A dependency list is a list
of all dependencies for all task. The
task list and dependency list will be read from a text file. A time step is the event when all task that
can be completed is completed.
The task list and the dependency list can be modified
according to user input. When a task is
deleted, all dependencies for the deleted task are also deleted.
Given the data in the taskData.txt and any changes provided
through user input, provide the following information:
1) A valid ordering of task if one exist.
2) If no valid ordering is possible, identify a cycle that
prevents a valid ordering.
3) If a valid ordering exist, indicate whether or not the
there is more than one.
4) Report the minimum number of time steps needed to
complete all tasks.
5) For each time step, list all remaining tasks that can be
completed during that time
The task list and
dependency list are read into your project from a single text file
(“taskData.txt”). The first line in the
text file gives the task list. Tasks are
separated by a space. The second line in
the text file gives the dependency list.
The dependencies are separated by a space.
tastData.txt example:
A B C D E F
(A,B) (A,C) (B,D) (C,D) (D,E) (E,F)
This project should also provide the option to (1) add new
tasks, (2) delete a task, (3) add a dependency, and (4) quit. When the task list or the dependency list is
modified, the program will recalculate the information above and display the
updated information.
Sample Interaction:
When the data in taskData.txt is
Get Free Quote!
311 Experts Online