Systems and Computer Engineering (SYSC) Courses
Systems and Computer Eng.
Faculty of Engineering & Design
SYSC 1005 [0.5 credit]
Introduction to Software Development
A first course in 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, for example, digital image manipulation; computer games; and robotics.
Introduction to Software Development
A first course in 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, for example, digital image manipulation; computer games; and robotics.
Precludes additional credit for ECOR 1606 and SYSC 1101.
Lectures two hours a week, tutorial one hour a week, laboratory three hours a week.
Lectures two hours a week, tutorial one hour 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.
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.
Prerequisite(s): ECOR 1606 or SYSC 1102 or SYSC 2006 (SYSC 2006 may be taken concurrently).
Lectures three hours a week, laboratory two hours a week.
Lectures three hours a week, laboratory two hours a week.
SYSC 2002 [0.5 credit]
Data Structures and Algorithms
In-depth experience in the design and construction of computer programs involving data structures and different programming paradigms. Data structures, formal specification, abstract data types, graphs, recursion, finite state machines and object-oriented programming.
Data Structures and Algorithms
In-depth experience in the design and construction of computer programs involving data structures and different programming paradigms. Data structures, formal specification, abstract data types, graphs, recursion, finite state machines and object-oriented programming.
Precludes additional credit for SYSC 2100 and SYSC 3002.
Prerequisite(s): ECOR 1606.
Lectures three hours a week, laboratory two hours a week.
Prerequisite(s): ECOR 1606.
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.
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.
Precludes additional credit for SYSC 3003 and SYSC 3006.
Prerequisite(s): SYSC 2001 and (SYSC 2002 or SYSC 2006).
Lectures three hours a week, laboratory two hours a week.
Prerequisite(s): SYSC 2001 and (SYSC 2002 or 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.
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.
Precludes additional credit for SYSC 1101.
Prerequisite(s): SYSC 2002 or SYSC 2006 (SYSC 2006 can be taken concurrently).
Lectures three hours a week, laboratory two hours a week.
Prerequisite(s): SYSC 2002 or SYSC 2006 (SYSC 2006 can be taken concurrently).
Lectures three hours a week, laboratory two hours a week.
SYSC 2006 [0.5 credit]
Foundations of Imperative Programming
Modular programming with a procedural language. Compilation and linking, libraries. Memory management and object lifetimes: static allocation, automatic allocation in stack frames, dynamic allocation from the heap. Introduction to data structures: dynamic arrays, linked lists. Collections: lists, stacks, queues. Introduction to recursion.
Foundations of Imperative Programming
Modular programming with a procedural language. Compilation and linking, libraries. Memory management and object lifetimes: static allocation, automatic allocation in stack frames, dynamic allocation from the heap. Introduction to data structures: dynamic arrays, linked lists. Collections: lists, stacks, queues. Introduction to recursion.
Precludes additional credit for SYSC 1102 and SYSC 2002.
Prerequisite(s): ECOR 1606 or SYSC 1005.
Lectures three hours a week, laboratory two hours a week.
Prerequisite(s): ECOR 1606 or SYSC 1005.
Lectures three hours a week, laboratory two 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.
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.
Precludes additional credit for SYSC 2002.
Prerequisite(s): SYSC 1102 or SYSC 2006.
Lectures three hours a week, laboratory two hours a week.
Prerequisite(s): SYSC 1102 or SYSC 2006.
Lectures three hours a week, laboratory two hours a week.
SYSC 2101 [0.5 credit]
Software Development Project
Development of expertise in designing, implementing, and testing industrial-quality, reusable code through individual and team projects. Applying and extending previously acquired knowledge of patterns, frameworks, UML, iterative and incremental development, Java and C++ to medium- and large-scale systems.
Software Development Project
Development of expertise in designing, implementing, and testing industrial-quality, reusable code through individual and team projects. Applying and extending previously acquired knowledge of patterns, frameworks, UML, iterative and incremental development, Java and C++ to medium- and large-scale systems.
SYSC 3001 [0.5 credit]
Operating Systems & Databases
Operating systems and databases treated from a common perspective. Management of CPU, processes, memory, files, and data. Implications of concurrency. Concurrent programming, including interprocess communication in distributed systems. Data models and query languages.
Operating Systems & Databases
Operating systems and databases treated from a common perspective. Management of CPU, processes, memory, files, and data. Implications of concurrency. Concurrent programming, including interprocess communication in distributed systems. Data models and query languages.
Precludes additional credit for SYSC 4001.
Prerequisite(s): (SYSC 2002 or SYSC 2100), and SYSC 2003.
Lectures three hours a week, laboratory/problem analysis two hours a week.
Prerequisite(s): (SYSC 2002 or SYSC 2100), and SYSC 2003.
Lectures three hours a week, laboratory/problem analysis two hours a week.
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.
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.
Precludes additional credit for SYSC 2001 and SYSC 2003. May not be taken for credit by students in Computer Systems Engineering, Communications Engineering, or Software Engineering.
Prerequisite(s): (SYSC 2002 or SYSC 2006) and ELEC 2607.
Lectures three hours a week, laboratory two hours a week.
Prerequisite(s): (SYSC 2002 or SYSC 2006) and 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 maintainable, reusable software through team projects. Applying modern programming languages, design patterns, frameworks, UML and modern development processes (refactoring, iterative and incremental development, version control techniques) to medium-scale projects; for example, embedded or mobile applications.
Computer Systems 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 (refactoring, iterative and incremental development, version control techniques) to medium-scale projects; for example, embedded or mobile applications.
Precludes additional credit for SYSC 2101 and SYSC 3110.
Prerequisite(s): SYSC 2004 and SYSC 2100, and third-year status in Computer Systems Engineering.
Lectures two hours a week, laboratory three hours a week.
Prerequisite(s): SYSC 2004 and SYSC 2100, and third-year status 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.
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.
Precludes additional credit for SYSC 3120 and SYSC 4120.
Prerequisite(s): SYSC 2004 and SYSC 2006.
Lectures three hours a week, laboratory three hours alternate weeks.
Prerequisite(s): SYSC 2004 and SYSC 2006.
Lectures three hours a week, laboratory three hours alternate weeks.
SYSC 3100 [0.5 credit]
Systems Analysis and Design
Creating requirements specifications prior to designing and implementing complex software systems. Software development lifecycles, role of requirements analysis; functional decomposition, dataflow modeling; database modeling, entity-relationship diagrams; finite state machines; object-oriented analysis; use cases, use case maps; project management; introduction to software design.
Systems Analysis and Design
Creating requirements specifications prior to designing and implementing complex software systems. Software development lifecycles, role of requirements analysis; functional decomposition, dataflow modeling; database modeling, entity-relationship diagrams; finite state machines; object-oriented analysis; use cases, use case maps; project management; introduction to software design.
Precludes additional credit for BUSI 3402.
Prerequisite(s): SYSC 2004 or SYSC 2100.
Lectures three hours a week, laboratory/problem analysis two hours a week.
Prerequisite(s): SYSC 2004 or SYSC 2100.
Lectures three hours a week, laboratory/problem analysis two hours a week.
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).
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).
Prerequisite(s): SYSC 2004 or SYSC 2100.
Lectures three hours a week, laboratory three hours alternate weeks.
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.
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.
Precludes additional credit for SYSC 2101 and SYSC 3010.
Prerequisite(s): SYSC 2004 and SYSC 2100, and third-year status in Software Engineering.
Lectures two hours a week, laboratory three hours a week.
Prerequisite(s): SYSC 2004 and SYSC 2100, and third-year status 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, modelling requirements, management, validation. Skills needed for Requirements Engineering and the many disciplines on which it draws. Requirements analysis: domain modelling, modelling object interactions; UML modelling. Introduction to software development processes.
Software Requirements Engineering
Current techniques, notations, methods, processes and tools used in Requirements Engineering. Requirements elicitation, negotiation, modelling requirements, management, validation. Skills needed for Requirements Engineering and the many disciplines on which it draws. Requirements analysis: domain modelling, modelling object interactions; UML modelling. Introduction to software development processes.
Precludes additional credit for SYSC 3020.
Prerequisite(s): SYSC 2004 and SYSC 2100 and third-year status in Software Engineering.
Lectures three hours a week, laboratory two hours a week.
Prerequisite(s): SYSC 2004 and SYSC 2100 and third-year status in Software Engineering.
Lectures three hours a week, laboratory two hours a week.
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.
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.
Precludes additional credit for BUSI 2300, ECON 4004, or MATH 3801.
Prerequisite(s): MATH 1004 and MATH 1104 and (ECOR 1606 or SYSC 1100).
Lectures three hours a week, laboratory/problem analysis 1.5 hours alternate weeks.
Prerequisite(s): MATH 1004 and MATH 1104 and (ECOR 1606 or SYSC 1100).
Lectures three hours a week, laboratory/problem analysis 1.5 hours alternate weeks.
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.
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.
Prerequisite(s): for students in the Faculty of Engineering and Design, SYSC 2003 and (SYSC 2004 or SYSC 2100); for students in Computer Science, COMP 2003 and (COMP 2002 or COMP 2402).
Lectures three hours a week, laboratory two hours a week.
Lectures three hours a week, laboratory two hours a week.
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.
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.
Precludes additional credit for SYSC 3600 and SYSC 2500.
Prerequisite(s): MATH 2004.
Lectures three hours a week, problem analysis three hours alternate weeks.
Prerequisite(s): MATH 2004.
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.
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.
Precludes additional credit for SYSC 3503.
Prerequisite(s): MATH 3705 and SYSC 3600 and STAT 3502 (STAT 3502 may be taken concurrently).
Lectures three hours a week, laboratory three hours alternate weeks.
Prerequisite(s): MATH 3705 and SYSC 3600 and STAT 3502 (STAT 3502 may be taken concurrently).
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.
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.
Precludes additional credit for SYSC 3501 or SYSC 4600.
Prerequisite(s): (SYSC 2500 or SYSC 3500) and STAT 2605.
Lectures three hours a week, laboratory, three hours alternate weeks.
Prerequisite(s): (SYSC 2500 or SYSC 3500) and STAT 2605.
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.
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.
Precludes additional credit for SYSC 2500 or SYSC 3500.
Prerequisite(s): MATH 1005, and (ECOR 1101 or PHYS 1001).
Lectures three hours a week, laboratory three hours a week.
Prerequisite(s): MATH 1005, and (ECOR 1101 or PHYS 1001).
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.
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.
Precludes additional credit for ELEC 4601.
Prerequisite(s): ELEC 2607, and SYSC 2003 or permission of the department.
Lectures three hours a week, laboratory three hours alternate weeks.
Prerequisite(s): ELEC 2607, and SYSC 2003 or permission of the department.
Lectures three hours a week, laboratory three hours alternate weeks.
SYSC 3999 [0.0 credit]
Co-operative Work Term
Co-operative Work Term
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.
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.
Precludes additional credit for SYSC 3001.
Prerequisite(s): (SYSC 2002 or SYSC 2100) and (SYSC 2003 or SYSC 3006).
Lectures three hours a week, laboratory /problem analysis two hours a week.
Prerequisite(s): (SYSC 2002 or SYSC 2100) and (SYSC 2003 or SYSC 3006).
Lectures three hours a week, laboratory /problem analysis two 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.
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.
Prerequisite(s): (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.
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 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.
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.
Prerequisite(s): SYSC 3100 and SYSC 4800 (SYSC 4800 can be taken concurrently).
Lectures three hours a week, laboratory/problem analysis three hours alternate weeks.
Lectures three hours a week, laboratory/problem analysis three hours alternate weeks.
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.
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.
Prerequisite(s): STAT 3502, and (SYSC 3001 or 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.
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 4105 [0.5 credit]
Engineering Management
Introduction to engineering management: management of new products, management of manufacturing processes, management of the linkages between new products and manufacturing processes. Current theories, concepts and techniques are stressed, using a combination of readings, cases and guest speakers.
Engineering Management
Introduction to engineering management: management of new products, management of manufacturing processes, management of the linkages between new products and manufacturing processes. Current theories, concepts and techniques are stressed, using a combination of readings, cases and guest speakers.
Prerequisite(s): fourth-year status in Engineering.
Lectures three hours a week.
Lectures three hours a week.
SYSC 4106 [0.5 credit]
Software Product Management
Stages of the life cycle of software products and their implications for architecture definition, requirements specification, variety, target market segmentation, adoption, roll-out plans, documentation, maintenance, skills, building prototypes, testing, feature prioritization, quality and tools infrastructures.
Software Product Management
Stages of the life cycle of software products and their implications for architecture definition, requirements specification, variety, target market segmentation, adoption, roll-out plans, documentation, maintenance, skills, building prototypes, testing, feature prioritization, quality and tools infrastructures.
Prerequisite(s): SYSC 3100 or SYSC 3020 or SYSC 3120 (SYSC 3020 and SYSC 3120 can be taken concurrently) or COMP 3004.
Lectures three hours a week, laboratory/problem analysis two hours a week.
Lectures three hours a week, laboratory/problem analysis two hours a week.
SYSC 4107 [0.5 credit]
Software Business
Establishing and growing businesses anchored on software design and development. Models for software business; partnerships with suppliers and customers; distribution; raising money; intellectual property protection; evolving core products and sources of competitive advantage; alignment among the business model, infrastructures, and software development.
Software Business
Establishing and growing businesses anchored on software design and development. Models for software business; partnerships with suppliers and customers; distribution; raising money; intellectual property protection; evolving core products and sources of competitive advantage; alignment among the business model, infrastructures, and software development.
Prerequisite(s): fourth-year status in Engineering or Computer Science.
Lectures three hours a week.
Lectures three hours a week.
SYSC 4120 [0.5 credit]
Modelling Software Design
Importance of modelling software design. Software design in software engineering. Current techniques, notations, methods, processes and tools used in software design. Software system design, object design, design patterns; UML modelling. Quality assurance of designs. Modelling state-based behaviour.
Modelling Software Design
Importance of modelling software design. Software design in software engineering. Current techniques, notations, methods, processes and tools used in software design. Software system design, object design, design patterns; UML modelling. Quality assurance of designs. Modelling state-based behaviour.
Precludes additional credit for SYSC 3020.
Prerequisite(s): SYSC 3120.
Lectures three hours a week, laboratory three hours alternate weeks.
Prerequisite(s): SYSC 3120.
Lectures three hours a week, laboratory three hours alternate weeks.
SYSC 4201 [0.5 credit]
Ethics, Research Methods and Standards for Biomedical Engineering
Ethical theories, ethical decision-making, codes; human and animal experimentation, consent, practices of ethical review boards; research methods and regulations for design, manufacture, certification of medical devices; data collection, management, analysis, including security, confidentiality, privacy; bioethical dilemmas, impact of technology and research (social, political, financial).
Ethics, Research Methods and Standards for Biomedical Engineering
Ethical theories, ethical decision-making, codes; human and animal experimentation, consent, practices of ethical review boards; research methods and regulations for design, manufacture, certification of medical devices; data collection, management, analysis, including security, confidentiality, privacy; bioethical dilemmas, impact of technology and research (social, political, financial).
Prerequisite(s): fourth-year status in Biomedical and Electrical Engineering or Biomedical and Mechanical Engineering.
Lectures three hours a week, problem analysis three hours alternate weeks.
Lectures three hours a week, problem analysis three hours alternate weeks.
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.
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.
Prerequisite(s): fourth-year standing in Biomedical and Electrical or Biomedical and Mechanical Engineering, or fourth-year standing in Engineering and permission of the Department.
Lectures three hours a week, problem analysis three hours alternate weeks.
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, noise, and electrical safety; bioelectric signals; biomagnetic signals; measurement of flow and pressure; data acquisition; signal processing; biomedical imaging technologies; amplifier design for biosensors; major physiological systems and associated measurements.
Bioinstrumentation and Signals
Bioinstrumentation and biological signals; instrumentation systems, noise, and electrical safety; bioelectric signals; biomagnetic signals; measurement of flow and pressure; data acquisition; signal processing; biomedical imaging technologies; amplifier design for biosensors; major physiological systems and associated measurements.
Prerequisite(s): (SYSC 3600 or SYSC 3500) and (ELEC 2507 or ELEC 3605) 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 alternate weeks.
Lectures three hours a week, laboratory/problem analysis three hours alternate weeks.
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.
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.
Prerequisite(s): MATH 3705 and fourth-year status in Engineering.
Lectures three hours a week, laboratory/problem analysis three hours alternate weeks.
Lectures three hours a week, laboratory/problem analysis three hours alternate weeks.
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.
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.
Prerequisite(s): SYSC 2500 or SYSC 3500 or SYSC 3600.
Lectures three hours a week, laboratory three hours alternate weeks.
Lectures three hours a week, laboratory three hours alternate weeks.
SYSC 4502 [0.5 credit]
Communications Software
Layered communication software models and Internet protocols. FSM, EFSM, and MSC. APIs and socket programming. Routing algorithms and data structures. Packet scheduling algorithms and real-time operating systems. Layer integration and implementation issues.
Communications Software
Layered communication software models and Internet protocols. FSM, EFSM, and MSC. APIs and socket programming. Routing algorithms and data structures. Packet scheduling algorithms and real-time operating systems. Layer integration and implementation issues.
Precludes additional credit for SYSC 3502.
Prerequisite(s): SYSC 4602 and (SYSC 2004 or SYSC 2100), and fourth year status in Electrical Engineering, Computer Systems Engineering, or Software Engineering, or third year status in Communications Engineering.
Lectures three hours a week, problem analysis three hours alternate weeks.
Prerequisite(s): SYSC 4602 and (SYSC 2004 or SYSC 2100), and fourth year status in Electrical Engineering, Computer Systems Engineering, or Software Engineering, or third year status in Communications Engineering.
Lectures three hours a week, problem analysis three hours alternate weeks.
SYSC 4504 [0.5 credit]
Distributed Network Processing
Software aspects of distributed networks. Client-server systems. Internet and the WWW. LAN's and WAN's, routing protocols. Transportable software, Java applets. Use of modern software tools in communication network monitoring and analysis. Network management.
Distributed Network Processing
Software aspects of distributed networks. Client-server systems. Internet and the WWW. LAN's and WAN's, routing protocols. Transportable software, Java applets. Use of modern software tools in communication network monitoring and analysis. Network management.
Prerequisite(s): (SYSC 2004 or SYSC 2100) and (SYSC 3502 or SYSC 4502 or SYSC 4602) (SYSC 4602 may be taken concurrently).
Lectures three hours a week, laboratory three hours alternate weeks.
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.
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.
Precludes additional credit for MAAE 4500.
Prerequisite(s): MATH 2004 and (SYSC 2500 or SYSC 3500 or SYSC 3600).
Lectures three hours a week, laboratory three hours alternate weeks.
Prerequisite(s): MATH 2004 and (SYSC 2500 or SYSC 3500 or SYSC 3600).
Lectures three hours a week, laboratory three hours alternate weeks.
SYSC 4507 [0.5 credit]
Computer Systems Architecture
History of computers: evolution of concepts, influence of technology, techniques to increase performance. Detailed analysis and design of ALUs, control units, memory systems. Multiprocessor systems, pipeline and array processing. Scalable, superscalar, RISC, CISC, fault tolerant, and digital signal processing architectures.
Computer Systems Architecture
History of computers: evolution of concepts, influence of technology, techniques to increase performance. Detailed analysis and design of ALUs, control units, memory systems. Multiprocessor systems, pipeline and array processing. Scalable, superscalar, RISC, CISC, fault tolerant, and digital signal processing architectures.
Prerequisite(s): ELEC 2607 and (SYSC 2001 or SYSC 3006).
Lectures three hours a week, laboratory/problem analysis one hour a week.
Lectures three hours a week, laboratory/problem analysis one hour a week.
SYSC 4600 [0.5 credit]
Digital Communications
Review of probability, random variables, signal representation. Baseband data transmission: Nyquist criterion, equalization, optimal receiver, error probability. Digital modulation, performance. Synchronization. Introduction to information theory. Error detection and correction. Spread spectrum. Applications to current digital wired and wireless communications systems.
Digital Communications
Review of probability, random variables, signal representation. Baseband data transmission: Nyquist criterion, equalization, optimal receiver, error probability. Digital modulation, performance. Synchronization. Introduction to information theory. Error detection and correction. Spread spectrum. Applications to current digital wired and wireless communications systems.
Precludes additional credit for SYSC 3503 and SYSC 4604.
Prerequisite(s): SYSC 3501 and STAT 3502.
Lectures three hours a week, laboratory three hours alternate weeks.
Prerequisite(s): SYSC 3501 and STAT 3502.
Lectures three hours a week, laboratory three hours alternate weeks.
SYSC 4602 [0.5 credit]
Computer Communications
Layered protocol architectures, OSI. Physical media, physical layer interfaces, data transmission. Data-link protocols, multiplexing, polling. LANs, IEEE 802 standards, performance. Switched Ethernets, FDDI, bridges. Wide area networks, packet-switching networks, X.25. Frame relay, internetworking, DoD protocols, TCP, UDP. ATM LANs, adaptation layers, traffic issues.
Computer Communications
Layered protocol architectures, OSI. Physical media, physical layer interfaces, data transmission. Data-link protocols, multiplexing, polling. LANs, IEEE 802 standards, performance. Switched Ethernets, FDDI, bridges. Wide area networks, packet-switching networks, X.25. Frame relay, internetworking, DoD protocols, TCP, UDP. ATM LANs, adaptation layers, traffic issues.
Prerequisite(s): STAT 2605 or STAT 3502 (may be taken concurrently), and fourth-year status in Biomedical and Electrical, Electrical, Computer Systems, Software, or Sustainable and Renewable Energy Engineering, or third-year status in Communications Engineering.
Lectures three hours a week, laboratory three hours alternate weeks.
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.
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.
Precludes additional credit for SYSC 4600.
Prerequisite(s): SYSC 3503.
Lectures three hours a week, laboratory three hours alternate weeks.
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.
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.
Prerequisite(s): SYSC 3501 or SYSC 3503.
Lectures three hours a week, laboratory three hours alternate weeks.
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.
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.
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.
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 queuing theory and teletraffic analysis; system specification and design: requirements analysis, solution alternatives, evaluation of alternative technologies, design, costing, implementation, test.
Communications Systems Lab
Project-oriented level experience in the design of communication systems to meet user requirements. Lectures on queuing theory and teletraffic analysis; system specification and design: requirements analysis, solution alternatives, evaluation of alternative technologies, design, costing, implementation, test.
Prerequisite(s): fourth-year status in Communications Engineering.
Lectures two hours a week, laboratory four hours a week.
Lectures two hours a week, laboratory four hours a week.
SYSC 4800 [0.5 credit]
Software Engineering
Review of software lifecycles and requirements analysis. Software design, with emphasis on methods for real-time systems. Testing, verification and validation, quality assurance and control. Project planning and management. Maintenance and configuration management. Software reuse during design and maintenance.
Software Engineering
Review of software lifecycles and requirements analysis. Software design, with emphasis on methods for real-time systems. Testing, verification and validation, quality assurance and control. Project planning and management. Maintenance and configuration management. Software reuse during design and maintenance.
Prerequisite(s): SYSC 3001 and SYSC 3100 and SYSC 3303 (SYSC 3001 and SYSC 3303 may be taken concurrently).
Lectures three hours a week, laboratory three hours alternate weeks.
Lectures three hours a week, laboratory three hours alternate weeks.
SYSC 4805 [0.5 credit]
Computer Systems Design Lab
Developing professional-level expertise in selected, important areas of the field by applying, honing, integrating, and extending previously acquired knowledge in team projects in the laboratory. Lecture periods are devoted to new knowledge required for the selected areas, to project-related issues, and to student presentations.
Computer Systems Design Lab
Developing professional-level expertise in selected, important areas of the field by applying, honing, integrating, and extending previously acquired knowledge in team projects in the laboratory. Lecture periods are devoted to new knowledge required for the selected areas, to project-related issues, and to student presentations.
Prerequisite(s): SYSC 3303 and (SYSC 3020 or SYSC 4800) and fourth-year status in Computer Systems Engineering (students are encouraged to enrol in both SYSC 4800 AND 4805 in the same academic year).
Lectures two hours a week, laboratory four hours a week.
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.
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.
Prerequisite(s): SYSC 4800 or SYSC 4120 and fourth-year status in Software Engineering.
Lectures two hours a week, laboratory four hours a week.
Lectures two hours a week, laboratory four 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.
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.
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.
Prerequisite(s): fourth-year status in Engineering and ECOR 4995 (may be taken concurrently). Certain projects may have additional prerequisites.
Lecture one hour a week, laboratory seven hours a week.
Lecture one hour a week, laboratory seven hours a week.
SYSC 4917 [1.0 credit]
Biomedical Engineering Project
Student teams develop professional-level experience by applying previously acquired knowledge to a major design project in biomedical engineering. Lectures discuss project-related issues and student presentations. A project proposal, interim report, oral presentations, and a comprehensive final report are required.
Biomedical Engineering Project
Student teams develop professional-level experience by applying previously acquired knowledge to a major design project in biomedical engineering. Lectures discuss project-related issues and student presentations. A project proposal, interim report, oral presentations, and a comprehensive final report are required.
Prerequisite(s): fourth-year standing in Biomedical and Electrical Engineering and ECOR 4995 (may be taken concurrently). Certain projects may have additional prerequisites.
Lecture one hour a week, laboratory seven hours a week.
Lecture one hour a week, laboratory seven hours a week.
SYSC 4927 [1.0 credit]
Software Engineering Project
Student teams gain professional-level experience by applying and extending previously acquired knowledge in a major design project in software engineering. Lectures discuss project-related issues and student presentations. A project proposal, interim report, oral presentations, and a comprehensive final report are required.
Software Engineering Project
Student teams gain professional-level experience by applying and extending previously acquired knowledge in a major design project in software engineering. Lectures discuss project-related issues and student presentations. A project proposal, interim report, oral presentations, and a comprehensive final report are required.
Prerequisite(s): fourth-year status in Software Engineering and ECOR 4995 (may be taken concurrently). Certain projects may have additional prerequisites.
Lecture one hour a week, laboratory seven hours a week.
Lecture one hour a week, laboratory seven hours a week.
SYSC 4937 [1.0 credit]
Communications Engineering Project
Student teams gain professional-level experience by applying and extending previously acquired knowledge in a major design project in communications engineering. Lectures discuss project-related issues and student presentations. A project proposal, interim report, oral presentations, and a comprehensive final report are required.
Communications Engineering Project
Student teams gain professional-level experience by applying and extending previously acquired knowledge in a major design project in communications engineering. Lectures discuss project-related issues and student presentations. A project proposal, interim report, oral presentations, and a comprehensive final report are required.
Prerequisite(s): fourth-year status in Communications Engineering and ECOR 4995 (may be taken concurrently). Certain projects may have additional prerequisites.
Lecture one hour a week, laboratory seven hours a week.
Lecture one hour a week, laboratory seven hours a week.
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
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