For their second and third years, students choose between three double majors. The Mathematics and Computer Science double major provides a scientific and practical approach to computation and its applications. This track offers students the opportunity to study the theory, experimentation and engineering that form the basis of the design and use of today’s computers.
The first year of the Bachelor program offers an introduction to Computer Science. Students acquire a solid foundation in the culture and practice of modern programming, and the fundamental analytical and programming skills to solve everyday problems in sciences more efficiently and effectively. They will also be prepared to continue learning other programming languages and paradigms, and the theoretical foundations of computer science itself. In addition, the Computational Mathematics course provides students with practical knowledge of basic mathematical algorithms and computer programming.
During the second year of the Bachelor program, students study the mathematical and theoretical foundations of computing:
- Object-oriented Programming: Students are familiarized with the C++ programming language and the object-based view of software design.
- Design and Analysis of Algorithms: Students develop a deeper knowledge of the fundamental algorithms, an understanding of how they work, and an appreciation of how to implement them efficiently.
- Logic and Proofs: Introduction to logic, a science that deals with the principles of validity of demonstration. Its goal is to familiarize students with formal methods for representing arguments and reasoning about them.
- Machine Learning: describes some of the methods and algorithms used in contemporary machine learning, with a variety of scientific applications.
- Computer Architecture: This course investigates the design and organization of computers at their lowest level (computer hardware, operating systems, etc.).
- Introduction to Networks: This course introduces students to the architecture and skeleton required for implementing a protocol.
As part of their curriculum, students following this double major have the opportunity, if they wish, to study a minor in Biology or Chemistry.
The Biology option offers the opportunity to add a strong corpus of knowledge in modern biology, paving the way to careers in bioengineering or biotechnology. During the two years of major, students will follow courses on Molecular Biology, Cellular Biology and its integration at the organism level, Genomics. The Biology option is built around experimentation. Half of classes consist in practical work, performed over weeks. This allows students to build their knowledge, acquire a sound scientific reasoning, and get familiar with the main techniques of modern biology.
The Chemistry option allows students to develop the tools to analyze a chemical transformation. This interactive course explores these topics through lectures, tutorials and labs sessions.