-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #29 from symdrome7/master
fall23
- Loading branch information
Showing
4 changed files
with
293 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
let year = '2023'; | ||
let semester = 'Fall'; | ||
|
||
function School(code, name, courses) { | ||
this.code = code; | ||
this.name = name; | ||
this.courses = courses; | ||
} | ||
|
||
function short_name(school) { | ||
return school.name.split(' ').slice(2).join(' ') | ||
} | ||
|
||
function Course(name, nick, slot) { | ||
this.name = name; | ||
this.nick = nick; | ||
this.slot = slot; | ||
} | ||
|
||
let schools = { | ||
'SCS': new School('C', 'School of Chemical Sciences', []), | ||
'SBS': new School('B', 'School of Biological Sciences', []), | ||
'SPS': new School('P', 'School of Physical Sciences', []), | ||
'SMS': new School('M', 'School of Mathematical Sciences', []), | ||
'SCPS': new School('CS', 'School of Computer Sciences', []), | ||
'SHSS': new School('H', 'School of Humanities and Social Sciences', []), | ||
'CMRP': new School('R', 'Center for Medical and Radiation Physics', []), | ||
}; | ||
|
||
let courses = { | ||
// always use A1, A2, ... for degenerates of slot A | ||
/* Biology */ | ||
'B201': new Course('Microbiology (B3)', 'MicroBio', 'D'), | ||
'B202': new Course('Biochemistry (LH2)', 'Biochem', 'B'), | ||
|
||
'B301': new Course('Animal Physiology (LH3)', 'AnimPhys', 'D'), | ||
'B302': new Course('Plant Physiology (LH3)', 'PlantPhys', 'E'), | ||
'B303': new Course('Ecology (LH3)', 'Ecology', 'F'), | ||
|
||
'B402': new Course('Developmental Biology (LH2)', 'DevBio', 'F'), | ||
'B405': new Course('Biotechniques (LH2)', 'Biotech', 'A'), | ||
'B406': new Course('Introductory Biophysics (LH2)', 'Biophys', 'D'), | ||
'B464': new Course('Neurobiology (B5)', 'Neuro', 'C'), | ||
'B465': new Course('Structural Biology (B5)', 'StrBio', 'B'), | ||
|
||
'B552': new Course('Advanced Immunology (B4)', 'AdvImmuno', 'C'), | ||
|
||
/* Chemistry */ | ||
'C201': new Course('Basic Inorganic Chemistry (LH2)', 'Inorganic', 'E'), | ||
'C203': new Course('Reaction Mechanism in Organic Chemistry (LH4)', 'Organic', 'A'), | ||
'C207': new Course('Mathematical Methods for Chemists (C6)', 'MMC', 'C'), | ||
|
||
'C301': new Course('Physical Organic Chemistry (LH3)', 'POC', 'B'), | ||
'C302': new Course('Molecular Spectroscopy and Group Theory (LH3)', 'MolSpec', 'A'), | ||
'C307': new Course('Thermodynamics and Electrochemistry (LH3)', 'Thermo', 'C'), | ||
|
||
'C401': new Course('Physical Methods in Chemsitry -II (LH4)', 'PMC2', 'B'), | ||
'C403': new Course('Chemistry of Heterocycles and Natural Products (C6)', 'Heterocycles', 'D'), | ||
|
||
'C552': new Course('Solid State Chemistry (LH4)', 'SSC', 'C'), | ||
'C557': new Course('Nuclear Magnetic Resonance (C5)', 'NMR', 'A'), | ||
'C568': new Course('Advanced Fluoroscence Spectroscopy (LH4)', 'FluorSpec', 'E'), | ||
'C572': new Course('Frontiers in Organic Synthesis (C1)', 'OrgSynth', 'A'), | ||
|
||
/* Computer Science */ | ||
'CS201': new Course('Theory of Computation (M1)', 'ToC', 'J'), | ||
'CS301': new Course('Design and Analysis of Algorithm (P126)', 'DAA', 'A'), | ||
'CS461': new Course('Advanced Machine Learning (M5)', 'AdvML', 'J'), | ||
'CS452 (K1)': new Course('Algorithmic Coding Theory (M5)', 'ACT', 'K1'), | ||
'CS452 (K2)': new Course('Algorithmic Coding Theory (M5)', 'ACT', 'K2'), | ||
|
||
/* Humanities */ | ||
'H238': new Course('Life & Communication in Urban (M4)', 'Urban', 'A'), | ||
'H225': new Course('Introduction to Psychology (LH5)', 'Psycho', 'K2'), | ||
'H235': new Course('Sociology of Science & Technology (LH5)', 'Socio', 'K1'), | ||
|
||
/* Mathematics */ | ||
'M201': new Course('Real Analysis (M1)', 'Real', 'E'), | ||
'M203': new Course('Discrete Mathematics (M1)', 'DM', 'B'), | ||
'M205': new Course('Linear Algebra (M1)', 'LinAl', 'A'), | ||
|
||
'M302': new Course('Rings and Modules (M2)', 'R&M', 'B'), | ||
'M303': new Course('Differential Equation (M2)', 'DE', 'D'), | ||
'M305*': new Course('Number Theory (M2)', 'NT', 'F'), | ||
'M306': new Course('Calculus of Several Variables (M2)', 'CSV', 'C'), | ||
'M305': new Course('Statistics (M5)', 'Stats', 'B'), | ||
|
||
'M401': new Course('Functional Analysis (M3)', 'FA', 'C'), | ||
'M403': new Course('Commutative Algebra (M3)', 'CA', 'D'), | ||
'M405': new Course('Topology (M3)', 'Topology', 'E'), | ||
'M484': new Course('Commutative Algebra (M5)', 'CA', 'D'), | ||
'M466': new Course('Measure Theory (M5)', 'MT', 'A'), | ||
'M464': new Course('Information and Coding Theory (M4)', 'ICT', 'G'), | ||
'M459*': new Course('Statistics (M4)', 'Stat', 'B'), | ||
'M458': new Course('Algebraic Number Theory (M4)', 'ANT', 'I'), | ||
|
||
'M562': new Course('Brownian Motion and Stochastic Calculus (M5)', 'BM&SC', 'H'), | ||
'M556*': new Course('Lie Groups and Lie Algebra I (M4)', 'LG&LA', 'H'), | ||
|
||
/* Physics */ | ||
'P201': new Course('Classical Mechanics I (P107)', 'CM1', 'E'), | ||
'P202': new Course('Mathematical Methods I (LH4)', 'MM1', 'F'), | ||
'P207': new Course('Linear Optics (P126)', 'LinOptics', 'B'), | ||
'P245': new Course('Basic Electronics Theory and Lab (P126)', 'ElecLab', 'D'), | ||
|
||
'P302': new Course('Statistical Mechanics (P107)', 'StatMech', 'C'), | ||
'P303': new Course('Quantum Mechanics - II (P107)', 'QM2', 'F'), | ||
'P304': new Course('Special Theory of Relativity (P107)', 'STR', 'D'), | ||
|
||
'P401': new Course('Classical Mechanics II: Mechanics of Continuous Media (P127)', 'CM2', 'E'), | ||
'P405': new Course('Atoms, molecules and Radiation (P127)', 'AMR', 'F'), | ||
|
||
'P451': new Course('Advanced Solid State Physics (P107)', 'ASS', 'B'), | ||
'P453': new Course('Quantum Field Theory I (P109)', 'QFT1', 'C'), | ||
'P462': new Course('Introduction to Quantum Optics (P108)', 'IQO', 'C'), | ||
'P473': new Course('Experimental Techniques (LH1)', 'ExpTech', 'A'), | ||
'P474': new Course('Introduction to Cosmology (P127)', 'Cosmo', 'D'), | ||
|
||
/* CMRP */ | ||
'R111': new Course('Classical Mechanics (CL-001)', 'CM', 'A'), | ||
'R112': new Course('Statistical Mechanics and Thermodynamics (CL-001)', 'StatMech&Thermo', 'B'), | ||
'R113': new Course('Mathematical Physics (CL-001)', 'MP', 'C'), | ||
'R114': new Course('Electrodynamics (CL-001)', 'Electro', 'D'), | ||
}; | ||
|
||
for (let course in courses) { | ||
for (let school in schools) { | ||
if (schools[school].code === course.match(/^[^0-9]*/)[0]) { | ||
schools[school].courses.push(course); | ||
} | ||
} | ||
} | ||
|
||
// Colorblindness-friendly color palette from: https://davidmathlogic.com/colorblind/ | ||
let colors = [ | ||
'#117733', | ||
'#44aa99', | ||
'#d55e00', | ||
'#88ccee', | ||
'#0072b2', | ||
'#ddcc77', | ||
'#cc6677', | ||
'#aa4499', | ||
'#882255', | ||
'#e69f00' | ||
]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
let year = '2022'; | ||
let semester = 'Spring'; | ||
|
||
function School(code, name, courses) { | ||
this.code = code; | ||
this.name = name; | ||
this.courses = courses; | ||
} | ||
|
||
function short_name(school) { | ||
return school.name.split(' ').slice(2).join(' ') | ||
} | ||
|
||
function Course(name, nick, slot) { | ||
this.name = name; | ||
this.nick = nick; | ||
this.slot = slot; | ||
} | ||
|
||
let schools = { | ||
'SCS': new School('C', 'School of Chemical Sciences', []), | ||
'SBS': new School('B', 'School of Biological Sciences', []), | ||
'SPS': new School('P', 'School of Physical Sciences', []), | ||
'SMS': new School('M', 'School of Mathematical Sciences', []), | ||
'SCPS': new School('CS', 'School of Computer Sciences', []), | ||
'SHSS': new School('H', 'School of Humanities and Social Sciences', []), | ||
'CMRP': new School('R', 'Center for Medical and Radiation Physics', []), | ||
}; | ||
|
||
let courses = { | ||
// always use A1, A2, ... for degenerates of slot A | ||
/* Biology */ | ||
'B204': new Course('Cell Biology (LH2)', 'CellBio', 'D'), | ||
'B206': new Course('Moleclar Biology (LH2)', 'MolBio', 'F'), | ||
|
||
'B305': new Course('Immunology (B2)', 'Immuno', 'B'), | ||
'B307': new Course('Genetics (B2)', 'Gene', 'A'), | ||
'B306': new Course('Evolutionary Biology (LH3)', 'EvoBio', 'J'), | ||
'B353': new Course('Plant Developmental Biology (B3)', 'PlantDevBio', 'D'), | ||
|
||
'B405': new Course('Biotechniques (B6)', 'Biotech', 'B'), | ||
'B453': new Course('Advanced Biochemistry (B3)', 'AdvBiochem', 'A'), | ||
'B454': new Course('Advanced Microbiology (B2)', 'AdvMicroBio', 'C'), | ||
'B455': new Course('Enzymology (LH1)', 'Enzymo', 'E'), | ||
'B456': new Course('Advanced Neurobiology (B1)', 'AdvNeuroBio', 'F'), | ||
|
||
'B554': new Course('Cancer Biology (B4)', 'CancerBio', 'A'), | ||
'B558': new Course('Quantitative Biology (B6)', 'QuantiBio', 'E'), | ||
|
||
/* Chemistry */ | ||
'C204': new Course('Reagents in Organic Syntheses (LH2)', 'Organic', 'B'), | ||
'C205': new Course('Main Group and Organometallic Chemistry (LH2)', 'Inorganic', 'E'), | ||
'C206': new Course('Quantum Chemistry - I (LH1)', 'QC1', 'F'), | ||
|
||
'C304': new Course('Coordination Chemistry (LH3)', 'CoordChem', 'E'), | ||
'C305': new Course('Chemical Binding (LH4)', 'ChemBind', 'B'), | ||
'C306': new Course('Physical Methods in Chemistry - I (LH2)', 'PMC', 'C'), | ||
|
||
'C402': new Course('Chemical Rate Processes (C5)', 'ChemRate', 'F'), | ||
|
||
'C554': new Course('Crystallography (C2)', 'Crystallo', 'C'), | ||
'C556': new Course('Advanced Bio-Inorganic Chemistry (LH3)', 'BioInorgChem', 'A'), | ||
'C565': new Course('Advanced Organic Chemistry (C1)', 'Organo', 'D'), | ||
'C567': new Course('Advanced Main Group Chemistry (C2)', 'MainGrpChem', 'A'), | ||
'C571': new Course('Statistical Mechanics (LH1)', 'StatMech', 'A'), | ||
|
||
/* Computer Science */ | ||
'CS202': new Course('Discrete Structures and Computation (LH2)', 'DSC', 'E'), | ||
'CS460': new Course('Machine Learning (M3)', 'ML', 'D'), | ||
'CS458': new Course('Approximation Algorithms (M3)', 'AppAlgo', 'F'), | ||
|
||
/* Humanities */ | ||
'H227': new Course('Organisational Behaviour (LH5)', 'OB', 'J'), | ||
'H205': new Course('Environmental Economics and Environmental Impact Assessment (LH4)', 'EnvEco', 'K2'), | ||
'H210': new Course('The City in Modern Fiction (LH4)', 'ModFiction', 'K1'), | ||
|
||
/* Mathematics */ | ||
'M202': new Course('Group Theory (M1)', 'GrpTheory', 'F'), | ||
'M204': new Course('Metric Spaces (M1)', 'MetSpace', 'D'), | ||
'M206': new Course('Probability Theory (M1)', 'PT', 'C'), | ||
|
||
'M301': new Course('Lebesque Integration (M2)', 'LI', 'E'), | ||
'M307': new Course('Field Theory (M2)', 'FT', 'A'), | ||
'M308': new Course('Complex Analysis (M2)', 'CA', 'G'), | ||
'M309': new Course('Graph Theory (M2)', 'GraphTheo', 'B'), | ||
'M311': new Course('Numerical Analysis (M5)', 'H'), | ||
|
||
'M402': new Course('Representations of Finite Groups (M2)', 'FG', 'H'), | ||
'M404': new Course('Algebraic Topology (M2)', 'AT', 'G'), | ||
'M456': new Course('Algebraic Geometry (M3)', 'AG', 'C'), | ||
'M470': new Course('Abstract Harmonic Analysis (M2)', 'AbsHarmAnal', 'D'), | ||
'M452': new Course('Advanced Functional Analysis (M3)', 'AdvFuncAnal', 'B'), | ||
'M483': new Course('Introduction to Manifolds (M4)', 'Manifolds', 'B'), | ||
'M463': new Course('Finite Fields (M5)', 'FF', 'B'), | ||
'M451': new Course('Advanced Complex Analysis (M1)', 'AdvCompAnal', 'I'), | ||
|
||
'M561': new Course('Elliptical Curves (M1)', 'EC', 'A'), | ||
'M554': new Course('Ergodic Theory (M3)', 'ET', 'A'), | ||
|
||
/* Physics */ | ||
'P204': new Course('Electromagnetism I (P107)', 'EM1', 'D'), | ||
'P205': new Course('Mathematical Methods II (P107)', 'MM2', 'B'), | ||
'P206': new Course('Quantum Mechanics - I (P107)', 'QM1', 'A'), | ||
|
||
'P301': new Course('Electromagnetism - II (P107)', 'EM2', 'E'), | ||
'P306(K1)': new Course('Introdution to Condensed Matter Physics (P127)', 'CMP', 'K1'), | ||
'P306(K2)': new Course('Introdution to Condensed Matter Physics (P127)', 'CMP', 'K2'), | ||
'P307': new Course('Nuclei and Particles (LH3)', 'Nuclei', 'C'), | ||
|
||
'P454': new Course('Particle Physics (P126)', 'PP', 'B'), | ||
'P455': new Course('Introduction to Phase Transition and Critical Phenomena (P127)', 'PT&CP', 'F'), | ||
'P457': new Course('General Theory of Relativity and Cosmology (P108)', 'GTR', 'A'), | ||
'P461': new Course('Physics of Mesoscopic Systems (P109)', 'PMS', 'A'), | ||
'P468': new Course('Magnetism and Superconductivity (P108)', 'Mag&Sup', 'E'), | ||
'P477': new Course('Relativistic Nucleus - Nucleus Collision and Quark Gluon Plasma (P126)', 'RN', 'D'), | ||
|
||
/* CMRP */ | ||
'R121': new Course('Quantum Mechanics (CR-101)', 'QM', 'B'), | ||
'R122': new Course('Electronics and Instrumentation (CR-101)', 'E&I', 'C'), | ||
'R123': new Course('Solid State Physics (CR-101)', 'SSP', 'D'), | ||
'R124': new Course('Nuclear Physics (CR-101)', 'NP', 'E'), | ||
}; | ||
|
||
for (let course in courses) { | ||
for (let school in schools) { | ||
if (schools[school].code === course.match(/^[^0-9]*/)[0]) { | ||
schools[school].courses.push(course); | ||
} | ||
} | ||
} | ||
|
||
// Colorblindness-friendly color palette from: https://davidmathlogic.com/colorblind/ | ||
let colors = [ | ||
'#117733', | ||
'#44aa99', | ||
'#d55e00', | ||
'#88ccee', | ||
'#0072b2', | ||
'#ddcc77', | ||
'#cc6677', | ||
'#aa4499', | ||
'#882255', | ||
'#e69f00' | ||
]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters