How To Survive COMP-4540
Much of the advice given here is the same as the advice given in the COMP-2310 article, so I'd recommend reading that one in addition to this one.
Introduction
You may have heard a thing or two about this course, with good reason. It is probably going to be the most difficult CS course you take during your time at UWindsor (with the exception of potentially COMP-2310). However, just because this course is difficult does not mean it's impossible to pass, or even get a good mark in. The first and probably most important piece of advice is to not stress yourself out about this course. If you believe you won't do well, chances are you won't do well. Keeping a positive attitude throughout the semester will make your experience much more enjoyable.
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-4540 is an exception to this rule. All of the lecture content is contained within this book. Moreover, you may be expected in assignments or on examinations to use or refer to an algorithm described in the courseware. Without the courseware, you'll be out of luck.
COMP-2310 Courseware
If you don't have the COMP-2310 courseware you should purchase it as well. In it you'll find important information on the different proof methods in this class, as well as definitions and theorems related to graph theory and set theory. Specifically, the graph theory section is very important.
Don't Leave Questions Blank
Whether it's on an assignment or an exam, if you know any part in solving the question, you should write something down. More times than not if what you write is at all useful in solving the question you might get some marks. Even if you don't get any marks though, showing the professor that you have some understanding of the course content and are actively trying to learn will make you look better when it's time for your grade to be curved.
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.
Make Use of Supplementary Materials
Unlike in COMP-2310, you can actually use different sources to supplement what you learn in the lectures and in the courseware. Probably the best supplementary material you can make use of is CLRS, the most famous textbook on algorithms. It goes a bit more in detail than the courseware and gives additional examples. It also gives sample questions, which the courseware lacks. You should be able to find a copy of CLRS easily online. Leetcode is also surprisingly helpful in this course. While this course may be focused on theory, the algorithm design skills you gain from doing Leetcode problems does help quite a bit. Some questions you encounter in this course may be very similar to Leetcode problems. Other useful resources include Abdul Bari's YouTube videos on algorithms (many students found his videos helpful) and MIT's Open Courseware (contains full lecture videos, notes, quizzes, assignments, etc.)
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 up to a 30% curve in your final grade.
The difficulty of the assessments may make you think the professor is trying to fail you, but in reality they do the best they can to curve you up to a pass if you show some level of understanding of the material.
Conclusion
COMP-4540 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.