 |
|
 |
Ottawa-Carleton Institute for Computer Science
Herzberg Building 5302
Telephone: 520-4333
Fax: 520-4334
E-mail: scs@carleton.ca
The Institute
Director of the Institute, S.J. Matwin
Associate Director of the Institute, P. Bose
Students who wish to pursue studies in computer science leading to an
M.C.S. or a Ph.D. degree can do so in a joint program offered by the School
of Information Technology and Engineering at the University of Ottawa and
the School of Computer Science at Carleton University under the auspices
of the Ottawa-Carleton Institute for Computer Science. The Institute is
responsible for supervising the program and for providing a framework for
interaction between the two departments at the research level. In addition
to the faculty members from the two computer science departments, the Institute
also has members with computer science expertise from other departments.
The M.C.S. is also available as part of ConGESE (Consortium for Graduate
Education in Software Engineering), a collaborative program offering a
specialization in software engineering. This program is geared towards
software professionals working for participating industrial partners. The
ConGESE program imposes further regulations and requirements on the existing
program. The degree will in each case specify the discipline of the participating
unit with Specialization in Software Engineering. Additional information
is available from the graduate supervisor and on the Web (by searching
for Congese).
Requests for information, and completed applications, should be sent
to the director or associate director of the Institute. A joint admissions
committee examines all applications and assigns students to the most appropriate
campus and supervisor.
Members of the Institute
The "home" department of each member is indicated by (SITE) for the School
of Information Technology and Engineering, University of Ottawa;(ADM) for
Faculty of Administration, University of Ottawa; (MCG) for the Department
Of Mechanical Engineering, University of Ottawa; (SCS) for the School of
Computer Science, Carleton University; (MAT)
for the School of Mathematics and Statistics, Carleton University;
(SCE) for the Department of Systems and Computer Engineering, Carleton
University; (C) for the Department of Civil and Environmental Engineering,
Carleton University; (BUS) for the School of Business, Carleton University.
* M.D. Atkinson, Complexity, Algorithms, Computational Algebra
(SCS - Adjunct)
* K.J. Barker, Natural Language Processing, Knowledge Acquisition,
Machine Learning, Artificial Intelligence (SITE)
* C. Barrière, Natural Language Processing, Lexical Knowledge
Bases, Computational Lexicography, Knowledge Acquisition and Representation
(SITE)
* S.S. Beauchemin, Robotics, Image Processing, Visual Motion
(SCS)
* G. von Bochmann, Communication Protocols, Software Engineering,
Formal Specifications, Verification and Validation, Distributed Applications
and Multimedia, Quality of Service Management, High-Speed Networks, Real-Time
Systems (SITE)
* F. Bordeleau, Software Engineering, Object-Oriented Modelling,
Distributed Objects, Agent Systems, Distributed System Development, Scenario-Based
Description Techniques, Telecommunication, Formal Methods (SCS)
* P. Bose, Applied Geometric Computing, Computational Geometry,
Data Structures, Algorithms Design and Analysis, Randomized Algorithms,
Graph Theory (SCS)
* Sylvia Boyd, Combinatorial Optimization, Algorithm Design
and Analysis, Graph Theory, Polyhedral Combinatorics (SITE)
* R.J.A. Buhr, Software Design, Design Visualization, Real-Time
and Distributed Systems, Object -Oriented Systems (SCE)
* J.W. Chinneck, Operations Research, Applied Optimization (SCE)
* J.-P. Corriveau, Cognitive Science, Natural Language Understanding,
Cognitive Science, Object-Oriented Technology, CASE Tools (SCS)
* S.P. Dandamudi, Parallel and Distributed Systems, Database Systems,
Performance Evaluation, Computer Architecture, Operating Systems (SCS)
* N.W. Dawes, Diagnosis and Pattern Recognition (SCE - Adjunct)
* Frank Dehne, Computational Geometry, VLSI Algorithms (SCS)
* D. Deugo, Large-Scale Distributed Object Computing, Evolutionary
Computation (Genetic Algorithms, Genetic Programming, Artificial Life),
Object-Oriented Systems (SCS)
* J.D. Dixon, Algorithms in Algebra and Number Theory, Complexity
Theory, Group Theory and Representation (MAT)
* E. Dubois, Digital Signal Processing, Multidimensional Signal
Processing, Data Compression, Source Coding, Image/Video Processing and
Coding (SITE)
* A.E.F. Fahim, Nonlinear Optimization, Computer Aided Design and
Manufacturing (CAD/ CAM) Methodology and Software, Flexible Manufacturing
Cell (FMC) Control Environment, Robot Control, Expert Systems for
Design and Manufacturing (MCG)
* Frantisek Fiala, Combinatorial Algorithms, Vehicle Routing Problems,
Software Tools (SCS)
* P. Flocchini, Distributed Computing, Distributed Algorithms, Sense
of Direction, Compact Routing, Cellular Automata, Discrete Chaos (SITE)
* N. Georganas, Computer Communications, Multimedia Communications
(SITE)
* R.C. Holte, Artificial Intelligence, Machine Learning, Knowledge
Compilation (SITE)
* N.M. Holtz, Computer-Assisted Structural Engineering (C)
* D.J. Howe, Automated Reasoning, Applied Logic, Formal Methods
in Software Engineering, Programming Languages (SCS)
* D.I.-A. Ionescu, Computers, Artificial Intelligence, Image Processing,
Discrete Event and Real-Time Systems (SITE)
* G.M. Karam, Concurrent and Real-Time Systems, Software Engineering,
Communications Software (SCE _ Adjunct)
* A. Karmouch, Multimedia Communications, Multimedia Real-Time Distributed
Information Systems and Databases (SITE)
* G.E. Kersten, Knowledge-Based Systems, Intelligent Decision Support,
Problem Structuring and Representation (BUS)
* Evangelos Kranakis, Cryptography, Computational Number Theory,
Combinatorial Analysis, Computational Geometry, Distributed Computing,
Distributed and Data Networks (SCS)
* Moshe Krieger, Real-Time System Design, Microprocessor-Based Systems,
Software Engineering, Computer Architecture (SITE)
* Danny Krizanc, Parallel and Distributed Computing, Analysis of
Algorithms and Use of Randomization in Computation (SCS)
* T. Kunz, Wireless and Mobile Computing, Load Balancing in Distributed
Systems, Distributed Programming Environments for Parallel and Distrib
uted Systems, Distributed Systems Management, Parallel and Distributed
Debugging, Program Understanding (SCE)
* R. Laganiere, Computer Vision, Image Processing (SITE)
* W.R. LaLonde, Object-Oriented Systems, Design and Analysis Tools,
Animation Systems (SCS)
* T.C. Lethbridge, Human Computer Interaction/User Interfaces,
Software Engineering Tools and Work Practices, Software Reverse Engineering
, Knowledge Representation (SITE)
* Luigi Logrippo, Telecommunications Software Engineering, Software
Specification and Verification with Emphasis on Distributed Software
(SITE)
* A. Maheshwari, Data Structures and Algorithms, Parallel Computation,
Computational Geometry, Graph Algorithms (SCS)
* S.A. Mahmoud, Wireless Communication Systems, Software Project
Management, Protocols for High Speed Networks, Speech Processing and Computer
Network Design (SCE)
* S. Majumdar, Parallel and Distributed Systems, Performance Evaluation,
Operating Systems (SCE)
* D.J. Makaroff, Distributed Systems, Multimedia Servers, Networks
(SITE)
* M. Marchand, Artificial Neural Networks, Machine Learning (and
Applications), Pattern Recognition (SITE)
* S.J. Matwin, Artificial Intelligence, Knowledge-Based Systems,
Machine Learning, Software Reuse (SITE)
* L.R. Morris, Digital Signal Processing, Speech Analysis and Synthesis,
Computer Graphics (SCE-Adjunct)
* B.C. Mortimer, Combinatorics, Algorithms, Groups Theory (MAT)
* K. Naik, Communication Networks (Mobile and Optical Communication),
Software Systems (SCS)
* J. E. Neilson, Distributed and Parallel Computing including: Operating
Systems, Performance Models, and Design Tools; Simulation and Prototyping
Methodology, Computer Systems Performance Engineering (SCS-Adjunct)
* L.D. Nel, Object-Oriented Programing and Object-Oriented Development,
Computer Music and Multimedia (SCS)
* J.B. Oommen, Learning Systems, Stochastic Automata, Syntactic
Pattern Recognition, Adaptive Data Structures, Neural Networks (SCS)
* Franz Oppacher, Artificial Intelligence, Genetic Algorithms, Evolutionary
Computing, Machine Learning (SCS)
* T.I. Oren, Methodology for System Modelling, Simulation Software,
Quality Assurance of Simulation Studies, Application of Artificial Intelligence
to Software Engineering and to Modelling and Simulation (SITE)
* E.J. Otoo, Databases, Algorithms (SCS)
* Bernard Pagurek, Communications Network Management, Artificial
Intelligence and Fault Management, Knowledge-Based Software Debugging
(SCE)
* E.M. Petriu, Virtual Environments, Robotic Sensing and Perception,
Neural Networks, Fuzzy Systems (SITE)
* R.L. Probert, Testing of Communications Protocols and Communications
Software, Distributed Software Engineering, Software Design for Testability
(SITE)
* J.R. Pugh, Object-Oriented Development Environments (SCS -
Adjunct)
* Jacques Raymond, Teleeducation, Intranet (SITE)
* Ivan Rival, Combinatorial Optimization, Ordered Sets, Scheduling,
Sorting, Search, Graph Theory Visualization, Software Engineering (SITE)
* G. Roth, Computer Vision, Image Processing, Evolutionary Algorithms,
Virtual Reality and Multi-Media, Computer Graphics (SCS)
* J.-R. Sack, Algorithms and Complexity, Computational Geometry,
Geographic Information Systems, Parallel Computing, Graphics (SCS)
* Nicola Santoro, Distributed Computing, Fault- Tolerance, Discrete
Chaos, Reactive Environments (SCS)
* Philip Scott, Logic, Theoretical Computer Science, Category Theory
(SITE)
* D.R. Skuce, Applications of Artificial Intelligence, Expert Systems,
Intelligent Help and Text Retrieval, Natural Language Understanding
(SITE)
* Ivan Stojmenovic, Parallel Algorithms, Neural Networks, Combinatorial
Algorithms, Evolutionary Computing, Multiple-Valued Logic (SITE)
* Stan Szpakowicz, Computational Linguistics, Knowledge Acquisition
, Decision Support Systems (SITE)
* T. Tamayaki, (SITE)
* D.A. Thomas, Artificial Intelligence, Fifth Generation Machines
(SCS - Adjunct)
* Hasan Ural, Software Reliability, Verification and Testing, Communication
Protocols, Distributed Computing (SITE)
* Jorge Urrutia, Design and Analysis of Algorithms, Graph Theory,
Combinatorial Optimization, Dis
Dributed Algorithms, Combinatorial Geometry and Algorithms (SITE)
* Rémi Vaillancourt, Differential Equations, Numerical and
Applied Mathematics, Scientific Computation, Image Compression (JPEG, MPEG),
Wavelets, Chirplets (SITE)
* G.M. White, Networking and Protocol Design, Office Automation
and Speech Processing, Micro-Computer Based Systems (SITE)
* C.M. Woodside, Performance Modelling, Performance of Distributed
Software, Software Design, Queuing Theory (SCE)
* D.J. Wright, Voice Over Packet Networks, Business Case for Broadband
Networks, Electronic Commerce, Telelearning (SITE)
* O. Yang, Design, Modeling, Analysis and Performance Evaluation
of Computer Communication Networks and their Architectures (SITE)
* Negib Zaguia, Optimization, Theory of Algorithms, Theory of Ordered
Sets (SITE)
Master of Computer Science
Admission Requirements
Applicants should have an Honours bachelor's degree in computer science
or the equivalent, with at least high honours standing. By equivalent is
meant an Honours degree in a program which includes at least twelve computer
science half credits, two of which must be at the 400-level, as well as
eight half credits in mathematics, one of which must be at the 300- or
400-level. These courses must include the topics indicated below:
Computer Science
Data structures/file management, operating systems, computer architecture,
algorithm design and analysis, assembly language and two high-level languages
Mathematics
Calculus, linear algebra, algebraic structures or discrete mathematics,
probability and statistics, numerical analysis. Applicants who have a general
(3 year) bachelor's degree, or who otherwise lack the required undergraduate
preparation, may be admitted to a qualifying-year program. Refer to the
General Regulations section of this Calendar for regulations governing
the qualifying year.
Program Requirements
The program includes graduate study and research in four broad areas identified
as follows:
* Software Engineering
* Theory of Computing
* Computer Applications
* Computer Systems
Within these areas, the program emphasizes problems of current practical
significance and has close links to the scientific and industrial communities.
Normally, students in the program will be expected to complete a thesis;
however, students who have substantial relevant work experience may be
permitted to take the non-thesis option, which must include a graduate
research project course. Each candidate submitting a thesis will be required
to undertake an oral defence of the thesis.
Students in the thesis option must take 2.5 credits , fulfill the graduate
seminar requirement, and complete a thesis. Students in the non-thesis
option must take 4.0 credits, plus a graduate project (a project is equal
to 1.0 credit and may be completed in one or two terms), and fulfill the
graduate seminar requirement. The course selections must be approved by
the student's academic adviser, and must include at least:
* 0.5 credit in software engineering
* 0.5 credit in the theory of computing
* 0.5 credit in either computer applications or computer systems
The graduate seminar requirement includes a seminar presentation and
participation in at least ten sessions in the joint graduate student seminar
series.
Both course and thesis work may be completed either by full-time or
part-time study.
A candidate may be permitted to carry out thesis work off campus provided
that suitable arrangements are made for supervision and experimental work,
and prior approval is given by the Institute.
Guidelines for Completion of Master's Degree
The following completion times are estimates only, based on full-time study,
and are intended to provide guidance only.
Students are strongly urged to check with the supervisor of graduate
studies to determine the exact requirements of the degree program and other
related information. Part-time students should calculate the completion
times requirement by doubling the time estimates given below.
Students should complete the course work within the first two terms.
Selection of courses should be done in consultation with the student's
faculty advisor. A thesis supervisor and a thesis topic must be completion
time for the M.C.S. degree is four selected by the end of the second term.
The supervisor of graduate studies should be formally notified of this
selection. The expected to six terms of full-time study depending on the
type of thesis and the area of research.
Doctor of Philosophy
Admission Requirements
A master's degree in Computer Science (or the equivalent) with high second-class
standing is normally required for admission into the Ph.D. program. Students
who are currently registered in the M.C.S. program may, in exceptional
cases, be permitted to transfer into the Ph.D. program if they have completed
all course requirements with at least high second-class standing and demonstrate
significant promise for advanced research.
Program Requirements
* A minimum of 2.5 credits, at the graduate level which must include: 0.5
credit in software engineering; 0.5 credit in the theory of computing;
0.5 credit in either computer applications or computer systems
* Presentation of at least two seminars in the Ottawa-Carleton Institute
for Computer Science seminar series
* A comprehensive examination involving breadth and depth components
* A written thesis proposal defended at an oral examination
* A research thesis, defended at an oral examination
Guidelines for Completion of the Doctoral Degree
The following completion times are estimates based on full-time study,
and are intended to provide guidance only.
During the first term, the thesis supervisor and the student must select
courses. Course selection must be submitted for approval to the director
or associate director of the Institute. An advisory committee comprised
of three to five faculty members must be established before the end of
the second term. The committee is responsible for the comprehensive examination,
the thesis proposal, and for guiding the student's research. The
advisory committee must be approved by the director or associate director
of the Institute. Comprehensive examinations must be taken within the first
12 months. All course requirements must be completed within the first 24
months. The student must submit a written thesis proposal and defend it
in an oral examination. The expected completion time for the Ph.D. program
is nine to twelve terms depending on the type of thesis and the area of
research. Before the completion of the program, the student is expected
to present at least two seminars in the Ottawa-Carleton Institute for Computer
Science seminar series.
Residence Requirement
Students must fulfill a residence requirement of at least four terms of
full-time study.
Graduate Courses
Not all of the following courses are offered in a given year. For an
up-to-date statement of course offerings for 2000-2001, please consult
the Registration Instructions and Class Schedule booklet published
in the Summer.
The courses in the following list are offered by various departments
indicated by the prefix of the course code as follows:
-
Carleton University
-
70 School of Mathematics and Statistics
-
94 Department of Systems and Computer Engineering
-
95 School of Computer Science
-
97 Department of Electronics
-
-
University of Ottawa
-
CSI School of Information Technology and Engineering
-
ELG School of Information Technology and Engineering
-
MAT Department of Mathematics
-
-
Software Engineering
-
94.480 Software Engineering
-
94.531 (ELG6131)
-
94.571 (CSI5117)
-
94.573 (ELG6173)
-
94.578 (ELG6178)
-
94.579 (ELG6179)
-
94.586 (ELG6186)
-
95.501 (CSI5113)
-
95.514 (CSI5314)
-
95.516 (CSI5123)
-
95.540 (CSI5310)
-
95.614 (CSI7314)
-
95.663 (CSI7161)
-
CSI5107 (95.569) Program Construction and Fault Tolerance
-
CSI5109 (95.571) Specification Methods for Distributed Systems
-
SI5111 (95.551) Software Testing: Theory and Practice
-
CSI5118 (95.532) Automated Verification and Validation of Software
-
CSI5122 (95.531) Software Usability
-
CSI5181 (95.575) Artificial Intelligence in Software Engineering
-
CSI5184 (95.584) Logic Programming
-
CSI5507(95.569) La Construction et la Tolérance aux Fautes des Programmes
-
CSI5509 (95.571) Méthodes Algébriques pour la Spécification
de Systemes Répartis
-
CSI5518(95.578) Conception des compilateurs et traducteurs
-
CSI5584 (95.584) Programmation logique
-
Theory of Computing
-
70.482 Introduction to Mathematical Logic
-
70/95.483 Topics in Applied Logic
-
70/95.484 Design and Analysis of Algorithms
-
70/95.485 Theory of Automata
-
70/95.486 Numerical Linear Analysis
-
95.409 Introduction to Parallel and Systolic Computing
-
70.565 (MAT5165)
-
70.585 (MAT5308)
-
794.505 (ELG6105)
-
94.506
-
94.507
-
95.503 (CSI5308)
-
95.505 (CSI5390)
-
95.508 (CSI5164)
-
95.517 (CSI5185)
-
95.523 (CSI5173)
-
95.573 (CSI5163)
-
95/70.587 (CSI5104)
-
95.661 (CSI7160)
-
95.662 (CSI7170)
-
CSI5101 (95.561) Formal Models of Computational Systems
-
CSI5107 (95.569) Program Construction and Fault Tolerance
-
CSI5108 (95.570) Software Specification and Verification
-
CSI5110 (95.577) Principles of Formal Software Development
-
CSI5162 (95.572) Order: Its Algorithms and Graphical Data Structures
-
CSI5164 (95.508) Computational Geometry
-
CSI5165 (95.579) Combinatorial Algorithms
-
CSI5169 (95.534) Wireless Networks and Mobile Computing
-
CSI5166(95.585) Applications of Combinatorial Optimization
-
CSI5174 (95.564) Validation Methods for Distributed Systems
-
CSI5507 (95.569) La Construction et la Tolérance aux Fautes de Programmes
-
CSI5508 (95.570) Spécification et Vérification de Logiciels
-
CSI5510 (95.577) Principes de développement formel de logiciels
-
CSI5565 (95.579) Algorithmes Combinatoires
-
Computer Applications
-
70/95.486 Numerical Linear Algebra
-
94.405 Discrete Simulation and Its Applications
-
95.402 Computer Graphics
-
95.403 Transaction Processing Systems
-
95.416 Knowledge-Based Systems and Symbolic Machine Learning
-
96.417 Adaptive Algorithms and Intelligent Agents
-
70.569 (MAT5301)
-
70.581 (MAT5303/ADM6385)
-
70.583 (MAT5304/ADM6386)
-
70.584 (MAT5307/ADM6387)
-
70.586 (MAT5180)
-
70.588 (MAT5305)
-
70.589 (MAT5306)
-
94.501 (ELG6101)
-
94.503 (ELG6103)
-
94.504 (ELG6104)
-
94.505 (ELG6105)
-
94.535 (ELG6135)
-
94.538 (ELG6138)
-
94.542 (ELG6142)
-
94.561 (ELG6161)
-
94.563 (ELG6163)
-
95.506 (CSI5306)
-
95.510 (CSI5180)
-
95.513 (CSI5313)
-
95.524 (CSI5124)
-
95.526 (CSI5183)
-
95.664 (CSI7162)
-
CSI5114 (95.554) Automated Office Systems
-
CSI5125 (95.517) Simulation
-
CSI5161 (95.566) Topics in System Simulation and Optimization
-
CSI5162 (95.572) Order: Its Algorithms and Graphical Data Structures
-
CSI5181 (95.575) Artificial Intelligence Applications in Software Engineering
-
CSI5304 (95.562) Knowledge Engineering
-
CSI5386 (95.555) Natural Language Processing
-
CSI5387 (95.576) Data Mining and Concept Learning
-
CSI5388 (95.581) Topics in Machine Learning
-
CSI5514 (95.554) Bureautique
-
CSI5580 (95.510) Sujet en intelligence artificielle
-
CSI5581 (95.575) Applications de l'intelligence artificielle dans le développement
des systèmes
-
CSI5787 (95.576) Apprentissage Symbolique Automatique
-
ELG5162 (92.505) Knowledge-Based Systems: Principles and Design
-
ELG5163 (92.510) Machine Vision
-
ELG5196 (92.579) Automata and Neural Net works: Applications in Machine
Perception
-
ELG5199 (92.514) Design of Multimedia
-
Distributed Database Systems
-
ELG5373 (92.515) Secure Communications and Data Encryption
-
Computer Systems
-
94.457 Introduction to the Architecture of Computer Systems
-
94.470 Introduction to Telecommunications
-
95.408 Performance Modelling
-
94.506 (ELG6106)
-
94.511 (ELG6111)
-
94.519 (ELG6119)
-
94.521 (ELG6121)
-
94.527 (ELG6127)
-
94.538 (ELG6138)
-
94.558 (ELG6158)
-
94.563 (ELG6163)
-
94.571 (CSI5117)
-
94.576 (ELG6176)
-
94.577 (ELG6177)
-
94.581 (ELG6181)
-
94.587 (ELG6187)
-
95.503 (CSI5308)
-
95.509 (CSI5141)
-
95.511 (CSI5311)
-
95.512 (CSI5312)
-
95.515 (CSI5132)
-
95.517 (CSI5185)
-
95.523 (CSI5173)
-
95.574 (CSI5131)
-
95.610 (CSI7131)
-
95.662 (CSI7170)
-
95.665 (CSI7163)
-
97.587 (ELG6387)
-
CSI5109 (95.571) Specification Methods for Distributed Systems
-
CSI5114 (95.554) Automated Office Systems
-
CSI5133 (95.568) Simulation and Testing of Logic Circuits
-
CSI5135 (95.565) High Level Language Machines
-
CSI5169 (95.534) Wireless Networks and Mobile Computing
-
CSI5170 (95.580) Distributed Data Processing
-
CSI5171 (95.533) Network Architectures, Services, Protocols and Standards
-
CSI5174 (95.564) Validation Methods for Distributed Systems
-
CSI5509 (95.571) Méthodes Algébriques pour la Spécification
de Systems Répartis
-
CSI5514 (95.554) Bureautique
-
CSI5535 (95.565) Les machines de haut niveau
-
ELG5192 (92.577) Microprocessor-based Systems
-
ELG5193 (92.578) Multi-microprocessor Systems
-
ELG5194 (92.573) Design and Testing of Reliable Digital Systems
-
ELG5197 (92.512) Introduction to Embedded Systems
-
ELG5198 (92.513) Parallel Processing with VLSI
-
ELG5374 (92.567) Computer-Communication Networks
-
ELG5378 (92.559) Image Processing Techniques and Image Communications
-
Theses, Projects and Topics
-
95.590 (CSI5140)
-
95.591 (CSI5901)
-
95.592 (CSI5900)
-
95.593 (CSI6900)
-
95.595 (CSI7999)
-
95.661 (CSI7160)
-
95.662 (CSI7170)
-
95.663 (CSI7161)
-
95.664 (CSI7162)
-
95.665 (CSI7163)
-
95.691 (CSI7901)
-
95.692 (CSI7900)
-
95.699 (CSI9999)
-
CSI9998 Examen général de doctorat/Ph.D. Comprehensive Examination
the-art research laboratories all integrated via a department and campus
area network.
Graduate Courses
Not all of the following courses are offered in a given year. For an
up-to-date statement of course offerings for 2000-2001, please consult
the Registration Instructions and Class Schedule booklet published
in the summer.
F,W,S indicates term of offering. Courses offered in the fall and winter
are followed by T. The number following the letter indicates the credit
weight of the course: 1 denotes 0.5 credit, 2 denotes 1.0 credit.
The complete list of courses available through the Ottawa-Carleton Institute
for Computer Science is given on page 139. The following courses are offered
by the School of Computer Science.
-
Computer Science 95.501F1 (CSI5113)
-
Foundations of Object-Oriented Programming Languages
-
Object-oriented programming, design, and implementation from first principles
to advanced concepts. Possible topics include: need-driven designing, metaleval
programming, visual programming, event-oriented programming, web-related
applications, subtyping/subclassing/isa relationships, futures and proxies,
distributed applications.
-
Prerequisite: Computer Science 95.307« or the equivalent.
-
Computer Science 95.503F1 (CSI5308)
-
Principles of Distributed Computing
-
Formal models; semantics of distributed computations; theoretical issues
in design of distributed algorithms; computational complexity; reducibility
and equivalence of distributed problems. Related topics: systolic systems
and computations, oligarchical systems and control mechanisms.
-
Prerequisite: Computer Science 95.401« or equivalent.
-
Computer Science 95.505F1 (CSI5390)
-
Learning Systems for Random Environments
-
A course on computerized adaptive learning for random environments and
its applications. Topics include a mathematical review, learning automata
which are deterministic/stochastic, with fixed/variable structures, of
continuous/discretized design, with ergodic/absorbing properties and of
estimator families.
-
Prerequisite: Mathematics 70.260 or 70.350, or Engineering 94.553 or the
equivalent.
|
|