Department of Systems and Computer Engineering
Mackenzie Building 4462
Telephone: 788-5740
Fax: 788-5727

The Department
   Chair of the Department: S.A. Mahmoud
   Associate Chair for Graduate Studies: J.W. Chinneck

The Department of Systems and Computer Engineering offers programs
of study and research leading to the M.Eng. and Ph.D. degrees in
Electrical Engineering. These degrees are offered through the
Ottawa-Carleton Institute for Electrical Engineering which is
jointly administered by the Department of Systems and Computer
Engineering and the Department of Electronics at Carleton
University, and the Department of Electrical Engineering at the
University of Ottawa. For further information, including admission
and program requirements, see page 126.

A program leading to the M.Sc. degree in Information and Systems
Science is offered in cooperation with the Department of
Mathematics and Statistics and the School of Computer Science at
Carleton University. This program is more fully described on page
200 of this calendar.

In addition certain faculty members in the Department are members
of the Ottawa-Carleton Institute for Computer Science, which offers
a program leading to the M.C.S. degree. This program is more fully
described on page 181 of this calendar.

The Departmental program centres upon the analysis and design of
engineering systems which process and transmit information and have
computers as components. Within this context, several interrelated
areas of study receive major attention:

Communication Systems

*  Computer Communications

*  Broadband ISDN Networks

*  Portable and Mobile Communication Systems
   - Signal Processing
   - Network Management
   - Software Methods

Computer Systems

*  CAD/CASE of Software and Systems

*  Real-Time and Distributed Computing

*  Software Engineering

*  Data Base Systems

*  Knowledge-Based Systems

*  Image Processing Systems

*  Signal Processing Systems

*  Robotics Systems

Analysis Techniques

*  Modelling and Simulation

*  Performance Analysis

*  Optimization

An integrated course program provides students with the fundamental
material and allows specialization in one or more of the above
areas as desired. Work undertaken includes both theoretical studies
and the related problems of practicable realizations.

Computing resources play a central role in the research and
teaching activities of the Department. The facilities available to
students include over 70 SUN workstations, several high performance
IBM or HP workstations, and a Dy-4 multiprocessor system, all
connected on an Ethernet LAN. There are also numerous networked
PCs, some MACs, and specially configured PCs. Laboratories for
communications, signal and image processing research include
numerous specialized device and test equipment. There are also
several robots for robotics and control research.

The Department is a major partner in the Ottawa-Carleton Centre for
Communications Research (OCCCR), which is a multidisciplinary
interdepartmental research group comprising faculty members,
full-time researchers, graduate students, and support staff from
both Carleton University and the University of Ottawa. It is part
of the Centre for Excellence TRIO (Telecommunications Research
Institute of Ontario) and CITR (Canadian Institute for
Telecommunications Research). Current research areas of the centres
with major participation from the Department are: broadband ISDN
access networks, transmission methods for ISDN, methods for
telecommunications software, mobile and portable wireless networks,
VLSI in communications and network management using artificial
intelligence methods, and wireless indoor digital communications.

Full advantage is taken within the Department of the
technology-oriented government/industry/ university complex in the
Ottawa area. Cooperative projects exist with the Department of
Communications, Communications Research Centre, NRC, Bell Northern
Research Laboratories, Gandalf, Bell Canada and Department of
National Defence.

Graduate Courses*

*  Engineering 94.501W1 (CSI5120)
   Simulation and Modelling
   Simulation as a problem-solving tool. Mathematical foundations:
   random variate generation, parameter estimation, confidence
   interval, simulation algorithm. Simulation languages: SLAM,
   SIMULA, SIMSCRIPT. Examples: computers and protocols, urban
   traffic, harbours and airport capacity planning, manufacturing
   capacity planning, inventory systems.

*  Engineering 94.503F1 (ELG6103I)
   Discrete Stochastic Models
   Models for software and computer systems, and communications
   networks, with discrete states, instantaneous transitions and
   stochastic behaviour. Communicating finite state machines and
   Petri Nets. Stochastic behaviour leading to Markovian models
   (including stochastic Petri Nets). Review of concepts of
   probability, and theory of Markov Chains with discrete and
   continuous parameters. First-passage problems. Birth-death
   processes and basic queuing theory. Numerical methods for Markov
   Models.
   C.M. Woodside.

*  Engineering 94.504F1 (ADM6371)
   Mathematical Programing for Engineering Applications
   An introduction to algorithms used for the optimization of
   complex systems. Topics include linear programing (with duality
   and post-optimality analysis), nonlinear programing, dynamic
   programing integer and mixed-integer programing and
   combinatorial search methods, and network flow programing.
   Emphasis is on practical algorithms for engineering
   applications, e.g. VLSI design, message routing, etc.
   J.W. Chinneck.

*  Engineering 94.505W1 (CSI5150)
   Optimization Theory and Methods
   A second-level course in optimization theory and
   computer-oriented optimization methods. Lagrange's method of
   undetermined multipliers. Unconstrained optimization:
   steepest-descent, Newton-Raphson, conjugate gradient, variable
   metric, and Powell-Zangwill methods. Nonlinear programing:
   Kuhn-Tucker conditions, saddle point theory and dual problems,
   computational techniques. Application to nonlinear engineering
   system identification, network synthesis problems, filter
   design. Function space techniques and introduction to optimal
   control.
   Bernard Pagurek.

*  Engineering 94.506W1 (ELG6106I)
   Design of Real-Time and Distributed Systems
   Real-time and distributed systems: characteristics, issues.
   Requirements and architectures will be represented using
   timethreads. Decomposing and recomposing timethreads and
   architectures. Analyzing designs for robustness, modularity,
   extensibility, adaptability. Equivalent more detailed formal
   representation and analysis using LOTOS and Petri Nets. Adding
   performance information and analyzing performance, e.g. with
   timed Petri Nets. Principles for performance engineering.
   Implementation issues. Tools. Major course project.
   Prerequisites: Engineering 94.333 and 94.485 or similar
   experience.
   R.J.A. Buhr.

*  Engineering 94/95.507F1 (CSI5307)
   Expert Systems
   This course will include: survey of some landmark expert
   systems; types of architecture and knowledge representation;
   inferencing techniques; approximate reasoning; truth
   maintenance; explanation facilities; knowledge acquisition. A
   project to implement a small expert system will be assigned.
   Prerequisite: Computer Science 95.407 or 95.501 or permission of
   the Department.
   W.R. Lalonde.

*  Engineering 94.511W1 (ELG6111)
   Computer System Design for Performance
   Methods for deriving quantitative design para-meters within an
   architectural and configuration framework to meet design
   requirements on performance parameters, such as the throughput
   capability or response time of a system. Applications to
   embedded systems (signal processors, switches, etc.), multi-user
   systems, tightly and loosely coupled distributed processors.
   Prerequisites: Engineering 94.553 or ELG5119 and 94.574 or
   equivalent, and a course in computer architecture.
   C.M. Woodside.

*  Engineering 94.517W1 (ELG6117)
   Queuing Systems
   Stochastic processes: Markov chains, discrete birthdeath, etc.
   Queuing systems: M/G/1,  G/M/m, M/M/m/k/n queues, etc. Priority
   queues. Networks of queues: local/global balance equations,
   product form solutions for open and closed networks. Mean value
   analysis, diffusion approximation, non-product form networks.
   Related models (e.g. Petri nets). Numerical solutions. Examples
   include throughput analysis from multiprocessors and
   computer-communication networks.
   Prerequisite: Engineering 94.553 or ELG5119 or the equivalent.
   Exclusion: Engineering 92.520(ELG5120).

*  Engineering 94.518W1 (ELG6118)
   Topics in Information Systems
   Students participate in a group project designing and developing
   an expert system of significant size in an organized manner.
   Specification of the system's aims, design in terms of knowledge
   representation, knowledge acquisition and knowledge use,
   prototyping, implementation and testing will all be covered in
   a mix of lectures, interactive tutorials and project
   assignments.
   Prerequisite: Engineering 94/95.507 or 94.583 or equivalent.

*  Engineering 94.519W1 (ELG6119)
   Teletraffic Engineering
   Congestion phenomena in telephone systems, and related
   telecommunications networks and systems, with an emphasis on the
   problems, notation, terminology, and typical switching systems
   and networks of the operating telephone companies. Analytical
   queuing models and applications to these systems.
   Prerequisite: Engineering 94.553 or ELG5119 or the equivalent.

*  Engineering 94.521F1 (ELG6121)
   Computer Communication
   Types of computer networks, performance criteria. OSI Layered
   Model with emphasis on transport, network and data-link layers.
   Examples of public networks. Routing and protocol efficiency.
   Queuing and analysis of networks. Local area networks, protocols
   and performance analysis of CSMA-CD, token passing and polling.
   Introduction to ISDN and broadband networks.
   Prerequisite: Undergraduate preparation in probability theory
   equivalent to 69.352.
   Exclusion: Engineering 92.567 (ELG5374).
   A.R. Kaye.

*  Engineering 94.527W1 (ELG6127)
   Distributed Processing Systems
   Methods for representing distributed systems such as precedence
   graphs, communicating state-machine models, and Petri nets.
   Analysis of distributed system behaviour, based on these models.
   Protocols. ISO protocol model: transport session, presentation
   and application levels. Design examples: interprocess
   communications, file transfer, factory automation. Resource
   management.
   Prerequisites: Engineering 94.521 or ELG5374; and 94.571 or the
   equivalent.
   Shikharesh Majumdar.

*  Engineering 94.531F1 (ELG6131)
   System Design with Ada
   Notations and methods for the design of real time and
   distributed systems in an object-oriented manner with particular
   focus on visual techniques and on temporal behaviour problems
   and solutions. Uses multitasking Ada as an example target
   implementation technology, but the notations and methods are
   presented in an Ada-independent manner and are of wider
   applicability than Ada. Teaches techniques oriented towards
   Computer Aided Design (CAD) of systems (CAD differs from CASE -
   Computer Aided Software Engineering in placing more emphasis on
   analysis of the design at the design level before
   implementation); aims to give insight into the state of the art
   in CAD and CASE tools. A principles course, rather than a
   programing or tool-use course.
   Prerequisite: Permission of the Department.
   (The course requires background of the kind given by the
   94.202/94.303/94.333 course sequence in our undergraduate
   Computer Systems Engineering program; however, it is not the
   specifics of that particular course sequence that are
   prerequisites, but a level of readiness to deal with system
   design issues.)
   R.J.A. Buhr.

*  Engineering 94.535F1 (ELG6135)
   Representations, Methods and Tools for Concurrent Systems
   Selected representations and methods for concurrent systems that
   are supported by current and emerging CAD/CASE tools are
   studied, experimented with, and presented by students to the
   class. This is a colloquium course with most lectures consisting
   of student presentations/discussions, supplemented from time to
   time by talks from invited experts on topics of particular
   interest. In addition to in-class presentations, a final,
   written report is required from each student. The course is
   supported by a laboratory containing a selection of interesting
   tools (such as Statemate, Timebench, MLog, Teamwork, Adagen, a
   Lotos interpreter, and others).
   Prerequisite: Permission of the Department.
Enrolment is limited by laboratory facilities and the colloquium
nature of the course.
   R.J.A. Buhr.

*  Engineering 94.538F1 (ELG6138)
   Computer Architecture and Parallel Processing
   Introduction to parallel processing; parallel computer
   structures; memory and input/output subsystems; pipelining and
   vector processing; array processing; data flow and systolic
   computations; interconnection networks; software and other
   design fundamentals; examples.
   Prerequisite: Engineering 94.457 or equivalent.

*  Engineering 94.541F1 (ELG6141)
   Adaptive Control
   Analysis of nonlinear dynamic systems with emphasis on
   stability. Lyapunov and hyperstability theories. Introduction to
   system identification. The least squares and recursive least
   squares approaches. Model reference adaptive control. The
   self-tuning regulator. Issues in parameter convergence and
   stability. Robustness properties of adaptive systems. Case
   studies will include applications to process control and
   robotics. Students will be required to prepare a critical review
   of the current literature.
   Prerequisite: Engineering 94.552 or equivalent.
   H.M. Schwartz.

*  Engineering 94.542F1 (ELG6142)
   Advanced Dynamics With Applications to Robotics
   Kinematics of rigid bodies and robot manipulators. Use of the
   Denavit-Hartenberg principle. Forward and inverse kinematics of
   manipulators. Momentum and energy principles. Lagrange equations
   and Hamilton's principle. Dynamics of lumped parameter and
   continuous systems. Natural modes and natural frequencies.
   Forced vibrations. General dynamics of robot manipulators.
   H.M. Schwartz.

*  Engineering 94.552F1 (ELG6152)
   Advanced Linear Systems
   Review of basic linear systems: input-output relations,
   superposition, impulse response, convolution. Transform methods
   in systems analysis. Fourier and Laplace transforms.
   Time-frequency relationships. Discrete time systems, the Z
   transform. State space representation of the systems: basic
   concepts, canonical realizations. Observability and
   controllability of continuous and discrete time realization.
   Solution of state equations and modal decomposition. Linear
   state variable feedback and modal controllability. Abstract
   approach to state space realization methods. Geometric
   interpretation of similarity transformations.
   H.M. Schwartz.

*  Engineering 94.553F1, W1 (ELG6153)
   Stochastic Processes
   Basic concepts of randomness, as applied to communications,
   signal processing, and queuing systems; probability theory,
   random variables, stochastic processes; random signals in linear
   systems; introduction to decision and estimation; Markov chains
   and elements of queuing theory.
   Exclusion: Engineering 92.519(ELG5119).
   A.R. Kaye.

*  Engineering 94.554F1 (ELG6154)
   Principles of Digital Communication
   Elements of communication theory and information theory applied
   to digital communications systems. Characterization of noise and
   channel models. Efficient modulation and coding for reliable
   transmission. Spread spectrum and line coding techniques.
   Prerequisite: Engineering 94.553 or ELG5119 or the equivalent
   (may be taken concurrently).
   Exclusion: Engineering 92.556(ELG5375).
   M.S. El-Tanany.

*  Engineering 94.557F1 (ELG6157)
   Fundamentals of Discrete Systems
   Introduction to the theory and applications of discrete
   mathematics to the analysis and design of computer algorithms
   and data communication systems. Group theory and application to
   finite state machines; algebras and combinatorial logic design;
   homomorphic maps and application to group codes; rings and
   fields and their application to cyclic codes. Graph and tree
   structures, directed graphs; classes of polynomial and complete
   and incomplete problems with graph representation.
   S.A. Mahmoud.

*  Engineering 94.558F1 (ELG6158)
   Digital Systems Architecture
   New architectural concepts in the design of computer systems are
   introduced. Discussions include system building blocks
   (arithmetic units, central processing units, control units,
   input/output and memory devices) and methods to achieve speed-up
   (instruction look-ahead, pipe-lining, memory interleaving,
   associative memory, SIMD and MIMD multiprocessing). Examples of
   current computer systems are used for discussions.
   Prerequisite: Engineering 94.457 or the equivalent.

*  Engineering 94.560W1 (ELG6160)
   Adaptive Signal Processing
   Theory and techniques of adaptive filtering, including gradient
   and LMS methods; adaptive transversal and lattice filters;
   recursive least squares; fast recursive least squares;
   convergence and tracking performance; systolic array techniques.
   Applications, such as adaptive prediction, channel equalization;
   echo cancellation; speech coding; antenna beamforming; system
   identification in control systems; spectral estimation; neural
   networks. Students will do extensive reading of current
   literature and present a seminar.
   Prerequisites: Engineering 94.553 or ELG5119 or equivalent;
   Engineering 94.562 or ELG5376 or equivalent.
   D.D. Falconer and T.A. Aboulnasr.

*  Engineering 94.561W1 (ELG6161)
   Neural Signal Processing
   Basic concepts in decision theory and multidimensional function
   approximation. The least squares adaptive algorithm. The
   generalized delta rule. Multi-layer perceptrons and the
   back-propagation algorithm. Approximation of non-linear
   functions. Radial basis functions. Self-organized maps.
   Applications of neural signal processing to control,
   communications and pattern recognition. Software and hardware
   implementation of neural networks.
   Prerequisite: Engineering 94.553 or ELG6153 or equivalent. May
   be taken concurrently with 94.553.
   H.M. Hafez.

*  Engineering 94.562F1 (ELG6162)
   Digital Signal Processing
   Signal representations, Z transform and difference equations.
   Theory, design of FIR, IIR filters. Discrete Fourier transform:
   properties, implementation via fast algorithms (radix-m FFT,
   PFA, WFTA). Chirp-z transform. Cepstral analysis.
   Decimation/interpolation. Random signal analysis: estimators,
   averaging, correlation, windowing, Input/output and quantization
   effects. Application overview: Analog-digital converters
   (linear, companded), digital audio (CD, DAT), speech analysis
   and synthesis. Programable DSP microcomputers: contemporary
   commercial architectures, application to implementation of DSP
   algorithms. Case studies: Linear predictive coding of speech
   (LPC), radix/4 FFT, spectograph.
   Prerequisite: Engineering 94.553 or ELG5119 or the equivalent
   (may be taken concurrently).
   Exclusion: Engineering 92.557 (ELG5376)
   L.R. Morris.

*  Engineering 94.563W1 (ELG6163)
   Digital Signal Processing Microprocessors, Software and
   Applications
   Digital signal processing (DSP) algorithm structure.
   Architectural features of general purpose, RISC, and DSP
   computers. Data representation, addressing, and arithmetic
   processing. Contemporary single (TMS320C25), dual (DSP56000),
   and multiple (TM320C30) accumulator/operand commercial
   architectures. Algorithm/software/hardware architecture
   interaction. Programing techniques and program examples.
   Software development cycle. Hardware and software development
   tools. Program activity analysis techniques. Case studies:
   linear predictive vocoder, DFT, Echo cancellation. Interfacing
   and input/output. Codecs. Micro-programable bitslice processors,
   application specific chips (ASIC): Pro's/con's versus
   programable DPS processors.
   Prerequisite: Engineering 94.562 or ELG5376 or the equivalent.
   L.R. Morris.

*  Engineering 94.564W1 (ELG6164)
   Advanced Topics in Digital Signal Processing
   A course dealing with recent and advanced topics in the field of
   digital signal processing and its related areas. Students are
   expected to present one or more seminars.
   Prerequisites: Engineering 94.562 or ELG5376 or the equivalent
   and permission of the Department.
   L.R. Morris and R.A. Goubran.

*  Engineering 94.565W1 (ELG6165)
   Advanced Digital Communication
   Digital signalling over channels with intersymbol interference
   (ISI) and additive Gaussian noise. Error probability analysis.
   Fading multipath channels as arise in terrestrial Line-of-Sight
   (LOS) and mobile/ portable communications, diversity concepts:
   modelling and error probability performance evaluation.
   Synchronization in digital communications. Spread spectrum in
   digital transmission over multipath fading channels.
   Prerequisite: Engineering 94.554 or ELG5375 or the equivalent.
   Exclusion: Engineering 92.574(ELG5180)
   D.D. Falconer.

*  Engineering 94.566W1 (ELG6166)
   Introduction to Mobile Communications
   Signal strength prediction techniques: propagation models and
   statistical coverage. Mobile radio channel characterization:
   statistical characterization of mobile radio fading channel in
   indoor and outdoor environment, delay spread models and
   coherence bandwidth, models for digital transmission. Co-channel
   and adjacent channel interference: interference models, and
   outage probabilities. Modulation and transmission systems:
   signal to noise calculations in fading environment, performance
   of digital systems in fading. Signal processing in mobile radio:
   diversity and its applications in MRS, impact of diversity on
   baseband interference, noise and random FM. Adaptive techniques
   to combat interference and fading: adaptive equalization and
   adaptive arrays. Introduction to mobile radio systems.
   Co-requisite: Can be taken concurrently with Engineering 94.553
   and 94.554.
   A.U. Sheikh.

