Which Math Courses Should I Take in First Year?

A Guide for Computer Science Students at Carleton University


This page was last updated on February 9, 2025.

What is COMP 1805? Is it math or programming?

COMP 1805 involves no programming, though at times reading pseudocode may be involved. It is very explicitly a math course, though it’s probably not the math you are used to doing in high school. Whereas high school math courses teach you techniques for doing different sorts of calculations and algebraic manipulations, there are close to no calculations in COMP 1805. Instead, the course is about learning the language used by computer scientists and mathematicians to describe problems more formally (which in turn, makes it easier to decide whether or not a problem has been “solved”). Topics covered in COMP 1805 include “foundations of math and reasoning” such as propositional logic, basic set theory, functions and relations on sets, and proof techniques, as well as topics intended for computer scientists, such as an introduction to graphs and networks, Big O notation, and asymptotic analysis of algorithms.

What is the difference between COMP 1805 and MATH 1800? Should I take both?

While COMP 1805 and MATH 1800 share an objective of introducing students to logic, mathematical reasoning, proof-writing techniques, and tools for problem solving, the perspectives and end goals of the two courses are very different. COMP 1805 is intended for students specializing in computer science, and covers topics such as graph theory, asymptotic analysis (big O, big Theta, etc.) and correctness of algorithms. These topics are considered foundational to computer science, but are traditionally not required in mathematics programs. MATH 1800 is intended for students specializing in mathematics, and covers number theory, counting, and more “math-oriented” topics in place of graphs and algorithms. Both courses cover sets, logic, functions, relations, and proof techniques. If you are a student in computer science, you should be taking COMP 1805. If you are a student in mathematics, switching to computer science, you may be required to take COMP 1805 - please contact the academic advisors (scs.ug.advisor@cunet.carleton.ca) for further details.

I’m planning on doing a math minor, which CS courses would count towards it?1

Required computer science courses that would count towards a math minor include:

Your 2000+ level math requirement would also count toward your math minor, for a total of 2.5 of 4.0 credits. There are also several math courses, cross-listed as computer science, which would count for both your minor and your computer science electives. These are:

These courses are offered by the math department and are almost always taught by math professors. The most popular and accessible of these courses is COMP 3805. Since COMP 4803 and COMP 4805 are really theoretical computer science courses, they may be of interest to students who are considering studying the mathematical foundations of computer science.

Which math courses should I take in first year?2

tl;dr: The standard first year math sequence for first year computer science consists of MATH 1104 (Linear Algebra for Engineering or Science) and MATH 1007 (Elementary Calculus I). However, there are other courses that may be counted in place of MATH 1104 and/or MATH 1007, depending on your goals. Students intending to minor in physics typically take MATH 1004 in place of MATH 1007, since MATH 1004 is a pre/corequisite to many physics courses. Students intending on taking math electives at the 3000 or 4000 level should consider taking MATH 1152 in place of MATH 1104 and/or MATH 1052 in place of MATH 1007.


Like many programs in the Faculty of Science, students in Computer Science are required to take at least one linear algebra course and one calculus course at the 1000 level in order to graduate. The official required math courses are MATH 1104 (Linear Algebra for Engineering or Science) and MATH 1007 (Elementary Calculus I), and these are taken by the vast majority of Computer Science students at Carleton. However, there are other courses that can count in place of MATH 1104 and/or MATH 1007, depending on what your goals are.

“General” Math

MATH 1007 (Elementary Calculus I) and MATH 1107 (Linear Algebra I) are the default courses for students in programs requiring a first year math course. These are standard courses that cover a variety of techniques for calculating the answers to posed questions. These courses do not actually assume much prior knowledge of linear algebra or calculus, if any. Students in Computer Science usually take MATH 1007, but should not enroll in MATH 1107.

“Engineering” Math

MATH 1004 (Calculus for Engineering or Physics) and MATH 1104 (Linear Algebra for Engineering or Science) are mainly intended to be taken by students in their first year of engineering, though there are other programs (most notably, Physics) that may require their students to take either one or both of these courses. They are faster-paced and cover more content than the “general” courses. They typically focus on how to compute answers to posed questions and may touch on applications to engineering. Students in Computer Science usually take MATH 1104, and may enroll in MATH 1004 in place of MATH 1007.

“Honours Math”

MATH 1052 (Calculus and Introductory Analysis I) and MATH 1152 (Introductory Algebra I) are intended to be taken by students specializing in math. While students in these courses still learn techniques for how to compute solutions to different categories of questions, the focus in the honours courses is on understanding the theory and the “why” behind how things work. Everything is built from the ground up, and there is a major focus on constructing mathematical proofs of various statements. Lectures in these courses are typically very different from what one might see in an engineering or math course, due to the definition-theorem-proof paradigm. It may be worth looking into taking these courses if you are interested in the theoretical aspects of computer science. However, these courses are time-intensive, challenging, and may require COMP 1805 to be taken concurrently.