Computer Science
¶¡ÏãÔ°AV Requirements
To qualify for admission to the Professional Master of Science in Computer Science, a student must satisfy the university admission requirements for a master's program as stated in Section 1.3.3 of the Graduate ¶¡ÏãÔ°AV section of the ¶¡ÏãÔ°AV calendar, and the student must hold a bachelor's degree, or equivalent in computer science or a related field, with a cumulative grade point average (GPA) of 3.00 (on a scale of 0.00 - 4.33) or the equivalent. Alternatively, a minimum GPA of 3.33/4.33 on the last 60 credits of undergraduate courses will also meet the GPA requirements for admission to the program.
The School's Graduate ¶¡ÏãÔ°AVs Committee may offer, at its discretion, M.Sc. admission to exceptional students without an undergraduate degree in computer science or a related field. Minimally we require demonstrated competence in computer science at the third year level equivalent to CMPT 300 (Operating Systems 1), CMPT 307 (Data Structures and Algorithms) and CMPT 354 (Database Systems).
Students who do not have the proper background in computer science may take the three courses listed above in the Summer semester before the Fall cohort begins and then join the program.
Program Requirements
Students will complete a minimum of 30 units of graduate work. These units are divided into three sections: a minimum of 15 units of discipline specific graduate course work; 12 units of specialized lab work involving advanced industry relevant programming; 3 to 6 units of integrated learning via co-op.
Course Work for Big Data Specialization (at least 15 units)
Machine Learning is the study of computer algorithms that improve automatically through experience. Provides students who conduct research in machine learning, or use it in their research, with a grounding in both the theoretical justification for, and practical application of, machine learning algorithms. Covers techniques in supervised and unsupervised learning, the graphical model formalism, and algorithms for combining models. Students who have taken CMPT 882 (Machine Learning) in 2007 or earlier may not take CMPT 726 for further credit.
One of
The objective of this course is to expose students to basic techniques in algorithm design and analysis. Topics will include greedy algorithms, dynamic programming, advanced data structures, network flows, randomized algorithms. Students with credit for CMPT 706 may not take this course for further credit.
Concepts and problem-solving techniques that are used in the design and analysis of efficient algorithms. Special consideration and adaptations for big data applications will be emphasized. Students with credit for CMPT 705 may not take this course for further credit.
At least two of
The student will learn basic concepts and techniques of data mining. Unlike data management required in traditional database applications, data analysis aims to extract useful patterns, trends and knowledge from raw data for decision support. Such information are implicit in the data and must be mined to be useful.
From health care to social media the world generates a tremendous amount of data every day, often too much to be processed on a single computer or even some-times a single data centre. In this graduate seminar we will learn about technologies and systems behind Big Data. In particular, we will discuss what challenges exist in processing and storing massive amounts of data. We will explore how these challenges are being solved in real-world systems as well as the limitations inherent in these designs. The evolution of these technologies will be explored by reading both current and historically significant research papers. Prerequisite: Operating Systems (CMPT 300) and Data Base Systems (CMPT 354), or equivalents. Students with credit for CMPT 886 when offered as a Special Topics course in Big Data may not take this course for further credit.
Advanced topics in the field of scientific and information visualization are presented. Topics may include: an introduction to visualization (importance, basic approaches and existing tools), abstract visualization concepts, human perception, visualization methodology, 2D and 3D display and interaction and their use in medical, scientific, and business applications. Prerequisite: CMPT 316, 461 or equivalent (by permission of instructor). Students with credit for CMPT 878 or 775 may not take this course for further credit.
In this course, theoretical and applied issues related to the development of natural language processing systems and specific applications are examined. Investigations into parsing issues, different computational linguistic formalisms, natural language syntax, semantics, and discourse related phenomena will be considered and an actual natural language processor will be developed.
Provides a cognitive and computational framework for understanding and designing graphical and visual representations. Investigates several psychological and computational models of diagram processing, and explores diverse interactive graphical systems.
An advanced treatment of modern methods of multivariate statistics and non-parametric regression. Topics may include: (1) dimension reduction techniques such as principal component analysis, multidimensional scaling and related extensions; (2) classification and clustering methods; (3) modern regression techniques such as generalized additive models, Gaussian process regression and splines. Prerequisite: STAT 830 and STAT 853 or permission of instructor.
One of
A study of the social theory of information technologies, examining issues affecting computer-mediated communication.
Examination of recent literature and problems in bioinformatics. Within the CIHR graduate bioinformatics training program, this course will be offered alternatively as the problem-based learning course and the advanced graduate seminar in bioinformatics (both concurrent with MBB 829). Prerequisite: Permission of the instructor.
This course aims to give students experience to emerging important areas of computing science. Prerequisite: Instructor discretion.
Examines current research topics in computer graphics, human computer interaction (including audio), computer vision and visualization.
Other courses with permission of the School.
Note that STAT 652 - Statistical Learning (3) can be used in place of STAT 852 with permission of the School.
* Recommended
Lab Work for Big Data Specialization (12 units)
Students will take the following two lab courses worth 6 units each. Only students enrolled in the Professional Master of Science in Computer Science (Big Data) will be permitted to enroll in these courses:
This course is one of two lab courses that are part of the Professional Master’s Program in Big Data in the School of Computing Science. This lab course aims to provide students with the hands-on experience needed for a successful career in Big Data in the information technology industry. Many of the assignments will be completed on massive publically available data sets giving them appropriate experience with cloud computing and the algorithms and software tools needed to master programming for Big Data. Over 13 weeks of lab work and 12 hours per week of lab time, the students will obtain a solid background in programming for Big Data.
This course is one of two lab courses that are part of the Professional Masters Program in Big Data in the School of Computing Science. This lab course aims to provide students with the hands-on experience needed for a successful career in Big Data in the information technology industry. Many of the assignments will be completed on massive publically available data sets giving them appropriate experience with cloud computing and the algorithms and software tools needed to master programming for Big Data. Over 13 weeks of lab work and 12 hours per week of lab time, and building on the previous lab course CMPT 731, the students will obtain a solid background in programming for Big Data. Prerequisite: CMPT 732: Programming for Big Data 1.
Co-op (3 or 6 units)
A co-op placement is an integral part of this program. Students will register for one or two co-op terms. With assistance from the co-op coordinator and co-op student advisor for this program, students will be expected to find a suitable industry partner for the co-op placement. The student may instead choose to conduct research in Applied Computer Science at one of the various Computing Science research labs or elsewhere inside the University as a paid research assistant to satisfy the co-op requirement. In extenuating circumstances, a student may appeal to the program director to take an elective course from the list of electives for this program instead of a co-op. Students are required to enroll in at least one of the required courses in the term following the co-op term(s).
Academic Requirements within the Graduate General Regulations
All graduate students must satisfy the academic requirements that are specified in the Graduate General Regulations, as well as the specific requirements for the program in which they are enrolled.