Print and PDF Options

Department of Systems and Computer Engineering
(Faculty of Engineering and Design)

Systems and Computer Engineering (SYSC) Courses

Note: the Departments of Systems and Computer Engineering and Electronics offer courses in: Biomedical and Electrical Engineering, Communications Engineering, Computer Systems Engineering, Electrical Engineering, Software Engineering and Engineering Physics.

SYSC 1005 [0.5 credit]
Introduction to Software Development

Software development as an engineering discipline, using a modern programming language, Language syntax. Algorithm design. Tracing and visualizing program execution. Testing and debugging. Program style, documentation, reliability. Lab projects are drawn from a variety of application domains: digital image manipulation, computer games, robotics.
Includes: Experiential Learning Activity
Precludes additional credit for ECOR 1041, ECOR 1042, ECOR 1051, ECOR 1606, SYSC 1100 (no longer offered), COMP 1005 and COMP 1405.
Lectures three hours a week, laboratory three hours a week.

SYSC 2001 [0.5 credit]
Computer Systems Foundations

Computer architecture and organization: CPU, cache, memory, input/output, bus structures, interrupts; computer arithmetic: integer and floating point; CPU: instruction sets, addressing modes, instruction encoding. Input/output: programmed, interrupt-driven, block-oriented. Examples from several modern processor families.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 2320, SYSC 3006.
Prerequisite(s): ECOR 1606 or SYSC 1005. Additional recommended background: SYSC 2006.
Lectures three hours a week, laboratory two hours a week.

SYSC 2003 [0.5 credit]
Introductory Real-Time Systems

Principles of event-driven systems. Review of computer organization. Assemblers and linkers. Development of embedded applications. Programming external interfaces, programmable timer. Input/output methods: polling, interrupts. Real-time issues: concurrency, mutual exclusion, buffering. Introduction to concurrent processes.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3006 and SYSC 3310.
Prerequisite(s): SYSC 2001 and SYSC 2006.
Lectures three hours a week, laboratory two hours a week.

SYSC 2004 [0.5 credit]
Object-Oriented Software Development

Designing and implementing small-scale programs as communities of collaborating objects, using a dynamically-typed or statically-typed programming language. Fundamental concepts: classes, objects, encapsulation, information hiding, inheritance, polymorphism. Iterative, incremental development and test-driven development.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 1101, COMP 1006 and COMP 1406.
Prerequisite(s): SYSC 2006 or permission of the department, and second-year status in Engineering.
Lectures three hours a week, laboratory two hours a week.

SYSC 2006 [0.5 credit]
Foundations of Imperative Programming

The imperative programming paradigm: assignment and state, types and variables, static and dynamic typing. Memory management and object lifetimes: static allocation, automatic allocation in activation frames, dynamic allocation. Function argument passing. Recursion. Data structures: dynamic arrays, linked lists. Encapsulation and information hiding.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 2401, SYSC 4006.
Prerequisite(s): Second-year status in Engineering.
Lectures three hours a week, laboratory two hours a week.

SYSC 2010 [0.5 credit]
Programming Project

Programming, testing, and debugging of small team-based software projects that use data from sensors to display results graphically. Modern programming tools: frameworks, libraries, version control, package management, tool chains. Sensors, signal acquisition, display, and basic filtering. Introductory network programming.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3010, SYSC 3110.
Prerequisite(s): 2nd year status in Biomedical and Electrical Engineering or Communications Engineering.
Lectures three hours a week, laboratory three hours a week.

SYSC 2100 [0.5 credit]
Algorithms and Data Structures

Thorough coverage of fundamental abstract collections: stacks, queues, lists, priority queues, dictionaries, sets, graphs. Data structures: review of arrays and linked lists; trees, heaps, hash tables. Specification, design, implementation of collections, complexity analysis of operations. Sorting algorithms.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 2002 (no longer offered) and COMP 2402.
Prerequisite(s): SYSC 2006 with a minimum grade of C-, and second-year status in Engineering.
Lectures three hours a week, laboratory two hours a week.

SYSC 2310 [0.5 credit]
Introduction to Digital Systems

Number systems: binary, decimal, hexadecimal. Digital representation of information. Computer arithmetic: integer, floating point, fixed point. Boolean logic, realization as basic digital circuits. Applications: simple memory circuits, synchronous sequential circuits for computer systems. Finite state machines, state graphs, counters, adders. Asynchronous sequential circuits. Races.
Includes: Experiential Learning Activity
Precludes additional credit for ELEC 2607.
Prerequisite(s): Enrolment in Computer Systems Engineering, Communications Engineering, or Software engineering, and second-year status in Engineering.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 2320 [0.5 credit]
Introduction to Computer Organization and Architecture

Computer organization: processor, memory, input/output, system bus. Microarchitecture. Instruction set architecture. Assembly language programming: addressing modes, instruction encoding, execution. Assembler. Simple digital I/O, programmable timer. Input/output methods: polling, hardware interrupts.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 2001 and SYSC 3006.
Prerequisite(s): SYSC 2310 or ELEC 2607, and second-year status in Engineering.
Lectures three hours a week, laboratory three hours a week.

SYSC 2510 [0.5 credit]
Probability, Statistics and Random Processes for Engineers

Discrete and continuous random variables. Joint and conditional probabilities, independence, sums of random variables. Expectation, moments, laws of large numbers. Introduction to statistics. Stochastic processes, stationarity, additive white Gaussian noise, Poisson processes. Markov processes, transition probabilities and rates, birth death processes, introduction to queueing theory.
Includes: Experiential Learning Activity
Prerequisite(s): MATH 1004 and MATH 1104, and second-year status in Engineering.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 3006 [0.5 credit]
Computer Organization

Computer organization: processor, memory, input/output, system bus. Number systems: binary, decimal, hexadecimal. Assembly language programming: representation of data, instruction encoding, execution. Devices: keyboard, programmable timer, parallel interface. Input/output methods: polling, hardware/software interrupts.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 2001, SYSC 2003 and SYSC 2320.
Prerequisite(s): SYSC 2006 and (SYSC 2310 or ELEC 2607).
Lectures three hours a week, laboratory two hours a week.

SYSC 3010 [0.5 credit]
Computer Systems Development Project

Development of expertise in designing, implementing and testing industrial-quality embedded systems through team projects. Applying modern programming languages, system design practices, current development processes (refactoring, iterative and incremental development) as well as current team-management tools (communication, version control) to medium-scale projects.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 2404, SYSC 2010, SYSC 2101 (no longer offered), and SYSC 3110.
Prerequisite(s): SYSC 2100 and either SYSC 2003 or SYSC 3310 (may be taken concurrently), and enrolment in Computer Systems Engineering.
Lectures two hours a week, laboratory three hours a week.

SYSC 3020 [0.5 credit]
Introduction to Software Engineering

Introduction to software engineering principles, software development life-cycles. Modelling in software engineering. Current techniques, notations, methods, processes and tools used in software engineering. UML modelling. Introduction to software quality, software verification and validation, software testing.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3100, SYSC 3120, SYSC 4120 and COMP 3004.
Prerequisite(s): SYSC 2004 and (SYSC 2006 or SYSC 2002).
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 3101 [0.5 credit]
Programming Languages

Principles underlying different kinds of programming languages (procedural, functional, logic programming) and their semantics. Overview of machinery needed for language support (compilers, interpreters and run-time systems).
Includes: Experiential Learning Activity
Precludes additional credit for COMP 3007.
Prerequisite(s): SYSC 2004.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 3110 [0.5 credit]
Software Development Project

Development of expertise in designing, implementing and testing maintainable, reusable software through team projects. Applying modern programming languages, design patterns, frameworks, UML and modern development processes (detection of olfactible source code defects, refactoring, iterative and incremental development, version control techniques) to medium-scale projects.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 2404, SYSC 2010, SYSC 2101 and SYSC 3010.
Prerequisite(s): SYSC 2004 and SYSC 2100, and enrolment in Software Engineering.
Lectures two hours a week, laboratory three hours a week.

SYSC 3120 [0.5 credit]
Software Requirements Engineering

Current techniques, notations, methods, processes and tools used in Requirements Engineering. Requirements elicitation, negotiation, modeling requirements, management, validation. Skills needed for Requirements Engineering and the many disciplines on which it draws. Requirements analysis: domain modeling, modeling object interactions; UML modeling. Introduction to software development processes.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3020 and COMP 3004.
Prerequisite(s): SYSC 2004 and enrolment in Software Engineering.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 3200 [0.5 credit]
Industrial Engineering

Techniques of operations research for decision-making in complex engineering systems. Linear programming, network models, PERT, integer programming, dynamic programming, queuing systems and inventory models. Problem solving is emphasized.
Includes: Experiential Learning Activity
Precludes additional credit for BUSI 2300, ECON 4004, or MATH 3801.
Prerequisite(s): MATH 1004 and MATH 1104, and second-year status in Engineering.
Lectures three hours a week, laboratory/problem analysis one and a half hours per week.

SYSC 3203 [0.5 credit]
Bioelectrical Systems

Biomedical transducers, sensors, and biomedical actuators. Amplifier designs: inverting, noninverting, differential, and bioinstrumentation. Differentiators, integrators, and rectifiers. Oscillators and timers. Filter design. Sampling and quantization. Electrical machines. Electrical safety.
Includes: Experiential Learning Activity
Prerequisite(s): MATH 1005 and (ELEC 2507 or ELEC 3605), and enrolment in Biomedical and Electrical Engineering or Biomedical and Mechanical Engineering, and second-year status in Engineering.
Lectures three hours a week, laboratory three hours a week.

SYSC 3303 [0.5 credit]
Real-Time Concurrent Systems

Principles and practice of a systems engineering approach to the development of software for real-time, concurrent, distributed systems. Designing to achieve concurrency, performance, and robustness, using visual notations. Converting designs into programs. Introduction to hard real-time systems. Team project.
Includes: Experiential Learning Activity
Prerequisite(s): For students in the Faculty of Engineering and Design: SYSC 2004 and SYSC 4001. For students in Computer Science: COMP 2401, COMP 2402, and COMP 3000.
Lectures three hours a week, laboratory two hours a week.

SYSC 3310 [0.5 credit]
Introduction to Real-Time Systems

Principles of event-driven systems. Microcontroller organization. Development of embedded applications. Programming external interfaces, programmable timer. Input/output methods: polling, interrupts. Real-time issues: concurrency, mutual exclusion, buffering. Introduction to concurrent processes.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 2003.
Prerequisite(s): SYSC 2006 with a minimum grade of C- and (SYSC 2320 or SYSC 3006).
Lectures three hours a week, laboratory two hours a week.

SYSC 3320 [0.5 credit]
Computer Systems Design

System on Chip (SoC)-based computer system design. SoC internal organization. Cache memory. Interfacing: external memory, hardware subsystems. Direct memory access. Floating point units. Introduction to field programmable gate arrays.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3601 and ELEC 4601.
Prerequisite(s): SYSC 3310 and third year status in Computer Systems Engineering, or permission of the Department.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 3500 [0.5 credit]
Signals and Systems

Signals: energy and power signals, discrete-time and continuous. Linear systems and convolution. Fourier Transform; complex Fourier series; signal spectral properties and bandwidth. Laplace transform and transient analysis. Transfer functions, block diagrams. Baseband and passband signals, with applications to communications systems.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3600 and SYSC 3610.
Prerequisite(s): MATH 1005 and enrolment in Communications Engineering, and second-year status in Engineering.
Lectures three hours a week, problem analysis three hours alternate weeks.

