Computing Science Program
About Computing Science
Computing Science is the study of both the theoretical and practical aspects of computation and its applications. It involves the systematic study of the algorithms that underlie the acquisition, representation, processing, storage, communication of—and access to—information of all kinds. It also involves the study of computing platforms and programming languages like C++ and Java.
In this program, you’ll explore creative ways to solve problems as you discover how computers and computer systems can be applied to everything from medicine to security to entertainment. You’ll also develop other marketable skills, such as project management, and software design and development.
College or university?
Computer Science programs at colleges typically teach computer languages in demand at the time of instruction. We go beyond that: our computing science students learn these skills, plus the foundational principles that tie programs and computing systems together. This approach gives our students the ability to easily learn new languages as they develop in the future; it also affords them the opportunity to work within a much broader range of programs and software after graduation.
The Saint Mary’s approach
Our nationally-accredited degree program offers students the choice of pursuing a major or honours degree on its own, or as a double major or honours degree with mathematics or another field of science.
With an average of 60 students per class in first-year courses and ten to 20 in upper-year courses, our students form easy connections with their professors and each other. This supportive atmosphere encourages students to diversify their education through study abroad, co-op, or undergraduate research opportunities. Our students also regularly participate in regional hackathons. These experiences are highly valued by grad schools and future employers.
Sample courses offered:
- Computer Programming and Problem Solving: You will apply basic programming and problem-solving skills to typical problems one might encounter when working in any scientific field. Problems include creation, analysis and manipulation of textual and/or binary data sets of various kinds. Students write programs in a suitable language to perform these activities, but may also be introduced to various software packages that can be used for similar purposes.
- Artificial Intelligence: You will consider philosophical, mathematical, experimental, and implementation aspects of such topics as problem solving, searching, game playing, genetic algorithms, learning, neutral networks, natural language processing, vision, knowledge representation, logic, expert systems, reasoning under uncertainty, fuzzy sets, planning, and robotics.
- Mobile App Development: The emergence of new technologies makes it possible to develop apps that can be run on multiple devices (tablets, smartphones, and smart TVs). The objective of this course is to identify important features that should be part of an app and then introduce the necessary technologies for their implementation.
- Software Engineering: Students obtain experience in the development of large-scale software systems. Issues of software documentation, reliability, and maintenance are discussed. Several strategies for specification, design, implementation, verification, and validation are considered. The course includes a major project that will expose students to the stages of the software lifecycle.
Future career opportunities:
- Systems analyst
- Computer programmer
- Computer game developer
- IT consultant
- Website developer
- Software engineer or developer
What our students are saying
“My co-op placement enabled me to connect with some of the best within my field of studies and took me to the doorstep of my dream career. I am proud to say that because of the Saint Mary’s co-op program, I am now a software developer at IBM Canada Inc.”
- Ali Mehedi BSc'10
Mathematics and Computing Science