Skip to content

Commit

Permalink
Merge pull request #29 from symdrome7/master
Browse files Browse the repository at this point in the history
fall23
  • Loading branch information
rahul3613 committed Jul 31, 2023
2 parents 057612a + 1977272 commit 572c0b0
Show file tree
Hide file tree
Showing 4 changed files with 293 additions and 2 deletions.
3 changes: 2 additions & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,8 @@ <h2 id="h2leg" class="hidden">Legend</h2>
<script src="scripts/jspdf.umd.min.js"></script>
<script src="scripts/jspdf.plugin.autotable.js"></script>
<script src="scripts/html2canvas.min.js"></script>
<script src="scripts/data.js"></script>
<script src="scripts/data_fall.js"></script>
<!-- <script src="scripts/data_spring.js"></script> -->
<script src="scripts/main.js"></script>
</body>
</html>
146 changes: 146 additions & 0 deletions scripts/data_fall.js
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'
];
144 changes: 144 additions & 0 deletions scripts/data_spring.js
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'
];
2 changes: 1 addition & 1 deletion scripts/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ function generatePdf() {
doc.text('Legend', 40, finalY);
doc.html(document.getElementById('legend'), {
callback: function (doc) {
doc.save("tt_fall_2022.pdf");
doc.save("timetable_odd23.pdf");
},
x: 40,
y: finalY + 7,
Expand Down

0 comments on commit 572c0b0

Please sign in to comment.