*  Engineering 94.567F1 (ELG6167)
   Source Coding and Data Compression
   Discrete and continuous sources: the rate distortion functions.
   Discrete source coding: Huffman coding, run length encoding.
   Continuous source coding: waveform construction coding; PCM,
   DPCM, delta modulation; speech compression by parameter
   extraction; predictive encoding; image coding by transformation
   and block quantization. Fourier and Walsh transform coding.
   Compression by tree coding. Applications to telecommunication
   signals and storage; speech, television, facsimile.
   Prerequisite: Engineering 94.553 or ELG5119 or the equivalent.
   M.S. El-Tanany.

*  Engineering 94.568W1 (ELG6168)
   Wireless Communication Systems Engineering
   Engineering aspect of mobile radio systems: multi-user
   environment and transmission systems, traffic engineering and
   system capacity, concept of frequency reuse and channel
   allocation algorithms. Public and private mobile radio systems
   and networks: cellular mobil systems, high capacity analog and
   digital systems, signalling and protocol issues, vehicle
   location and handover techniques. Cellular systems of the world.
   Mobile satellite systems: multibeam geostationary and low orbit
   satellite systems, on-board processing and switching. Personal
   communications: microcellular architecture, PCN services,
   bandwidth on demand concept, intelligent network, universal base
   station and total system integration. Implementation of mobility
   in network protocols. Indoor high speed data networks: radio
   LANs and MANs and their interconnection.
   Co-requisite: Can be taken concurrently with  Engineering 94.553
   and 94.554.
   A.U. Sheikh.

*  Engineering 94.569W1 (ELG6169)
   Digital Television
   Colour television theory: standard systems; NTSC, PAL, SECAM;
   composite and component signals. Sampling and quantization of
   television signals. Bandwidth compression: decimation;
   predictive, transform and hybrid coding. Digital cameras,
   studios, switching, special effects, recording, transmission and
   receivers. Evaluation methods.
   D.C. Coll.

*  Engineering 94.570W1 (ELG6170)
   Spread Spectrum Systems
   Fundamentals: jamming, energy allocations, system
   configurations, energy gain, applications such as antijam, low
   probability of intercept, multiple access, time of arrival.
   Antijam systems: parameters, jammer waveforms, uncoded and coded
   direct sequence BPSK, uncoded and coded binary FSK, interleaver/
   hop tradeoff, coder BER bounds, cutoff rates, DS-BPSK and pulse
   jamming bounds, FH-MFSK and partial band jamming bounds,
   diversity for FH-MFSK, concatenation of codes. Pseudo-noise
   generators: statistical properties of M sequences, Galois field
   connections, nonlinear feed forward logic, DS and FH multiple
   access design. Code synchronizers: single dwell and multiple
   dwell serial PN acquisition for DS, delay locked loop and
   Tau-Dither loop PN tracking for DS, time and frequency
   synchronization for FH.
   T.A. Gulliver.

*  Engineering 94.571F1 (CSI5117)
   Operating System Methods for Real-Time Applications
   Principles and methods for operating system design with
   application to real-time, embedded systems. Concurrent
   programing: mechanisms and languages; design approaches and
   issues; run-time support (kernel); I/O handling. Methods for
   hard real-time applications. Methods for distributed systems.
   Programing assignments will be in a suitable programing
   language.
   Prerequisites: Engineering 94.333 or 94.574 or equivalent
   courses and/or experience. Programing experience in high level
   and assembly languages.

