Online Masters in Computer Science Program Summary
You must meet the general admission requirements and have the following:
- An honours undergraduate degree in computer science or a closely related field such as: computer engineering, information systems, mathematics, applied computing, or another area of STEM
- Undergraduate courses in data structure and computer algorithms are required; Courses in object-oriented programming and software engineering are an asset
- A final year average of at least B+, with a cumulative average of at least B+ in all computer science courses
Applicants must submit the following paperwork:
- All transcripts from all universities or colleges attended
- A statement of intent
- A resume
- Two reference letters
Interested applicants who do not meet the academic requirements above but who have significant work experience or previous education in computer programming are encouraged to speak with an enrolment advisor to discuss their situation, including possible upgrading opportunities, such as a Qualifying year (Q year) with Laurier.
A Q year consists of two courses designed to upgrade candidate knowledge and skills to meet the admission requirements for the MCS program. Candidates who pass both Q year courses with a B average or higher will be recommended by the department for acceptance into the MCS program upon reapplication.
Get your digital program guide for more course information
The MCS degree is currently not eligible for Ontario Student Assistance Program (OSAP), but all students can be considered for Laurier’s scholarships, awards and bursaries, which could provide financial support towards the cost of this degree.
CP 631: Parallel Programming (0.5 credit)
Online Master's in Computer Science Program Curriculum
Below is a sample list of courses you will be required to complete during the online Master of Computer Science program:
Parallel computers, or supercomputers or high performance clusters are ubiquitous today in science and engineering. Parallel programming requires inventing new algorithms and programming techniques. This course covers the fundamental paradigms of parallel programming, with an emphasis on problem solving and actual applications. The parallel programming concepts and algorithms are illustrated via implementations in OpenMP and MPI (Message Passing Interface), as well as serial farming.
CP640: Machine Learning (0.5 Credit)
Next application deadline:
Next start date:
CP682B: Topics In Applied Cryptography Algorithms And Issues In Applied Cryptography (0.5 Credit)
Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. This course introduces students to machine learning, data mining, and statistical pattern recognition. Topics include supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks) and unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). Students learn a variety of learning algorithms and determine which are most likely to be successful.
CP 669: iPhone Application Programming (0.5 credit)
Topics include block ciphers, stream ciphers, public-key cryptography, AES, elliptic curve cryptosystems, block chain, digital signatures, zero knowledge proofs. Also, current issues in information security such as privacy enhancing technologies and post quantum cryptography.
CP 670: Android Application Programming (0.5 credit)
Apple iPhones are one of the most popular smartphones on the market today, with thousands of applications downloaded every day. This course provides students with the knowledge to develop applications for iPhones, iPads, and iPods, using the Cocoa Touch framework on iOS and introducing students to the programming language Swift. More specifically, students learn how to develop interfaces for mobile devices and the challenges faced when developing applications that use different input modalities. Other topics include web services and memory management for mobile devices.
As the worldwide smartphone market continues to grow, so does the demand for mobile applications. This course provides students with the skills for creating and deploying applications for mobile devices using Android, the most widely used operating system. With an emphasis on the Model-View-Controller paradigm this course provides students with the foundational knowledge that underlies many popular programming languages. The course cumulates with the development of an original Android application. Knowledge of Java is required.