General Structure - TechnionYearlyProject/Exam-Scheduler GitHub Wiki

The main database of the program is divided between several directories. Each directory contains all the files related to a specific semester, and its name will be named under the following policy: {year}_{semester}, where:

  1. {year} indicates the year of the semester (must be 4 digits).
  2. {semester} can be either winter, spring or summer.

Example of legal directory name: 2017_winter.

The directories will contain files using XML format:

  • study_programs.xml: This file will list the several study programs of the faculty, such as "מסלול כללי ארבע-שנתי".
<programs>
	<program>מסלול כללי ארבע-שנתי</program>
	<program>מסלול כללי תלת-שנתי</program>
	<program>הנדסת תוכנה</program>
</programs>
  • courses.xml: This file will list all of the courses to be scheduled in the semester's exam period. Each course is described by its course number, its course name and in which semester it appears in the different study programs.
<courses>
	<course>
		<course_id>104166</course_id>
		<name>אלגברה א</name>
		<semester program="מסלול כללי ארבע-שנתי">1</semester>
		<semester program="מסלול כללי תלת-שנתי">1</semester>
	</course>
	<course>
		<course_id>234114</course_id>
		<name>מבוא למדעי המחשב מ</name>
		<semester program="מסלול כללי ארבע-שנתי">1</semester>
		<semester program="מסלול כללי תלת-שנתי">1</semester>
		<semester program="הנדסת תוכנה">1</semester>
	</course>
</courses>
  • constraintsA.xml and constraintsB.xml: This file contain the several constraints added by the user that must be taken in account when generating an exam schedule.
<constraints>
	<constraint>
		<course_id>104031</course_id>
		<start_date>01-01-2017</start_date>
		<end_date>07-01-2017</end_date>
	</constraint>
</constraints>
  • scheduleA.xml and scheduleB.xml: Those files represent the output of the scheduling algorithm. (Format TBD)
<schedule>
	<start_date>01-01-2017</start_date>
	<end_date>01-02-2017</end_date>
	<day date="03-02-2017">
		<exam hour="09:00">104031</exam>
		<exam hour="13:00">104166</exam>
	</day>
	<day date="07-02-2017">
		<exam hour="09:00">234114</exam>
	</day>
</schedule>
⚠️ **GitHub.com Fallback** ⚠️