Last updated: August 21, 2024 @ 12:50PM

Computer Science

Master of Science in Computer Science

Dean
Peter Berg
Faculty of Mathematics and Science

Associate Dean
Cheryl McCormick
Faculty of Mathematics and Science

Core Faculty

Professors
Sheridan Houghten, Beatrice Ombuki-Berman, Ke Qiu, Brian Ross, Michael Winter

Associate Professor
Robson De Grande

Assistant Professors
Renata Dividino, Ali Emami, Naser Ezzati-Jivan, Yifeng Li, Rahnuma Islam Nishat

Professor Emeritus
Ivo Düntsch

Participating Graduate Faculty

Professors
Ping Liang (Biology), Shahryar Rahnamayan (Engineering), Thomas Wolf (Mathematics)

Adjunct Professors
Joseph Brown (Thompson Rivers University), Kyle Harrison (University of Newcastle), James Hughes (St. Francis Xavier University)

Graduate Program Director
Ke Qiu
kqiu@brocku.ca

Graduate Administrative Coordinator
Elena Genkin
905-688-5550, extension 3115
Mackenzie Chown D473
fmsgradoffice@brocku.ca
brocku.ca/mathematics-science/computer-science/programs/graduate/

Program Description
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, combinatorics, software engineering, bioinformatics, data science,
natural language processing, networks, and security. Please see the department web page for a listing of faculty and their specific research interests (brocku.ca/mathematics-science/computer-science/programs/graduate/).

The program offers two options: a thesis option (suitable for students planning doctoral studies or industry employment) and a project option (suitable for students planning industry employment).

Admission Requirements
Successful completion of four year Bachelor's degree, or equivalent, in Computer Science, with at least a minimum average of 75 (B). In some circumstances, exceptional applicants with four year Bachelor's degree in a related discipline (e.g. mathematics, computer engineering) who have met the minimum average of 75 (B), and have a demonstrated proficiency in fundamental computer science topics (see list below), may be considered. Agreement from a faculty advisor to supervise the student is also required for admission to the program.

Applicants are expected to have completed courses in the following areas: computer organization, operating systems, file structures and data management, principles of programming languages, data structures and algorithms, software analysis and design, formal languages and automata, calculus, linear algebra, statistics and/or probability, discrete mathematics, and additional four upper level (third or fourth year) half courses in other topics in computer science. Candidates lacking sufficient background in the area of the intended Master's degree may be required to complete additional preparatory courses in consultation with their supervisor.

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.

The Graduate Admissions Committee will review all applications and recommend admission for a limited number of candidates.

Part-time study is available.

Degree Requirements

The computer science MSc offers two options - a thesis option MSc and project option MSc.

For full-time students in the thesis option, the MSc is normally a six term or two year program. 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 the student's graduate program. Students normally take four half-credit courses in the first year. Courses are selected in consultation with their assigned supervisor.

Degree requirements for the thesis option must include COSC 5F90 (Thesis) and
·   four 5xxx or above level COSC half-credits; or
·   three such COSC half-credits and one COSC 4xxx or above level half credit with the approval of the supervisor and the GPD; or
·   three such COSC half-credits and one half 5xxx or above level non-COSC credit with the approval of the supervisor and the GPD.

At most one of the graduate level courses may be a directed reading course. All candidates are required to present seminars on their background research and thesis topics as part of the COSC 5F90 thesis course, attend all the seminars of fellow graduate students and departmental seminars.

For full-time students in the project option, the MSc is normally a four term or 16 month program. Every MSc candidate must take
·   six 5xxx or above level COSC half-credits, and a 5F99 Project.

The course requirements permit one COSC 4xxxx or above credit and one half 5xxx or above non-COSC credit with the approval of the supervisor and the GPD. All candidates must prepare and submit a COSC 5F99 project, which demonstrates proficiency in applying concepts in computer science in a practical application. The project is typically completed in the final two terms of study.

Cross-discipline courses that are suitable as an elective for the project option include (but are not limited to): BIOL 5P06; GEOG 5P25; MATH 5P20, 5P21, 5P35, 5P36, 5P92; and MBAB 5P14, 5P17. The availability of these courses will vary in different years. Students should consider these and other suitable courses in consultation with the supervisor.

Facilities
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

Note that not all courses are offered in every session. Refer to the applicable timetable for details

Students must ensure that prerequisites are met. Students may be deregistered, at the request of the instructor, from any course for which prerequisites and/or restrictions have not been met.
COSC 5F90
MSc Thesis
Preparation and defence of a thesis demonstrating the candidate's ability for independent and original research.
Note: Usually taken when the students have finished all the course requirements.

COSC 5F99
Directed Project
Practical application of techniques & concepts in computer science under the consultation of an assigned supervisor.
Note: Usually taken when the students have finished all the course requirements.

COSC 5P01
Coding Theory
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
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. Application of logic to various areas such as computability, programming languages, program specification and verification.

COSC 5P06
Principles of Mobile Cloud Computing
Fundamentals supporting Mobile Cloud Computing, including task offloading, connectivity of mobile networks, and remote storage. Study of the basics and recent research advancements on principles of mobile computing, distributed applications and services, Cloud computing and virtualization, management and use of resources offered by Cloud service providers, computation offloading and thin-client computing, and application scenarios and selected use cases.

