/***************** times ***************************************/
timearr(arranged, ' ', 'ARRANGED ').
timemwf(0800-mwf, 'MWF', '0800-0850am').
timemwf(0900-mwf, 'MWF', '0900-0950am').
timemwf(1000-mwf, 'MWF', '1000-1050am').
timemwf(1100-mwf, 'MWF', '1100-1150am').
timemwf(1200-mwf, 'MWF', '1200-1250pm').
timemwf(1300-mwf, 'MWF', '0100-0150pm').
timemwf(1400-mw, 'MW ', '0200-0315pm').
timemwf(1530-mw, 'MW ', '0330-0445pm').
timemwf(1730-mw, 'MW ', '0530-0645pm').
timemwf(1900-mw, 'MW ', '0700-0815pm').
timemwf(2030-mw, 'MW ', '0830-0945pm').
timetr(0800-tr, 'TR ', '0800-0915am').
timetr(0930-tr, 'TR ', '0930-1045am').
timetr(1100-tr, 'TR ', '1100-1215pm').
timetr(1230-tr, 'TR ', '1230-0145pm').
timetr(1400-tr, 'TR ', '0200-0315pm').
timetr(1530-tr, 'TR ', '0330-0445pm').
timetr(1730-tr, 'TR ', '0530-0645pm').
timetr(1900-tr, 'TR ', '0700-0815pm').
timetr(2030-tr, 'TR ', '0830-0945pm').
/******************* courses ***************************************/
courses(cs2213, 'CS 2213', 'Advanced Programming').
courses(cs2413, 'CS 2413', 'Systems Programming').
courses(cs2513, 'CS 2513', 'Computer Organization I').
courses(cs2733, 'CS 2733', 'Computer Organization II').
courses(cs3233, 'CS 3233', 'Discrete Math Structures').
courses(cs3343, 'CS 3343', 'Analysis of Algorithms').
courses(cs3723, 'CS 3723', 'Programming Languages').
courses(cs3733, 'CS 3733', 'Operating Systems').
courses(cs3743, 'CS 3743', 'Database Management').
courses(cs3773, 'CS 3773', 'Software Engineering').
courses(cs4313, 'CS 4313', 'Automata and Formal Lang').
courses(cs4363, 'CS 4363', 'Cryptography').
courses(cs4383, 'CS 4383', 'Computer Graphics').
courses(cs4753, 'CS 4753', 'Computer Architecture').
courses(cs4913, 'CS 4913', 'Independent Study').
courses(cs4953, 'CS 4953', 'Special Studies in CS').
courses(cs4953, 'CS 4953', 'SS-CS: Experimentation in CS').
courses(cs4993, 'CS 4993', 'Honors Research').
/***************** faculty *************************************/
faculty(bylander, 'Tom Bylander').
faculty(key, 'Cathy Key').
faculty(kwek, 'Steven Kwek').
faculty(lo, 'Chia-Tien Dan Lo').
faculty(maltrud, 'Mike Maltrud').
faculty(maynard, 'Hugh Maynard').
faculty(tian, 'Qi Tian').
faculty(wagner, 'Neal Wagner').
faculty(yum, 'Ki Hwan Yum').
faculty(staff, 'CS Staff').
/**************** preliminary definitions *************************/
semester_coursesu_html(_) :- courses(Acourse,Pcoursenum,Pcourse),
semesteru(Acourse,Sect,Atime,Afac),
(timemwf(Atime,Pdays,Ptime) | timetr(Atime,Pdays,Ptime) |
timearr(Atime,Pdays,Ptime)), faculty(Afac,Pfac),
write('
'), write(Pcoursenum), write('-'), write(Sect),
write(' | '), write(Pcourse), write(' | '), write(Pdays),
write(' | '), write(Ptime), write(' | '), write(Pfac),
write(' |
'), nl, fail.
timesmwf(_) :- timemwf(Atime,Pdays,Ptime),
write(''), write(Ptime), write(' | '), write(Pdays),
write(' | '), (semester_courses_time_html(Atime) | nl),
write(' |
'), nl, fail.
timestr(_) :- timetr(Atime,Pdays,Ptime),
write(''), write(Ptime), write(' | '), write(Pdays),
write(' | '), (semester_courses_time_html(Atime) | nl),
write(' |
'), nl, fail.
timesarr(_) :- timearr(Atime,Pdays,Ptime),
write(''), write(Ptime), write(' | '), write(Pdays),
write(' | '), (semester_courses_time_html(Atime) | nl),
write(' |
'), nl, fail.
semester_courses_time_html(Atime) :-
semesteru(Acourse,Sect,Atime,Afac),
faculty(Afac,Pfac), courses(Acourse,Pcoursenum,Pcourse),
write(Pcoursenum), write('-'), write(Sect),
write(', '), write(Pfac), write(' ('), write(Pcourse),
write(')
'), nl, fail.
semester_courses_fac_html(_) :- faculty(Afac,Pfac),
(timemwf(Atime,Pdays,Ptime) | timetr(Atime,Pdays,Ptime) |
timearr(Atime,Pdays,Ptime)),
semesteru(Acourse,Sect,Atime,Afac),
courses(Acourse,Pcoursenum,Pcourse), write(''), write(Pfac),
write(' | '), write(Ptime), write(' | '), write(Pdays),
write(' | '), write(Pcoursenum), write('-'), write(Sect),
write(' | '), write(Pcourse),
write(' |
'), nl, fail.
faculty_html(_) :- faculty(Afac,Pfac),
write(''), write(Pfac), write(' | '),
(semester_faculty_html(Afac) | nl),
write(' |
'), nl, fail.
semester_faculty_html(Afac) :-
semesteru(Acourse,Sect,Atime,Afac),
courses(Acourse,Pcoursenum,Pcourse),
(timemwf(Atime,Pdays,Ptime) | timetr(Atime,Pdays,Ptime) |
timearr(Atime,Pdays,Ptime)),
write(Pcoursenum), write('-'), write(Sect),
write(', '), write(Ptime), write(' '), write(Pdays),
write(' ('), write(Pcourse), write(')
'), nl, fail.
/***********************************************************************/
/********** Start of everything(_) *************************************/
everything(_) :- season(Season), year(Year),
write(''), nl,
write(' Computer Science Schedule -- '),
write(Season), write(' '), write(Year), write(''), nl,
write(''), nl,
write(' '), nl,
write('Computer Science Schedule -- '),
write(Season), write(' '), write(Year), write('
'), nl,
write('Arranged by Course
'), nl,
write(' '), nl,
write(''), nl,
write(''), nl,
write(''), nl,
write(' Undergraduate Courses, '),
write(Season), write(' '), write(Year), write(' | '), nl,
write('
'), nl,
write(' '), nl,
write(''), nl,
write('Number | '), nl,
write('Description | '), nl,
write('Days | '), nl,
write('Time | '), nl,
write('Instructor | '), nl,
write('
'), nl,
write(' '), nl,
(semester_coursesu_html(_) | nl),
write('
'), nl,
write(' '), nl,
/******************** Times ********************************************/
write('Computer Science Schedule -- '),
write(Season), write(' '), write(Year), write('
'), nl,
write('Arranged by Time
'), nl,
write(' '), nl,
write(''), nl,
write(''), nl,
write(''), nl,
write(' Computer Science Courses, '),
write(Season), write(' '), write(Year), write(' |
'), nl,
write(''), nl,
write(''), nl,
write(' Classes meeting Monday, Wednesday, and/or '), nl,
write(' Friday | '), nl,
write('
'), nl,
write(' '), nl,
write(''), nl,
write('Time | '), nl,
write('Days | '), nl,
write('Course and Faculty | '), nl,
write('
'), nl,
(timesmwf(_) | nl),
write(''), nl,
write(''), nl,
write(' Classes meeting Tuesday, and/or Thursday | '), nl,
write('
'), nl,
write(' '), nl,
write(''), nl,
write('Time | '), nl,
write('Days | '), nl,
write('Course and Faculty | '), nl,
write('
'), nl,
write(' '), nl,
write(''), nl,
(timestr(_) | nl),
write(' '), nl,
write(''), nl,
write(''), nl,
write(' Other classes | '), nl,
write('
'), nl,
write(' '), nl,
write(''), nl,
write('Time | '), nl,
write('Days | '), nl,
write('Course and Faculty | '), nl,
write('
'), nl,
write(' '), nl,
write(''), nl,
(timesarr(_) | nl),
write('
'), nl,
write(' '), nl,
/******************** Instructors *************************************/
write(''), nl,
write('Computer Science Schedule -- '),
write(Season), write(' '), write(Year), write('
'), nl,
write('Arranged by Instructor
'), nl,
write(' '), nl,
write(''), nl,
write(''), nl,
write(''), nl,
write(' Computer Science Courses, '),
write(Season), write(' '), write(Year), write(' | '), nl,
write('
'), nl,
write(' '), nl,
write(''), nl,
write('Faculty | '), nl,
write('Course Number, Time and Days
(Course Description) | '), nl,
write('
'), nl,
write(' '), nl,
write(''), nl,
(faculty_html(_) | nl),
write(' '), nl,
write('
'), nl,
write(''), nl.