-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcatalog.js
89 lines (77 loc) · 3.83 KB
/
catalog.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
var FALL = 0;
var WINTER = 1;
var SPRING = 2;
var CATEGORY_MATH = 0;
var CATEGORY_SCIENCE = 1;
var CATEGORY_COEN = 2;
var CATEGORY_CORE = 3;
var MAJOR_COEN = "Computer Science & Engineering";
var MAJOR_WEB = "Web Design & Engineering";
/* Prototype for a course object.
* Params: string title
* int category (one of CATEGORY_MATH, _SCIENCE, _COEN, _CORE)
* boolean[] availableQuarters
* course[] prereqs
*/
function course(title, category, availableQuarters, prereqs) {
this.title = title;
this.category = category;
this.availableQuarters = availableQuarters;
this.prereqs = prereqs;
this.eligible = function(usedCourses, quarter) {
if (!availableQuarters[quarter]) {
return false;
}
// Always able to add CORE classes
if (this == core) {
return true;
}
// If this is already used, can't add again
if ($.inArray(this, usedCourses) != -1) {
return false;
}
// check if all prereqs fulfilled
var prereqDone = true;
for (var i = 0; i < this.prereqs.length; i++) {
if ($.inArray(this.prereqs[i], usedCourses) == -1) {
prereqDone = false;
break;
}
}
return prereqDone;
};
}
var eng1 = new course("ENGR 1", CATEGORY_COEN, [true, true, false], []);
var coen10 = new course("COEN 10", CATEGORY_COEN, [true, false, false], []);
var coen11 = new course("COEN 11", CATEGORY_COEN, [true, true, true], [coen10]);
var coen12 = new course("COEN 12", CATEGORY_COEN, [true, true, true], [coen10, coen11]);
var coen19 = new course("COEN 19", CATEGORY_COEN, [false, false, true], []);
var math9 = new course("MATH 9", CATEGORY_MATH, [true, false, false], []);
var math11 = new course("MATH 11", CATEGORY_MATH, [true, true, true], [math9]);
var math12 = new course("MATH 12", CATEGORY_MATH, [true, true, true], [math9, math11]);
var math13 = new course("MATH 13", CATEGORY_MATH, [true, true, true], [math9, math11, math12]);
var math14 = new course("MATH 14", CATEGORY_MATH, [true, true, true], [math9, math11, math12, math13]);
var math53 = new course("MATH 53", CATEGORY_MATH, [false, true, true], [math9, math11, math12, math13]);
var amth106 = new course("AMTH 106", CATEGORY_MATH, [true, true, true], [math9, math11, math12, math13, math14]);
var amth108 = new course("AMTH 108", CATEGORY_MATH, [true, true, true], [math9, math11, math12, math13, math14]);
var biol18 = new course("BIOL 18", CATEGORY_SCIENCE, [false, false, false], []);
var biol21 = new course("BIOL 21", CATEGORY_SCIENCE, [false, false, false], []);
var chem11 = new course("CHEM 11", CATEGORY_SCIENCE, [true, false, false], []);
var chem12 = new course("CHEM 12", CATEGORY_SCIENCE, [false, false, false], [chem11]);
var envs21 = new course("ENVS 21", CATEGORY_SCIENCE, [false, false, false], []);
var phys31 = new course("PHYS 31", CATEGORY_SCIENCE, [false, true, false], [math11]);
var phys32 = new course("PHYS 32", CATEGORY_SCIENCE, [false, false, true], [phys31]);
var phys33 = new course("PHYS 33", CATEGORY_SCIENCE, [false, false, false], []);
var phys34 = new course("PHYS 34", CATEGORY_SCIENCE, [false, false, false], []);
var naturalScience = [biol18, biol21, chem11, chem12, envs21, phys32, phys33, phys34];
var chem11Subs = [biol18, envs21, phys34];
var amth106Subs = chem11Subs.concat([chem12, biol21]);
var ctw1 = new course("CTW 1", CATEGORY_CORE, [true,false,false], []);
var ctw2 = new course("CTW 2", CATEGORY_CORE, [false,true,false], [ctw1]);
var ci1 = new course("C&I 1", CATEGORY_CORE, [true,true,true], []);
var ci2 = new course("C&I 2", CATEGORY_CORE, [true,true,true], [ci1]);
var comm2 = new course("COMM 2", CATEGORY_CORE, [true,false,true], []);
var comm12 = new course("COMM 12", CATEGORY_CORE, [true,true,true], []);
var comm30 = new course("COMM 30", CATEGORY_CORE, [true,true,true], []);
var core = new course("CORE", CATEGORY_CORE, [true,true,true], []);
var core = new course("CORE", CATEGORY_CORE, [true,true,true], []);