SYSC 3501 [0.5 credit]
Communication Theory

Review of signals, linear systems and Fourier theory; signal bandwidth and spectra; digital waveform coding; introduction to analog and digital modulation systems; synchronization; characterization and effects of noise; link budgets; communications media and circuits; applications to current communications systems.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3503.
Prerequisite(s): SYSC 3600 or SYSC 3610.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 3503 [0.5 credit]
Communication Theory II

Amplitude Modulation. Frequency Modulation. Performance of AM and FM in noise. Communication channels, channel models, noise sources, noise models. Digital modulation: ASK, FSK, PSK. Optimal reception, probability of error on the AWGN channel.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3501 or SYSC 4600.
Prerequisite(s): SYSC 3500 and (STAT 2605 or SYSC 2510).
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 3600 [0.5 credit]
Systems and Simulation

Properties of linear systems. Linear dynamic models of engineering systems. Applications of the Laplace transform. Transfer functions. Block diagrams. Frequency and time response. System simulation with digital computers.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3500 or SYSC 3610.
Prerequisite(s): MATH 1005 and second-year status in Engineering.
Lectures three hours a week, laboratory three hours a week.

SYSC 3601 [0.5 credit]
Microprocessor Systems

Microprocessor-based system design for different microprocessor families. Microprocessors: internal organization, instruction sets, address generation, pin-outs, bus cycles, signalling waveforms. Interfacing memory and I/O devices. Interrupt structures, direct memory access. Floating point coprocessors. System bus standards. Introduction to DSPs.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3320 or ELEC 4601.
Prerequisite(s): ELEC 2607, and SYSC 2003 or permission of the department.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 3610 [0.5 credit]
Biomedical Systems, Modeling, and Control

Properties of linear systems. Linear dynamic models of biomedical systems. Biomedical application of the Laplace transforms. Transfer functions. Block diagram. Frequency and time response. Feedback, control, and stability. Biomedical systems modeling and control.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3500 or SYSC 3600.
Prerequisite(s): MATH 1005 and enrolment in Biomedical and Electrical Engineering or Biomedical and Mechanical Engineering, and second-year status in Engineering.
Lectures three hours a week, laboratory three hours a week.

SYSC 3999 [0.0 credit]
Co-operative Work Term

Includes: Experiential Learning Activity


SYSC 4001 [0.5 credit]
Operating Systems

Introduction to operating system principles. Processes and threads. CPU scheduling. Managing concurrency: mutual exclusion and synchronization, deadlock and starvation. Managing memory and input/output. Concurrent programming, including interprocess communication in distributed systems.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3001 and COMP 3000.
Prerequisite(s): SYSC 2006 with a minimum grade of C-.
Lectures three hours a week, laboratory three hours a week.

SYSC 4005 [0.5 credit]
Discrete Simulation/Modeling

Simulation as a problem solving tool. Random variable generation, general discrete simulation procedure: event table and statistical gathering. Analyses of simulation data: point and interval estimation. Confidence intervals. Overview of modeling, simulation, and problem solving using SIMSCRIPT, MODSIM, and other languages.
Includes: Experiential Learning Activity
Prerequisite(s): (ECOR 2050 or SYSC 2510 or STAT 2605 or STAT 3502) and fourth-year status in Engineering, or permission of the Department.
Also offered at the graduate level, with different requirements, as SYSC 5001, for which additional credit is precluded.
Lectures three hours a week, laboratory one hour a week.

SYSC 4006 [0.5 credit]
Introduction to Systems Programming

Introduction to C programming: Data types, flow control, functions, arrays, pointers, and arithmetic, logical and bitwise operators. Memory models, collections. Low-level I/O. Build pipeline (version control, make, preprocessing, compiling, linking) in Linux. Testing and debugging.
Precludes additional credit for SYSC 2006.
Prerequisite(s): Third-year status in Engineering, or enrollment in the M.Eng. Program in Electrical & Computer Engineering.
Lectures three hours a week.

SYSC 4101 [0.5 credit]
Software Validation

Techniques for the systematic testing of software systems. Software validation and verification, software debugging, quality assurance, measurement and prediction of software reliability. Emphasis on the treatment of these topics in the context of real-time and distributed systems.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 4004.
Prerequisite(s): SYSC 3120 or SYSC 3020.
Lectures three hours a week, laboratory/problem analysis three hours a week.

SYSC 4102 [0.5 credit]
Performance Engineering

Techniques based on measurements and models, for predicting and evaluating the performance of computer systems. Instrumentation. Simple queueing models and approximations. Techniques for modifying software designs to improve performance.
Includes: Experiential Learning Activity
Prerequisite(s): (ECOR 2050 or STAT 3502) and SYSC 4001.
Also offered at the graduate level, with different requirements, as SYSC 5101, for which additional credit is precluded.
Lectures three hours a week, laboratory/problem analysis three hours alternate weeks.

SYSC 4106 [0.5 credit]
The Software Economy and Project Management

Introduction to software project management and economics; Return on software investments; Software life cycle; Work breakdown structure, scheduling and planning; Risk analysis and management; Product size and cost estimation; Earn value management; Statistical process control; Managing project team and process improvement; Bidding and contract types.
Prerequisite(s): SYSC 3120 (may be taken concurrently) and third-year status in Software Engineering or COMP 3004 and enrolment in the Bachelor of Computer Science.
Lectures three hours a week.

SYSC 4111 [0.5 credit]
Formal Methods in Software Engineering

Introduction to formal methods in software engineering with coverage of propositional and first-order logic (syntax, semantics, proof theory), formal specification languages, bounded analysis and validation, formal specification tools, and model checking with finite-state machines, temporal logic, and model checking tools.
Prerequisite(s): COMP 1805, SYSC 3120, and SYSC 4001.
Lectures three hours a week.

SYSC 4120 [0.5 credit]
Software Architecture and Design

Introduction and importance of software architectures and software system design in software engineering. Current techniques, modeling notations, methods, processes and tools used in software architecture and system design. Software architectures, architectural patterns, design patterns, software qualities, software reuse.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 3004, SYSC 3020 and SYSC 4800 (no longer offered).
Prerequisite(s): SYSC 3120.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 4130 [0.5 credit]
Human Computer Interaction​

User-centric design, evaluation, and implementation of interactive computing systems. Topics include: designing, prototyping, implementing, and evaluating user-facing systems and interfaces; data gathering, analysis, and interpretation; persuasive design; dark patterns; accessibility; design for security and privacy.
Prerequisite(s): SYSC 3020 or SYSC 3120.
Lectures three hours a week, problem analysis three hours alternate weeks.​

SYSC 4201 [0.5 credit]
Ethics, Research Methods and Standards for Biomedical Engineering

Ethical theories, ethical decision-making, biomedical research ethics: informed consent, confidentiality, privacy, research ethics boards; research methods: hypothesis formulation, data collection, sampling bias, experimental design, statistical literacy; regulations for design, manufacture, certification of medical devices; impact of technology and research (social, political, financial).
Includes: Experiential Learning Activity
Prerequisite(s): ELEC 3605 or SYSC 3203.
Lectures three hours a week, problem analysis one and a half hours per week.

SYSC 4202 [0.5 credit]
Clinical Engineering

Overview of the Canadian health care system; brief examples of other countries; clinical engineering and the management of technologies in industrialized and in developing countries; safety, reliability, quality assurance; introduction to biomedical sensor technologies; applications of telemedicine; impact of technology on health care.
Includes: Experiential Learning Activity
Prerequisite(s): fourth-year status in Biomedical and Electrical or Biomedical and Mechanical Engineering.
Also offered at the graduate level, with different requirements, as BIOM 5406, for which additional credit is precluded.
Lectures three hours a week, problem analysis three hours alternate weeks.

SYSC 4203 [0.5 credit]
Bioinstrumentation and Signals

Bioinstrumentation and biological signals; instrumentation systems, electrical safety, and biocompatibility; bioelectric signals; biopotential electrodes: material properties, selection; data acquisition; signal processing; biomedical imaging technologies; bioamplifier systems performance and characteristics; major physiological systems and associated measurements.
Includes: Experiential Learning Activity
Prerequisite(s): SYSC 3610 and (ELEC 3605 or SYSC 3203) and fourth-year status in Biomedical and Electrical Engineering or fourth-year status in Biomedical and Mechanical Engineering.
Lectures three hours a week, laboratory/problem analysis three hours a week.

SYSC 4205 [0.5 credit]
Image Processing for Medical Applications

Two-dimensional signals, filters, and Fourier transforms. Image acquisition, sampling, quantization and representation. Image perception. Digital and film cameras. Medical imaging technologies. Image processing operations: histogram, convolution, morphological, segmentation, registration. Image compression and formats.
Includes: Experiential Learning Activity
Prerequisite(s): MATH 1005 and fourth-year status in Engineering.
Lectures three hours a week, laboratory/problem analysis three hours alternate weeks.

SYSC 4206 [0.5 credit]
Surgical Robotics

Surgical robotic system architecture, forward and inverse kinematics of articulated robot arms, force and position control, unilateral and bilateral teleoperation of surgical robots, haptics and force feedback, instrumentation, image-guided surgery, design and implementation of robotic systems for minimally invasive surgery.
Includes: Experiential Learning Activity
Prerequisite(s): SYSC 3600 or SYSC 3610, and fourth-year status in Engineering.
Lectures three hours a week, laboratory three hours a week.​

SYSC 4310 [0.5 credit]
Computer Systems Architecture

Evolution of computer systems architecture to improve performance. Memory hierarchy, hardware accelerators. Instruction level parallelism, pipelining, vector processing, superscalar, out-of-order execution, speculative execution. Thread level parallelism, multi-core, many-core, heterogeneous systems. Processor-level interconnect bus, non-uniform memory access. Application-oriented architectures. Virtualization.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 4507.
Prerequisite(s): SYSC 3320, and enrolment in Computer Systems Engineering.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 4320 [0.5 credit]
Case Studies in Computer Systems

Examples of several modern computer systems are presented in a computer systems context: system objectives, software and hardware components, interactions. The case studies present computer systems trends emerging in practice.
Prerequisite(s): SYSC 4310, and enrolment in Computer Systems Engineering.
Lectures three hours a week, problem analysis one hour a week.

SYSC 4405 [0.5 credit]
Digital Signal Processing

Discrete time signal and system representation: time domain, z-transform, frequency domain. Sampling theorem. Digital filters: design, response, implementation, computer-aided design. Spectral analysis: the discrete Fourier transform and the FFT. Applications of digital signal processing.
Includes: Experiential Learning Activity
Prerequisite(s): SYSC 3500 or SYSC 3600 or SYSC 3610.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 4415 [0.5 credit]
Introduction to Machine Learning

Introduction to supervised and unsupervised machine learning (ML), including deeper knowledge of several algorithms of each type. Evaluation and quantification of predictive performance of ML systems. Use of one or more ML development environments.
Precludes additional credit for COMP 3105, COMP 4105 (no longer offered).
Prerequisite(s): (ECOR 2050 or STAT 3502 or STAT 2605 or SYSC 2510), SYSC 2006 (with a minimum grade of C-), and third-year status in Engineering.
Lectures three hours a week, problem analysis one hour a week.

SYSC 4502 [0.5 credit]
Communications Software

