Skip to main content

How To Survive COMP-2310

Chances are you've probably heard a lot about COMP-2310 from your peers (and if not, you're in for a fun time). COMP-2310, Theoretical Foundations of Computer Science, is typically one of the most difficult courses that undergraduate CS students take during their degree. It is a comprehensive, rigorous course which focuses heavily on mathematical proofs. A higher level of rigour is expected in this class when compared to COMP-1000. Assignments and tests often have an average well below 50%. Simply put, if you don't take this course seriously, you can and will fail.

How to Succeed in This Course

The good news is that if you take this course seriously and put in the work, passing (and even performing well) is completely attainable. Here are some ways to better your chances of doing well in this course:

Purchase (and Read) the Courseware

Normally with CS classes the textbook is optional (and not helpful). COMP-2310 is an exception to this rule, however. All of the lecture content, practice questions, and assignment questions are contained within this book. Moreover, in this class you're expected to use a very specific form and nomenclature in proofs. This form and nomenclature is unique to this course, thus any terminology or rules you've learned in other courses will no longer be useful or valid. For example, Modus Tollens:

(P => Q), ~Q
================
~P

is referred to in COMP-2310 as "I4". Without the textbook, there'd be no way of knowing that this difference exists. (And, as you may expect, using the name "Modus Tollens" rather than "I4" WILL result in you getting a 0 on that question).

Go to the Labs

During the labs, you'll have the chance to go over actual practice questions together as a group. This will be incredibly helpful as this will likely be your first time seeing how to solve questions like these.

In addition to the educational benefit you'll get from attending the labs, you're also more likely to gain favour from the professor. While the labs may not be worth any concrete marks, the professor does take attendance, and not showing up will end up affecting your final mark. This is because there's usually a very large curve in this class for your final mark. Unlike other classes though, the curve is not always applied the same to all students. Students who show that they're making their best effort, and always attend and participate in labs, are likely to get a higher curve, and thus a better mark.

Don't "Pass" in Labs

During the labs, everyone is called on to solve one step in a problem. You're given the option to skip if you don't know the next step ("passing"). However, even if you don't know what the next step is, you should always give a step anyways. Even if it doesn't bring you closer to the conclusion, it'll show that you both understand the basics of what's going on, and that you're making an effort. Similar to above, showing that you're making an effort will likely help when you get your curve at the end of the semester.

Don't Leave Questions Blank

Not to sound like a broken record, but the same ideas as above apply for this. Even if you don't know how to solve a question, it's much better to write some steps down (even if they don't converge to a solution). Not only does it show that you're putting in effort and have some understanding of the content, but depending on the question you may even get part marks.

Start The Assignments Once You Receive Them

Don't underestimate the difficulty and length of the assignments. Many of the questions may take you a full day to solve, so you'll need all the time you can get. Leaving things until the last minute will inevitably lead to you not being able to finish them.

Don't Cheat

Obviously you shouldn't cheat in any class. However, if there were any class that would be the worst for you to cheat in, this would certainly be a contender. It's especially easy for markers to notice when students collaborate or cheat on assignments and exams. When you are caught (not if) you're likely to receive a 0 on the assessment. If you continue to cheat, your chances of passing the course are slim to none.

Don't Stress About Graph Theory

Graph theory is the last concept covered in this course, and is often somewhat rushed. You're likely to have one assignment pertaining to it, and only one or two questions on the final exam relating to it. As such, it doesn't make up much of your final grade. Since graph theory is very different from the rest of the material covered in this course, it might take more time and effort to study than the rest of the material. Therefore, if you're a bit behind in the material by the end of the course and you're confident about graph theory, simply gloss over the basics of it and focus your attention on the earlier material.

A Note About COMP-4540

While it is true you can pass and even do relatively well in COMP-2310 without stressing about graph theory, you will be expected to know the definitions and core concepts of graph theory taught in this course when you take COMP-4540. As such, if you don't get around to studying graph theory seriously while taking this course, you should definitely make sure you review the material before taking COMP-4540.

Ride the Curve

You may be discouraged as you go throughout this course, receiving marks that are generally lower than you're used to. This is to be expected in this course though. Fortunately, due to the especially-low averages, there is usually a fairly steep curve to your final mark. Depending on what your mark is pre-curve, and the level of effort you put into the class, you could receive upwards of a 25% curve (or 0% if you either have too high of a mark or you did not put any effort in). For example, if you consistently performed poorly on assessments, and ended up with a 25% pre-curve, but you attended all lab sessions and attempted all assessments, it's probable that you will get curved up to a 50%. However, if you performed very well on the first Midterm and stopped trying in the course, ending up with that same 25% final mark pre-curve, you're much less likely to be curved up.

Conclusion

COMP-2310 is a difficult course that requires special attention and effort. Without taking this course seriously, it's very easy to fail or do poorly in it. However, with the right preparation and some hard work, passing and even performing well is certainly attainable.

Disclaimer

Much of the material covered in this article is based off of the individual experiences of several students who have taken this course in the past. While students across several years have had similar experiences with this course, the material covered in this article does not represent any official stance from the university. Moreover, depending on which professor is teaching this course, your mileage may vary. As such, you should take this material with a grain of salt, and your experience may not be exactly the same as what was represented here. It's recommended that in addition to reading this guide, you should also speak with students who have already taken this course with your professor for the most accurate information.