Students are required to enroll in elective courses during the course selection period in order to satisfy the linkage (LE), science elective (SCE), and advanced technical electives (ATEs) requirements. Students may swap elective courses during the drop/add period. To do this, students need to understand how to enroll in courses using the online QUEST system at: http://quest.uwaterloo.ca.
First time users of this system should check out:
for information on adding and dropping courses. Please remember that students must maintain a full academic load (at least 5 courses) each and every academic term, or get permission from the Associate Director of Software Engineering to take a reduced load. Students who fail to maintain a full course load without permission will be required to repeat the term!
Course selection takes place approximately three months in advance of the first day of classes of the term of enrolment i.e. you select electives at the end of September for courses you will take the following winter.
Requests for course overrides need to be submitted to a Software Engineering advisor, and we prefer to receive them electronically at firstname.lastname@example.org. Shaz Rahaman (DC 2597) processes them and forwards them to the Registrar's Office. Don't send paper forms to the Registrar's Office! They will send the form back to us, which costs you a couple of days.
- If you need instructor permission (override time conflict, requisites, class full), the best way to get an override is to email the instructor for that permission and then to forward the response to us at email@example.com.
- If you have a time conflict with class prof hours, we can approve that. Send us a note at firstname.lastname@example.org with the course and section (and ideally the 4-digit class numbers) that you would like to add.
- You can also submit physical course override forms including the instructor's signature. The course override form is available online.
The add deadline is the Friday of the second week of classes each term. There are various drop deadlines. The Registrar maintains the definitive list of dates.
Students are block enrolled for core courses each academic term. In some cases, there are multiple sections available for a course. Students will not be allowed to change the course section that they have been assigned to unless they have a legitimate reason. Reasons such as "I want to sleep in" and "My friends are in this section" are not considered legitimate, and all requests based on such reasons will be denied.
In some cases, students may want to enroll in an elective course that conflicts with an existing core course. Permission for such conflicts are at the discretion of the Associate Director of Software Engineering. Students are responsible for dealing with the consequences of time conflicts.
Taking a course on a work term
To take an extra course during an academic semester, you need to have an average (cumulative and last term) of at least 80%. You also need to designate which is the extra course that will not be counted in the term average. Contact Shaz to ask permission to take an extra course.
Full course load
A full load is the number of courses listed in the SE section of the Undergraduate Studies Calendar for each term. Not carrying a full course load can jeopardize the legitimacy of your term and you could be required to repeat it regardless of the marks you achieved, unless you have secured permission in advance from the SE Associate Director to take a reduced course load.
If you fail a course, you need to clear the failure before graduation. If the mark is between 40-49, then the program allows you to do a supplemental exam. However it is still up to the instructor whether they feel that you can do a SUPP or should retake the course. A SUPP is typically done by writing the final exam with the next offering of the course. The exam mark would be communicated to your course instructor who would then decide if you get credit for the course (your original mark remains on your transcript).
If you do not qualify for a SUPP, then you need to take a course to clear the failure. Core courses must be cleared by retaking the same course. Electives can be cleared by taking a different elective - as long as you have enough to graduate. Note that if you accumulate 3 uncleared failures, you will not be allowed to proceed until you have cleared 2 of those failures. This includes work-term reports!
Getting into a Computer Science course
In computer science, it is the CS advisors who sign you into courses, rather than the instructors. The CS advisors have office hours posted. You should be sure to pre-enroll for any CS electives that you plan to take. If you fail to do that and the class fills up, they will probably not accommodate you. To choose your CS electives, look through the course descriptions.
Refer to your class homepage for your elective requirements.
It is possible to have other electives approved by the Associate Director.
Students are free to enroll in any elective in any term in which electives are to be chosen.
The program administration cannot guarantee that students take the specified courses when they are prescribed by the calendar. It is up to the student to fulfil these requirements.
The program administration WILL NOT make any scheduling or other concessions because a student did not fulfil all of his or her elective requirements by the end of his or her 4B term. For example, if a student decides to take a linkage elective in a term where a general elective is required and the student could not find a time to fit in that general elective in subsequent academic or work terms, then the student would have to take a non-degree term after 4B to complete the requirements.
Again, in all academic terms up to and including 4B, students must maintain a full academic load each and every term.
Options, minors, double degree
The university offers many options, most of which you can take. Three options have been identified as relevant and doable for SE students: Business, Cognitive Science and Management Science. Visit the undergraduate calender to see a full list of options.
- You may declare an option at any point up to graduation. It will appear on your unofficial transcript. If you don't complete the option requirements, it will simply be excluded from your diploma and official transcript. To declare an option, submit the first page of a plan modification form (PDF) to the Associate Director. Your current plan is "Bachelor of Software Engineering" and your requested plan is "Bachelor of Software Engineering with xxxxxxx Option".
- Options typically require 6-10 courses. These courses may also be core and elective courses so completing an option would probably take from 0-4 extra courses. These extra courses can be done by taking extra courses during academic terms, taking distance ed courses on work terms or in an unofficial "4C" term which would delay graduation by one term.
- Only a couple of SE students have done or are doing minors (for example in Political Science or Physics). Minors typically require10-16 courses.
- Double-degrees are also possible although no SE student has done one or is doing one at this time.