Go to the U of G Homepage.
 




Computing and Information Science

Faculty
MSc Program
Courses

Disclaimer


Chair
Wlodek Dobosiewicz (313 Reynolds, Ext. 52250)
(E-mail: chair@cis.uoguelph.ca)

Graduate co-ordinator
Yang Xiang, (1389 Thornborough, Ext. 52824)
(E-mail: yxiang@cis.uoguelph.ca)

Graduate secretary
Colleen O'Brien (312 Reynolds, Ext. 56402)
colleen@cis.uoguelph.ca

Graduate Faculty
Dilip K. Banerji
BTech Indian Inst. of Tech., MSc Ottawa, PhD Waterloo - Professor

David A. Calvert
B.A. Hnrs. Guelph, M.Sc. Guelph, PhD Waterloo - Assistant Professor

David K.Y. Chiu
BA Waterloo, BSc Guelph, MSc Queen's, PhD Waterloo - Professor

Wlodek Dobosiewicz
BSc, MA, MSc, PhD Warsaw - Chair & Professor

William Gardner
BSEE MIT, BEd Toronto, PhD Victoria - Assistant Professor

Gary Gréwal
BSc Brock, M.Sc. Guelph, Ph.D. Guelph - Assistant Professor

Stefan C. Kremer
B.Sc. Hnrs. Guelph, Ph.D. Alberta - Assistant Professor

Xining Li
BSc, MSc Nanjing, PhD Calgary - Professor

James G. Linders
BASc, MASc Toronto, PhD Imperial College, London - Professor

Jay C. Majithia
BSc London, MEng, PhD McMaster - Professor Emeritus

Pascal Matsakis
BSc, MSc, PhD - Paul Sabatier - Associate Professor

Blair Nonecke
BSc, MSc Guelph, PhD South Bank - Assistant Professor

Charlie F. Obimbo
MSc Kiev, PhD New Brunswick - Assistant Professor

Deborah A. Stacey
BSc Guelph, PhD Waterloo - Associate Professor

David A. Swayne
BSc Waterloo, MA York, PhD Waterloo - Professor

Fangju Wang
BE Changsha, MSc Peking, PhD Waterloo - Associate Professor

Thomas C. Wilson
BA Iowa, MSc Chicago, PhD Waterloo - Professor

Mark Wineberg
BSc Toronto, MSc, Phd Carleton - Assistant Professor

Michael A. Wirth
BSc New England (Aust.), MSc Manitoba, PhD RMIT Melbourne - Assistant Professor

Yang Xiang
BSs, MSc BUAA (Beijing), PhD UBC - Associate Professor


     The Department of Computing and Information Science offers a program of study leading to the MSc degree in applied computer science.


MSc Program

     The MSc program has a distinctive applied orientation, emphasizing research that can potentially contribute to industry and government. Interaction with other disciplines is encouraged. The program is based on three areas of technical specialization: (1) parallel and distributed computing, (2) interactive software environments, and (3) artificial intelligence. A software engineering initiative is underway and students will be considered in this area. Research in the department is conducted by groups centred in these areas of activity. Research in distributed systems includes distributed databases, VLSI design automation, computer architecture and networks, and parallel processing. Research in interactive software environments includes human-computer interaction, user-interface software and hypertext. Research in artificial intelligence includes uncertainty management, knowledge acquisition, expert systems, image processing, neural networks and pattern recognition. In addition, applied research is carried out in areas such as information management, including geographical-information systems, statistical databases, and office information systems.

Admission Requirements
     To be considered for admission, applicants must meet the minimum admission requirements of both the university and the department, including at least a 75% ('B') average during the previous four semesters of university study. Applicants must possess a four-year honours degree in computer science. However, a student with a minor in computer science and an honours degree in another applicable discipline may be granted provisional admission. Owing to the applied nature of the program, we encourage students with such backgrounds to apply. To assist in identifying a suitable thesis advisor, applicants are requested to submit descriptions of their research interests.
     Most available spaces will be filled in May for entry the following September. A limited amount of spaces are available in January with admission given in the previous October.

Degree Requirements
     Degree requirements include a master's thesis, participation in a research seminar and at least four graduate-level courses: two in the student's research area and others outside of that area. There is no qualifying exam or second-language requirement. Heavy emphasis is placed on the thesis, which usually requires at least two semesters. Students should plan on spending at least four full-time semesters in the program assuming adequate preparation for graduate work. Normally, students are expected to fulfill all the requirements in five semesters.
     Graduate courses are organized around the areas of specialization mentioned earlier. The courses chosen must include at least two of these areas. In exceptional cases, one graduate-course requirement may be met by an approved 0.5-credit graduate course from another department or by two approved 400-level 0.5-credit courses which have not already been taken for credit. The specific course requirements for each student will be determined in consultation with the thesis advisor and advisory committee, subject to the above constraints.

Courses

Course/(Credit Value) Term Course Description
CIS*6000
Distributed Systems (0.5)
   The evolution of high-performance distributed computer systems. Models for distributed processing. Taxonomy and performance evaluation of multiprocessor systems. Interconnection networks. Memory and I/O system for multiprocessor architectures. Performance of distributed systems. Architectural issues of distributed database systems.
CIS*6020
Knowledge Representation and Expert Systems (0.5)
   The major features of expert systems today: a discussion of logic and rule-based systems; forward and backward chaining; frames, scripts, semantic nets and the object-oriented approach; the evaluation of expert systems and knowledge acquisition. A sizeable project is required and applications in other areas are encouraged.
CIS*6030
Advanced Database Systems (0.5)
   Relational database systems, advanced features of database management, concurrency protocols, data integrity, transaction management, distributed databases, remote access, data warehousing, data mining, and deductive databases.
CIS*6040
Advanced Image Analysis (0.5)
   An insight into advanced topics in image processing and analysis. A study of methods for analyzing and interpreting information from two and three-dimensional images obtained from a variety of medical and biological imaging modalities.
CIS*6050
Advanced Neural Networks: Dynamical Recurrent Networks (0.5)
   Artificial neural networks, dynamical recurrent networks, dynamic input/output sequences, communications signal identification, syntactic pattern recognition.
CIS*6060
Bioinformatics (0.5)
   Data mining and bioinformatics, molecular biology databases, taxonomic groupings, sequences, feature extraction, Bayesian inference, cluster analysis, information theory, machine learning, feature selection.
CIS*6070
Discrete Optimization (0.5)
   This course will discuss problems where optimization is required and describes the most common techniques for discrete optimization such as the use of linear programming, constraint satisfaction methods, and genetic algorithms.
CIS*6080
Genetic Algorithms (0.5)
   This course introduces the student to basic genetic algorithms, which are based on the process of natural evolution. It is explored in terms of its mathematical foundation and applications to optimization in various domains.
CIS*6090
Hardware/Software Co-design of Embedded Systems (0.5)
   Specification and design of embedded systems, system-on-a-chip paradigm, specification languages, hardware/software co-design, performance estimation, co-simulation and validation, processes architectures and software synthesis, retargetable code generation and optimization.
CIS*6100
Parallel Processing Architectures (0.5)
   Parallelism in uniprocessor systems, parallel architectures, memory structures, pipelined architectures, performance issues, multiprocessor architectures.
CIS*6120
Uncertainty Reasoning in Knowledge Representation (0.5)
   Representation of uncertainty, Demster-Schafer theory, fuzzy logic, Bayesian belief networks, decision networks, dynamic networks, probabilistic models, utility theory.
CIS*6130
Object-Oriented Modeling, Design and Programming (0.5)
   Objects, modeling, program design, object-oriented methodology, UML, CORBA, database
CIS*6140
Software Engineering (0.5)
   An introduction to the field of software engineering, assuming no prior knowledge in this area. Course covers issues such as requirements analysis, specifications, software architectures, quality assurance, and software metrics.
CIS*6150
Complexity of Parallel Computation (0.5)
   Computing models, sequential model, complexity models, evolution of parallelism, parallel complexity, P-completeness, survey of P and NC, open problems.
CIS*6200
Design Automation in Digital Systems (0.5)
   Techniques and software tools for design of digital systems. Material covered includes high-level synthesis, design for testability, and FPGAs in design and prototyping.
CIS*6320
Image Processing Algorithms and Applications (0.5)
   Brightness transformation, image smoothing, image enhancement, thresholding, segmentation, morphology, texture analysis, shape analysis, applications in medicine and biology.
CIS*6420
Artificial Neural Networks (0.5)
   Neural networks, artificial intelligence, connectionist model, back propagation, resonance theory, sequence processing, software engineering concepts.
CIS*6450
Software Systems Development and Integration (0.5)
   Techniques and tools used in the development of large software systems. Methods for organizing and constructing modular systems, manipulating files, an introduction to interface design, and use of databases. Software tools for managing projects, database connectivity, configuration management, and system application programmer interfaces.
CIS*6490
The Analysis and Design of Computer Algorithms (0.5)
   The design and analysis of efficient computer algorithms: standard methodologies, asymptotic behaviour, optimality, lower bounds, implementation considerations, graph algorithms, matrix computations (e.g. Strassen's method), NP-completeness.
CIS*6650
Topics in Computer Science I (0.5)
   Selected, advanced topics in computer science that are not covered by existing courses. The topic(s) will vary depending on the need and the instructor.
CIS*6660
Topics in Computer Science II (0.5)
   Selected, advanced topics in computer science that are not covered by existing courses. The topic(s) will vary depending on the need and the instructor.
CIS*6900
Computer Science Seminar (0.0)
   A regular weekly seminar presenting research problems currently under investigation. Each student is expected to regularly attend for three semesters and to present one of the talks.

         



A Registrarial Services Web
        site             © 2000 University of Guelph, Office of the Registrar