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:
- We will build this application for EE Juniors who are only
taking EE classes.
- We will only handle class schedules at first (EE's dont' sleep anyway).
- A Schedule of Classes (SoC) for the current semester is available
in some usable format. A reasonable form is in the file
ee_soc.txt. (I saved this as text from the class
availability web site and cleaned it up a little).
- Any others???
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: