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