|
Instruction offered by members of the Department of Computer Science in the Faculty of Science and the Department of Electrical and Computer Engineering in the Schulich School of Engineering.
Computer Science Department Head – C. Williamson
Electrical and Computer Engineering Department Head – D. Westwick
Registration in each course requires the consent of the Department teaching the course.
|
|
Software Engineering
301
|
Software Analysis and Design
|
|
Introduction to developing large-scale, quality software, from analysis of requirements, through design, implementation, and testing. Introduction to design for non-functional properties of software. Emphasis on individual skills.
Course Hours:
3 units; H(3-1T-2)
Prerequisite(s):
Computer Science 319 or 331.
Antirequisite(s):
Credit for both Software Engineering 301 and any of Software Engineering 311, Computer Science 301 or 333 will not be allowed.
|
back to top | |
|
Software Engineering
401
|
Software Architecture
|
|
Software architectures and design for non-functional software properties. Introduction to program comprehension skills including analysis of existing architectures.
Course Hours:
3 units; H(3-2)
Prerequisite(s):
Software Engineering 301 or Computer Science 301.
Antirequisite(s):
Credit for both Software Engineering 401 and Software Engineering 443 will not be allowed.
|
back to top | |
|
Software Engineering
403
|
Software Development in Teams and Organizations
|
|
A comparison of alternative software processes emphasizing both their strengths and weaknesses. Addresses the human, social, societal, ethical, and organizational factors inherent in real-world software development. Emphasis on team development skills in a large-scale development project.
Course Hours:
3 units; H(3-3T)
Prerequisite(s):
Software Engineering 301.
Antirequisite(s):
Credit for both Software Engineering 403 and any of Software Engineering 411 or Computer Science 301 or 451 will not be allowed.
|
back to top | |
|
|
Software Engineering
471
|
Software Requirements Engineering
|
|
Introduction to elicitation, modelling, expression and validation of the requirements. Techniques and methodologies for requirements engineering. Applications of requirements engineering to the management of the software development lifecycle.
Course Hours:
3 units; H(3-2)
Prerequisite(s):
Software Engineering 301 or Computer Science 301.
Also known as:
(formerly Software Engineering for Engineers 471)
|
back to top | |
|
Software Engineering
501
|
Advanced Topics in Software Engineering
|
|
Topics of the next generation of software development methods, technologies, or tools.
Course Hours:
3 units; H(3-2)
Prerequisite(s):
Consent of either the Department of Electrical and Computer Engineering or the Department of Computer Science.
Notes:
Consult Department (Computer Science or Electrical and Computer Engineering) for details regarding offerings in the upcoming academic year.
MAY BE REPEATED FOR CREDIT
|
back to top | |
|
Software Engineering
511
|
Software Process and Project Management
|
|
Analysis of methods, tools, and techniques for software process improvement and software project management as an effort to achieve quality software products.
Course Hours:
3 units; H(3-2)
Prerequisite(s):
One of Software Engineering 403 or 411, or Computer Science 301 or 451.
|
back to top | |
|
Software Engineering
513
|
Web-Based Systems
|
|
An overview of software engineering methods and technologies for developing web-based software systems.
Course Hours:
3 units; H(3-2)
Prerequisite(s):
Software Engineering or Computer Science 301.
|
back to top | |
|
|
Software Engineering
521
|
Software Reliability and Software Quality
|
|
The principles, processes, and applications of software reliability and software quality assurance.
Course Hours:
3 units; H(3-2)
Prerequisite(s):
Software Engineering 437 or 421.
Antirequisite(s):
Credit for both Software Engineering 521 and 637 will not be allowed.
|
back to top | |
|
|
Software Engineering
533
|
Software Performance Evaluation
|
|
Analysing quality requirements of large-scale software. Performance analysis, testing, and tuning techniques. Evaluating software scalability. Capacity planning methodologies. Issues related to safety, security, and availability of software.
Course Hours:
3 units; H(3-2)
Prerequisite(s):
One of Software Engineering 301, Computer Engineering 493, or Computer Science 301, and one of Computer Science 457, Software Engineering for Engineers 413, or Computer Engineering 491.
Also known as:
(formerly Software Engineering for Engineers 533)
|
back to top | |
|
Software Engineering
541
|
Fundamentals of Software Evolution and Reuse
|
|
Phenomena and approaches involved in the evolution and reuse of large-scale software, including design for modifiability and tool support. Strengths and weaknesses of industrially-current techniques as well as recent research results.
Course Hours:
3 units; H(3-2T)
Prerequisite(s):
Software Engineering 301 or Computer Science 301.
Antirequisite(s):
Credit for both Software Engineering 541 and 641 will not be allowed.
Also known as:
(formerly Software Engineering 531)
|
back to top | |
|
|
Software Engineering
605
|
Industrial Topics in Software Engineering
|
|
A study of practical approaches of industrial relevance to students specializing in Software Engineering.
Course Hours:
1.5 units; Q(3-1)
Notes:
Consult Department (Computer Science or Electrical and Computer Engineering) for details regarding offerings in the upcoming academic year.
MAY BE REPEATED FOR CREDIT
|
back to top | |
|
Software Engineering
607
|
Special Topics in Software Engineering
|
|
A study of problems of particular interest to students specializing in Software Engineering.
Course Hours:
3 units; H(3-1)
Notes:
Consult Department (Computer Science or Electrical and Computer Engineering) for details regarding offerings in the upcoming academic year.
MAY BE REPEATED FOR CREDIT
|
back to top | |
|
Software Engineering
609
|
Special Topics in Software Engineering
|
|
A study of problems of particular interest to students specializing in Software Engineering.
Course Hours:
1.5 units; Q(3-1)
Notes:
Consult Department (Computer Science or Electrical and Computer Engineering) for details regarding offerings in the upcoming academic year.
MAY BE REPEATED FOR CREDIT
|
back to top | |
|
Software Engineering
611
|
Requirements Engineering I
|
|
The elicitation, modelling, expression, and validation of requirements.
Course Hours:
1.5 units; Q(3-1)
|
back to top | |
|
Software Engineering
615
|
Agile Software Engineering
|
|
Investigation and application of agile software development practices.
Course Hours:
3 units; H(3-1)
Notes:
Students are expected to have some background in software development as preparation for this course.
|
back to top | |
|
Software Engineering
622
|
Software Release Planning
|
|
Product release planning covers systematic methods, tools and techniques for defining the functionality of a sequence of product releases in incremental development. The planning and re-planning is established as a systematic process trying to optimize resources available towards the functionality most requested by customers and stakeholders.
Course Hours:
3 units; H(3-1)
Antirequisite(s):
Credit for both Software Engineering 622 and 607.25 will not be allowed.
|
back to top | |
|
Software Engineering
627
|
Software Engineering Decision Support
|
|
Provides methodological foundations of software engineering decision-making and how to apply them to make better decisions about processes, products, and resources as well as for selection of tools and techniques.
Course Hours:
3 units; H(3-1)
Antirequisite(s):
Credit for both Software Engineering 627 and 625 will not be allowed.
|
back to top | |
|
Software Engineering
629
|
Software Engineering Standards and Models
|
|
Formal description of algorithms for current software engineering standards and models. Trends and future development in software engineering standardization.
Course Hours:
1.5 units; Q(3-0)
|
back to top | |
|
|
Software Engineering
639
|
Advanced Software Testing
|
|
Advanced techniques, tools and concepts in software testing including: Agile testing, acceptance testing, GUI testing, test coverage analysis, automated testing, and new developments in testing research.
Course Hours:
3 units; H(3-0)
Notes:
Software Engineering 437 or equivalent is recommended as preparation for this course.
|
back to top | |
|
Software Engineering
641
|
Software Evolution and Reuse
|
|
Phenomena and approaches involved in the evolution and reuse of large-scale software, including design for modifiability and tool support. Strengths and weaknesses of industrially-current techniques as well as recent research results.
Course Hours:
3 units; H(3-0)
Antirequisite(s):
Credit for both Software Engineering 641 and 541 will not be allowed.
Notes:
Software Engineering 301 or Computer Science 301 or equivalents are recommended as preparation for this course.
Also known as:
(formerly Computer Science 601.33)
|
back to top | |
|
Software Engineering
651
|
Half-Course Project
|
|
A project in either software development or software best practice and experience.
Course Hours:
3 units; H(3S-0)
Antirequisite(s):
Credit for both Software Engineering 651 and 652 will not be allowed.
Notes:
This course is only available to students registered in the course-based MSc in Computer Science with the Software Engineering Specialization. Students should register for this course in the semester when they will complete it.
|
back to top | |
|
Software Engineering
652
|
Full-Course Project
|
|
A project in either software development or software best practice and experience.
Course Hours:
6 units; F(3S-0)
Antirequisite(s):
Credit for both Software Engineering 652 and either 651 or Electrical Engineering 698 will not be allowed.
Notes:
This course is only available to students registered in the course-based MSc in Computer Science with the Software Engineering Specialization or to MEng students with a specialization in Software Engineering. Students should register for this course in the semester when they will complete it.
|
back to top | |
|
|