-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprereq.html
397 lines (336 loc) · 83.7 KB
/
prereq.html
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vis/4.16.1/vis.css" type="text/css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vis/4.16.1/vis-network.min.js"> </script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"> </script>
<center>
<h1>Prerequisite Graph</h1>
</center>
<!-- <link rel="stylesheet" href="../node_modules/vis/dist/vis.min.css" type="text/css" />
<script type="text/javascript" src="../node_modules/vis/dist/vis.js"> </script>-->
<style type="text/css">
body {
font-family: arial;
}
#mynetwork {
width: 100%;
height: 75%;
background-color: #ffffff;
border: 1px solid lightgray;
position: relative;
float: left;
}
#loadingBar {
position:absolute;
top:0px;
left:0px;
width: 100%;
height: 75%;
background-color:rgba(200,200,200,0.8);
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
opacity:1;
}
#bar {
position:absolute;
top:0px;
left:0px;
width:20px;
height:20px;
margin:auto auto auto auto;
border-radius:11px;
border:2px solid rgba(30,30,30,0.05);
background: rgb(0, 173, 246); /* Old browsers */
box-shadow: 2px 0px 4px rgba(0,0,0,0.4);
}
#border {
position:absolute;
top:10px;
left:10px;
width:500px;
height:23px;
margin:auto auto auto auto;
box-shadow: 0px 0px 4px rgba(0,0,0,0.2);
border-radius:10px;
}
#text {
position:absolute;
top:8px;
left:530px;
width:30px;
height:50px;
margin:auto auto auto auto;
font-size:22px;
color: #000000;
}
div.outerBorder {
position:relative;
top:400px;
width:600px;
height:44px;
margin:auto auto auto auto;
border:8px solid rgba(0,0,0,0.1);
background: rgb(252,252,252); /* Old browsers */
background: -moz-linear-gradient(top, rgba(252,252,252,1) 0%, rgba(237,237,237,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(252,252,252,1)), color-stop(100%,rgba(237,237,237,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
border-radius:72px;
box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
}
#config {
float: left;
width: 400px;
height: 600px;
}
.legend {
float: left;
width: 15%;
height: 5%;
margin: 5px;
border: 1px solid rgba(0, 0, 0, .2);
text-align: center;
}
.unselected {
background: #D3D3D3;
}
.selected {
background: #D184C4;
}
.future_selected {
background: #DB4670;
}
.intersect_selected {
background: #8F1A25;
}
#tooltip {
border: 1px solid rgba(0, 0, 0, .2);
background: #3299FF;
text-align: center;
}
</style>
</head>
<body>
<div id = "mynetwork"></div>
<div id="form">
<form id="settings-form">
<button id="submit" type="button" style="height: 10%; width: 15%;" onclick="showCode()">Show code</button>
<button id="submit" type="button" style="height: 10%; width: 15%;" onclick="showName()">Show course name</button>
<button id="submit" type="button" style="height: 10%; width: 15%;" onclick="changePos()">Toggle Hand-made Tree</button>
<!-- <button id="submit" type="button" style="height: 10%; width: 15%;" onclick="showComputed()">Toggle Computed Tree</button> -->
<button id="submit" type="button" style="height: 10%; width: 15%;" onclick="togglePhysics()">Toggle Physics</button>
<select id="year-select" onchange="updateYear()">
<option value="None" selected>-- Select Sem --</option>
</select>
<select id="shape-select" onchange="changeShape()">
<option value="None" selected>-- Select Shape --</option>
<option value="dot">dot</option>
<option value="box">box</option>
</select>
</form>
</div>
<div class='legend unselected'>not offered this sem</div>
<div class='legend selected'>only offered this sem</div>
<div class='legend future_selected'>only offered next sem</div>
<div class='legend intersect_selected'>offered both sem</div>
<div id='tooltip' style="display: none;"></div>
<div id = "config"></div>
<div id = "data" style="display: none;">
</div>
<script type="text/javascript">
var graphData = `{"directed": true, "multigraph": false, "graph": {}, "nodes": [{"label": "Introduction to the Profession", "size": 10.0, "id": "MATH 100: Introduction to the Profession"}, {"label": "Geometry for Architects", "size": 11, "id": "MATH 119: Geometry for Architects"}, {"label": "Introduction to Calculus", "size": 10, "id": "MATH 122: Introduction to Calculus"}, {"label": "Thinking Mathematically", "size": 10.0, "id": "MATH 130: Thinking Mathematically"}, {"label": "Mathematics for Sustainability", "size": 10.0, "id": "MATH 131: Mathematics for Sustainability"}, {"label": "Preparation for Calculus", "size": 11, "id": "MATH 148: Preparation for Calculus"}, {"label": "Calculus I", "size": 10.0, "id": "MATH 151: Calculus I"}, {"label": "Calculus II", "size": 12, "id": "MATH 152: Calculus II"}, {"label": "Fundamentals of Discrete Mathematics", "size": 10.0, "id": "MATH 180: Fundamentals of Discrete Mathematics"}, {"label": "Introductory Statistics", "size": 10.0, "id": "MATH 225: Introductory Statistics"}, {"label": "Introduction to Discrete Math", "size": 16, "id": "MATH 230: Introduction to Discrete Math"}, {"label": "Multivariate and Vector Calculus", "size": 28, "id": "MATH 251: Multivariate and Vector Calculus"}, {"label": "Introduction to Differential Equations", "size": 22, "id": "MATH 252: Introduction to Differential Equations"}, {"label": "Elementary Linear Algebra", "size": 26, "id": "MATH 332: Elementary Linear Algebra"}, {"label": "Matrix Algebra and Complex Variables", "size": 14, "id": "MATH 333: Matrix Algebra and Complex Variables"}, {"label": "Introduction to Computational Mathematics", "size": 20, "id": "MATH 350: Introduction to Computational Mathematics"}, {"label": "Probability and Statistics for Electrical and Computer Engineers", "size": 10, "id": "MATH 374: Probability and Statistics for Electrical and Computer Engineers"}, {"label": "Introduction to Mathematical Modeling", "size": 10, "id": "MATH 380: Introduction to Mathematical Modeling"}, {"label": "Real Analysis", "size": 15, "id": "MATH 400: Real Analysis"}, {"label": "Complex Analysis", "size": 11, "id": "MATH 402: Complex Analysis"}, {"label": "Introduction to Iteration and Chaos", "size": 10, "id": "MATH 405: Introduction to Iteration and Chaos"}, {"label": "Number Theory", "size": 10, "id": "MATH 410: Number Theory"}, {"label": "Geometry", "size": 10.0, "id": "MATH 420: Geometry"}, {"label": "Statistical Methods", "size": 10.0, "id": "MATH 425: Statistical Methods"}, {"label": "Statistical Tools for Engineers", "size": 10.0, "id": "MATH 426: Statistical Tools for Engineers"}, {"label": "Applied Algebra", "size": 10, "id": "MATH 430: Applied Algebra"}, {"label": "Computational Algebraic Geometry", "size": 10, "id": "MATH 431: Computational Algebraic Geometry"}, {"label": "Linear Optimization", "size": 10, "id": "MATH 435: Linear Optimization"}, {"label": "Introduction to Time Series", "size": 10, "id": "MATH 446: Introduction to Time Series"}, {"label": "Combinatorics", "size": 10, "id": "MATH 453: Combinatorics"}, {"label": "Graph Theory and Applications", "size": 12, "id": "MATH 454: Graph Theory and Applications"}, {"label": "Fourier Series and Boundary-Value Problems", "size": 11, "id": "MATH 461: Fourier Series and Boundary-Value Problems"}, {"label": "Probability and Statistics", "size": 19, "id": "MATH 474: Probability and Statistics"}, {"label": "Probability", "size": 26, "id": "MATH 475: Probability"}, {"label": "Statistics", "size": 15, "id": "MATH 476: Statistics"}, {"label": "Numerical Linear Algebra", "size": 10, "id": "MATH 477: Numerical Linear Algebra"}, {"label": "Numerical Methods for Differential Equations", "size": 10, "id": "MATH 478: Numerical Methods for Differential Equations"}, {"label": "Introduction to Stochastic Processes", "size": 14, "id": "MATH 481: Introduction to Stochastic Processes"}, {"label": "Design and Analysis of Experiments", "size": 10, "id": "MATH 483: Design and Analysis of Experiments"}, {"label": "Regression", "size": 10, "id": "MATH 484: Regression"}, {"label": "Introduction to Mathematical Finance", "size": 14, "id": "MATH 485: Introduction to Mathematical Finance"}, {"label": "Mathematical Modeling I", "size": 10, "id": "MATH 486: Mathematical Modeling I"}, {"label": "Mathematical Modeling II", "size": 10, "id": "MATH 487: Mathematical Modeling II"}, {"label": "Ordinary Differential Equations and Dynamical Systems", "size": 10, "id": "MATH 488: Ordinary Differential Equations and Dynamical Systems"}, {"label": "Partial Differential Equations", "size": 14, "id": "MATH 489: Partial Differential Equations"}, {"label": "Reading and Research", "size": 10.0, "id": "MATH 491: Reading and Research"}, {"label": "Special Problems", "size": 10.0, "id": "MATH 497: Special Problems"}, {"label": "Applied Analysis I", "size": 11, "id": "MATH 500: Applied Analysis I"}, {"label": "Applied Analysis II", "size": 11, "id": "MATH 501: Applied Analysis II"}, {"label": "Partial Differential Equations", "size": 10, "id": "MATH 512: Partial Differential Equations"}, {"label": "Ordinary Differential Equations and Dynamical Systems", "size": 10.0, "id": "MATH 515: Ordinary Differential Equations and Dynamical Systems"}, {"label": "Complex Analysis", "size": 10, "id": "MATH 519: Complex Analysis"}, {"label": "Mathematical Modeling", "size": 11, "id": "MATH 522: Mathematical Modeling"}, {"label": "Case Studies and Project Design in Applied Mathematics", "size": 10, "id": "MATH 523: Case Studies and Project Design in Applied Mathematics"}, {"label": "Statistical Models and Methods", "size": 10.0, "id": "MATH 525: Statistical Models and Methods"}, {"label": "Machine Learning in Finance: From Theory to Practice", "size": 10, "id": "MATH 527: Machine Learning in Finance: From Theory to Practice"}, {"label": "Applied and Computational Algebra", "size": 10, "id": "MATH 530: Applied and Computational Algebra"}, {"label": "Linear Algebra", "size": 12, "id": "MATH 532: Linear Algebra"}, {"label": "Optimization I", "size": 10, "id": "MATH 535: Optimization I"}, {"label": "Probability", "size": 14, "id": "MATH 540: Probability"}, {"label": "Stochastic Processes", "size": 14, "id": "MATH 542: Stochastic Processes"}, {"label": "Stochastic Analysis", "size": 12, "id": "MATH 543: Stochastic Analysis"}, {"label": "Stochastic Dynamics", "size": 12, "id": "MATH 544: Stochastic Dynamics"}, {"label": "Stochastic Partial Differential Equations", "size": 10, "id": "MATH 545: Stochastic Partial Differential Equations"}, {"label": "Introduction to Time Series", "size": 10, "id": "MATH 546: Introduction to Time Series"}, {"label": "Mathematical Finance I", "size": 15, "id": "MATH 548: Mathematical Finance I"}, {"label": "Topology", "size": 10, "id": "MATH 550: Topology"}, {"label": "Discrete Applied Mathematics I", "size": 11, "id": "MATH 553: Discrete Applied Mathematics I"}, {"label": "Discrete Applied Mathematics II", "size": 12, "id": "MATH 554: Discrete Applied Mathematics II"}, {"label": "Tensor Analysis", "size": 10, "id": "MATH 555: Tensor Analysis"}, {"label": "Metric Spaces", "size": 11, "id": "MATH 556: Metric Spaces"}, {"label": "Probabilistic Methods in Combinatorics", "size": 10.0, "id": "MATH 557: Probabilistic Methods in Combinatorics"}, {"label": "Algebraic and Geometric Methods in Statistics", "size": 10.0, "id": "MATH 561: Algebraic and Geometric Methods in Statistics"}, {"label": "Mathematical Statistics", "size": 14, "id": "MATH 563: Mathematical Statistics"}, {"label": "Applied Statistics", "size": 11, "id": "MATH 564: Applied Statistics"}, {"label": "Monte Carlo Methods in Finance", "size": 10, "id": "MATH 565: Monte Carlo Methods in Finance"}, {"label": "Multivariate Analysis", "size": 10, "id": "MATH 566: Multivariate Analysis"}, {"label": "Advanced Design of Experiments", "size": 10, "id": "MATH 567: Advanced Design of Experiments"}, {"label": "Topics in Statistics", "size": 10, "id": "MATH 568: Topics in Statistics"}, {"label": "Statistical Learning", "size": 10, "id": "MATH 569: Statistical Learning"}, {"label": "Data Preparation and Analysis", "size": 11, "id": "MATH 571: Data Preparation and Analysis"}, {"label": "Data Science Practicum", "size": 10, "id": "MATH 572: Data Science Practicum"}, {"label": "Reliable Mathematical Software", "size": 10.0, "id": "MATH 573: Reliable Mathematical Software"}, {"label": "Bayesian Computational Statistics", "size": 10.0, "id": "MATH 574: Bayesian Computational Statistics"}, {"label": "Computational Mathematics I", "size": 10, "id": "MATH 577: Computational Mathematics I"}, {"label": "Computational Mathematics II", "size": 11, "id": "MATH 578: Computational Mathematics II"}, {"label": "Complexity of Numerical Problems", "size": 10, "id": "MATH 579: Complexity of Numerical Problems"}, {"label": "Finite Element Method", "size": 10, "id": "MATH 581: Finite Element Method"}, {"label": "Mathematical Finance II", "size": 12, "id": "MATH 582: Mathematical Finance II"}, {"label": "Mathematical Methods for Algorithmic Trading", "size": 10, "id": "MATH 584: Mathematical Methods for Algorithmic Trading"}, {"label": "Theory and Practice of Fixed Income Modeling", "size": 10, "id": "MATH 586: Theory and Practice of Fixed Income Modeling"}, {"label": "Theory and Practice of Modeling Risk and Credit Derivatives", "size": 10, "id": "MATH 587: Theory and Practice of Modeling Risk and Credit Derivatives"}, {"label": "Advanced Quantitative Risk Management", "size": 10, "id": "MATH 588: Advanced Quantitative Risk Management"}, {"label": "Numerical Methods for Partial Differential Equations", "size": 10, "id": "MATH 589: Numerical Methods for Partial Differential Equations"}, {"label": "Meshfree Methods", "size": 10.0, "id": "MATH 590: Meshfree Methods"}, {"label": "Research and Thesis M.S.", "size": 10.0, "id": "MATH 591: Research and Thesis M.S."}, {"label": "Internship in Applied Mathematics", "size": 10.0, "id": "MATH 592: Internship in Applied Mathematics"}, {"label": "Seminar in Applied Mathematics", "size": 10.0, "id": "MATH 593: Seminar in Applied Mathematics"}, {"label": "Professional Master's Project", "size": 10.0, "id": "MATH 594: Professional Master's Project"}, {"label": "Reading and Special Projects", "size": 10.0, "id": "MATH 597: Reading and Special Projects"}, {"label": "TA Training", "size": 10.0, "id": "MATH 599: TA Training"}, {"label": "Advanced Topics in Combinatorics", "size": 10, "id": "MATH 601: Advanced Topics in Combinatorics"}, {"label": "Advanced Topics in Graph Theory", "size": 10, "id": "MATH 602: Advanced Topics in Graph Theory"}, {"label": "Advanced Topics in Computational Mathematics", "size": 10, "id": "MATH 603: Advanced Topics in Computational Mathematics"}, {"label": "Advanced Topics in Applied Analysis", "size": 10, "id": "MATH 604: Advanced Topics in Applied Analysis"}, {"label": "Advanced Topics in Stochastics", "size": 10, "id": "MATH 605: Advanced Topics in Stochastics"}], "edges": [{"weight": 1, "from": "MATH 119: Geometry for Architects", "to": "MATH 122: Introduction to Calculus", "arrows": "to"}, {"weight": 1, "from": "MATH 148: Preparation for Calculus", "to": "MATH 122: Introduction to Calculus", "arrows": "to"}, {"weight": 1, "from": "MATH 152: Calculus II", "to": "MATH 251: Multivariate and Vector Calculus", "arrows": "to"}, {"weight": 1, "from": "MATH 152: Calculus II", "to": "MATH 252: Introduction to Differential Equations", "arrows": "to"}, {"weight": 1, "from": "MATH 230: Introduction to Discrete MATH", "to": "MATH 410: Number Theory", "arrows": "to"}, {"weight": 1, "from": "MATH 230: Introduction to Discrete MATH", "to": "MATH 430: Applied Algebra", "arrows": "to"}, {"weight": 1, "from": "MATH 230: Introduction to Discrete MATH", "to": "MATH 431: Computational Algebraic Geometry", "arrows": "to"}, {"weight": 1, "from": "MATH 230: Introduction to Discrete MATH", "to": "MATH 453: Combinatorics", "arrows": "to"}, {"weight": 1, "from": "MATH 230: Introduction to Discrete MATH", "to": "MATH 454: Graph Theory and Applications", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 332: Elementary Linear Algebra", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 333: Matrix Algebra and Complex Variables", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 350: Introduction to Computational Mathematics", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 374: Probability and Statistics for Electrical and Computer Engineers", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 380: Introduction to Mathematical Modeling", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 400: Real Analysis", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 402: Complex Analysis", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 405: Introduction to Iteration and Chaos", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 454: Graph Theory and Applications", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 461: Fourier Series and Boundary-Value Problems", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 474: Probability and Statistics", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 475: Probability", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 486: Mathematical Modeling I", "arrows": "to"}, {"weight": 1, "from": "MATH 251: Multivariate and Vector Calculus", "to": "MATH 488: Ordinary Differential Equations and Dynamical Systems", "arrows": "to"}, {"weight": 1, "from": "MATH 252: Introduction to Differential Equations", "to": "MATH 350: Introduction to Computational Mathematics", "arrows": "to"}, {"weight": 1, "from": "MATH 252: Introduction to Differential Equations", "to": "MATH 380: Introduction to Mathematical Modeling", "arrows": "to"}, {"weight": 1, "from": "MATH 252: Introduction to Differential Equations", "to": "MATH 405: Introduction to Iteration and Chaos", "arrows": "to"}, {"weight": 1, "from": "MATH 252: Introduction to Differential Equations", "to": "MATH 454: Graph Theory and Applications", "arrows": "to"}, {"weight": 1, "from": "MATH 252: Introduction to Differential Equations", "to": "MATH 461: Fourier Series and Boundary-Value Problems", "arrows": "to"}, {"weight": 1, "from": "MATH 252: Introduction to Differential Equations", "to": "MATH 486: Mathematical Modeling I", "arrows": "to"}, {"weight": 1, "from": "MATH 252: Introduction to Differential Equations", "to": "MATH 487: Mathematical Modeling II", "arrows": "to"}, {"weight": 1, "from": "MATH 252: Introduction to Differential Equations", "to": "MATH 488: Ordinary Differential Equations and Dynamical Systems", "arrows": "to"}, {"weight": 1, "from": "MATH 252: Introduction to Differential Equations", "to": "MATH 489: Partial Differential Equations", "arrows": "to"}, {"weight": 1, "from": "MATH 332: Elementary Linear Algebra", "to": "MATH 380: Introduction to Mathematical Modeling", "arrows": "to"}, {"weight": 1, "from": "MATH 332: Elementary Linear Algebra", "to": "MATH 405: Introduction to Iteration and Chaos", "arrows": "to"}, {"weight": 1, "from": "MATH 332: Elementary Linear Algebra", "to": "MATH 430: Applied Algebra", "arrows": "to"}, {"weight": 1, "from": "MATH 332: Elementary Linear Algebra", "to": "MATH 431: Computational Algebraic Geometry", "arrows": "to"}, {"weight": 1, "from": "MATH 332: Elementary Linear Algebra", "to": "MATH 435: Linear Optimization", "arrows": "to"}, {"weight": 1, "from": "MATH 332: Elementary Linear Algebra", "to": "MATH 481: Introduction to Stochastic Processes", "arrows": "to"}, {"weight": 1, "from": "MATH 332: Elementary Linear Algebra", "to": "MATH 486: Mathematical Modeling I", "arrows": "to"}, {"weight": 1, "from": "MATH 332: Elementary Linear Algebra", "to": "MATH 530: Applied and Computational Algebra", "arrows": "to"}, {"weight": 1, "from": "MATH 332: Elementary Linear Algebra", "to": "MATH 532: Linear Algebra", "arrows": "to"}, {"weight": 1, "from": "MATH 332: Elementary Linear Algebra", "to": "MATH 535: Optimization I", "arrows": "to"}, {"weight": 1, "from": "MATH 332: Elementary Linear Algebra", "to": "MATH 542: Stochastic Processes", "arrows": "to"}, {"weight": 1, "from": "MATH 332: Elementary Linear Algebra", "to": "MATH 555: Tensor Analysis", "arrows": "to"}, {"weight": 1, "from": "MATH 333: Matrix Algebra and Complex Variables", "to": "MATH 405: Introduction to Iteration and Chaos", "arrows": "to"}, {"weight": 1, "from": "MATH 333: Matrix Algebra and Complex Variables", "to": "MATH 481: Introduction to Stochastic Processes", "arrows": "to"}, {"weight": 1, "from": "MATH 333: Matrix Algebra and Complex Variables", "to": "MATH 542: Stochastic Processes", "arrows": "to"}, {"weight": 1, "from": "MATH 350: Introduction to Computational Mathematics", "to": "MATH 477: Numerical Linear Algebra", "arrows": "to"}, {"weight": 1, "from": "MATH 350: Introduction to Computational Mathematics", "to": "MATH 478: Numerical Methods for Differential Equations", "arrows": "to"}, {"weight": 1, "from": "MATH 350: Introduction to Computational Mathematics", "to": "MATH 569: Statistical Learning", "arrows": "to"}, {"weight": 1, "from": "MATH 350: Introduction to Computational Mathematics", "to": "MATH 577: Computational Mathematics I", "arrows": "to"}, {"weight": 1, "from": "MATH 350: Introduction to Computational Mathematics", "to": "MATH 578: Computational Mathematics II", "arrows": "to"}, {"weight": 1, "from": "MATH 350: Introduction to Computational Mathematics", "to": "MATH 579: Complexity of Numerical Problems", "arrows": "to"}, {"weight": 1, "from": "MATH 350: Introduction to Computational Mathematics", "to": "MATH 581: Finite Element Method", "arrows": "to"}, {"weight": 1, "from": "MATH 350: Introduction to Computational Mathematics", "to": "MATH 589: Numerical Methods for Partial Differential Equations", "arrows": "to"}, {"weight": 1, "from": "MATH 400: Real Analysis", "to": "MATH 500: Applied Analysis I", "arrows": "to"}, {"weight": 1, "from": "MATH 400: Real Analysis", "to": "MATH 540: Probability", "arrows": "to"}, {"weight": 1, "from": "MATH 400: Real Analysis", "to": "MATH 555: Tensor Analysis", "arrows": "to"}, {"weight": 1, "from": "MATH 400: Real Analysis", "to": "MATH 556: Metric Spaces", "arrows": "to"}, {"weight": 1, "from": "MATH 402: Complex Analysis", "to": "MATH 519: Complex Analysis", "arrows": "to"}, {"weight": 1, "from": "MATH 454: Graph Theory and Applications", "to": "MATH 553: Discrete Applied Mathematics I", "arrows": "to"}, {"weight": 1, "from": "MATH 454: Graph Theory and Applications", "to": "MATH 554: Discrete Applied Mathematics II", "arrows": "to"}, {"weight": 1, "from": "MATH 461: Fourier Series and Boundary-Value Problems", "to": "MATH 512: Partial Differential Equations", "arrows": "to"}, {"weight": 1, "from": "MATH 474: Probability and Statistics", "to": "MATH 484: Regression", "arrows": "to"}, {"weight": 1, "from": "MATH 474: Probability and Statistics", "to": "MATH 548: Mathematical Finance I", "arrows": "to"}, {"weight": 1, "from": "MATH 474: Probability and Statistics", "to": "MATH 563: Mathematical Statistics", "arrows": "to"}, {"weight": 1, "from": "MATH 474: Probability and Statistics", "to": "MATH 564: Applied Statistics", "arrows": "to"}, {"weight": 1, "from": "MATH 474: Probability and Statistics", "to": "MATH 565: Monte Carlo Methods in Finance", "arrows": "to"}, {"weight": 1, "from": "MATH 474: Probability and Statistics", "to": "MATH 567: Advanced Design of Experiments", "arrows": "to"}, {"weight": 1, "from": "MATH 474: Probability and Statistics", "to": "MATH 569: Statistical Learning", "arrows": "to"}, {"weight": 1, "from": "MATH 475: Probability", "to": "MATH 446: Introduction to Time Series", "arrows": "to"}, {"weight": 1, "from": "MATH 475: Probability", "to": "MATH 476: Statistics", "arrows": "to"}, {"weight": 1, "from": "MATH 475: Probability", "to": "MATH 481: Introduction to Stochastic Processes", "arrows": "to"}, {"weight": 1, "from": "MATH 475: Probability", "to": "MATH 484: Regression", "arrows": "to"}, {"weight": 1, "from": "MATH 475: Probability", "to": "MATH 485: Introduction to Mathematical Finance", "arrows": "to"}, {"weight": 1, "from": "MATH 475: Probability", "to": "MATH 527: Machine Learning in Finance: From Theory to Practice", "arrows": "to"}, {"weight": 1, "from": "MATH 475: Probability", "to": "MATH 540: Probability", "arrows": "to"}, {"weight": 1, "from": "MATH 475: Probability", "to": "MATH 542: Stochastic Processes", "arrows": "to"}, {"weight": 1, "from": "MATH 475: Probability", "to": "MATH 546: Introduction to Time Series", "arrows": "to"}, {"weight": 1, "from": "MATH 475: Probability", "to": "MATH 548: Mathematical Finance I", "arrows": "to"}, {"weight": 1, "from": "MATH 475: Probability", "to": "MATH 563: Mathematical Statistics", "arrows": "to"}, {"weight": 1, "from": "MATH 475: Probability", "to": "MATH 569: Statistical Learning", "arrows": "to"}, {"weight": 1, "from": "MATH 476: Statistics", "to": "MATH 483: Design and Analysis of Experiments", "arrows": "to"}, {"weight": 1, "from": "MATH 476: Statistics", "to": "MATH 484: Regression", "arrows": "to"}, {"weight": 1, "from": "MATH 476: Statistics", "to": "MATH 564: Applied Statistics", "arrows": "to"}, {"weight": 1, "from": "MATH 476: Statistics", "to": "MATH 567: Advanced Design of Experiments", "arrows": "to"}, {"weight": 1, "from": "MATH 481: Introduction to Stochastic Processes", "to": "MATH 582: Mathematical Finance II", "arrows": "to"}, {"weight": 1, "from": "MATH 481: Introduction to Stochastic Processes", "to": "MATH 584: Mathematical Methods for Algorithmic Trading", "arrows": "to"}, {"weight": 1, "from": "MATH 481: Introduction to Stochastic Processes", "to": "MATH 586: Theory and Practice of Fixed Income Modeling", "arrows": "to"}, {"weight": 1, "from": "MATH 485: Introduction to Mathematical Finance", "to": "MATH 582: Mathematical Finance II", "arrows": "to"}, {"weight": 1, "from": "MATH 485: Introduction to Mathematical Finance", "to": "MATH 584: Mathematical Methods for Algorithmic Trading", "arrows": "to"}, {"weight": 1, "from": "MATH 485: Introduction to Mathematical Finance", "to": "MATH 586: Theory and Practice of Fixed Income Modeling", "arrows": "to"}, {"weight": 1, "from": "MATH 489: Partial Differential Equations", "to": "MATH 512: Partial Differential Equations", "arrows": "to"}, {"weight": 1, "from": "MATH 489: Partial Differential Equations", "to": "MATH 581: Finite Element Method", "arrows": "to"}, {"weight": 1, "from": "MATH 489: Partial Differential Equations", "to": "MATH 589: Numerical Methods for Partial Differential Equations", "arrows": "to"}, {"weight": 1, "from": "MATH 500: Applied Analysis I", "to": "MATH 501: Applied Analysis II", "arrows": "to"}, {"weight": 1, "from": "MATH 501: Applied Analysis II", "to": "MATH 604: Advanced Topics in Applied Analysis", "arrows": "to"}, {"weight": 1, "from": "MATH 522: Math Modeling", "to": "MATH 523: Case Studies and Project Design in Applied Mathematics", "arrows": "to"}, {"weight": 1, "from": "MATH 532: Linear Algebra", "to": "MATH 530: Applied and Computational Algebra", "arrows": "to"}, {"weight": 1, "from": "MATH 532: Linear Algebra", "to": "MATH 566: Multivariate Analysis", "arrows": "to"}, {"weight": 1, "from": "MATH 540: Probability", "to": "MATH 543: Stochastic Analysis", "arrows": "to"}, {"weight": 1, "from": "MATH 540: Probability", "to": "MATH 544: Stochastic Dynamics", "arrows": "to"}, {"weight": 1, "from": "MATH 540: Probability", "to": "MATH 545: Stochastic Partial Differential Equations", "arrows": "to"}, {"weight": 1, "from": "MATH 542: Stochastic Processes", "to": "MATH 582: Mathematical Finance II", "arrows": "to"}, {"weight": 1, "from": "MATH 542: Stochastic Processes", "to": "MATH 584: Mathematical Methods for Algorithmic Trading", "arrows": "to"}, {"weight": 1, "from": "MATH 542: Stochastic Processes", "to": "MATH 586: Theory and Practice of Fixed Income Modeling", "arrows": "to"}, {"weight": 1, "from": "MATH 543: Stochastic Analysis", "to": "MATH 545: Stochastic Partial Differential Equations", "arrows": "to"}, {"weight": 1, "from": "MATH 543: Stochastic Analysis", "to": "MATH 584: Mathematical Methods for Algorithmic Trading", "arrows": "to"}, {"weight": 1, "from": "MATH 544: Stochastic Dynamics", "to": "MATH 545: Stochastic Partial Differential Equations", "arrows": "to"}, {"weight": 1, "from": "MATH 544: Stochastic Dynamics", "to": "MATH 605: Advanced Topics in Stochastics", "arrows": "to"}, {"weight": 1, "from": "MATH 548: Mathematical Finance I", "to": "MATH 582: Mathematical Finance II", "arrows": "to"}, {"weight": 1, "from": "MATH 548: Mathematical Finance I", "to": "MATH 584: Mathematical Methods for Algorithmic Trading", "arrows": "to"}, {"weight": 1, "from": "MATH 548: Mathematical Finance I", "to": "MATH 586: Theory and Practice of Fixed Income Modeling", "arrows": "to"}, {"weight": 1, "from": "MATH 548: Mathematical Finance I", "to": "MATH 588: Advanced Quantitative Risk Management", "arrows": "to"}, {"weight": 1, "from": "MATH 553: Discrete Applied Mathematics I", "to": "MATH 554: Discrete Applied Mathematics II", "arrows": "to"}, {"weight": 1, "from": "MATH 554: Discrete Applied Mathematics II", "to": "MATH 601: Advanced Topics in Combinatorics", "arrows": "to"}, {"weight": 1, "from": "MATH 554: Discrete Applied Mathematics II", "to": "MATH 602: Advanced Topics in Graph Theory", "arrows": "to"}, {"weight": 1, "from": "MATH 556: Metric Spaces", "to": "MATH 550: Topology", "arrows": "to"}, {"weight": 1, "from": "MATH 563: Mathematical Statistics", "to": "MATH 564: Applied Statistics", "arrows": "to"}, {"weight": 1, "from": "MATH 563: Mathematical Statistics", "to": "MATH 566: Multivariate Analysis", "arrows": "to"}, {"weight": 1, "from": "MATH 563: Mathematical Statistics", "to": "MATH 568: Topics in Statistics", "arrows": "to"}, {"weight": 1, "from": "MATH 564: Applied Statistics", "to": "MATH 566: Multivariate Analysis", "arrows": "to"}, {"weight": 1, "from": "MATH 571: Data Preparation and Analysis", "to": "MATH 572: Data Science Practicum", "arrows": "to"}, {"weight": 1, "from": "MATH 578: Computational Mathematics II", "to": "MATH 603: Advanced Topics in Computational Mathematics", "arrows": "to"}, {"weight": 1, "from": "MATH 582: Mathematical Finance II", "to": "MATH 584: Mathematical Methods for Algorithmic Trading", "arrows": "to"}, {"weight": 1, "from": "MATH 582: Mathematical Finance II", "to": "MATH 587: Theory and Practice of Modeling Risk and Credit Derivatives", "arrows": "to"}]}`
var yearData = `{"2017F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":false,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":false,"MATH 430":true,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":true,"MATH 454":false,"MATH 461":true,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":true,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":false,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":true,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":false,"MATH 590":false},"2018S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":true,"MATH 446":false,"MATH 453":false,"MATH 454":true,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":true,"MATH 483":false,"MATH 484":false,"MATH 485":false,"MATH 486":false,"MATH 488":false,"MATH 489":true,"MATH 497":false,"MATH 500":false,"MATH 501":false,"MATH 512":true,"MATH 515":false,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":false,"MATH 535":true,"MATH 540":false,"MATH 542":false,"MATH 543":true,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":false,"MATH 553":false,"MATH 554":false,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":false,"MATH 571":true,"MATH 574":true,"MATH 577":false,"MATH 578":true,"MATH 581":false,"MATH 582":true,"MATH 586":true,"MATH 588":false,"MATH 589":false,"MATH 590":false},"2018F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":true,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":true,"MATH 425":false,"MATH 430":false,"MATH 431":true,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":false,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":true,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":false,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":true,"MATH 590":false},"2019S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":true,"MATH 410":true,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":false,"MATH 483":false,"MATH 484":false,"MATH 485":true,"MATH 486":false,"MATH 488":true,"MATH 489":false,"MATH 497":true,"MATH 500":false,"MATH 501":true,"MATH 512":false,"MATH 515":true,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":true,"MATH 535":false,"MATH 540":false,"MATH 542":false,"MATH 543":false,"MATH 544":false,"MATH 545":true,"MATH 546":false,"MATH 548":false,"MATH 553":false,"MATH 554":true,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":true,"MATH 571":false,"MATH 574":false,"MATH 577":false,"MATH 578":true,"MATH 581":true,"MATH 582":true,"MATH 586":true,"MATH 588":true,"MATH 589":false,"MATH 590":true},"2019F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":true,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":false,"MATH 430":true,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":true,"MATH 454":false,"MATH 461":true,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":true,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":false,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":true,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":false,"MATH 590":false},"2020S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":true,"MATH 446":true,"MATH 453":false,"MATH 454":true,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":true,"MATH 483":false,"MATH 484":false,"MATH 485":false,"MATH 486":false,"MATH 488":false,"MATH 489":true,"MATH 497":false,"MATH 500":false,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":false,"MATH 535":true,"MATH 540":false,"MATH 542":false,"MATH 543":false,"MATH 544":true,"MATH 545":false,"MATH 546":true,"MATH 548":false,"MATH 553":false,"MATH 554":false,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":false,"MATH 571":true,"MATH 574":true,"MATH 577":false,"MATH 578":true,"MATH 581":false,"MATH 582":true,"MATH 586":true,"MATH 588":true,"MATH 589":false,"MATH 590":false},"2020F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":true,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":false,"MATH 430":false,"MATH 431":true,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":false,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":true,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":false,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":false,"MATH 590":true},"2021S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":false,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":true,"MATH 410":true,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":false,"MATH 483":false,"MATH 484":false,"MATH 485":true,"MATH 486":false,"MATH 488":true,"MATH 489":false,"MATH 497":true,"MATH 500":false,"MATH 501":true,"MATH 512":false,"MATH 515":true,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":true,"MATH 535":false,"MATH 540":false,"MATH 542":false,"MATH 543":true,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":false,"MATH 553":false,"MATH 554":true,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":true,"MATH 571":false,"MATH 574":false,"MATH 577":false,"MATH 578":true,"MATH 581":true,"MATH 582":true,"MATH 586":true,"MATH 588":true,"MATH 589":false,"MATH 590":false},"2021F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":false,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":false,"MATH 430":true,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":true,"MATH 454":false,"MATH 461":true,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":true,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":false,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":true,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":false,"MATH 590":false},"2022S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":true,"MATH 446":false,"MATH 453":false,"MATH 454":true,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":true,"MATH 483":false,"MATH 484":false,"MATH 485":false,"MATH 486":false,"MATH 488":false,"MATH 489":true,"MATH 497":false,"MATH 500":false,"MATH 501":false,"MATH 512":true,"MATH 515":false,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":false,"MATH 535":true,"MATH 540":false,"MATH 542":false,"MATH 543":true,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":false,"MATH 553":false,"MATH 554":false,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":false,"MATH 571":true,"MATH 574":true,"MATH 577":false,"MATH 578":true,"MATH 581":false,"MATH 582":true,"MATH 586":true,"MATH 588":false,"MATH 589":false,"MATH 590":false},"2022F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":true,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":true,"MATH 425":false,"MATH 430":false,"MATH 431":true,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":false,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":true,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":false,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":true,"MATH 590":false},"2023S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":true,"MATH 410":true,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":false,"MATH 483":false,"MATH 484":false,"MATH 485":true,"MATH 486":false,"MATH 488":true,"MATH 489":false,"MATH 497":true,"MATH 500":false,"MATH 501":true,"MATH 512":false,"MATH 515":true,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":true,"MATH 535":false,"MATH 540":false,"MATH 542":false,"MATH 543":false,"MATH 544":false,"MATH 545":true,"MATH 546":false,"MATH 548":false,"MATH 553":false,"MATH 554":true,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":true,"MATH 571":false,"MATH 574":false,"MATH 577":false,"MATH 578":true,"MATH 581":true,"MATH 582":true,"MATH 586":true,"MATH 588":true,"MATH 589":false,"MATH 590":true},"2023F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":true,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":false,"MATH 430":true,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":true,"MATH 454":false,"MATH 461":true,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":true,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":false,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":true,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":false,"MATH 590":false},"2024S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":true,"MATH 446":true,"MATH 453":false,"MATH 454":true,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":true,"MATH 483":false,"MATH 484":false,"MATH 485":false,"MATH 486":false,"MATH 488":false,"MATH 489":true,"MATH 497":false,"MATH 500":false,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":false,"MATH 535":true,"MATH 540":false,"MATH 542":false,"MATH 543":false,"MATH 544":true,"MATH 545":false,"MATH 546":true,"MATH 548":false,"MATH 553":false,"MATH 554":false,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":false,"MATH 571":true,"MATH 574":true,"MATH 577":false,"MATH 578":true,"MATH 581":false,"MATH 582":true,"MATH 586":true,"MATH 588":true,"MATH 589":false,"MATH 590":false},"2024F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":true,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":false,"MATH 430":false,"MATH 431":true,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":false,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":true,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":false,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":false,"MATH 590":true},"2025S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":false,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":true,"MATH 410":true,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":false,"MATH 483":false,"MATH 484":false,"MATH 485":true,"MATH 486":false,"MATH 488":true,"MATH 489":false,"MATH 497":true,"MATH 500":false,"MATH 501":true,"MATH 512":false,"MATH 515":true,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":true,"MATH 535":false,"MATH 540":false,"MATH 542":false,"MATH 543":true,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":false,"MATH 553":false,"MATH 554":true,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":true,"MATH 571":false,"MATH 574":false,"MATH 577":false,"MATH 578":true,"MATH 581":true,"MATH 582":true,"MATH 586":true,"MATH 588":true,"MATH 589":false,"MATH 590":false},"2025F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":false,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":false,"MATH 430":true,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":true,"MATH 454":false,"MATH 461":true,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":true,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":false,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":true,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":false,"MATH 590":false},"2026S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":true,"MATH 446":false,"MATH 453":false,"MATH 454":true,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":true,"MATH 483":false,"MATH 484":false,"MATH 485":false,"MATH 486":false,"MATH 488":false,"MATH 489":true,"MATH 497":false,"MATH 500":false,"MATH 501":false,"MATH 512":true,"MATH 515":false,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":false,"MATH 535":true,"MATH 540":false,"MATH 542":false,"MATH 543":true,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":false,"MATH 553":false,"MATH 554":false,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":false,"MATH 571":true,"MATH 574":true,"MATH 577":false,"MATH 578":true,"MATH 581":false,"MATH 582":true,"MATH 586":true,"MATH 588":false,"MATH 589":false,"MATH 590":false},"2026F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":true,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":true,"MATH 425":false,"MATH 430":false,"MATH 431":true,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":false,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":true,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":false,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":true,"MATH 590":false},"2027S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":true,"MATH 410":true,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":false,"MATH 483":false,"MATH 484":false,"MATH 485":true,"MATH 486":false,"MATH 488":true,"MATH 489":false,"MATH 497":true,"MATH 500":false,"MATH 501":true,"MATH 512":false,"MATH 515":true,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":true,"MATH 535":false,"MATH 540":false,"MATH 542":false,"MATH 543":false,"MATH 544":false,"MATH 545":true,"MATH 546":false,"MATH 548":false,"MATH 553":false,"MATH 554":true,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":true,"MATH 571":false,"MATH 574":false,"MATH 577":false,"MATH 578":true,"MATH 581":true,"MATH 582":true,"MATH 586":true,"MATH 588":true,"MATH 589":false,"MATH 590":true},"2027F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":true,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":false,"MATH 430":true,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":true,"MATH 454":false,"MATH 461":true,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":true,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":false,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":true,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":false,"MATH 590":false},"2028S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":true,"MATH 446":true,"MATH 453":false,"MATH 454":true,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":true,"MATH 483":false,"MATH 484":false,"MATH 485":false,"MATH 486":false,"MATH 488":false,"MATH 489":true,"MATH 497":false,"MATH 500":false,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":false,"MATH 535":true,"MATH 540":false,"MATH 542":false,"MATH 543":false,"MATH 544":true,"MATH 545":false,"MATH 546":true,"MATH 548":false,"MATH 553":false,"MATH 554":false,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":false,"MATH 571":true,"MATH 574":true,"MATH 577":false,"MATH 578":true,"MATH 581":false,"MATH 582":true,"MATH 586":true,"MATH 588":true,"MATH 589":false,"MATH 590":false},"2028F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":true,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":false,"MATH 430":false,"MATH 431":true,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":false,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":true,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":false,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":false,"MATH 590":true},"2029S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":false,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":true,"MATH 410":true,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":false,"MATH 483":false,"MATH 484":false,"MATH 485":true,"MATH 486":false,"MATH 488":true,"MATH 489":false,"MATH 497":true,"MATH 500":false,"MATH 501":true,"MATH 512":false,"MATH 515":true,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":true,"MATH 535":false,"MATH 540":false,"MATH 542":false,"MATH 543":true,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":false,"MATH 553":false,"MATH 554":true,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":true,"MATH 571":false,"MATH 574":false,"MATH 577":false,"MATH 578":true,"MATH 581":true,"MATH 582":true,"MATH 586":true,"MATH 588":true,"MATH 589":false,"MATH 590":false},"2029F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":false,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":false,"MATH 430":true,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":true,"MATH 454":false,"MATH 461":true,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":true,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":false,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":true,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":false,"MATH 590":false},"2030S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":true,"MATH 446":false,"MATH 453":false,"MATH 454":true,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":true,"MATH 483":false,"MATH 484":false,"MATH 485":false,"MATH 486":false,"MATH 488":false,"MATH 489":true,"MATH 497":false,"MATH 500":false,"MATH 501":false,"MATH 512":true,"MATH 515":false,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":false,"MATH 535":true,"MATH 540":false,"MATH 542":false,"MATH 543":true,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":false,"MATH 553":false,"MATH 554":false,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":false,"MATH 571":true,"MATH 574":true,"MATH 577":false,"MATH 578":true,"MATH 581":false,"MATH 582":true,"MATH 586":true,"MATH 588":false,"MATH 589":false,"MATH 590":false},"2030F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":true,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":true,"MATH 425":false,"MATH 430":false,"MATH 431":true,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":false,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":true,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":false,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":true,"MATH 590":false},"2031S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":true,"MATH 410":true,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":false,"MATH 483":false,"MATH 484":false,"MATH 485":true,"MATH 486":false,"MATH 488":true,"MATH 489":false,"MATH 497":true,"MATH 500":false,"MATH 501":true,"MATH 512":false,"MATH 515":true,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":true,"MATH 535":false,"MATH 540":false,"MATH 542":false,"MATH 543":false,"MATH 544":false,"MATH 545":true,"MATH 546":false,"MATH 548":false,"MATH 553":false,"MATH 554":true,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":true,"MATH 571":false,"MATH 574":false,"MATH 577":false,"MATH 578":true,"MATH 581":true,"MATH 582":true,"MATH 586":true,"MATH 588":true,"MATH 589":false,"MATH 590":true},"2031F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":true,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":false,"MATH 430":true,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":true,"MATH 454":false,"MATH 461":true,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":true,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":false,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":true,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":false,"MATH 590":false},"2032S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":true,"MATH 446":true,"MATH 453":false,"MATH 454":true,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":true,"MATH 483":false,"MATH 484":false,"MATH 485":false,"MATH 486":false,"MATH 488":false,"MATH 489":true,"MATH 497":false,"MATH 500":false,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":false,"MATH 535":true,"MATH 540":false,"MATH 542":false,"MATH 543":false,"MATH 544":true,"MATH 545":false,"MATH 546":true,"MATH 548":false,"MATH 553":false,"MATH 554":false,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":false,"MATH 571":true,"MATH 574":true,"MATH 577":false,"MATH 578":true,"MATH 581":false,"MATH 582":true,"MATH 586":true,"MATH 588":true,"MATH 589":false,"MATH 590":false},"2032F":{"MATH 100":true,"MATH 119":true,"MATH 122":false,"MATH 130":true,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":false,"MATH 225":true,"MATH 230":false,"MATH 251":true,"MATH 252":true,"MATH 332":true,"MATH 333":true,"MATH 350":false,"MATH 374":true,"MATH 380":false,"MATH 400":true,"MATH 402":false,"MATH 410":false,"MATH 420":false,"MATH 425":false,"MATH 430":false,"MATH 431":true,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":true,"MATH 476":false,"MATH 477":true,"MATH 478":false,"MATH 481":false,"MATH 483":false,"MATH 484":true,"MATH 485":false,"MATH 486":true,"MATH 488":false,"MATH 489":false,"MATH 497":false,"MATH 500":true,"MATH 501":false,"MATH 512":false,"MATH 515":false,"MATH 522":true,"MATH 525":false,"MATH 530":true,"MATH 532":false,"MATH 535":false,"MATH 540":true,"MATH 542":true,"MATH 543":false,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":true,"MATH 553":true,"MATH 554":false,"MATH 563":false,"MATH 564":true,"MATH 565":true,"MATH 567":false,"MATH 569":false,"MATH 571":false,"MATH 574":false,"MATH 577":true,"MATH 578":false,"MATH 581":false,"MATH 582":false,"MATH 586":false,"MATH 588":false,"MATH 589":false,"MATH 590":true},"2033S":{"MATH 100":false,"MATH 119":false,"MATH 122":true,"MATH 130":false,"MATH 148":true,"MATH 151":true,"MATH 152":true,"MATH 180":true,"MATH 225":false,"MATH 230":true,"MATH 251":true,"MATH 252":true,"MATH 332":false,"MATH 333":true,"MATH 350":true,"MATH 374":true,"MATH 380":true,"MATH 400":false,"MATH 402":true,"MATH 410":true,"MATH 420":false,"MATH 425":true,"MATH 430":false,"MATH 431":false,"MATH 435":false,"MATH 446":false,"MATH 453":false,"MATH 454":false,"MATH 461":false,"MATH 474":true,"MATH 475":false,"MATH 476":true,"MATH 477":false,"MATH 478":true,"MATH 481":false,"MATH 483":false,"MATH 484":false,"MATH 485":true,"MATH 486":false,"MATH 488":true,"MATH 489":false,"MATH 497":true,"MATH 500":false,"MATH 501":true,"MATH 512":false,"MATH 515":true,"MATH 522":false,"MATH 525":true,"MATH 530":false,"MATH 532":true,"MATH 535":false,"MATH 540":false,"MATH 542":false,"MATH 543":true,"MATH 544":false,"MATH 545":false,"MATH 546":false,"MATH 548":false,"MATH 553":false,"MATH 554":true,"MATH 563":true,"MATH 564":false,"MATH 565":false,"MATH 567":false,"MATH 569":true,"MATH 571":false,"MATH 574":false,"MATH 577":false,"MATH 578":true,"MATH 581":true,"MATH 582":true,"MATH 586":true,"MATH 588":true,"MATH 589":false,"MATH 590":false}}`;
var nodePos = `{"MATH 100: Introduction to the Profession":{"x":-1,"y":-185},"MATH 119: Geometry for Architects":{"x":-344,"y":-298},"MATH 122: Introduction to Calculus":{"x":-240,"y":-302},"MATH 130: Thinking Mathematically":{"x":-15,"y":-301},"MATH 131: Mathematics for Sustainability":{"x":-441,"y":-186},"MATH 148: Preparation for Calculus":{"x":-114,"y":-297},"MATH 151: Calculus I":{"x":-346,"y":-183},"MATH 152: Calculus II":{"x":-232,"y":-182},"MATH 180: Fundamentals of Discrete Mathematics":{"x":-114,"y":-182},"MATH 225: Introductory Statistics":{"x":-316,"y":183},"MATH 230: Introduction to Discrete Math":{"x":-26,"y":-18},"MATH 251: Multivariate and Vector Calculus":{"x":-132,"y":-23},"MATH 252: Introduction to Differential Equations":{"x":-323,"y":-22},"MATH 332: Elementary Linear Algebra":{"x":321,"y":188},"MATH 333: Matrix Algebra and Complex Variables":{"x":110,"y":182},"MATH 350: Introduction to Computational Mathematics":{"x":-616,"y":181},"MATH 374: Probability and Statistics for Electrical and Computer Engineers":{"x":-228,"y":191},"MATH 380: Introduction to Mathematical Modeling":{"x":-115,"y":188},"MATH 400: Real Analysis":{"x":-173,"y":302},"MATH 402: Complex Analysis":{"x":-673,"y":311},"MATH 405: Introduction to Iteration and Chaos":{"x":151,"y":311},"MATH 410: Number Theory":{"x":933,"y":309},"MATH 420: Geometry":{"x":934,"y":372},"MATH 425: Statistical Methods":{"x":840,"y":310},"MATH 426: Statistical Tools for Engineers":{"x":753,"y":369},"MATH 430: Applied Algebra":{"x":485,"y":313},"MATH 431: Computational Algebraic Geometry":{"x":305,"y":314},"MATH 435: Linear Optimization":{"x":394,"y":315},"MATH 446: Introduction to Time Series":{"x":72,"y":392},"MATH 453: Combinatorics":{"x":750,"y":315},"MATH 454: Graph Theory and Applications":{"x":-921,"y":314},"MATH 461: Fourier Series and Boundary-Value Problems":{"x":-251,"y":306},"MATH 474: Probability and Statistics":{"x":-80,"y":298},"MATH 475: Probability":{"x":80,"y":300},"MATH 476: Statistics":{"x":-6,"y":293},"MATH 477: Numerical Linear Algebra":{"x":-749,"y":314},"MATH 478: Numerical Methods for Differential Equations":{"x":-840,"y":314},"MATH 481: Introduction to Stochastic Processes":{"x":232,"y":314},"MATH 483: Design and Analysis of Experiments":{"x":576,"y":314},"MATH 484: Regression":{"x":-10,"y":391},"MATH 485: Introduction to Mathematical Finance":{"x":210,"y":391},"MATH 486: Mathematical Modeling I":{"x":-591,"y":320},"MATH 487: Mathematical Modeling II":{"x":-333,"y":306},"MATH 488: Ordinary Differential Equations and Dynamical Systems":{"x":-412,"y":308},"MATH 489: Partial Differential Equations":{"x":-503,"y":310},"MATH 491: Reading and Research":{"x":840,"y":369},"MATH 497: Special Problems":{"x":930,"y":253},"MATH 500: Applied Analysis I":{"x":-230,"y":482},"MATH 501: Applied Analysis II":{"x":-229,"y":547},"MATH 512: Partial Differential Equations":{"x":-463,"y":487},"MATH 515: Ordinary Differential Equations and Dynamical Systems":{"x":-699,"y":597},"MATH 519: Complex Analysis":{"x":-876,"y":490},"MATH 522: Mathematical Modeling":{"x":894,"y":680},"MATH 523: Case Studies and Project Design in Applied Mathematics":{"x":716,"y":676},"MATH 525: Statistical Models and Methods":{"x":894,"y":739},"MATH 527: Machine Learning in Finance: From Theory to Practice":{"x":12,"y":489},"MATH 530: Applied and Computational Algebra":{"x":893,"y":494},"MATH 532: Linear Algebra":{"x":784,"y":491},"MATH 535: Optimization I":{"x":92,"y":489},"MATH 540: Probability":{"x":168,"y":487},"MATH 542: Stochastic Processes":{"x":253,"y":492},"MATH 543: Stochastic Analysis":{"x":104,"y":621},"MATH 544: Stochastic Dynamics":{"x":303,"y":618},"MATH 545: Stochastic Partial Differential Equations":{"x":204,"y":622},"MATH 546: Introduction to Time Series":{"x":-59,"y":552},"MATH 548: Mathematical Finance I":{"x":485,"y":443},"MATH 550: Topology":{"x":-147,"y":545},"MATH 553: Discrete Applied Mathematics I":{"x":-1046,"y":486},"MATH 554: Discrete Applied Mathematics II":{"x":-1150,"y":483},"MATH 555: Tensor Analysis":{"x":-71,"y":486},"MATH 556: Metric Spaces":{"x":-147,"y":482},"MATH 557: Probabilistic Methods in Combinatorics":{"x":982,"y":685},"MATH 561: Algebraic and Geometric Methods in Statistics":{"x":985,"y":742},"MATH 563: Mathematical Statistics":{"x":588,"y":490},"MATH 564: Applied Statistics":{"x":312,"y":559},"MATH 565: Monte Carlo Methods in Finance":{"x":-103,"y":426},"MATH 566: Multivariate Analysis":{"x":678,"y":494},"MATH 567: Advanced Design of Experiments":{"x":-539,"y":489},"MATH 568: Topics in Statistics":{"x":591,"y":592},"MATH 569: Statistical Learning":{"x":-303,"y":484},"MATH 571: Data Preparation and Analysis":{"x":-899,"y":600},"MATH 572: Data Science Practicum":{"x":-813,"y":598},"MATH 573: Reliable Mathematical Software":{"x":970,"y":624},"MATH 574: Bayesian Computational Statistics":{"x":638,"y":680},"MATH 577: Computational Mathematics I":{"x":-793,"y":489},"MATH 578: Computational Mathematics II":{"x":-381,"y":490},"MATH 579: Complexity of Numerical Problems":{"x":-960,"y":485},"MATH 581: Finite Element Method":{"x":-619,"y":489},"MATH 582: Mathematical Finance II":{"x":343,"y":493},"MATH 584: Mathematical Methods for Algorithmic Trading":{"x":31,"y":554},"MATH 586: Theory and Practice of Fixed Income Modeling":{"x":422,"y":498},"MATH 587: Theory and Practice of Modeling Risk and Credit Derivatives":{"x":397,"y":619},"MATH 588: Advanced Quantitative Risk Management":{"x":483,"y":577},"MATH 589: Numerical Methods for Partial Differential Equations":{"x":-708,"y":488},"MATH 590: Meshfree Methods":{"x":803,"y":732},"MATH 591: Research and Thesis M.S.":{"x":718,"y":734},"MATH 592: Internship in Applied Mathematics":{"x":640,"y":737},"MATH 593: Seminar in Applied Mathematics":{"x":-613,"y":600},"MATH 594: Professional Master's Project":{"x":886,"y":625},"MATH 597: Reading and Special Projects":{"x":800,"y":621},"MATH 599: TA Training":{"x":803,"y":676},"MATH 601: Advanced Topics in Combinatorics":{"x":-1154,"y":559},"MATH 602: Advanced Topics in Graph Theory":{"x":-1064,"y":558},"MATH 603: Advanced Topics in Computational Mathematics":{"x":-382,"y":623},"MATH 604: Advanced Topics in Applied Analysis":{"x":-225,"y":622},"MATH 605: Advanced Topics in Stochastics":{"x":299,"y":709}}`
var options = {
"configure": {
"enabled": true,
"filter": [
"physics", "layout"
]
},
"edges": {
"color": {
"inherit": true
},
"smooth": {
"enabled": false,
"type": "continuous"
}
},
"interaction": {
"dragNodes": true,
"hideEdgesOnDrag": false,
"hideNodesOnDrag": false
},
"physics": {
"enabled": false,
"stabilization": {
"enabled": true,
"fit": true,
"iterations": 1000,
"onlyDynamicEdges": false,
"updateInterval": 50
}
}
};
// initialize global variables.
var edges;
var nodes;
var network;
var container;
var data;
yearData = JSON.parse(yearData);
graphData = JSON.parse(graphData);
nodePos = JSON.parse(nodePos);
// This method is responsible for drawing the graph, returns the drawn network
function drawGraph() {
var container = document.getElementById('mynetwork');
// parsing and collecting nodes and edges from the python
nodes = new vis.DataSet(graphData.nodes);
edges = new vis.DataSet(graphData.edges);
// adding nodes and edges to the graph
data = {nodes: nodes, edges: edges};
// if this network requires displaying the configure window,
// put it in its div
options.configure["container"] = document.getElementById("config");
network = new vis.Network(container, data, options);
return network;
}
function updateGraph() {
nodes = new vis.DataSet(graphData.nodes)
network.setData({nodes: nodes, edges:edges});
network.setOptions(options);
}
var years = ['2018S', '2018F', '2019S', '2019F', '2020S', '2020F', '2021S', '2021F',
'2022S', '2022F', '2023S', '2023F', '2024S', '2024F', '2025S', '2025F',
'2026S'];
// generates dropdown values
var select = document.getElementById('year-select');
for (var i = 0; i < years.length; i++) {
var option = document.createElement("option");
option.innerText = years[i];
option.value = years[i];
select.appendChild(option);
}
var physicsEnabled = false;
function togglePhysics() {
physicsEnabled = !(physicsEnabled);
console.log(physicsEnabled);
options['physics']['enabled'] = physicsEnabled;
console.log(options);
updateGraph();
}
var unselected = '#D3D3D3'
var selected = '#D184C4'
var future_selected = '#DB4670'
var intersect_selected = '#8F1A25'
function updateYear() {
var s = document.getElementById('year-select');
var year = s.options[s.selectedIndex].value;
for (var i = 0; i < Object.keys(graphData['nodes']).length; i++) {
var courseName = graphData['nodes'][i]['id'].slice(0, 8);
if (yearData[year][courseName]) {
graphData['nodes'][i]['color'] = selected;
if (yearData[years[years.indexOf(year) + 1]][courseName]) {
graphData['nodes'][i]['color'] = intersect_selected;
}
}
else if (yearData[years[years.indexOf(year) + 1]][courseName]) {
graphData['nodes'][i]['color'] = future_selected;
}
else {
graphData['nodes'][i]['color'] = unselected;
}
}
updateGraph();
}
var changedPos = false;
function changePos(){
changedPos = !(changedPos);
if (changedPos) {
for (var i = 0; i < Object.keys(nodePos).length; i++) {
graphData['nodes'][i]['x'] = nodePos[Object.keys(nodePos)[i]]['x'];
graphData['nodes'][i]['y'] = nodePos[Object.keys(nodePos)[i]]['y'];
}
}
else {
for (var i = 0; i < Object.keys(nodePos).length; i++) {
delete graphData['nodes'][i]['x'];
delete graphData['nodes'][i]['y'];
}
}
options['physics']['enabled'] = false;
updateGraph();
}
// function showComputed(){
// for (var i = 0; i < Object.keys(nodePos).length; i++) {
// delete graphData['nodes'][i]['x'];
// delete graphData['nodes'][i]['y'];
// }
// options['layout']['hierarchical']['direction'] = "UD";
// options['layout']['hierarchical']['sortMethod'] = "directed";
// options['physics']['enabled'] = false;
//
// updateGraph();
//
// delete options['layout']['hierarchical']['direction'];
// delete options['layout']['hierarchical']['sortMethod'];
// delete options['physics']['enabled'];
// }
function changeShape(){
var s = document.getElementById('shape-select');
var shape = s.options[s.selectedIndex].value;
changeShapeInput(shape);
}
function changeShapeInput(shape){
for (var i = 0; i < Object.keys(graphData['nodes']).length; i++) {
graphData['nodes'][i]['shape'] = shape;
}
updateGraph();
}
function showCode() {
for (var i = 0; i < Object.keys(graphData['nodes']).length; i++) {
graphData['nodes'][i]['label'] = graphData['nodes'][i]['id'].slice(0, 8);
}
console.log(graphData['nodes']);
updateGraph();
}
function showName() {
for (var i = 0; i < Object.keys(graphData['nodes']).length; i++) {
graphData['nodes'][i]['label'] = graphData['nodes'][i]['id'].slice(10);
}
updateGraph();
}
drawGraph();
changeShapeInput('dot');
changePos();
network.on('click', function(params){
var nodeId = params.nodes.toString().substring(9);
var x = event.clientX;
var y = event.clientY;
if (nodeId == '') {
document.getElementById('tooltip').style.display = "none";
}
else {
document.getElementById('tooltip').style.position = "absolute";
document.getElementById('tooltip').style.display = "block";
document.getElementById('tooltip').style.padding = "4px";
}
document.getElementById('tooltip').style.left = x + 10;
document.getElementById('tooltip').style.top = y - 45;
document.getElementById('tooltip').innerText = nodeId;
});
//updateGraph();
//console.log(network.getPositions());
//JSON.stringify(network.getPositions());
</script>
</body>
</html>