2006-2007 Graduate Calendar

Computer Science  
Master of Science in Computer Science Go to top of document
Faculty Dean Ian Brindle Faculty of Mathematics and Science Associate Faculty Dean Greg Finn Faculty of Mathematics and Science  
Graduate Faculty Go to top of document
Professors Ivo Düntsch (Computer Science), Frank Fueten (Earth Sciences), Brian Ross (Computer Science), Thomas Wolf (Mathematics) Associate Professors Jerzy Barchanski (Computer Science), Sheridan Houghten (Computer Science), David Hughes (Computer Science), Tom Jenkyns (Mathematics), David McCarthy (Computer Science), Beatrice Ombuki (Computer Science), Ke Qiu (Computer Science), Jon Radue (Computer Science), Michael Winter (Computer Science), Vladimir Wojcik (Computer Science) Assistant Professor Omar Kihel (Mathematics) Adjunct Professors Günther Gediga (Institut für Evaluation & Marktanalysen Jeggen, Germany and Psychologisches Institut IV Universität Münster, Münster, Germany) Department Chair David Hughes Graduate Program Director Ke Qiu kqiu@brocku.ca Administrative Assistant Donna Phelps 905-688-5550, extension 3513 Mackenzie Chown J314 donna.phelps@brocku.ca http://www.cosc.brocku.ca/MSc/  
Program Description Go to top of document
The Department of Computer Science offers a program leading to the Master of Science (MSc) degree. Graduate research topics may be conducted in the broad areas of computational logic and algebra, data mining, evolutionary computation, artificial intelligence, algorithms, parallelism, and combinatorics. Please see the department web page for a listing of faculty and their specific research interests (http://www.cosc.brocku.ca/MSc/).  
Admission Requirements Go to top of document
Successful completion of an Honours Bachelor's degree, or equivalent, in Computer Science, with a minimum of high B (75) average. In some circumstances, applicants with an Honours Bachelor's degree in a related discipline (e.g. mathematics, computer engineering) who have met the minimum high B (75) average, and have a demonstrated proficiency in fundamental computer science topics (see list below), may be considered. Qualifying courses may be required. Such applicants may consider submitting a result from the Graduate Record Examination (GRE) subject test in computer science to strengthen their application. Agreement from a faculty advisor to supervise the student is also required for admission to the program. The Graduate Admissions Committee will review all applications and recommend admission for a limited number of suitable candidates. Those applicants holding a three or four year Bachelor's degree and who meet academic requirements of an overall B average may be asked to complete a qualifying term/year to upgrade their application. Completion of a qualifying term/year does not guarantee acceptance into the program. Part-time study is available. The following list of background knowledge in computer science and mathematics is expected of all applicants:
- Computer Organization
- Operating Systems
- File Structures and Data Management
- Principles of Programming Languages
- Data Structures
- Software Analysis and Design
- Formal Languages and Automata
- Calculus
- Linear Algebra
- Statistics and/or Probability
- Discrete Mathematics
- at least 4 upper-level half-courses in topics in computer science
Candidates lacking sufficient background in the area of the intended Masters degree may be required to complete additional preparatory courses in consultation with their supervisor, before commencing with their regular graduate courses.
Degree Requirements Go to top of document
The Masters program is a thesis based MSc that consists of one year of full-time course work, followed by preparation of a thesis. Every MSc candidate must prepare and defend a thesis, which demonstrates a capacity for independent work of high scientific calibre. A supervisory graduate committee will guide the student in all aspects of her or his graduate program. Students normally take four half-credit courses in the first year. Courses are selected in consultation with their assigned supervisor. Candidates with an Honours degree in computer science or who have completed prescribed qualifying courses, require a minimum of one year of residency and satisfactory completion of the program, which must include the Master's thesis COSC 5F90, and four 5(alpha)00 or above level half credits, or three such half credits and one COSC 4(alpha)00 or above level half credit with the approval of the graduate committee. At most one of the graduate level courses can be a reading course. All candidates are required to present seminars on their background research and thesis topics as part of the COSC 5F90 course, and attend all the seminars of fellow graduate students and departmental seminars.  
Program Facilities Go to top of document
A campus-wide fiber optic network links all of the university's academic computing facilities. The department's computers form an integral part of this resource. All faculty and graduate students are provided with an account on the departmental server. Most computers on campus can be accessed from microcomputers in any of the laboratories. Brock is also a full member of the SHARCnet consortium with access to all its high performance clusters of powerful workstations. In addition to three servers, the department also maintains several PC based labs and UNIX workstations for teaching and research.  
Course Descriptions Go to top of document
Note: Not all courses are offered in every session. Students must have their course selections approved by the Graduate Program Director each term. Refer to the Timetable for scheduling information: http://www.brocku.ca/registrar/guides/grad/timetable/terms.php COSC 5F90 MSc Thesis The preparation and defence of a thesis demonstrating the candidate's ability for independent and original research. COSC 5P01 Coding Theory The main concepts, problems and applications related to error-correcting codes. Different classes of codes and their properties. Emphasis on algorithms relating to codes, examination of algorithms for encoding and decoding, together with algorithms that may be used in computer searches for specific classes of codes. COSC 5P02 Logic in Computer Science A thorough introduction to mathematical logic, covering the following topics: propositional and first-order logic; soundness, completeness, and compactness of first-order logic; first-order theories; undecidability and Gödel's incompleteness theorem; and an introduction to other logics such as intuitionistic and modal logics. Furthermore, the course stresses the application of logic to various areas of computer science such as computability, programming languages, program specification and verification. COSC 5P03 Universal Algebra for Computer Science The study of the concepts and constructs of Universal Algebra, such as products, subalgebras, homomorphic images and congruences, term algebras, free algebras, its connections with Logic and Model Theory, decidability issues, lattices and relation algebras, and applications in Computer Science such as Type Theory, Specification, Complexity Theory, Uncertainty Management and others. COSC 5P04 Parallel Algorithms Introduction to parallel processing, various parallel computational models including both shared-memory and distributed-memory models, speed-up, cost, design and analysis of parallel algorithms and data structures for a variety of problems in searching, sorting, graph theory, computational geometry, strings, and numerical computation; brief introduction to parallel complexity. COSC 5P71 Genetic Programming The synthesis of computer programs using evolutionary computation. The study of different representations, including tree, linear, grammatical. Theoretical analyses, including the effects of operators, representations, fitness landscapes. Practical applications in problem solving, decision making, classification, computer vision, design. COSC 5P72 Robot Control Architectures A seminar-style survey of approaches to control in single and multi-robot systems. Examination and study of original seminal papers and the different state-of-the-art approaches to mobile robot control, including deliberative, reactive and hybrid systems with focus on the issues of resolving the fundamental conflict between thinking and acting, i.e., high-level deliberation and real-time control. Discussion of scaling up robot control to multi-robot systems and swarms of robots and in the context of scaling up to distributed systems. Several other relevant topics including communication techniques in multirobot systems and safety characteristics of the studied control architectures. COSC 5P73 Computer Vision and Visual Computer Learning: Introduction to computer vision and pattern classification. The problems of "WHAT" and "WHERE". The issue of knowledge representation and performance. Knowledge consolidation models. The concept of recursive (i.e. evolutionary) computer learning. Visual learning. Guided learning from infallible and fallible experts. Autonomous learning and experimentation. Analysis of HPC architectures conducive to visual computer learning. COSC 5P74 Evolutionary Computation and Learning Introduction to the main concepts and practical techniques in natural computation. Focus on evolutionary computation, swarm intelligence and collective behavior, self-organizing systems and evolving neural networks. Exploration of advanced topics such as coevolution, search space analysis and dynamic environments. Exposure to a wide range of practical applications including optimization, logistics, finance, scheduling, pattern classification and image analysis. COSC 5V90-5V99 Selected Topics in Computer Science A reading course constructed in conjunction with a faculty supervisor. This special research course will be designed for individual students by the supervisor, and given final approval by the department graduate committee.  
Last updated: August 31, 2006 @ 09:28AM