Academic Calendar 2021-2022

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.

Requirements: ELEC 270 or CISC 203  
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.

Requirements: APSC 143 and APSC 174  
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.

Requirements: PREREQ: ELEC 270 and ELEC 278 and must be registered in BSCE or BASC. EXCLUSION: CISC 366  
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.

Offering Faculty: Fac of Engineering Appl Sci  
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.

Requirements: ELEC 278  
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.

Requirements: ELEC 270, CMPE 223, ELEC 278  
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 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.

Requirements: ELEC 274 and ELEC 278  
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/3.0. 

Requirements: Prerequisite: ELEC 278. Must be registered in a BSCE or BASC Academic Program.  
Offering Faculty: Fac of Engineering Appl Sci  
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.

Requirements: PREREQUISITES: ELEC 270, ELEC 278, ELEC 377  
Offering Faculty: Fac of Engineering Appl Sci  
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). Alternately offered as CISC 327/3.0

Requirements: ELEC 279 or CMPE 212  
Offering Faculty: Fac of Engineering Appl Sci  
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.

Requirements: PREREQUISITE: ELEC 279 or CMPE 212, MTHE 272 or ELEC 273  
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.

Requirements: PREREQ: ELEC 278, ELEC 270 or MTHE 217 (MATH 217) and registered in a BSCE or BASC Academic Program.  
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.

Requirements: PREREQUISITE(S): CMPE 251, ELEC326, OR MTHE 351  
Offering Faculty: Fac of Engineering Appl Sci  
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.

Requirements: Prerequisite: ELEC 278, ELEC 270, or any discrete mathematics course and registered in BSCE or BASC.  
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 specifications. Abstract models. Verification. Specification-based validation.

Requirements: PREREQ: CMPE 204 (CISC 204), CMPE 223 (CISC 223) and registered in BSCE or BASC.  
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. Alternately offered as CISC 425/3.0. 

Requirements: PREREQUISITES: CMPE 325 or permission of the instructor. Must be registered in a BASC or BSCE Academic Program.  
Offering Faculty: Fac of Engineering Appl Sci  
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.

Requirements: CMPE 332 (CISC 332), ELEC 278  
Offering Faculty: Faculty of Arts and Science  
CMPE 434  Distributed Systems  Units: 3.00  

Distributed systems goals, characteristics, and architectures. Processes: models, inter-process communication and coordination. Name services. Consistency and replication. Fault tolerance: design for reliable communication and recovery. Security. Development paradigms based on data types: object, file, and web-based systems.

Requirements: PREREQ: ELEC 377 and registered in a BSCE or BASC Academic Program.  
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.

Requirements: PREREQ: ELEC 278 or permission of the department. Must also be registered in BSCE or BASC.  
Offering Faculty: Faculty of Arts and Science  
CMPE 454  Computer Graphics  Units: 3.00  

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.

Requirements: PREREQ: ELEC 278 and registered in a BSCE or BASC Academic Program.  
Offering Faculty: Faculty of Arts and Science  
CMPE 457  Image Processing & Computer  Units: 3.00  

Introduction to 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, stereo vision.

Requirements: PREREQUISITES: Any first-year algebra course, any first-year calculus course, ELEC 278. Must be registered in a BASC or BSCE Academic Program.  
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.

Requirements: (ELEC 279 or CISC 121 or CMPE 212 (CISC 212)) and ELEC 274  
Offering Faculty: Faculty of Arts and Science  
CMPE 471  Computational Biology  Units: 3.00  

Advanced computational approaches to the problems in molecular biology. Techniques and algorithms for sequence analysis and alignment; molecular databases; protein structure prediction and molecular data mining.

Requirements: PREREQ: CMPE 365 (CISC 365), or ELEC 278, MBIO 218. Must be registered in BSCE or BASC. COREQ: BCHM 315  
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).

Requirements: Prerequisite: CMPE 330. Must be registered in BASC or BSCE.  
Offering Faculty: Faculty of Arts and Science