University of
Windsor - Graduate Calendar, 1998 - 2000 
COLLEGE OF GRADUATE STUDIES AND RESEARCH 

Structure of the College 
Programs Offered  
Application Procedures 
College Regulations 
Doctor of Philosophy 
Master's 
Research Institutes 

PROGRAMS OF STUDY 

Economics 
Education 

Engineering - General  Regulations 
Civil and Environmental  Engineering  
Electrical Engineering 
Engineering Materials 
Geological Engineering 
Industrial and Manufacturing  Systems Engineering  
Mechanical Engineering  

English 
Geography 
Geology 
History 
Kinesiology 

Mathematics & Statistics 
Nursing  
Philosophy 
Physics 
Political Science 
Psychology 
Sociology 
Visual Arts 

OTHER GRADUATE FACULTY  

POSTGRADUATE AWARDS AND  FINANCIAL AID 

CALENDAR OF THE ACADEMIC YEAR  

GENERAL INFORMATION 

FEE REGULATIONS AND  SCHEDULE 

GENERAL INDEX 
 

5.3.1 COURSE DESCRIPTIONS

Not all of the courses listed below will necessarily be offered in any one year. A component of certain courses will be offered in conjunction with an advanced undergraduate course; in such cases the undergraduate course work will comprise one half of the graduate course.

All courses are restricted to students enrolled in the Master's II Computer Science program who have all undergraduate qualifying courses and who have approval from the instructor and Computer Science program graduate committee.  

Note: Certain courses listed below require more than one term to complete. Unless such courses are officially graded as "In Progress" (IP), regulations for incomplete grades will apply (see 1.4.3).

To remove any suggestion that the word "engineering" in the context of courses in Computer Science may be taken to cover the meaning of "engineering" as used in the context of courses in Professional Engineering, it is hereby acknowledged that Software Engineering is a collection of principles, models, methods, and techniques for the development, maintenance, evolution and reuse of software that meets functional, performance and quality requirements in an economic and competitive manner. 

60-510. Background Reading
The purpose of this course is to prepare students for conducting the specific research on which their major paper or thesis will be based. Students are required to complete a thorough literature search on the general area in which they intend to conduct research and to undertake extensive supervised reading. Students must submit a comprehensive survey of relevant research, together with an annotated bibliography of important papers, theses, books, and conference proceedings. The survey should include a "citation lattice" indicating clearly the major papers in the area. The bibliography should include names and current addresses of scientists working in the student's chosen area and also a list giving details of relevant forthcoming conferences and workshops relevant to the student's chosen research area. Students may not register in 60-510 until they have completed all undergraduate qualifying courses required. This is the first graduate course in which students must enrol.

60-511. Advanced Software Engineering
Development and maintenance of software systems that satisfy their specifications. Topics include integrating informal and formal software design methodologies, software  reuse, and software reliability.

60-512. Software Engineering for Distributed Systems
This course introduces to the students both formal and informal techniques used in software specification, verificaton and testing. The concentration is put on  the advanced methods and techniques in dealing with large-scale distributed concurrent systems. The aim of the course is to provide graduate students the opportunity of obtaining strong background and skills in developing complex software systems for their future work in industry.   

60-513. Topics in Software Engineering
Some advanced selected topics in software engineering will be discussed in this course. Topics include  software quality engineering, formal methods in software verification, and reverse engineering of software. 

60-520. Seminars and Computing Tools
Candidates are required to attend Computer Science seminars throughout their M.Sc. studies and, during each academic year, to present one seminar on a topic approved by the program chair. Students are also required to investigate, through reading and experimentation, eight "computing tools" including, for example, parser generators, database management packages, simulators, typesetters, synthesizer generators, VLSI design packages, and state-of-the-art programming languages and environments. Each candidate will be required to submit a report comprising summary descriptions and evidence of successful non-trivial use of the eight tools investigated, together with critical reviews of four particular tools. The selection of tools to be investigated will be made by the student with the approval of the program coordinator within the first two weeks of the term. (This course has the same weight as the other courses, but is extended over a full academic year.)

60-535. Distributed Query Processing
This course will cover topics such as algorithms and techniques for query optimization in distributed databases; methods for evaluating algorithms and experimental procedures. Each student will be required to survey a topic in the area and present a report. Students will also be required to implement algorithms and comparatively evaluate techniques.  

60-537. Database Management Systems
Current developments in selected aspects of database management. Topics covered may include data models, database languages, database logics, database machines, and transaction management.

60-538. Information Retrieval Systems
Fundamental principles and advanced topics in the design of information retrieval systems. Theoretical as well as practical aspects will be discussed.

60-539. Emerging Non-traditional Database Systems
Course focuses on the study of one or more advanced, new and non-traditional database system(s) like Data Warehousing and Mining, Video Database Systems, Mobile Database Systems, and Distributed  object-oriented Database Systems. Topics discussed include system architecture, components, features, implementation, applications and research issues. Both theoretical and practical contributions to further improve the system under study remain part of the course objective.  

60-540. Foundations of Programming Languages
Current developments in the theory and practice of programming language design and implementation. Various languages will be considered and may include imperative, applicative, logic, constraint, object-oriented, and equational languages.

60-550. Visualization and Rendering Techniques
Current developments in computer animation and rendering techniques. Introduction to visualization methods, algorithms, design and current system models. Integrated roles of modelling, simulation and visualization.

60-552. Computer Graphics
Current developments in computer graphics. Topics covered will include hardware, software, interfaces, graphics standards, data structures, rendering algorithms, and visualization.

60-554. Advanced Algorithms
Methodology for developing efficient algorithms. Advanced data structures. Intractable computational problems and approximation algorithms.

60-555. Parallel Computation
Introduction to fundamental issues in parallel computation. Models of parallel computation such as vector machine, shared memory model, systolic array. Data parallel abstraction. Parallel algorithms for numeric and non-numeric problems. 

60-560. Computer Architecture
Current developments in computer architecture. Topics will include parallel processing architectures and application/language specific architectures.

60-567. Advanced Computer Networks
Topics will include present day high-speed broadband networks, optical networks, wireless communications, etc.

60-572. Topics in Artificial Intelligence
A programming-oriented introduction to selected topics in artificial intelligence. Topics to be covered will include: AI programming techniques, pattern matching systems, knowledge representation schemes, AI software engineering tools, and developments in software/hardware integration.

60-588. Advanced Programming  Languages
Current developments in the design, application, and implementation of pure lazy functional programming languages.

60-589. Knowledge Systems
Current developments in the theoretical and practical aspects of knowledge systems. In particular, the course will be concerned with the integration of database and AI theories and technologies.

60-590. Directed Special Studies
With approval of the program coordinator, a student may undertake to write an original paper on a specialized topic which would enhance his or her program of study. The course will involve directed supervised reading and informal discussion with the graduate supervisor. The work undertaken in fulfilling the requirements for this course will not be counted directly for credit in the evaluation of either 60-796 (Major Paper) or 60-797 (M.Sc. Thesis).

60-592. Selected Topics
Selected advanced topics in computer science.

60-797. M.Sc. Thesis
Students may not register in 60-797 until they have completed 60-510.

 

Menu Bar


©1997 University of Windsor 
Although care has been taken in preparing the information in this site the University of Windsor cannot guarantee its accuracy.