Academic Calendar - 2024

Western University Academic Calendar. - 2024

Courses


Course Numbering

0001-0999* Pre-University level introductory courses
1000-1999 Year 1 courses
2000-4999 Senior-level undergraduate courses
5000-5999 Professional Degree courses in Dentistry, Education, Law, Medicine and Theology (MTS, MDiv)
6000-6999 Courses offered by Continuing Studies
9000-9999 Graduate Studies courses

* These courses are equivalent to pre-university introductory courses and may be counted for credit in the student's record, unless these courses were taken in a preliminary year. They may not be counted toward essay or breadth requirements, or used to meet modular admission requirements unless it is explicitly stated in the Senate-approved outline of the module.


Suffixes

no suffix 1.0 course not designated as an essay course
A 0.5 course offered in first term
B 0.5 course offered in second term
A/B 0.5 course offered in first and/or second term
E 1.0 essay course
F 0.5 essay course offered in first term
G 0.5 essay course offered in second term
F/G 0.5 essay course offered in first and/or second term
H 1.0 accelerated course (8 weeks)
J 1.0 accelerated course (6 weeks)
K 0.75 course
L 0.5 graduate course offered in summer term (May - August)
Q/R/S/T 0.25 course offered within a regular session
U 0.25 course offered in other than a regular session
W/X 1.0 accelerated course (full course offered in one term)
Y 0.5 course offered in other than a regular session
Z 0.5 essay course offered in other than a regular session

Glossary


Prerequisite

A course that must be successfully completed prior to registration for credit in the desired course.


Corequisite

A course that must be taken concurrently with (or prior to registration in) the desired course.


Antirequisite

Courses that overlap sufficiently in course content that both cannot be taken for credit.


Essay Courses

Many courses at Western have a significant writing component. To recognize student achievement, a number of such courses have been designated as essay courses and will be identified on the student's record (E essay full course; F/G/Z essay half-course).


Principal Courses

A first year course that is listed by a department offering a module as a requirement for admission to the module. For admission to an Honours Specialization module or Double Major modules in an Honours Bachelor degree, at least 3.0 courses will be considered principal courses.



Campus




Course Level






Course Type




Software Engineering


This course is intended to explore the concepts of scripting programming using JavaScript including variable, flow control, expressions, arrays, and objects, to allow students writing functions using objects, properties and methods needed to deliver simple interactive web-based programs. The course also includes coverage of basic HTML and CSS and discusses topics such as the best-practice JavaScript programming patterns.

Antirequisite(s): Computer Science 1046A/B.

Prerequisite(s): Engineering Science 1036A/B.

Extra Information: 3 lecture hours, 2 laboratory/tutorial hours.

Course Weight: 0.50
More details
Return to top
Object Oriented Design (OOD) using the Unified Modeling Language. Importance of the design process in the software life cycle. Review of traditional software design methods leading into fundamental OOD principles and practices. Reusability, use of tool sets and standards are stressed. Brief coverage of user-interface design, real-time and distributed systems, architectural design.


Extra Information: 3 lecture hours, 3 laboratory hours.

Course Weight: 0.50
More details
Return to top
Survey of important computer algorithms and related data structures used in object-oriented software engineering. Design, performance analysis and implementation of such algorithms, stressing their practical use and performance certification of large software applications. Understand how to "seal" designs to guarantee performance goals and insure that error conditions are caught.



Extra Information: 3 lecture hours, 2 laboratory hours. Restricted to students enrolled in the Software Engineering program.

Course Weight: 0.50
More details
Return to top
Provides an in depth look at the implementation and test phases of the software construction process. This project based course provides hands-on experience on various aspects of software construction including practical experience on software construction tool chain, testing and debugging tools as well as change management tools.


Extra Information: 2 lecture hours, 2 laboratory hours

Course Weight: 0.50
More details
Return to top
The focus is to teach database fundamentals required in the development and evolution of most software applications by providing a basic introduction to the principles of relational database management systems such as Entity-Relationship approach to data modeling, relational model of database management systems and the use of query languages.


Prerequisite(s): SE 2203A/B, SE 2205A/B.

Extra Information: 3 lecture hours/week, 2 laboratory hours/week. Restricted to students enrolled in the Software Engineering program.

Course Weight: 0.50
More details
Return to top
An investigation into the theoretical foundations of Software Engineering including automata theory, computability, analysis of algorithms and the application of formal specification methods to software specification.


Extra Information: 3 lecture hours, 2 tutorial hours.

Course Weight: 0.50
More details
Return to top
Theory and construction of operating systems, including real-time and embedded systems aspect from an engineering point of view, stressing performance measurement and metrics. Quality of Service issues leading to certification that an operating system will satisfy hard real-time constraints.

Antirequisite(s): Computer Science 3305A/B.


Extra Information: 3 lecture hours, 2 laboratory hours

Course Weight: 0.50
More details
Return to top
This course examines and introduces advanced concepts in computer network and data communications. Topics include mobile and wireless data communications, multimedia networking, network management, distributed computing and clusters, and peer to peer network applications.

Prerequisite(s): ECE 4436A/B or AISE 4430A/B or the former SE 4430A/B.

Extra Information: 3 lecture hours, 2 laboratory hours

Course Weight: 0.50
More details
Return to top
Technologies, protocols and architectures of the Internet. From HTML, XML, JavaScript to paradigms such as ReST and AJAX and software frameworks for developing modern web applications and integrating services from 3rd parties. We will also look at semantic web, business implications of these protocols as well as legal, ethical and social issues surrounding these technologies.


Extra Information: 3 lecture hours, 2 laboratory hours.

Course Weight: 0.50
More details
Return to top
Design and implementation of a large group project illustrating the design concepts being taught and promoting team interaction in a professional setting.

Antirequisite(s): Computer Science 3307 A/B/Y (if SE 3350A/B was taken prior to 2022/23 academic year).

Prerequisite(s): SE 2203A/B, SE 3352A/B, SE 3351A/B. Corequisite(s): SE 3353A/B.

Extra Information: 1 lecture hour, 3 tutorial/laboratory hours.

Course Weight: 0.50
More details
Return to top
Project Management and Software Process life cycles. Includes detailed analysis of components of each process. Metrics, tools and related standards associated with those components. Integration into a complete software project planning including software effort, scheduling and cost estimation, software quality management, and software risk management.

Antirequisite(s): Computer Science 3377A/B.


Extra Information: 3 lecture hours per week, 1 tutorial hour per week, 12 times per term.

Course Weight: 0.50
More details
Return to top
Requirements includes a feasibility study of the desired systems, elicitations and analysis of user's needs, the creation of a precise description of what the system should and should not do along with any constraints on its operation and implementation, and the validation of this specification by the users.

Antirequisite(s): Computer Science 4473A/B.


Extra Information: 2 lecture hours, 2 laboratory hours

Course Weight: 0.50
More details
Return to top
Design and testing of user interfaces for the supervisory control of complex systems. Interfaces for human input and methods for displaying complex data using advanced graphics, interactive visualization methods. Advanced UI development software.

Antirequisite(s): Computer Science 4474A/B.

Prerequisite(s): SE 2203A/B, SE 2205A/B.

Extra Information: 2 lecture hours, 2 tutorial hours

Course Weight: 0.50
More details
Return to top
This course concentrates on advanced aspects of switching and routing of complex, diverse LAN, MAN and WAN networks, including the design and provisioning of global intranets. Included is a detailed examination of remote access, including various wireless protocols.

Prerequisite(s): SE 3314A/B, or the former SE 3312A/B

Extra Information: 3 lecture hours, 2 laboratory hours

Course Weight: 0.50
More details
Return to top
Design and implementation of a large software engineering project. Design, coding, testing and implementation are carried out by individual students or project groups under the supervision of a faculty member. Progress reports and a final engineering report are prepared; each student must deliver a public lecture on the work performed.

Antirequisite(s): CBE 4497, CEE 4441, ECE 4416, MME 4499, Engineering Science 4499.

Prerequisite(s): Completion of third year of the Software Engineering program. Corequisite(s): SE 4452A/B, SE 4455A/B.

Extra Information: 6 laboratory hours, both terms.

Course Weight: 1.00
More details
Return to top
The course focuses on software testing, verification and validation, and maintenance issues. Topics include review/inspection, testing techniques, levels of testing (unit, integration, system, acceptance, regression, etc.), and testing tools (static and dynamic). Review of software tools/techniques to manage changes in software and to control the evolution of a software project.

Antirequisite(s): Computer Science 4472A/B.

Prerequisite(s): SE 3352A/B

Extra Information: 3 lecture hours

Course Weight: 0.50
More details
Return to top
The course concentrates on the fundamental elements of cloud computing such as resource virtualization and distributed systems including the main concepts of cloud infrastructures. Laboratory activities will allow students to be exposed to fundamental technologies used by cloud computing such as virtual machines, virtual machine monitors, resource allocations, etc.

Prerequisite(s): ([ECE 4436A/B or AISE 4430A/B or the former SE 4430A/B], SE 3313A/B, SE 3314A/B), or (Computer Science 3357A/B, Computer Science 3305A/B). Pre-or Corequisite(s): Computer Science 4457A/B, only for Computer Science students.

Extra Information: 3 lecture hours, 2 laboratory hours.

Course Weight: 0.50
More details
Return to top
The course deals with topics of current interest in Software Engineering. Topics and course outline will be available at the time of registration.

Prerequisite(s): Completion of the third year of the Software Engineering program.

Extra Information: 3 lecture hours, 1 lab hour

Course Weight: 0.50
More details
Return to top
The course deals with topics of current interest in Software Engineering. Topics and course outline will be available at the time of registration.

Prerequisite(s): Completion of the third year of the Software Engineering program.

Extra Information: 3 lecture hours, 1 lab hour.

Course Weight: 0.50
More details
Return to top
This course provides an introduction to the topic of security in the context of computer networks. The goals are to provide students with a foundation allowing them to identify, analyze, and solve network-related security problems in information systems with the emphasis on the engineering aspects of information security.


Extra Information: 3 lecture hours, 2 tutorial/laboratory hours.

Course Weight: 0.50
More details
Return to top