Last active
September 6, 2018 15:32
-
-
Save cdrini/378c44b6fb036d9bf411a1753cbea2e3 to your computer and use it in GitHub Desktop.
UW Important Dates as Outlook CSV
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
Subject | Start Date | End Date | All Day Event | Description | Show Time As | |
---|---|---|---|---|---|---|
Course selection period (Returning Waterloo students) | 2018/5/23 | 2018/5/29 | TRUE | 3 | ||
Course selection period (New Waterloo students) | 2018/7/3 | 2018/7/10 | TRUE | 3 | ||
Next term's class schedule viewable in Quest | 2018/7/18 | 2018/7/19 | TRUE | 3 | ||
Drop/Add period begins (New Waterloo students) | 2018/7/19 | 2018/7/20 | TRUE | Dates listed indicate Quest appointment period. <a href="https://uwaterloo.ca/quest/help/students/how-do-i/view-my-appointment-time-beginning-drop-add">See how to view appointment time for the beginning of drop/add</a>. Enrolment for all students continues beyond enrolment appointments until the end of the add period. | 3 | |
Drop/Add period begins (Returning Waterloo students) | 2018/7/23 | 2018/7/25 | TRUE | Dates listed indicate Quest appointment period. <a href="https://uwaterloo.ca/quest/help/students/how-do-i/view-my-appointment-time-beginning-drop-add">See how to view appointment time for the beginning of drop/add</a>. Enrolment for all students continues beyond enrolment appointments until the end of the add period. | 3 | |
Fees due date | 2018/8/22 | 2018/8/23 | TRUE | If you are not <a href="https://uwaterloo.ca/finance/student-financial-services/how-become-fees-arranged">"Fees Arranged"</a>, your access to LEARN may be affected. <a href="https://uwaterloo.ca/finance/student-financial-services">View more information.</a> | 3 | |
Late fees begin | 2018/8/23 | 2018/8/24 | TRUE | <em>View <a href="https://uwaterloo.ca/finance/student-financial-services">Student Financial Services</a> website</em>. | 3 | |
Orientation | 2018/9/2 | 2018/9/9 | TRUE | View <a href="https://uwaterloo.ca/orientation/">Orientation website</a> for students enrolling for the <strong>first time</strong> at Waterloo. | 3 | |
Labour Day: | 2018/9/3 | 2018/9/4 | TRUE | <a href="https://uwaterloo.ca/human-resources/pay-administration/paid-holidays">University holiday</a> | 3 | |
Co-operative Work Term begins | 2018/9/4 | 2018/9/5 | TRUE | Actual dates may vary depending on employer or student requirements. | 3 | |
Lectures or classes begin at Waterloo and Laurier | 2018/9/6 | 2018/9/7 | TRUE | 3 | ||
Last day to select examination centres for online courses. | 2018/9/16 | 2018/9/17 | TRUE | View in <a href="https://uwaterloo.ca/quest/home">Quest</a> | 3 | |
Add period ends | 2018/9/19 | 2018/9/20 | TRUE | 3 | ||
English Language Proficiency Exam (ELPE) | 2018/9/22 | 2018/9/23 | TRUE | <p>English Language Proficiency Exam (ELPE) dates for new students (in some faculties).</p> <div class="body"> <p>View details on the <a href="https://uwaterloo.ca/communication-requirement/writing-english-language-proficiency-exam/elpe-dates">Communication Requirement</a> website.</p> <p><em><strong>Note: </strong>April 8, 2019 will be the last time the ELPE is offered.</em></p> </div> | 3 | |
Deadline for 100% tuition refund | 2018/9/26 | 2018/9/27 | TRUE | <em>FInance: View <a href="https://uwaterloo.ca/finance/student-financial-services">Student Financial Services</a> website</em>. | 3 | |
Drop, penalty 1 period begins | 2018/9/27 | 2018/9/28 | TRUE | WD (Withdrew, no credit granted) grade assigned for course(s) dropped during this period. | 3 | |
Final exam schedules released | 2018/9/28 | 2018/9/29 | TRUE | View <a href="https://uwaterloo.ca/registrar/final-examinations/exam-schedule">on-campus</a> and <a href="https://uwaterloo.ca/quest/help/students/how-do-i/online-exam-schedule">online</a> schedules | 3 | |
Thanksgiving Day: | 2018/10/8 | 2018/10/9 | TRUE | <a href="https://uwaterloo.ca/human-resources/pay-administration/paid-holidays">University holiday</a> | 3 | |
Opportunity to adjust your online course exam location | 2018/10/9 | 2018/10/24 | TRUE | View: <a href="https://uwaterloo.ca/quest/help/students/how-do-i/online-exam-schedule">How do I view my online course exam schedule?</a> | 3 | |
Mid-Term Study Break | 2018/10/9 | 2018/10/11 | TRUE | <p><em>Co-operative employment interviews may continue during these periods.</em></p> <p><em>Fall mid-term study break also known as “Fall Break”</em>.</p> <p><em>Winter mid-term study breaks also known as "Reading Week".</em></p> | 3 | |
Make-up day for October 9 | 2018/10/11 | 2018/10/12 | TRUE | The loss of a Tuesday class on October 9 (Fall Break study day) will be made up by following a Tuesday schedule on October 11. | 3 | |
Make-up day for October 10 | 2018/10/12 | 2018/10/13 | TRUE | The loss of a Wednesday class on October 10 (Fall Break study day) will be made up by following a Wednesday schedule on October 12. | 3 | |
Last day for online students to change their examination location | 2018/10/23 | 2018/10/24 | TRUE | 3 | ||
Deadline for 50% tuition refund | 2018/10/24 | 2018/10/25 | TRUE | <em>Finance: View <a href="https://uwaterloo.ca/finance/student-financial-services">Student Financial Services</a> website</em>. | 3 | |
Fall 2018 Convocation | 2018/10/26 | 2018/10/28 | TRUE | View the <a href="https://uwaterloo.ca/registrar/convocation">Convocation web page</a> for ceremony details. | 3 | |
Fee arrangement deadline | 2018/10/31 | 2018/11/1 | TRUE | A <a href="https://uwaterloo.ca/forms/undergraduate-studies/late-fees-arrangement">Late Fees Arrangement form</a> is required to become <a href="https://uwaterloo.ca/finance/student-financial-services">fees arranged</a> after these dates. | 3 | |
Drop, penalty 1 period ends | 2018/11/19 | 2018/11/20 | TRUE | WD (Withdrew, no credit granted) grade assigned for course(s) dropped during this period. | 3 | |
Drop, penalty 2 period begins | 2018/11/20 | 2018/11/21 | TRUE | <em>WF (Withdrew/Failure, no credit granted, value 32) grade assigned for course(s) dropped during this period. (</em><strong><em>Engineering students</em></strong><em>: Visit </em><em><a href="http://ugradcalendar.uwaterloo.ca/page/ENG-Examinations-and-Promotions-Rules">course load</a> and <a href="http://ugradcalendar.uwaterloo.ca/page/ENG-Voluntary-Withdrawals-1">withdrawal</a> in the Undergraduate Clendar for specific regulations.)</em> | 3 | |
Lectures or classes end at Waterloo | 2018/12/3 | 2018/12/4 | TRUE | 3 | ||
Make-up day for Thanksgiving Day | 2018/12/3 | 2018/12/4 | TRUE | The loss of a Monday class on October 8 will be made up by following a Monday schedule on December 3. | 3 | |
Pre-examination study days | 2018/12/4 | 2018/12/6 | TRUE | 3 | ||
Grades due | 2018/12/4 | 2019/1/3 | TRUE | 3 | ||
Drop, penalty 2 period ends | 2018/12/5 | 2018/12/6 | TRUE | Last day to drop a course without a petition; WF (Withdrew/Failure, no credit granted, value 32) grade assigned for course(s) dropped during this period. | 3 | |
Lectures or classes end at Laurier | 2018/12/5 | 2018/12/6 | TRUE | 3 | ||
On-campus final examination period | 2018/12/6 | 2018/12/22 | TRUE | 3 | ||
Online course final examination - Day 1 | 2018/12/7 | 2018/12/8 | TRUE | 3 | ||
Online course final examination - Day 2 | 2018/12/8 | 2018/12/9 | TRUE | 3 | ||
Co-operative Work Term ends | 2018/12/21 | 2018/12/22 | TRUE | Actual dates may vary depending on employer or student requirements. | 3 | |
Unofficial grades begin to appear in Quest | 2018/12/22 | 2018/12/23 | TRUE | Registered students can view their unofficial term grades in <a href="https://uwaterloo.ca/quest/">Quest</a>. (Not all grades will be available on this date.) | 3 | |
University holiday closure | 2018/12/24 | 2019/1/1 | TRUE | <a href="https://uwaterloo.ca/human-resources/pay-administration/paid-holidays">University holiday</a> | 3 | |
Standing decisions and official grades are available in Quest | 2019/1/18 | 2019/1/19 | TRUE | Registered students can view their official term grades in <a href="https://uwaterloo.ca/quest/">Quest</a>. This is the date when official and complete term grades will appear along with academic standings. Averages do not appear on the official transcript. | 3 |
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 isn't really meant to be re-useable; just a quick script I used but which I made | |
* public in case someone wanted to check validity or create a more re-useable script. | |
* First you have to inject d3 into your browser console (https://cdnjs.cloudflare.com/ajax/libs/d3/4.13.0/d3.min.js), | |
* then run the following code. | |
*/ | |
var COLUMN = "Fall 2018"; | |
var TABLE_SEL = "table.sticky-enabled"; | |
var MONTHS_PAT = "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec"; | |
var MONTHS_TO_INT = new Map(MONTHS_PAT.split("|").map((mo,i) => [mo,i])); | |
var CONTAINER_ELS = new Set(["DIV", "P", "EM", "#text"]); | |
var $ = document.querySelectorAll.bind(document); | |
var headers = Array.from($(`${TABLE_SEL} th`)).map(th => th.textContent.trim()); | |
var col_index = headers.findIndex(x => x == COLUMN); | |
// Parse a date like "Jan 12, 2018" to an array [2018, 1, 12] | |
function parse_date(str) { | |
var [mo, da, ye] = str.split(/[\s,]+/); | |
return [ | |
parseInt(ye, 10), | |
MONTHS_TO_INT.get(mo) + 1, | |
parseInt(da, 10) | |
]; | |
} | |
function date_arr_to_date([y, m, d]) { | |
return new Date(y, m-1, d); | |
} | |
// Increment a [yy, mm, dd] date (inplace) | |
function incr_date(date) { | |
var d = date_arr_to_date(date); | |
var new_d = new Date(d.getTime() + 24 * 60 * 60 * 1000); | |
date[0] = new_d.getFullYear(); | |
date[1] = new_d.getMonth() + 1; | |
date[2] = new_d.getDate(); | |
} | |
// Merge adjacent EM (or text) nodes | |
function collapse_adjacent_ems(parent) { | |
function is_mergeable(el) { | |
return (el.nodeName == "EM" && el.childNodes.length == 1 && el.childNodes[0].nodeName == "#text") || | |
(el.nodeName == "#text"); | |
} | |
var i = 0; | |
while(parent.childNodes.length > (i+1)) { | |
if (is_mergeable(parent.childNodes[i]) && is_mergeable(parent.childNodes[i+1])) { | |
parent.childNodes[i].textContent += parent.childNodes[i+1].textContent; | |
parent.childNodes[i+1].remove(); | |
} | |
else { | |
i++; | |
} | |
} | |
} | |
Array.prototype.flatMap = function(transform) { | |
return this.map(transform) | |
.reduce((acc, cur) => { | |
acc.push(...(cur instanceof Array ? cur : [cur])); | |
return acc; | |
}, []); | |
} | |
// Remove "wrapper" els (i.e. single child) matching types in the set types | |
function remove_wrappers(types, el) { | |
if (!el) return el; | |
return (el.childNodes.length == 1 && types.has(el.nodeName)) | |
? remove_wrappers(types, el.childNodes[0]) | |
: el; | |
} | |
// Remove rows which have "inappliccable" dates for the active `col_index` | |
function remove_inapplicable(tr) { | |
var date_td = tr.children[col_index]; | |
return date_td.textContent.trim() != "Not applicable"; | |
} | |
// Create an event object from a row in the table | |
function event_from_row(tr) { | |
var title_td = tr.children[0]; | |
var title = title_td.childNodes[0].textContent.trim(); | |
var date_td = tr.children[col_index]; | |
if (date_td.querySelector('b')) { | |
// need multiple events | |
return Array.from(date_td.querySelectorAll('b')) | |
.map(b => { | |
var new_tr = tr.cloneNode(true); | |
// add subevent to title | |
var title_td = new_tr.children[0]; | |
var old_title = title_td.childNodes[0].textContent.trim(); | |
var subtitle = b.innerHTML.replace(/<br>/g, ' ').trim().replace(/:$/, ''); | |
var new_title = old_title + ` (${subtitle})` | |
title_td.childNodes[0].textContent = new_title | |
// Update date | |
var date_td = new_tr.children[col_index]; | |
date_td.innerHTML = ''; | |
date_td.appendChild(b.nextSibling.cloneNode(true)); | |
return event_from_row(new_tr); | |
}) | |
} | |
var date_str = date_td.childNodes[0].textContent.trim(); | |
var start, end; | |
if (date_str.indexOf(" to ") != -1) { | |
[start, end] = date_str.split(" to ").map(parse_date); | |
if (isNaN(start[0])) { | |
start[0] = end[0]; | |
// Special case for when over a year | |
if (date_arr_to_date(start).getTime() > date_arr_to_date(end).getTime()) { | |
start[0] = end[0] - 1; | |
} | |
} | |
} | |
else { | |
start = end = parse_date(date_str); | |
} | |
end = Array.from(end); // create copy | |
incr_date(end); | |
var date_notes = null; | |
var date_notes_el = date_td.querySelector(".special_notes") | |
if (date_notes_el) date_notes = date_notes_el.textContent.trim(); | |
var desc = null; | |
var desc_el = tr.children[0].querySelector(".body"); | |
desc_el = remove_wrappers(CONTAINER_ELS, desc_el); | |
if (desc_el) { | |
collapse_adjacent_ems(desc_el); | |
desc_el = remove_wrappers(CONTAINER_ELS, desc_el); | |
console.log(desc_el); | |
desc = CONTAINER_ELS.has(desc_el.nodeName) | |
? desc_el.innerHTML || desc_el.textContent | |
: desc_el.outerHTML || desc_el.textContent; | |
} | |
return {title, start, end, date_notes, desc, tr}; | |
} | |
var rows = Array.from($(`${TABLE_SEL} tbody tr`)) | |
.filter(remove_inapplicable) | |
.flatMap(event_from_row); | |
// custom edits | |
// Online course examination days should be a range | |
var online_exam_days = rows.find(e => e.title == "Online course examination days"); | |
if (online_exam_days) { | |
online_exam_days.end = parse_date(online_exam_days.date_notes.trim()); | |
online_exam_days.end[2]++; // cause range end needs to be ahead by 1 | |
online_exam_days.date_notes = null; | |
} | |
function to_outlook_csv(rows) { | |
function format_date(date) { return date.join('/'); } | |
return rows.map(row => { | |
var description = ""; | |
if (row.date_notes) | |
description = "* " + row.date_notes; | |
if (row.desc) | |
description += (description ? "\n\n" : "") + row.desc; | |
return { | |
Subject: row.title, | |
"Start Date": format_date(row.start), | |
"End Date": format_date(row.end), | |
"All Day Event": "TRUE", | |
Description: description, | |
"Show Time As": 3 | |
}; | |
}) | |
} | |
d3.csvFormat(to_outlook_csv(rows)); |
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
Subject | Start Date | End Date | All Day Event | Description | Show Time As | |
---|---|---|---|---|---|---|
Course selection period | 2018/1/23 | 2018/1/31 | TRUE | 3 | ||
Next term schedule available to view in Quest | 2018/3/22 | 2018/3/23 | TRUE | 3 | ||
Drop/add period begins | 2018/3/26 | 2018/3/27 | TRUE | <a href="https://uwaterloo.ca/quest/help/students/how-do-i/view-my-appointment-time-beginning-drop-add">View appointment time for the beginning of drop/add.</a> | 3 | |
Fees due date | 2018/4/24 | 2018/4/25 | TRUE | If you are not <a href="https://uwaterloo.ca/finance/student-financial-services/how-become-fees-arranged">"Fees Arranged"</a>, your access to LEARN may be affected. <a href="https://uwaterloo.ca/finance/student-financial-services">View more information.</a> | 3 | |
Late fees begin | 2018/4/25 | 2018/4/26 | TRUE | <a href="https://uwaterloo.ca/finance/student-financial-services">View more information.</a> | 3 | |
Orientation week | 2018/4/30 | 2018/5/6 | TRUE | View <a href="https://uwaterloo.ca/orientation/">Orientation website</a> for students enrolling for the <strong>first time</strong> at Waterloo. | 3 | |
Co-operative work term begins | 2018/5/1 | 2018/5/2 | TRUE | Actual dates may vary depending on employer or student requirements. | 3 | |
Lectures or classes begin at Laurier | 2018/5/7 | 2018/5/8 | TRUE | 3 | ||
Lectures or classes begin at UWaterloo | 2018/5/1 | 2018/5/2 | TRUE | 3 | ||
Last day to select examination centres for online courses. | 2018/5/13 | 2018/5/14 | TRUE | <em>View in <a href="https://uwaterloo.ca/quest/home">Quest</a></em>. | 3 | |
Add period ends | 2018/5/14 | 2018/5/15 | TRUE | 3 | ||
Victoria Day | 2018/5/21 | 2018/5/22 | TRUE | <a href="https://uwaterloo.ca/human-resources/support-employees/payroll/paid-holidays">University holiday</a> | 3 | |
Drop, no penalty period ends | 2018/5/22 | 2018/5/23 | TRUE | <a href="https://uwaterloo.ca/finance/student-financial-services">Deadline to withdraw from courses with 100% tuition refund.</a> | 3 | |
Make-up day for Victoria Day | 2018/5/22 | 2018/5/23 | TRUE | The loss of a Monday class on May 21 will be made up by following a Monday schedule on May 22. | 3 | |
Drop, penalty 1 period begins | 2018/5/23 | 2018/5/24 | TRUE | WD (Withdrew, no credit granted) grade assigned for course(s) dropped during this period | 3 | |
Final exam schedules released | 2018/5/25 | 2018/5/26 | TRUE | View <a href="https://uwaterloo.ca/registrar/final-examinations/exam-schedule">on-campus</a> and <a href="https://uwaterloo.ca/quest/help/students/how-do-i/online-exam-schedule">online</a> schedules | 3 | |
Opportunity to adjust your online course exam location | 2018/6/6 | 2018/6/21 | TRUE | View: <a href="https://uwaterloo.ca/quest/help/students/how-do-i/online-exam-schedule">How do I view my online course exam schedule?</a> | 3 | |
Spring 2018 Convocation | 2018/6/12 | 2018/6/17 | TRUE | View the <a href="https://uwaterloo.ca/registrar/convocation">Convocation web page</a> | 3 | |
Last day for online students to change their examination location | 2018/6/20 | 2018/6/21 | TRUE | 3 | ||
Deadline for 50% tuition refund | 2018/6/19 | 2018/6/20 | TRUE | <em>View </em><em><a href="https://uwaterloo.ca/finance/student-financial-services">Student Financial Services</a></em> website | 3 | |
Fee arrangement deadline | 2018/6/30 | 2018/6/31 | TRUE | A "<a href="https://uwaterloo.ca/forms/undergraduate-studies/late-fees-arrangement">Late Fees Arrangement</a>" form required to become <a href="https://uwaterloo.ca/finance/student-financial-services">fees arranged</a> after these dates. | 3 | |
Canada Day | 2018/7/2 | 2018/7/3 | TRUE | <a href="https://uwaterloo.ca/human-resources/support-employees/payroll/paid-holidays">University holiday</a> | 3 | |
Drop, penalty 1 period ends | 2018/7/11 | 2018/7/12 | TRUE | WD (Withdrew, no credit granted) grade assigned for course(s) dropped | 3 | |
Drop, penalty 2 period begins | 2018/7/12 | 2018/7/13 | TRUE | <em>WF (Withdrew/Failure, no credit granted, value 32) grade assigned for course(s) dropped (</em><strong><em>Engineering students</em></strong><em>: Visit </em><em><a href="http://ugradcalendar.uwaterloo.ca/page/ENG-Examinations-and-Promotions-Rules">course load</a> and <a href="http://ugradcalendar.uwaterloo.ca/page/ENG-Voluntary-Withdrawals-1">withdrawal</a> in the calendar for specific regulations.)</em> | 3 | |
Lectures or classes end | 2018/7/25 | 2018/7/26 | TRUE | 3 | ||
Make-up Day for Canada Day observance on July 2 | 2018/7/25 | 2018/7/26 | TRUE | The loss of a Monday class on July 2 will be made up by following a Monday schedule on July 25. | 3 | |
Pre-examination study days | 2018/7/26 | 2018/7/28 | TRUE | 3 | ||
Drop, penalty 2 period ends | 2018/7/27 | 2018/7/28 | TRUE | WF (Withdrew/Failure, no credit granted, value 32) grade assigned for course(s) dropped; last day to drop a course without a petition | 3 | |
On-campus examinations begin | 2018/7/28 | 2018/7/29 | TRUE | 3 | ||
Grades due | 2018/8/27 | 2018/8/28 | TRUE | 3 | ||
Online course examination days | 2018/7/28 | 2018/8/4 | TRUE | 3 | ||
Civic Day | 2018/8/6 | 2018/8/7 | TRUE | <a href="https://uwaterloo.ca/human-resources/support-employees/payroll/paid-holidays">University holiday</a> | 3 | |
On-campus examinations end | 2018/8/11 | 2018/8/12 | TRUE | 3 | ||
Co-operative work term ends | 2018/8/24 | 2018/8/25 | TRUE | Actual dates may vary depending on employer or student requirements | 3 | |
Unofficial grades begin to appear in Quest | 2018/8/13 | 2018/8/14 | TRUE | Beginning this date, registered students can view their unofficial term grades in <a href="https://uwaterloo.ca/quest/">Quest</a>. (Not all grades will appear.) | 3 | |
Standings and official grades are available in Quest | 2018/9/19 | 2018/9/20 | TRUE | Beginning this date, registered students can view their official term grades in <a href="https://uwaterloo.ca/quest/">Quest</a>. This is the date when official and complete term grades will appear along with academic standings and when official transcripts that have been ordered will be released. Averages do not appear on the official transcript. | 3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment