Lab 1: Class Schedule

The Task

To get some of the rust and dust out of your C, over the next several weeks we will work on an application to help students organize their class schedule. The idea is that given a set of classes a student is taking (or planning to take), the Class Scheduler will display a weekly schedule for the student. The application will also allow the student to play "what-if" games by adding and dropping classes to see how that would affect their time commitments. A user should also be able to schedule the all-important study time, the rare free-time, and any other recurring weekly activities they may have.

This could easily grow into a HUGE project, but if we break it down into managable modules, implement modules incrementally, test modules as we go along, and don't panic, we should be able to implement a reasonable project in a reasonable amount of time.

Simplifying Assumptions

As with any significant project, beginning with some simplifying assumptions and building from there is a good approach. We will start with the following assumptions:

Design and Implementation

As with any project, the best approach is to design top-down, and implement bottom-up. To guide the design and implementation of the Class Scheduler, I will provide some subtasks and milestones to work on: