You are now in the main content area

Computer Science (MSc, PhD)

Overview

This highly applied, practical and useful program concentrates on real-world problems to which students can apply their existing knowledge, discover new techniques and methods, and work on solutions with the guidance of highly qualified, engaged and caring faculty supervisors who work with students for their success.

Degrees awarded: MSc, PhD

Administered by: Faculty of Science

Curriculum

Course Code Degree Requirements: Master of Science  
 

Thesis Option

 
 

Master’s Thesis*

(Milestone)
 

Master’s Seminar*

(Milestone)

CP8101

Research Methods*

Pass/Fail
 

or

 
CP8337

Directed Studies: Research Methodologies*

Pass/Fail
 

3 Electives *

 
  *If a student has already taken a graduate-level Research Methods course as part of a previous degree, an additional elective may be substituted with the approval of the supervisor and GPD.  
 

Major Research Paper (MRP) Option

 
 

Major Research Paper (MRP)**

(Milestone)
 

Master’s Seminar**

(Milestone)
 

6 Electives **

6
 

Course Only Option

 
 

8 Electives ***

8

 

AI Specialization Option 

 

 

AI specialization Electives: CP8206, CP8210, CP8305, CP8311, CP8314, CP8318, CP8319, CP8321, CP8322, CP8323, CP8325, CP8326, CP8339

 
 

* For the AI option a minimum of 2 of the 3 electives must be from the AI electives and the thesis and seminar presentation must be on an AI topic.

 
 

** For the AI option a minimum of 4 of the 6 electives must be from the AI electives and the MRP and seminar presentation must be on an AI topic.

 
 

*** For the AI option a minimum of 6 of the 8 electives must be from the AI electives.

 
Course Code Degree requirements: Doctor of Philosophy Credits

 

Doctoral Candidacy Examination

(Milestone)

 

Doctoral Dissertation

(Milestone)

 

Doctoral Seminar

(Milestone)

CP8101

Research Methods*

Pass/Fail

 

or

1

CP8337

Directed Studies: Research Methodologies*

Pass/Fail

 

3 Electives

3

 

*If a student has already taken a graduate-level Research Methods course as part of a previous degree, an additional elective may be substituted with the approval of the supervisor and GPD. 

 

Course code Course name Credits

CP8201

Advanced Algorithms

1

CP8202

Advanced Software Engineering

1

CP8203

Advanced Database Systems

1

CP8204

Advanced Programming Languages

1

CP8205

Adv Human-Computer Interaction

1

CP8206

Soft Computing and Machine Intel

1

CP8207

Special Topics: Core Computer Sci

1

CP8210

Topics in Data Science

1

CP8215

Research Methods in Comp Sci

1

CP8301

Secure Computing

1

CP8302

Software Metrics

1

CP8305

Knowledge Discovery

1

CP8307

Introduction to Computer Vision

1

CP8308

Visualization

1

CP8309

Special Topics: Emerging Comp Sci

1

CP8310

Directed Studies in Computer Sci

1

CP8314

Advanced Artificial Intelligence

1

CP8317

Performance Evaluation

1

CP8318

Machine Learning

1

CP8319

Reinforcement Learning

1

CP8320

Program Analysis for Cyber Security

1

CP8321

Introduction to Deep Learning

1

CP8322

Deep Learning in Computer Vision

1

CP8323

Advanced Natural Language Processing

1

 

CP8324

Computational Geometry

1

 

CP8325

Digital Image Processing

1

 

CP8326

Heuristic Search

1

 

CP8327

Model-Driven Engineering

1

 

CP8328

Theory of Computation

1

 

CP8335

Special Topics: Master's

1

 

CP8338

Quantum Computing and Soft Eng

1

 

CP8339

Recommender Systems

1

 

CP9101

Method of Instruction

1

 
 

AI specialization Electives

CP8206, CP8210, CP8305, CP8311, CP8314, CP8318, CP8319, CP8321, CP8322, CP8323, CP8325, CP8326, CP8339

 

* For the AI option a minimum of 2 of the 3 electives must be from the AI electives and the thesis and seminar presentation must be on an AI topic.

 

** For the AI option a minimum of 4 of the 6 electives must be from the AI electives and the MRP and seminar presentation must be on an AI topic.

 

*** For the AI option a minimum of 6 of the 8 electives must be from the AI electives.

Doctoral Candidacy Examination

Each student is required to complete a Candidacy Examination. The examination is normally conducted during a candidate’s fourth term of residence, and must be held no later than 20 months from the date of initial registration. The examination consists of two parts: a written examination, the questions to be set by the student’s Supervisory Committee; and an oral defense of the written examination and of the dissertation proposal. This is a “Milestone”.

