Professional Documents
Culture Documents
First Project / Winter 2010
Eng. Rami Alroobi
In this project you are asked to design and implement a simple class scheduling application.
Your application should accomplish the following tasks:
1‐ Firstly, the program displays a Welcoming message.
2‐ Secondly, your program displays a list of options for a user to choose from, like the
following:
a. Create Schedule
b. Display Schedule
c. Modify Schedule
d. Delete Schedule
3‐ Choosing Create Schedule, the program asks a user to enter student’s information [first
name, last name, and student ID].
4‐ Then, the program should prompt the user to enter course information [course name,
and course number].
5‐ After that, your program should ask a user to select course days. Days are Sat, Sun,
Mon, Tue, Wed, Thu, and Fri. (two or three days can be chosen at most)
6‐ A user chooses days by entering their names separated by one space only.
(i.e. for days names, see point 3)
7‐ If a user chose Thu or Fri, your program should show him/her a confirmation message.
Because Thursdays and Fridays are unusual lectures days.
a. If the user confirmed, then he/she can enter class times in Thursday or Friday.
b. If a user declines, then the program asks him/her to choose another day.
8‐ Then, the program should show the hours of the first chosen day, for the user to fill
class times in this day. [hours are: 8‐9, 9‐10 , 10‐11 , …. 3‐4]
9‐ These class hours of the day are numbered, so the user can choose hours by choosing
corresponding numbers of those hours.(e.g. 8‐9:1 , 9‐10:2, …… 3‐4:8)
10‐ When the user finishes entering class schedule for the first course, the program asks if
the user wishes to enter another course class times.
11‐ If no more courses are to be added, a user is shown a list of options to: display, modify,
delete, and create another student’s schedule.
12‐ Choosing the display option:
a. Your program should display student schedule on the screen. It must be a well
organized schedule showing classes times at the specified days.(i.e. it has a table
format)
13‐ Choosing the modify option:
a. The program asks about the days and times of modification.
b. Then, a user enters modifications like: Sat:8‐9:DataBase
c. Entering modifications is repeated until a user chooses that no more
modifications are to be added
d. At the end, the modified schedule is displayed
14‐ Choosing the delete option:
a. A confirmation message will be displayed:
i. A Yes answer deletes the schedule
ii. A No answer makes you program show the list of choices; display,
modify, delete, and create another student’s schedule.
15‐ Choosing the create another student’s schedule option:
a. This would cause the process to be repeated again for the new student.
16‐ If the user decided not to enter a schedule for another student, the program exits
displaying a farewell message.
17‐ For points 8 and 9, your program must handle class conflicts, by:
a. Suggesting other free times (days and hours) of the week.
b. If a user insisted and did not change his conflicting choices, your program should
allow him to modify previously scheduled classes and it warns him/her that what
he/she is doing will cancel already scheduled classes
18‐ It is recommended that your schedule is displayed automatically after finishing each
course times. Then, the list of options is displayed to the user.
19‐ Bonus: if your program prints the final table of any student to a text file, you will get an
extra 15 points.
Notes:
1‐ This project covers chapters 2, 3, 4, 5, and 6 of the text.
2‐ The management and evaluation of this project is the responsibility of Mr. Eyad Shamy.
Grading can be done through discussing submitted projects. Doing that, there will be no
grades without discussions, and copying (cheating) is suspected.
3‐ This project is to be done individually (i.e. each student must submit his/her own
project).
4‐ Cooperation in discussing ideas is highly encouraged, however copying others projects
or codes will be strictly punished (zero grade for all copies).
5‐ The deadline of this project is fifteen days starting the next day of its announcement on
the moodle website.
Good luck