You are on page 1of 2

Programming 2 [ CSCI 1306 ]  

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

You might also like