Academic Calendar 2023-2024

Computing in Engineering (CMPE)

CMPE 204  Logic For Computing Science  Units: 3.00  

Elements of mathematical logic with computing applications. Formal proof systems for propositional and predicate logic. Interpretations, validity, and satisfiability. Introduction to soundness, completeness and decidability.
K3(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: ELEC 270 or CISC 203 Corequisites: Exclusions:   
Offering Term: FW  
CEAB Units:    
Mathematics 36  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 0  
Engineering Design 0  
Offering Faculty: Faculty of Arts and Science  
CMPE 212  Introduction to Computing Science II  Units: 4.00  

Introduction to object-oriented design, architecture, and programming. Use of packages, class libraries, and interfaces. Encapsulation and representational abstraction. Inheritance. Polymorphic programming. Exception handling. Iterators. Introduction to a class design notation. Applications in various areas.
(Lec: 3, Lab: 1, Tut: 0)

Requirements: Prerequisites: APSC 142 or APSC 143 or MNTC 313, ELEC 278 Corequisites: Exclusions: CISC 124  
Offering Term: FW  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 26  
Engineering Design 22  
Offering Faculty: Faculty of Arts and Science  
CMPE 223  Software Specifications  Units: 3.00  

Introduction to techniques for specifying the behaviour of software, with applications of these techniques to design, verification and construction of software. Logic-based techniques such as loop invariants and class invariants. Automata and grammar-based techniques, with applications to scanners, parsers, user-interface dialogs and embedded systems. Computability issues in software specifications.
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: ELEC 278, ELEC 270 Corequisites: Exclusions:   
Offering Term: W  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 24  
Engineering Design 12  
Offering Faculty: Faculty of Arts and Science  
CMPE 251  Data Analytics  Units: 3.00  

Introduction to data analytics; data preparation; assessing performance; prediction methods such as decision trees, random forests, support vector machines, neural networks and rules; ensemble methods such as bagging and boosting; clustering techniques such as expectation-maximization, matrix decompositions, and biclustering; attribute selection.
K3(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: APSC 142 or APSC 143 or MNTC 313, or programming experience recommended Corequisites: Exclusions: CISC 251, CMPE 333, CISC 333  
Offering Term: F  
CEAB Units:    
Mathematics 10  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 14  
Engineering Design 12  
Offering Faculty: Smith Engineering  
CMPE 271  Scientific Computing  Units: 3.00  

Introduction to scientific computing: floating point arithmetic, algorithm design, error analysis, ill-conditioning. Zero-finding. Linear equations. Interpolation. Integration. Least-squares fitting. Effective use of library programs, with discussion of their limitations and some aspects of their design and implementation.
COURSE DELETED 2019-2020
(Lec: 3, Lab: 0, Tut: 0)

Requirements: PREREQ: APSC 143 and APSC 172 and APSC 174 and registered in BSCE or BASC. EXCLUSION: ENPH 213  
Offering Term: W  
CEAB Units:    
Mathematics 21  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 15  
Engineering Design 0  
Offering Faculty: Faculty of Arts and Science  
CMPE 320  Fndmnts Software Development  Units: 4.00  

Introduction to management of small and medium-scale software projects. Advanced programming methodology using the programming language C++. Includes a significant programming project.
(Lec: 3, Lab: 0, Tut: 1)

Requirements: Prerequisites: ELEC 278 Corequisites: Exclusions:   
Offering Term: F  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 26  
Engineering Design 22  
Offering Faculty: Faculty of Arts and Science  
CMPE 322  Software Architecture  Units: 4.00  

Abstractions and patterns of interactions and relationships among modules. Design recovery; relationship of architecture to requirements and testing.
K4(Lec: 3, Lab: 0, Tut: 1)

Requirements: Prerequisites: ELEC 270, CMPE 223 (CISC 223), ELEC 278 Corequisites: Exclusions:   
Offering Term: W  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 22  
Engineering Design 26  
Offering Faculty: Faculty of Arts and Science  
CMPE 323  Intro To Software Engineering  Units: 3.50  

This course provides an applied introduction to the principles and practice of the engineering of software artifacts. Topics include: processes for managing software development, software architecture, software design, software quality management, software testing and human-factors of computing systems. The course is illustrated with case studies in industrial practice in software engineering. (0/0/0/34/8)~ COURSE DELETED IN 2009/10 ~

Offering Term: W  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 34  
Engineering Design 8  
Offering Faculty: Faculty of Arts and Science  
CMPE 324  Operating Systems  Units: 3.00  

Layered operating systems for conventional shared memory computers: Concurrent processes, Synchronization and communication, Concurrent algorithms, Scheduling Deadlock, Memory management, Protection. File systems. Device management. Typical layers.
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: ELEC 274, ELEC 278 Corequisites: Exclusions: ELEC 377  
Offering Term: W  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 36  
Engineering Design 0  
Offering Faculty: Faculty of Arts and Science  
CMPE 325  Human-Computer Interaction  Units: 3.00  

Developing usable software requires that human factors be considered throughout the design and development process. This course introduces a series of techniques for development and evaluating usable software, and shows how these techniques can be integrated into a process for software development. Alternately offered as CISC 325.
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: ELEC 278 Corequisites: Exclusions:   
Offering Term: W  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 24  
Engineering Design 12  
Offering Faculty: Smith Engineering  
CMPE 326  Game Architecture  Units: 4.00  

An introduction to software architectural design through the application domain of game development. Topics will include notations for expressing static and dynamic aspects of software architecture, design patterns, interface design, and application of these techniques to 3D games, mobile games and web-based games.
COURSE DELETED 2017-2018
(Lec: 3, Lab: 0, Tut: 1)

Requirements: Prerequisites: ELEC 270, ELEC 278, ELEC 377 Corequisites: Exclusions: CMPE 322   
Offering Term: F  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 26  
Engineering Design 22  
Offering Faculty: Smith Engineering  
CMPE 327  Software Quality Assurance  Units: 3.00  

Validation of software throughout the life cycle. Comparative effectiveness in defect removal of formal methods (proofs of correctness), inspection (walkthroughs and reviews), and testing (unit, integration, and system testing; white box versus black box).
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: ELEC 279 or CMPE 212 Corequisites: Exclusions:   
Offering Term: F  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 24  
Engineering Design 12  
Offering Faculty: Smith Engineering  
CMPE 330  Computer-Integrated Surgery  Units: 3.00  

Concepts of computer-integrated surgery systems and underlying techniques such as medical-image computing, robotics, and virtual reality, learned through real-life applications and problems. Techniques learned in class will be applied in a hands-on surgery session where students perform minimally invasive surgery with virtual-reality navigation tools. Enrolment is limited.
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: ELEC 279 or CMPE 212, MTHE 272 or ELEC 372 or ENPH 213 Corequisites: Exclusions:  
Offering Term: F  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 36  
Engineering Design 0  
Offering Faculty: Faculty of Arts and Science  
CMPE 332  Database Management Systems  Units: 3.00  

Data models: relational, entity-relationship. Relational query languages: relational algebra and SQL. Relational database design. Application interfaces and embedded SQL. Storage and indexing.
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: ELEC 278, ELEC 270 or MTHE 217 (MATH 217) Corequisites: Exclusions:   
Offering Term: W  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 24  
Engineering Design 12  
Offering Faculty: Faculty of Arts and Science  
CMPE 333  Data Analytics  Units: 3.00  

Introduction to data analytics; data preparation; assessing performance; prediction methods such as decision trees, random forests, support vector machines, neural networks and rules; ensemble methods such as bagging and boosting; clustering techniques such as expectation-maximization, matrix decompositions, and biclustering; attribute selection.
COURSE DELETED 2017-2018
(Lec: 3, Lab: 0, Tut: 0)

Requirements: PREREQ: APSC 142 or APSC 143, or programming experience recommended.  
Offering Term: W  
CEAB Units:    
Mathematics 10  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 14  
Engineering Design 12  
Offering Faculty: Faculty of Arts and Science  
CMPE 351  Advanced Data Analytics  Units: 3.00  

Design and implementation of complex analytics techniques; predictive algorithms at scale; deep learning; clustering at scale; advanced matrix decompositions, analytics in the Web, collaborative filtering; social network analysis; applications in specialized domains.
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: CMPE 251, ELEC 326 or MTHE 351 Corequisites: Exclusions: CISC 351, CISC 372  
Offering Term: W  
CEAB Units:    
Mathematics 10  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 14  
Engineering Design 12  
Offering Faculty: Smith Engineering  
CMPE 365  Algorithms I  Units: 4.00  

Principles of design, analysis and implementation of efficient algorithms. Case studies from a variety of areas illustrate divide and conquer methods, the greedy approach, branch and bound algorithms and dynamic programming.
(Lec: 3, Lab: 1, Tut: 0)

Requirements: Prerequisites: ELEC 278, ELEC 270 or any discrete mathematics course Corequisites: Exclusions:   
Offering Term: F  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 24  
Engineering Design 24  
Offering Faculty: Faculty of Arts and Science  
CMPE 422  Formal Methods In Software Eng  Units: 3.00  

Mathematical methods for describing software behaviour and structure. Topics include (but are not limited to) the following: requirements specification; Module specification: axiomatic, algebraic, and trace specification; program specification: abstract models; verification; specification-based validation.
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: CMPE 204 (CISC 204), CMPE 223 (CISC 223) Corequisites: Exclusions:   
Offering Term: F  
CEAB Units:    
Mathematics 14  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 12  
Engineering Design 10  
Offering Faculty: Faculty of Arts and Science  
CMPE 425  Advanced User Interface Design  Units: 3.00  

Advanced user interface styles such as multimedia, support for collaboration over the Internet, virtual reality and wearable computers. Processes supporting the design of advanced user interfaces. Implementation techniques.
NOT OFFERED 2023-2024
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: CMPE 325 or permission of the instructor Corequisites: Exclusions:   
Offering Term: W  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 24  
Engineering Design 12  
Offering Faculty: Smith Engineering  
CMPE 432  Advanced Database Systems  Units: 3.00  

Topics include the presentation and storage of data, implementation concerns, and the integration of databases with other areas of computer science.
NOT OFFERED 2023-2024
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: CMPE 332 (CISC 332), ELEC 278 Corequisites: Exclusions:   
Offering Term: F  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 24  
Engineering Design 12  
Offering Faculty: Faculty of Arts and Science  
CMPE 434  Distributed Systems  Units: 3.00  

Operating systems for distributed architectures: distributed system characteristics, process synchronization and communication. Basic distributed algorithms. Principles of fault tolerance. Reliable broadcast. Naming. File systems. Load balancing. Layering, Security.
NOT OFFERED 2022-2023
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: ELEC 377 Corequisites: Exclusions:   
Offering Term: F  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 24  
Engineering Design 12  
Offering Faculty: Faculty of Arts and Science  
CMPE 452  Neural Networks and Genetic Algorithms  Units: 3.00  

Artificial Neural Networks (ANN) and Genetic Algorithms (GA) for problem solving and prediction tasks such as classification, clustering, optimization and data reduction and modeling human cognition, with application to real world problems. Ongoing research in this area in various application domains.
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: ELEC 278, or permission of the instructor Corequisites: Exclusions: ELEC 425  
Offering Term: F  
CEAB Units:    
Mathematics 9  
Natural Sciences 15  
Complementary Studies 0  
Engineering Science 12  
Engineering Design 0  
Offering Faculty: Faculty of Arts and Science  
CMPE 454  Computer Graphics  Units: 3.00  

An introduction to computer graphics, including a review of current hardware; modelling and transformations in two and three dimensions; visual realism; perspective, hidden surface elimination, and shading; colour models; applications in several fields.
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: ELEC 278 Corequisites: Exclusions:   
Offering Term: W  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 24  
Engineering Design 12  
Offering Faculty: Faculty of Arts and Science  
CMPE 457  Image Processing & Computer  Units: 3.00  

Fundamental concepts and applications in image processing and computer vision. Topics include image acquisition, convolution. Discrete Fourier Transform, image enhancement edge detection, segmentation, image registration, human contrast perception, colour perception and reproduction, and stereo vision.
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: Any first-year algebra course, any first-year calculus course, ELEC 278 Corequisites: Exclusions: ELEC 474  
Offering Term: F  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 24  
Engineering Design 12  
Offering Faculty: Faculty of Arts and Science  
CMPE 458  Programming Language Processor  Units: 4.00  

Introduction to the systematic construction of a compiler: grammars and languages, scanners, top-down and bottom-up parsing, runtime organization, symbol tables, internal representations; Polish notation, syntax trees, semantic routines, storage allocation, code generation, interpreters.
(Lec: 3, Lab: 0, Tut: 1)

Requirements: Prerequisites: ELEC 279 or CISC 121 or CMPE 212 and ELEC 274 Corequisites: Exclusions:   
Offering Term: W  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 30  
Engineering Design 18  
Offering Faculty: Faculty of Arts and Science  
CMPE 471  Computational Biology  Units: 3.00  

Introduction to computational approaches to the problems in molecular biology. This will include the study of areas such as techniques and algorithms for sequence analysis and alignment; molecular databases; protein structure prediction and molecular data mining.
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: CMPE 365 (CISC 365), OR ELEC 278, MBIO 218 Corequisites: BCHM 315 Exclusions:   
Offering Term: F  
CEAB Units:    
Mathematics 0  
Natural Sciences 18  
Complementary Studies 0  
Engineering Science 9  
Engineering Design 9  
Offering Faculty: Faculty of Arts and Science  
CMPE 472  Medical Informatics  Units: 3.00  

Current topics in the application of information technology to medicine, including computed tomography and x-ray imaging: 2D and 3D ultrasound; computer-assisted planning of interventional procedures; image registration; computer-assisted surgery; bioelectric signals; picture archiving and communication systems (PACS).
(Lec: 3, Lab: 0, Tut: 0)

Requirements: Prerequisites: CMPE 330 Corequisites: Exclusions:   
Offering Term: W  
CEAB Units:    
Mathematics 0  
Natural Sciences 18  
Complementary Studies 0  
Engineering Science 18  
Engineering Design 0  
Offering Faculty: Faculty of Arts and Science