Department of Systems and Computer Engineering Mackenzie Bldg. 377 The Department Chair of the Department: S.A. Mahmoud Associate Chair for Graduate Studies: G.M. Karam 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 119. 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 192 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 174 of this calendar. The departmental program centers 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 * Modeling 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 systems play a central role in the research and teaching activities of the department. The facilities available to the student include over fifty SUN workstations on an Ethernet local area network, multiprocessor target systems, and many other stand-alone and networked microcomputer workstations. The department is a major partner in the Ottawa-Carleton Center 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 Center for Excellence TRIO (Telecommunications Research Institute of Ontario) and CITR (Canadian Institute for Telecommunications Research). Current research areas of the centers with major participation from our 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. 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 Center, NRC, Bell Northern ResearchLaboratories, Gandalf, Bell Canada and Department of National Defence. Students wishing to pursue a computing specialization in systems engineering may be required to take appropriate undergraduate computing science courses for which credit may be allowed. Graduate Courses * Engineering 94.501W1 (CSI5120) Simulation and Modeling 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, harbors and airport capacity planning, manufacturing capacity planning, inventory systems. * Engineering 94.504F1 (ADM6371) Mathematical Programming for Engineering Applications An introduction to algorithms used for the optimization of complex systems. Topics include linear programming (with duality and post-optimality analysis), nonlinear programming, dynamic programming integer and mixed-integer programming and combinatorial search methods, and network flow programming. 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 programming: 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/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 mainten-ance; 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 parameters 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 know-ledge 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: languages (CSP, SDL, augmented C), communicating state-machine models, and Petri nets. Analysis of distributed system behavior, based on these models. Protocols: theory, practical limitations, specification and validation techniques, layered structure. ISO protocol model: transport session, presentation and application levels, the Estelle language. Design examples: interprocess communications, file transfer, factory automation. Prerequisites: Engineering 94.521 or ELG5374; and 94.571 or the equivalent. C.M. Woodside. * 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 behavior 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 technniques 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 programming 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.532W1 (ELG6132) Systems Design A comprehensive design methodology for implementing systems using VLSI components is expounded and illustrated. It establishes and illustrates this using digital signal processing as a case study. The first part of the course establishes the overall methodology, and places it in perspective with many existing approaches. It then systematically illustrates each step from user requirements, to logical design, to algorithm partitioning and architectural allocation. Examples include designs using existing components, as well as considerations for user-defined chips. Prerequisite: Engineering 94.558 (or the equivalent). * Engineering 94.533F1 (ELG6133) Digital Systems Engineering This course is concerned with the totality of activity involved in creation of a digital system. It includes as components both hardware and software engineering, and extends these disciplines to an overall system. Topics include system design methodologies and strategies; representation and discipline mechanisms; constraints; reporting and documentation; interface to manufacturing; quality assurance and maintenance; design reviews; sub-specifications of software and hardware, and their integration and control. Examples are drawn from areas such as signal proccessing, computer communications, and intelligent terminals. Prerequisite: Engineering 94.532 or the equivalent. * 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 fom 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. Enrollment 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.539F1, W1 (ELG6139) Advanced Topics in Digital Systems Design A course dealing with recent and advanced topics in the field of digital systems design and related areas. Students registered in the course are expected to present one or more lectures or seminars on assigned topics. Prerequisites: Engineering 94.533 or the equivalent and the permission of the department. * Engineering 94.540W1 (ELG6140) Topics in Office Automation The course examines office technology from three points of view: the technology, the individual user and the organization. Selected technologies, human-machine interaction, the organization and productivity. Selected topics from recent research papers with emphasis on applications of knowledge systems. Students will undertake a substantial project either individually or in groups as part of the course. Prerequisite: Permission of the department. Students should have completed several graduate courses or have had previous experience of technology in the office and have a good knowledge of computers. A.R. Kaye. * 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, W.F. McGee. * Engineering 94.561W1 (ELG5361) 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. Programmable 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. Programming 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-programmable bitslice processors, application specific chips (ASIC): Pro's/con's versus programmable DPS processors. Prerequisite: Engineering 94.562 or ELG5376 or the equivalent. L.R. Morris. * Engineering 94.564W1 (ELG6164) Advanced Topics in Digital Signal Processing: Speech Communications and Applications Mathematics of signal processing. Digital filtering. Anatomy and physiology of speech production. Articulatory and acoustic phonetics. Speech production. Vocal tract models. The ear and auditory perception. Speech perception, modeling, and time/frequency domain analysis/ synthesis. Subband, homomorphic, and linear predictive coding techniques. Vocoders: formant, LPC (pitch, multi-pulse, residual excitation); implementation issues. Speech and speaker recognition. Commercial special purpose chip-based speech analysis/synthesis systems. Programmable DSP's. Case studies: LPC and formant-based analysis/synthesis, pitch extraction on TMS 320 family. Prerequisite:Engineering 94.562 or ELG5376 or the equivalent. L.R. Morris. * 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: modeling and error probability performance evaluation. Synchronization in digital communications. Spread spectrum in digital transmission over multipath fading channels. Optical communications and networking over fiber and atmosphere. Shot noise, laser intensity noise and Gaussian noise performance limits. Prerequisite: Engineering 94.554 or ELG5375 or the equivalent. Exclusion: Engineering 92.574(ELG5180) D.D. Falconer. * Engineering 94.566W1 (ELG5366) Theory of Communication Channels Fundamentals of signal transmissions: channel transfer functions, magnitude and phase response and their impact on analog and digital signal transmission. Channel impairments: Gaussian and non-Gaussian noise, interference, fading, shadowing and frequency selectivity. Statistical characterization of time varying channels: magnitude, phase, delay spread and impulse response descriptions. WSS and QWSS channels. Channel measurement techniques. Signal transmission through impaired channels: methods to mitigate effects of channel impairments: diversity, equalization and interference control. Modulation formats and receiver structures for impaired channels. Exam-ples of communication channels: mobile and portable radio channel, indoor wireless channel, subscriber loops, coaxial cable, optical fiber and microwave channels. Prerequisites: Engineering 94.553 or ELG6153 or equivalent; Engineering 94.460 or equivalent. A.U.H. Sheikh, S.A. Mahmoud. * 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. D.D. Falconer. * Engineering 94.568W1 (ELG6168) Mobile Communications Systems Introduction to mobile communication systems. Signal strength prediction techniques. Propagation models. Statistical coverage. Traffic analysis and resource allocation. Speech encoding for mobile application. Voice and data integration. Mobile communication systems: paging system design considerations, coverage planning, data rates, protocols and channel coding. Cellular systems, concepts of frequency reuse, cell planning and interference control, access and protocols, second generation cellular mobile systems. Frequency management and channel assignment and system evaluation. Personal communication systems, examples of current and future proposed schemes. Indoor office, data requirements, access technologies and network architecture and planning. Integration of PCN with switched telephone network. Prerequisite: Engineering 94.554 or ELG5375 or the equivalent. A.U.H. Sheikh. * Engineering 94.569W1 (ELG6169) Digital Television Color 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.571F1 (CSI5117) Mini/Microcomputer Operating System Design Principles and practice of structured operating system design with emphasis on real-time, embedded systems. Concurrent programming: mechanisms and languages; design approaches and issues; run-time support requirements (kernel); I/O handling. Embedded versus general purpose operating systems. Distributed operating systems. Examples drawn from Ada, RMX, VRTX, Harmony, Unix, VMS and others. Programming assignments will be in a suitable language. Prerequisites: Engineering 94.333 or the equivalent (course or experience), PASCAL or similar programming experience. * Engineering 94.573F1 (CSI5115) Integrated Database Systems Database definitions, objectives and applications, standard architectures, e.g. ANSI/SPARC archi-tecture; 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: Programming experience in at least one high level language and some experience in assembly language programming. * Engineering 94.576F1 (ELG6176) Analytical Performance Models of Computer Systems Analytical modeling 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. Telepro-cessing 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 Programming 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. Prerequisites: Permission of the department. * Engineering 94.585W1 (ELG6185) Logic Programming: Techniques and Applications Advanced programming techniques for selected applications of logic programming: language translators, interpreters, expert systems. Prolog language: review of basic logic programming 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.589W1 (ELG6189) Advanced Topics in Measurements and Models Recent and advanced topics in optimization, queuing theory, dynamic systems, estimation for systems analysis, the theory of networks, and similar areas. A seminar course for Ph.D. students and (with permission) advanced master's students. C.M. Woodside. * 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.592T2 Systems Engineering Project (Same description as Engineering 94.591, but spread over two terms). * 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