Doctoral Dissertation

The culmination of each student’s work within the Doctoral program is the Doctoral Dissertation or Thesis. The dissertation is the written record of the student’s original and significant research. The PhD student is required to conduct advanced research related to one (or more) of the following fields: Intelligence and Robotics, or Computer Communication Networks. Other areas may be considered if appropriate expertise exists among the faculty members associated with this program. The research topic is selected in consultation with the student's supervisor(s). The approval process for proposed work on a dissertation involves two steps: the student must present a written research proposal to a Dissertation Supervisory Committee to ensure that the proposal has merit and can be achieved and the student must pass a candidacy exam. The research itself is carried out under the direction of the student's supervisor(s) and monitored by the Supervisory Committee. When the research is complete, the results are submitted in written format in the form of a Thesis as specified by program guidelines. The thesis must receive the approval of the student's supervisor( s) and the members of the Dissertation Supervisory Committee as described by the appropriate policies of the Yeates School of Graduate Studies before the work can undergo examination. When the thesis is approved, the student’s supervisor will convene a public oral examination conducted according to the policies of the Yeates School of Graduate Studies. Through the thesis, and their Oral Defence of it, the student is expected to provide evidence of competence in carrying out original and independent research, a sound understanding of the material associated with it and a broad grasp of the discipline of Computer Science. Each student is required to pass the final Defence Examination of their dissertation. This is a “Milestone”.

Doctoral Seminar

Doctoral students are required to participate in departmental seminars designed to engage with current research in specialized fields and emerging areas within computer science. These seminars will feature presentations by graduate students, faculty members, visiting scholars, and guest speakers. Each student must attend a minimum of 15 publicly-announced seminars and actively engage in discussions. Additionally, students are required to deliver 2 oral presentations that showcase their research progress and findings, demonstrating advanced scholarly contribution. This is a “Milestone”.

Master’s Seminar

Master's students are required to participate in departmental seminars designed to engage with current research in specialize d fields and emerging areas within computer science. These seminars will feature presentations by graduate students, faculty members, visiting scholars, and guest speakers. Each student must attend a minimum of 10 publicly-announced seminars and actively engage in discussions. Additionally, students are required to deliver 1 oral presentation that showcases their research progress and findings, demonstrating advanced scholarly contribution. This is a “Milestone.”

Major Research Project (MRP)

The student is required to complete a research paper on a topic related to computer science. The research topic is selected in consultation with the student’s supervisor, after which the student must submit a written proposal of the research to be cond ucted. The research paper will be evaluated by the supervisor and a second reader -- normally also from the same program or a related graduate program. This is a “Milestone”.

Master’s Thesis

The thesis embodies the results of the student's research program and exposes the work to scholarly criticism. It must represent a single body of work, with integrated material, and should not be solely a collection of published articles. This is a “Milestone.”

CP8101 Research Methods

This course is designed to assist graduate students in developing the skills necessary to design and execute a research protocol aligned with their degree requirements. It complements the specific research programs devised by the student in collaboration with

their supervisors. The course covers several topics, such as: the nature of scientific inquiry, library research skills, formulation and testing of hypotheses, experimental design, literature reviews, publishing in peer-reviewed venues, and professional responsibilities in research. Pass/Fail

CP8201 Advanced Algorithms

This course covers advanced methods of algorithmic design and analysis with focus on efficiency and correctness of algorithms. The course  reviews  several  popular  algorithm  design  techniques  and  selected  well-known  algorithms. The final parts of the course include introduction to practical algorithms for computationally challenging problems, using heuristics, approximation algorithms and introduction to randomization algorithms. 1 Credit

CP8202 Advanced Software Engineering

Modern approaches to software development are studied including requirements analysis, system design techniques, formal description techniques, implementation, testing, debugging, metrics, human factors, quality assurance, cost estimation, maintenance, and tools. 1 Credit

CP8203 Advanced Database Systems

Object-Oriented and Object-Relational Database Systems; Distributed and Multi-database Systems; Advanced Database Applications: Web-Based Database Access, Data Warehouses. 1 Credit

CP8204 Advanced Programming Languages

A study of the principles, concepts, and mechanisms of computer programming languages - their syntax, semantics, and pragmatics; the processing and interpretation of computer programs; programming paradigms; and language design. Additional topics will include language design principles and models of language implementation. 1 Credit

CP8205 Advanced Human-Computer Interaction

Current trends in user interface technology; topics include alternative interaction devices, user interface tools, and interface modeling techniques. Usability testing and human factors. 1 Credit

CP8206 Soft Computing and Machine Intelligence

Introduction to basic concepts and techniques of soft computing including: neural, fuzzy, evolutionary computation and their applications. 1 Credit

CP8210 Topics in Data Science

This course presents concepts related to data science research activities including data management and analytics, data modeling, structured and unstructured data, regression models, social data analysis, web and data mining, information retrieval, text analysis and natural language processing. 1 Credit

CP8301 Secure Computing

The importance of security for computer systems: protection, access control, distributed access control, Unix security, applied cryptography, network security, firewalls, secure coding practices, safe languages, mobile code. Computer and network forensics techniques. Computer security techniques. Legal and Ethical issues. Topics may include cryptographic protocols, privacy, anonymity, and/or other topics as time permits. 1 Credit

CP8302 Software Metrics

The theory of measurement, experimental design, software metrics collection, statistics for analyzing measurement data, software size and software structure, resource measurement, prediction of software characteristics, planning software measurement, sof tware quality and reliability. 1 Credit

CP8305 Knowledge Discovery

Steps in the process of knowledge discovery: data preprocessing, data mining, post-processing and knowledge utilization. Preprocessing: data cleaning, integration, transformation and reduction. Data mining methods: association rules, classification and clustering. Post-processing: knowledge evaluation, interpretation, presentation and visualization. Knowledge discovery and data management. Possibly other selected topics in knowledge discovery. 1 Credit

CP8307 Introduction to Computer Vision

This course describes foundational concepts of computer vision. In particular, the course covers the image formation process, image representation, feature extraction, model fitting, motion analysis, 3D parameter estimation and applications. 1 Credit

CP8308 Visualization

Use of computer graphics to understand patterns, relationships and trends in scientific and information systems data. Topics include: historical overview, fundamental concepts, scientific visualization techniques for scalar and vector data, visualization systems, interaction with 2D/3D graphical interfaces, web-based visualization and collaborative visualization over the internet, software visualization, information visualization. 1 Credit

CP8310 Directed Studies: Master’s

This course is for Master’s students who wish to gain knowledge in a specific area for which no graduate level classes are offered. Students are required to present the work of one term (not less than 90 hours in the form of directed research, tutorials and individual study) in an organized format. Not available to Course option students. 1 Credit

CP8312 Directed Studies: Doctoral

This course explores theoretical, practical and experimental (if applicable) problems in great depth in the areas of intelligence and robotics with emphasis on the aspects of Intelligence and Robotics and their application related to the discipline of Computer Science. Doctoral students must present their findings in a formal report. 1 Credit

CP8314 Advanced Artificial Intelligence

The course will focus on the theory and implementation of dynamical systems from the perspective of artificial intelligence. The emphasis will be on the compromises involved in providing useful logical representations that allow reasoning about actions to remain tractable. The course will show how these research issues are relevant for many applications beyond the traditional area of artificial intelligence. 1 Credit

CP8317 Performance Evaluation

Probability Theory; Transforms of probability distributions; Branching processes; Discrete time Markov Chains; Continuous time Markov Chains; Birth-Death processes ; Intermediate queuing theory, M/G/1 queues ; Renewal theory; Gated and limited systems; Hidden Markov model. 1 Credit.

CP8318 Machine Learning

Machine learning is the study of algorithms that learn to perform a task from prior experience. Machine learning has a broad range of applicability, including computer vision, robotics, medical diagnosis, bioinformatics and natural language processing. This course will cover the underlying theory and practical applications of machine learning. 1 Credit.

CP8319 Reinforcement Learning

This course focuses on topics related to reinforcement learning. The course will cover making multiple-stage decisions under uncertainty, heuristic search in planning, Markov decision processes, dynamic programming, temporal-difference learning including Q-learning, Monte Carlo reinforcement learning methods, function approximation methods, and the integration of learning and planning. 1 Credit.

CP8320 Program Analysis for Cyber Security

This course will focus on Language-Based Security, an area of research that studies how to enforce application-level security using program analysis techniques. This includes techniques used to automate the detection\prevention of security vulnerabilities caused by coding malpractice or security-policy misconfigurations; the study of the design and implementation of secure programming languages; and techniques used to enforce correct usage of security Application Programming Interfaces. 1 Credit

CP8321 Introduction to Deep Learning

This course is an introduction to deep learning and its applications. The main topics discussed in the course include feedforward/recurrent neural networks, backpropagation learning algorithm, Convolutional Neural Networks (CNN), Long Short Te rm Memory (LSTM), and Autoencoders. 1 Credit

CP8322 Deep Learning in Computer Vision

Computer vision is broadly defined as the study of recovering useful properties of the world from one or more images. In recent years, deep learning, an expansive term covering trainable, hierarchical network architectures, has emerged as a central tool for addressing computer vision tasks. This course will cover a range of topics at the intersection of deep learning and computer vision, including object recognition, object detection, and video understanding. 1 Credit

CP8323 Advanced Natural Language Processing

This course introduces students to the topics of Advanced Natural Language Processing. Topics include: introduction to NLP, statistics review, information extraction, annotating data, lexical semantics, text clustering, text classification, sentiment analysis, question answering, deep learning models and model interpretability. 1 Credit

CP8324 Computational Geometry

Computational Geometry studies problems which can be described geometrically. Such problems arise from our environment as we deal with geometric objects and their interactions, such as in computer graphics, robotics, and manufacturing. In this course, students learn to design algorithms and data structures for geometric problems. These problems include but are not limited to the following topics: convex hull, Voronoi diagram, triangulation, visibility, and geometric data structures. 1 Credit

CP8325 Digital Image Processing

Digital image processing has been widely used in our daily lives, from entertainment, multimedia, to medicine. This course introduces the fundamentals and principles of digital image processing and its applications. Students will gain hands-on experience in using image processing techniques to solve practical problems. Topics include image acquisition, transformation, filtering, enhancement, and compression, as well as state-of-the-art developments in image processing. 1 Credit

CP8326 Heuristic Search

Heuristic search is a popular Artificial Intelligence method used in a variety of applications including robotics, combinatorial optimization, route pathfinding, and automated planning. In this course, we will investigate algorithms for solving search problems, and consider methods for automatically generating heuristic functions. Topics will include optimal and suboptimal search algorithms, abstraction and graph embedding-based heuristic generation methods, and Monte Carlo Tree Search. 1 Credit

CP8327 Model-Driven Engineering

This course is designed to introduce students to the field of model-driven engineering (MDE). MDE is a software and systems development methodology in which software models are treated as first-class citizens in the engineering process. Topics to be discussed include modelling languages, domain-specific modelling, model transformation, model management, modelling and simulation, and model analysis. Required background: Basic software engineering knowledge is expected. 1 Credit

CP8328 Theory of Computation

This course introduces students to the theory of computation. Topics include: regular expressions and languages, finite state automata, context-free languages, pushdown automata, Turing machines, computability, and NP-completeness. 1 Credit

CP8335 Special Topics: Master’s

This special topics course examines selected, advanced topics in areas related to the core and emerging areas of computer science that are not covered by existing courses. The topic(s) will vary depending on the need and the instructor. 1 Credit.

CP8336 Special Topics: Doctoral

This special topics course will present material that is not currently part of the regular Computer Science doctoral program but are of interest to faculty and students. 1 Credit

CP8337 Directed Studies: Research Methodologies

This course offers students the opportunity to engage in individualized, in-depth study of research methodologies in computer science under the supervision of a faculty member. The course is designed to develop advanced skills in designing, conducting, and evaluating research, emphasizing the critical analysis of existing work, research design principles, and the ethical dimensions of conducting research. Students will work closely with their supervisor to tailor the course content to their research interests and academic goals. Pass/Fail

CP8338 Quantum Computing and Soft Eng

This course introduces students to the rapidly evolving quantum computing and quantum software engineering fields. Students will gain an understanding of quantum computing fundamentals, algorithms, post-quantum cryptography, and quantum software development practices. 1 Credit

CP8339 Recommender Systems

Recommender systems are software systems that help users in the decision-making process. They serve as filtering tools to alleviate the information overload problem. In this course, students will learn the basic concepts of recommender systems, three types of recommender systems (content-based, collaborative filtering and hybrid), popular models (machine learning based, matrix factorization, deep learning based) and evaluation measurements. Special recommendation applications and advanced topics may be discussed, such as session-based recommender systems, fairness and bias. 1 Credit

CP9101 Method of Instruction

Students will learn to select appropriate teaching methods; establish goals and performance objectives and construct lesson plans. Students will be shown classroom management and presentation techniques. In addition, students will be introduced to the principles of learning and instruction. Student will learn to formulate questions and employ good questioning technique. Each student will be given opportunities to prepare and present short lessons. Each student will be required to prepare and present at least two five-minutes lessons based on computer science related topics. Student lessons will be evaluated by the student, class members and the instructor. 1 Credit