*  Engineering 94.573F1 (CSI5115)
   Integrated Database Systems
   Database definitions, objectives and applications, standard
   architectures, e.g. ANSI/SPARC architecture; database design
   process; data dictionary; the entity-relationship model. Network
   model; the relational approach, relational algebra and calculus,
   normal forms; hierarchical model. Design and integration issues
   in database machines, distributed database and knowledge-based
   systems.
   Prerequisite: Engineering 94.574 or the equivalent.

*  Engineering 94.574F1 (ELG6174)
   Elements of Computer Systems
   An overview of basic computer topics which some engineering
   students may not have covered in their undergraduate programs.
   Subjects covered include: concepts in computer architecture:
   80X86 architecture, assembler, instruction types, addressing
   modes, memory organization, and debugging. Structures languages:
   scope rules, dynamic allocation of data, data types, control
   structures, subroutines. Data structures: stacks, queues, linked
   lists, binary trees. Multitasking operating system concepts:
   task interference busy waiting, TAS hardware, deadlock, task
   scheduling and synchronization, semaphores, producer/consumer
   problem, monitors. This course is designed for graduate students
   without extensive undergraduate preparation in computer
   engineering (or the equivalent experience). Students with the
   equivalent of a bachelor's degree in electrical or computer
   engineering, or computer science, would normally proceed
   directly to courses for which 94.574 is a prerequisite.
   Prerequisites: Programing experience in at least one high level
   language and some experience in assembly language programing.

*  Engineering 94.576F1 (ELG6176)
   Analytical Performance Models of Computer Systems
   Analytical modelling techniques for performance analysis of
   computing systems. Theoretical techniques covered include single
   and multiple class queuing network models, together with a
   treatment of computational techniques, approximations, and
   limitations. Applications include scheduling, memory management,
   peripheral devices, databases, multiprocessing, and distributed
   computing.
   Prerequisite: Engineering 94.553 or ELG5119 or the equivalent.
   C.M. Woodside.

*  Engineering 94.577W1 (ELG6177)
   Teleprocessing Software Design
   Review of teleprocessing applications, functions and devices.
   The session, presentation and application layers of the Open
   System Interconnection Model. Examples: Electronic Mail systems
   and Distributed Data Bases. Teleprocessing Software Design using
   high level procedural languages: Concurrent Pascal and Ada. SNA
   protocols and systems: layering concepts in SNA; distribution of
   teleprocessing functions and software components. Relationship
   between SNR and OSI models. Examples of Distributed
   Teleprocessing Networks and applications in SNA.
   Prerequisites: Engineering 94.521 or ELG5374 and 94.574 or the
   equivalents.
   S.A. Mahmoud.

*  Engineering 94.579F1, W1 (CSI5112)
   Advanced Topics in Software Engineering
   A course dealing with recent and advanced topics in the field of
   software engineering and related areas. Primary references are
   recent publications in the field. Students registered in the
   course are expected to present one or more lectures or seminars
   on assigned topics.
   Prerequisite: Permission of the Department.

*  Engineering 94.581F1 (ELG6181)
   Advanced Topics in Computer Communications
   Recent and advanced topics in computer-communication networks
   intended as a preparation for research. Students are expected to
   contribute to seminars or present lectures on selected topics.
   Prerequisites: Engineering 94.521 or ELG5374 or equivalent and
   permission of the Department.
   A.R. Kaye.

*  Engineering 94.582F1 (ELG6182)
   Introduction to Information and System Science
   An introduction to the process of applying computers in problem
   solving. Emphasis is placed on the design and analysis of
   efficient computer algorithms for large, complex problems.
   Applications in a number of areas are presented: data
   manipulation, databases, computer networks, queuing systems,
   optimization.
   (Also offered as Mathematics 70.582, Computer Science 95.582 and
   Information and Systems Science 93.582)

*  Engineering 94.583W1 (ELG6183)
   Logic Programing
   Review of relational databases, first order predicate calculus,
   semantics of first order models, deductive querying. Proof
   theory, unification and resolution strategies. Introduction to
   Prolog, and/or parallelism and Concurrent Prolog. Applications
   in knowledge representation and rule based expert systems.
   Bernard Pagurek.