COSC 5P07
Software Performance Engineering
Concepts, techniques, and metrics in software performance engineering before, during, and after software development. This covers performance practices throughout the software development life cycle, performance and scalability testing and principles of performance evaluation including instrumentation, profiling, measurement, and benchmarking.

COSC 5P30
Graph Data Mining
Investigation of recent methods and algorithms for exploring and analyzing large graph datasets. Topics in graph data mining including graph classification, node classification, clustering and community detection, graph summarization, graph similarity, link analysis, and anomaly detection in graphs.

COSC 5P31
Graph Drawing and Information Visualization
Different embeddings, models and representations of graphs and networks, including planar, radial and layered drawing. Algorithms and techniques for network visualization, planarity testing, optimization of graph features such as area or angular resolution. Crossing and planarization. Force-directed drawing algorithm; spring, energy-based placement. Three-dimensional drawing. Drawing social networks and huge graphs. Practical applications of network visualization in biology, cartography, data analytics.
Prerequisite(s): COSC 3P03 (minimum 60 percent) or permission of the instructor

COSC 5P50
Artificial Intelligence in Cybersecurity
Introduction of the application of artificial intelligence in the field of cybersecurity. Focus on AI tools and techniques to automate cybersecurity operations, predict, detect, and identify cyber-threats. Topics include AI in malware detection, anomaly detection, and cyberattack prediction, with emphasis on cybersecurity.

COSC 5P70
Responsible AI
Ethical, legal, and societal implications of artificial intelligence (AI). Key concepts and challenges in the responsible development and deployment of AI technologies with focus on fairness, transparency, accountability, and privacy. Critical assessment of AI systems and creation of responsible AI solutions.

COSC 5P71
Genetic Programming
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
Survey of approaches to control in single and multi-robot systems. Examination and study of different mobile robot control architectures, including deliberative, reactive and hybrid with focus on the issues of resolving the fundamental conflict between thinking and acting, i.e., high-level deliberation and real-time control. Other relevant topics including communication techniques in multirobot systems and safety characteristics of the studied control architectures.

COSC 5P74
Evolutionary Computation
Study of basic concepts of evolutionary algorithms (EAs) from a theoretical and application viewpoint. This includes genetic algorithms, evolutionary strategies, genetic programming, problem representation, genetic operations, overall control, theory of EAs and various examples of important applications. Includes related bio-inspired sub-areas such as swarm intelligence, and evolutionary robotics.

COSC 5P75
Directed Reading
Reading course designed for the individual student and subject to final approval by the department graduate committee. Usually offered by the student's thesis supervisor but may also be offered by other faculty members after consultation with the supervisor.
Restriction: open to COSC MSc students

COSC 5P77
Probabilistic Graphical Models and Neural Generative Models
Introduction to the theoretical foundations of generative models and their applications in prediction, knowledge discovery, and creative design. Foundations of probabilistic graphical models (PGMs), learning, and inference in traditional PGMs such as hidden Markov models, mixture models, and latent Dirichlet allocation. Undirected neural generative models (NGMs), including Markov random fields, and variants of Boltzmann machines. Directed NGMs, including Helmholtz machines and deep belief nets, variational autoencoders, and generative adversarial networks.

COSC 5P81
Advanced Machine Learning
Fundamental and advanced concepts in machine learning. Basic concepts: classification, regression, kernel techniques, feature selection, inference, sampling techniques, Bayesian networks, and energy-based models. Advanced topics: representation learning, neural networks for images and sequences, graph neural networks, deep generative models, transfer learning, attention mechanisms.

COSC 5P82
Computational Intelligence and Applications
Nature inspired algorithms and their practical applications in optimization, learning and design. Topics include evolutionary computation, neural computation, swarm intelligence and principles of self-organization in social agent systems.

COSC 5P83
Reinforcement Learning
(also offered as COSC 4P83)
Introduction to fundamental reinforcement learning concepts including multi-armed bandits, Markov decision processes, model-based and model-free methods (such as dynamic programming, Monte Carlo methods, and temporal-difference methods) for learning value and policy functions. Approximation solutions including deep reinforcement learning.

COSC 5P84
Natural Language Processing
Theoretical and methodological introduction to the computational modelling of natural language, including techniques and algorithms, formalisms, and applications. Fundamental topics underlying current Natural Language Processing technologies in detail, including but not limited to computational morphology, lexical and compositional semantics, syntactic parsing, language modelling, summarization, machine translation, and coreference resolution. Various machine learning techniques showing promising results on many Natural Language Processing benchmarks.

COSC 5V50-5V59
Selected Topics in Cybersecurity
Various advanced topics in cyber security offered by faculty members.

COSC 5V50
Introduction to Cyber Security
Introduction to cybersecurity with following topics: policies, procedures, authentication, authorization, accounting, encryption, cyber threats, risk management, firewalls, and intrusion detection systems.

COSC 5V90-5V99
Selected Topics in Computer Science
Various advanced topics in computer science offered by faculty members.