Communications software architectures, protocols and operating systems. Application layer protocols, APIs and socket programming. P2P algorithms, network virtualization, SDN. Reliable data transfer algorithms, FSM, MSC. Network security. Multimedia applications, RTSP, CDN, DASH, RTP, RTCP. Packet scheduling algorithms, DiffServ, IntServ, RSVP. Traffic classification, cross-layer optimization.
Includes: Experiential Learning Activity
Prerequisite(s): SYSC 2006 with a minimum grade of C-, and SYSC 4602.
Lectures three hours a week, problem analysis three hours alternate weeks.

SYSC 4504 [0.5 credit]
Fundamentals of Web Development

WWW architecture, web servers and browsers, core protocols. Web pages, their structure, interpretation and internal representation. Client-side and server-side programming. Data representation. Interfacing with databases and other server-side services. Cookies, state management, and privacy issues. Security. Web services.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 2406.
Prerequisite(s): SYSC 2004. Additional recommended background: SYSC 4602 or SYSC 3303.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 4505 [0.5 credit]
Automatic Control Systems I

Review of Laplace transform techniques. Effects of feedback: frequency response, pole-zero positions. Compensation: root locus, Bode plots. State variables: formulation, solution of linear systems, examples of simple second-order non-linear systems. Discrete time systems: z-transforms. Signal reconstruction.
Includes: Experiential Learning Activity
Precludes additional credit for MAAE 3500, MAAE 4500 (no longer offered).
Prerequisite(s): MATH 2004 and (SYSC 3500 or SYSC 3600 or SYSC 3610).
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 4507 [0.5 credit]
Computer Systems Architecture

Evolution of computer systems architecture, influences of changing technology, techniques to improve performance, memory hierarchy, hardware accelerators. Instruction level parallelism, pipelining, vector processing, superscalar, out of order execution, speculative execution. Thread level parallelism, multi-core, many-core, heterogeneous systems. Evolution of architectures for specific application domains.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 4310.
Prerequisite(s): ELEC 2607 and (SYSC 2001 or SYSC 3006).
Lectures three hours a week, laboratory/problem analysis one hour a week.

SYSC 4600 [0.5 credit]
Digital Communications

Probability theory, signal representation. Baseband data transmission: Nyquist criterion, optimal receiver, error probability. Digital modulation, performance. Synchronization. Introduction to information theory. Error detection and correction. OFDM. Applications to current digital wired and wireless communications systems.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3503 and SYSC 4604.
Prerequisite(s): SYSC 3501 and ECOR 2050.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 4602 [0.5 credit]
Computer Communications

Layered network architectures, TCP/IP suite, circuit switching, packet switching. Physical media, data transmission, multiplexing. Data link controls, MAC protocols, random access, polling, IEEE 802 standards. Bridges, switched Ethernet, VLANs. Routing algorithms, Internet routing protocols, datagram networks, virtual circuit networks. Transport protocols.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 3203.
Prerequisite(s): ECOR 2050 or SYSC 2510 or STAT 2605 or STAT 3502 (may be taken concurrently), and third-year status in Biomedical and Electrical, Electrical, Communications, Computer Systems, Software, or Sustainable and Renewable Energy Engineering.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 4604 [0.5 credit]
Digital Communication Theory

Introduction to information theory, source coding and data compression, Error control coding, Trellis coded modulation, advanced topics of current interest: spread spectrum; digital wireless communications.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 4600.
Prerequisite(s): SYSC 3503.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 4607 [0.5 credit]
Wireless Communications

Wireless radio channel characterization, diversity, equalization; cellular architecture, multiple access principles, spread spectrum systems, radio resource management; examples from modern wireless systems, networks, and standards, including cellular networks, WLANs, ad hoc networks, and satellite systems.
Includes: Experiential Learning Activity
Prerequisite(s): SYSC 3501 or SYSC 3503.
Lectures three hours a week, laboratory three hours alternate weeks.

SYSC 4700 [0.5 credit]
Telecommunications Engineering

