ENGINEER 1D04Undergraduate |
Engineering Computation
|
|
|
More Info.
|
Development and analysis of simple algorithms. Implementation of algorithms in computer programming language. Design and testing of computer programs.
MECHTRON 4AX3Undergraduate / Technical Elective |
Predictive and Intelligent Control List A : Mechatronics, List E: Software Engineering Technical Electives
|
|
|
More Info.
|
This course introduces several concepts used in systems engineering, predictive control and artificial intelligence. A variety of techniques including prediction and estimation, linear models, basic optimization techniques, Monte Carlo techniques, neural networks, and clustering are introduced. The techniques are applied to predictive and smart systems by the example of model predictive control and intelligent control, classification and decision-making. The course is intended for engineering students with understanding in signals and systems and control.
Three lectures and one tutorial; one term
Prerequisite(s): MECHTRON 3DX4 or SFWRENG 3DX4 or IBEHS 4A03
Offered on an irregular basis.
SFWRENG 2DM3Undergraduate |
Discrete Mathematics with Applications I
|
|
|
More Info.
|
Functions, relations and sets; the language of predicate logic, propositional logic; proof techniques, counting principles; induction and recursion, discrete probabilities, graphs, and their application to computing.
SFWRENG 2FA3Undergraduate |
Discrete Mathematics with Applications II
|
|
|
More Info.
|
Finite state automata and grammars, predicate logic and formal proofs, models of computation, complexity, modular arithmetics, and their applications to computing.
SFWRENG 2GA3Undergraduate |
Computer Architecture
|
|
|
More Info.
|
Instruction-set architecture, computer arithmetic, datapath and control, pipelining, memory hierarchies, I/O systems, multiprocessor systems, graphic processors, measures of performance.
SFWRENG 2OP3Undergraduate |
Object-Oriented Programming
|
|
|
More Info.
|
Principles of object-oriented programming: Classes, objects, interfaces, references, methods and fields; types of inheritance, overriding, polymorphism, overloading, covariance and contravariance, exception handling, generics, closures; design by contract; use of standard APIs.
Three lectures, one tutorial (one hour); first term
Prerequisite(s): ENGINEER 1D04 or 1P13, or IBEHS 1P10
Antirequisite(s): COMPENG 2SH4, COMPSCI 2S03, SFWRENG 2S03
SFWRENG 3A04Undergraduate |
Software Design II - Large System Design
|
|
|
More Info.
|
Sustainable architectures; design for change and expansion; software architecture design space; object oriented analysis and design; architectural styles; methodology of making architecture decisions; project organization.
SFWRENG 3BB4Undergraduate |
Software Design III - Concurrent System Design
|
|
|
More Info.
|
Processes, threads, concurrency; synchronization mechanisms, resource management and sharing; objects and concurrency; design, architecture and testing of concurrent systems.
SFWRENG 3DB3Undergraduate / Technical Elective |
Databases List A : Mechatronics
|
|
|
More Info.
|
Data modeling, integrity constraints, principles and design of relational databases, relational algebra, SQL, query processing, transactions, concurrency control, recovery, security and data storage.
SFWRENG 3DX4Undergraduate |
Dynamic Models and Control of Physical Systems
|
|
|
More Info.
|
Modelling of dynamic continuous physical phenomena in both continuous and discrete time. Control theory, stability analysis and feedback controller design. Application of computer control to continuous processes. System identification.
SFWRENG 3FP3Undergraduate / Technical Elective |
Functional Programming List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives
|
|
|
More Info.
|
Functional programming; lists and algebraic data types, pattern matching, parametric polymorphism, higher-order functions, reasoning about programs; lazy and strict evaluation; programming with monads; domain-specific languages.
SFWRENG 3GB3Undergraduate / Technical Elective |
Game Design List E: Software Engineering Technical Electives, List G: Computer Science
|
|
|
More Info.
|
Game concepts. Creative and expressive play. Storytelling and narratives. User interfaces for games. Gameplay. Core mechanics. Game Balancing. Software architecture of games. Level design. Genres. Physics Engines.
SFWRENG 3GC3Undergraduate / Technical Elective |
Computer Graphics List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives
|
|
|
More Info.
|
Mathematical foundations, the graphics pipeline, geometrical transformations, 3D visualization, clipping, illumination and shading models and the impact of graphics on society.
SFWRENG 3I03Undergraduate |
Communication Skills
|
|
|
More Info.
|
Oral and written presentation skills; types and structure of technical documents; software documentation for the user; formulating and presenting proposals.
SFWRENG 3K04Undergraduate |
Software Development
|
|
|
More Info.
|
Software design process. Professional responsibility. Using specifications. Documentation. Module Specification. Module interfaces. Module internal documentation. Coding styles. Portability. Software inspection. Software testing.
SFWRENG 3MD3Undergraduate / Technical Elective |
Safe Software-Intensive Medical Devices List E: Software Engineering Technical Electives, IBEHS Technical Electives
|
|
|
More Info.
|
Comprehensive overview of and experience with system development and assurance for safety critical software-intensive systems in general, and safe, secure and effective medical devices in particular: System requirements, validation, system design including hardware and software components, software design, implementation, and verification.
Three lectures, one lab (two hours); one term
Prerequisite(s): COMPENG 2SI4 or COMPSCI 2C03 or SFWRENG 2C03 or 2MD3
SFWRENG 3MX3Undergraduate / Technical Elective |
Signals and Systems List G: Computer Science
|
|
|
More Info.
|
Linear systems, signals, filters; time and frequency domains; single input-single output systems; discrete and continuous time; sampling theorem; Fourier series; Fourier, Laplace, and z transforms; stability.
SFWRENG 3O03Undergraduate / Technical Elective |
Linear Optimization List F: Additional Technical Electives for Software Engineering and Embedded Systems or Game Design, IBEHS Technical Electives
|
|
|
More Info.
|
Modelling and solutions for engineering optimization problems using Linear and Integer Programming, including transportation and assignment problems, multi-objective problems and scheduling. Solution methods include primal-dual schemes (algorithms), simplex, branch and bound, and heuristics.
SFWRENG 3RA3Undergraduate / Technical Elective |
Software Requirements And Security Considerations List A : Mechatronics
|
|
|
More Info.
|
Software requirements gathering. Critical systems requirements gathering. Security requirements. Traceability of requirements. Verification, validation, and documentation techniques. Software requirements quality attributes. Security policies. Measures for data confidentiality. Design principles that enhance security. Access control mechanisms.
SFWRENG 3S03Undergraduate / Technical Elective |
Software Testing List G: Computer Science
|
|
|
More Info.
|
Measurements. Unit testing, slicing and debugging, integration testing, regression testing, testing strategies, test coverage.
SFWRENG 3SH3Undergraduate / Technical Elective |
Operating Systems List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives
|
|
|
More Info.
|
Processes and threads, synchronization and communication; scheduling, memory management; file systems; resource protection; structure of operating systems.
SFWRENG 3XA3Undergraduate |
Software Engineering Practice and Experience: Software Project Management
|
|
|
More Info.
|
Open-ended software development emphasizing concurrent system design; measurement, inspection, software metrics, software project management; testing methods.
SFWRENG 3XB3Undergraduate |
Software Engineering Practice and Experience: Binding Theory to Practice
|
|
|
More Info.
|
Open-ended design of computational solutions to practical problems that involve both theoretical (algorithmic) analysis and implementation; solving computational problems through an experiential approach. Applications to embedded systems, including assembly programming.
One lecture, two labs (two hours each); first term
Prerequisite(s): SFWRENG 2AA4, 2C03, 2GA3
Antirequisite(s): SFWRENG 2XB3, COMPSCI 2XB3, 2XC3
First offered 2022-2023
SFWRENG 4AA4Undergraduate |
Real-Time Systems and Control Applications
|
|
|
More Info.
|
Hard and soft real-time systems. Safety classification. Fail-safe design, hazard analysis. Discrete event systems. Modes. Requirements and design specifications. Tasks and scheduling. Clock synchronization. Data acquisition. Applications in real-time control.
SFWRENG 4AD3Undergraduate / Technical Elective |
Advanced Databases List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives
|
|
|
More Info.
|
Advanced topics in database systems technology and design. Topics include: query processing; query optimization; data storage; indexing; crash recovery; physical database design; introductory data mining techniques.
SFWRENG 4C03Undergraduate / Technical Elective |
Computer Networks And Security List A : Mechatronics
|
|
|
More Info.
|
Physical networks, TCP/IP protocols, switching methods, network layering and components, network services. Information security, computer and network security threats, defense mechanisms, encryption.
SFWRENG 4E03Undergraduate / Technical Elective |
Performance Analysis Of Computer Systems List A : Mechatronics, List F: Additional Technical Electives for Software Engineering and Embedded Systems or Game Design
|
|
|
More Info.
|
Use of queuing models and simulation to predict computer system performance and find bottlenecks in a system. Types of models, distributions. Markov models. Modelling storage and network behaviour, locks, critical sections, concurrency. Introduction to analytical system reliability.
SFWRENG 4F03Undergraduate / Technical Elective |
Parallel Computing List A : Mechatronics, List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives
|
|
|
More Info.
|
Parallel architectures, design and analysis of parallel algorithms; distributed-memory, shared-memory and GPU computing; communication cost, scalability; MPI, OpenMP and OpenACC; tuning parallel programs for performance.
SFWRENG 4G06A/BUndergraduate |
Software Engineering Capstone Design Project
|
|
|
More Info.
|
Student teams prepare the requirements, design, documentation, and implementation of a software system taking economic, health, safety, legal, marketing factors into account. Students must demonstrate a working system and convincing test results. Software project management.
SFWRENG 4HC3Undergraduate |
Human Computer Interfaces
|
|
|
More Info.
|
Design of user interfaces. Principles of good interface design. Human input. Displaying complex data using graphics and virtual reality. Modes and mode awareness problem. Health issues, information overload. Special purpose graphics hardware. Interface design tools; on-line help systems.
SFWRENG 4J03Undergraduate / Technical Elective |
Communications Systems List A : Mechatronics, List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives, List G: Computer Science
|
|
|
More Info.
|
Fundamental communications concepts: information, entropy, channel capacity, codes, data compression, adaptive channel equalizers, modulation/demodulation of signals, tracking, Kalman filtering, use of specialized signal processing hardware. Software in communication systems.
SFWRENG 4TE3Undergraduate / Technical Elective |
Continuous Optimization Algorithms List A : Mechatronics, List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives, List F: Additional Technical Electives for Software Engineering and Embedded Systems or Game Design, IBEHS Technical Electives
|
|
|
More Info.
|
Fundamental algorithms and general duality concepts of continuous optimization. Special attention will be paid to the applicability of the algorithms, their information requirements and computational costs. Practical engineering problems will illustrate the power of continuous optimization techniques.
SFWRENG 4TH3Undergraduate |
Theory of Computation
|
|
|
More Info.
|
Formal languages, models of computation, decidability, reduction techniques, time and space complexity classes.
Three lectures, one tutorial (one hour); one term
Prerequisite(s): SFWRENG 2C03, 2FA3
Antirequisite(s): COMPSCI 4TH3
Cross-list(s): COMPSCI 4TH3
SFWRENG 4X03Undergraduate |
Scientific Computation
|
|
|
More Info.
|
Computer arithmetic and roundoff error analysis. Interpolation, integration, solving systems of linear and nonlinear equations. Eigenvalues and singular value decomposition. Numerical methods for ordinary differential equations.