*  Engineering 94.584F1, W1 (ELG6184)
   Advanced Topics in Communications Systems
   Recent and advanced topics in communications systems. Students
   registered in the course are expected to present one or more
   lectures or seminars on assigned topics.
   Prerequisite: Permission of the Department.

*  Engineering 94.585W1 (ELG6185)
   Logic Programing: Techniques and Applications
   Advanced programing techniques for selected applications of
   logic programing: language translators, interpreters, expert
   systems. Prolog language: review of basic logic programing
   techniques, language features, date representation. Program
   design; design principles, graphics design notation, paradigms,
   and methodology. Advanced techniques include: searching,
   grammars, meta-interpreters, incomplete structures.
   Implementation of Prolog. Each student is expected to complete
   a substantial project as part of the course requirements.
   Prerequisite: Engineering 94.583 or the equivalent.
   (Students are expected to be familiar with Edinburgh-style
   Prolog).
   G.M. Karam.

*  Engineering 94.586F1 (ELG6186)
   Object Oriented Design of Real-Time and Distributed Systems
   Conceptual views of OO and RTD software at different scales of
   resolution. Principles of software architectures: "wired" and
   "wireless" architectures; factored architectures; contracts,
   protocols, threads; concurrency and real-time issues;
   visualization; notations; relation to OO and RTD domains.
   Threaded OO design process with examples. Implications for
   designing evolving systems. Relationship to OO and RTD
   implementation technologies, to textbook OO and RTD notations,
   and to current commercial and emerging tools.
   Prerequisite: Permission of the Department. The course expects
   a familiarity with real-time systems and design issues typified
   by the 94.202/94.303/ 94.333 undergraduate courses. Some
   familiarity with OO concepts and at least one OO programing
   language is highly desirable but not required.
   R.J.A. Buhr.

*  Engineering 94.587F1, W1, S1 (ELG6187)
   Advanced Topics in Computer Systems
   Recent and advanced topics in computer systems. The course will
   generally focus on one or more of the following areas:
   specification, design, implementation, and modelling/analysis.
   Students may be expected to contribute to lectures or seminars
   on selected topics.
   Prerequisite: Permission of the Department.

*  Engineering 94.588W1 (ELG6188)
   Communications Network Management
   Overview of network management issues, WANs and LANs. The
   Internet and ISO models of network management. Network
   management protocols SNMP, CMIP, CMOT, etc. Events, Managed
   Objects, and MIBs. Fault management techniques, models and
   algorithms. Current diagnostic theory and its limitations. AI
   and machine learning approaches. Monitoring and fault management
   tools, examples, Recent products.
   Prerequisite: Engineering 94.521 or equivalent.
   Bernard Pagurek.

*  Engineering 94.590F1, W1, S1
   Systems Engineering Project
   Students pursuing the non-thesis M.Eng. program will conduct an
   engineering study, analysis, and/or design project under the
   supervision of a faculty member. Results will be given in the
   form of a typewritten report and presented at a departmental
   seminar.

*  Engineering 94.591F2, W2, S2
   Systems Engineering Project
   Project similar to Engineering 94.590, but either of greater
   scope or longer duration. Results will be given as a typewritten
   report and presented in a seminar.

*  Engineering 94.593F2, W2, S2
   Cooperative Program Project
   A one-term course, carrying a full-course credit, for students
   pursuing the cooperative M.Eng. program. An engineering study,
   analysis, and/or design project under the supervision of a
   faculty member. Results will be given in the form of a written
   report and presented orally. This course may be repeated for
   credit.

*  Engineering 70/94/95.595F4, W4, S4
   M.C.S. Thesis

*  Engineering 94.596F1, W1, S1 (ELG6196)
   Directed Studies

*  Engineering 70/93/94/95.598F3, W3, S3
   M.Sc. Thesis in Information and Systems Science

*  Engineering 94.599F4, W4, S4
   M.Eng. Thesis

*  Engineering 94.699F, W, S
   Ph.D. Thesis