Telecommunications as a national and international infrastructure. Systems view of network architecture: transmission, access, switching, multiplexing, signalling, and teletraffic. Network planning, management, security and control. Role of government, regulation and competition. Current telecommunications network evolution.
Includes: Experiential Learning Activity
Prerequisite(s): fourth-year status in Electrical, Computer Systems or Communications Engineering, and (SYSC 3501 or SYSC 3503).
Lectures three hours a week, laboratory/problem analysis three hours alternate weeks.

SYSC 4701 [0.5 credit]
Communications Systems Lab

Project-oriented level experience in the design of communication systems to meet user requirements. Lectures on teletraffic analysis; system specification and design: requirements analysis, solution alternatives, evaluation of alternative technologies, design, costing, implementation, test.
Includes: Experiential Learning Activity
Prerequisite(s): SYSC 4602 and Fourth-year status in Communications Engineering or permission of the department.
Lectures two hours a week, laboratory four hours a week.

SYSC 4805 [0.5 credit]
Computer Systems Design Lab

Project-oriented experience in the design of embedded computer systems. Lectures will discuss practical aspects related to the design and development of embedded systems, starting from sensor data acquisition and processing to decision systems, testing and embedded-system based project management, with practical application examples.
Includes: Experiential Learning Activity
Prerequisite(s): SYSC 3320 or SYSC 3601, and enrolment in Computer Systems Engineering.
Lectures two hours a week, laboratory four hours a week.

SYSC 4806 [0.5 credit]
Software Engineering Lab

Applying the full spectrum of engineering and programming knowledge acquired in the program through team projects in the laboratory. Practice in doing presentations and reviews. Lectures will discuss software engineering issues as they relate to the projects, from a mature point of view.
Includes: Experiential Learning Activity
Prerequisite(s): COMP 3005, SYSC 3110, and enrolment in Software Engineering, or permission of the department.
Lectures two hours a week, laboratory four hours a week.

SYSC 4810 [0.5 credit]
Introduction to Network and Software Security

Fundamental concepts, terminologies, and theories of computer security; principles underlying common security controls; various types of threats and attacks on networks and software systems, how they work, and controls for dealing with them; security risk assessment and management; legal and ethical aspects of computer security.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 4108.
Prerequisite(s): fourth-year status in Communications, Computer Systems or Software Engineering.
Lectures three hours a week, problem analysis one and a half hours a week.

SYSC 4906 [0.5 credit]
Special Topics

At the discretion of the Department, a course dealing with selected advanced topics of interest to students in Biomedical and Electrical, Communications, Computer Systems, Electrical, Software Engineering, and Engineering Physics may be offered.
Prerequisite(s): permission of the Department.


SYSC 4907 [1.0 credit]
Engineering Project

Student teams develop professional-level experience by applying previously acquired knowledge to a major design project. Lectures discuss project-related issues and student presentations. A project proposal, interim report, oral presentations, and a comprehensive final report are required.
Includes: Experiential Learning Activity
Prerequisite(s): Fourth-year status in Engineering. Certain projects may have additional prerequisites.


SYSC 4918 [0.5 credit]
Undergraduate Directed Study

Study, analysis, and solution of an engineering problem. Results presented in the form of a written report. Carried out under the close supervision of a faculty member. Intended for students interested in pursuing independent studies. Requires supervising faculty member and proposal from student.
Includes: Experiential Learning Activity
Prerequisite(s): Permission of the department and completion of, or concurrent registration in, one of SYSC 4907, ELEC 4907, or ECOR 4907.
Directed study.

Note: Not all courses listed are offered in a given year. For an up-to-date statement of course offerings for the current session and to determine the term of offering, consult the class schedule at central.carleton.ca.

Summer session: some of the courses listed in this Calendar are offered during the summer. Hours and scheduling for summer session courses will differ significantly from those reported in the fall/winter Calendar. To determine the scheduling and hours for summer session classes, consult the class schedule at central.carleton.ca