This page answers common questions students have about the course, but does not describe the basics of the course syllabus. For those, see Course Info.


Can I enroll if I’m missing the CS 125 prereq?

Many introductory programming courses that cover the listed materials will suffice. In particular, ECE 220 is an adequate preparation, though you may have to ask extra questions when we discuss algorithm analysis. However, CS 101, 102, 103, or 105 are not adequate preparation for the programming you’ll be doing in this class (you should take CS 125 first).

Can I enroll if I’m missing the CS 173 prereq?

The discrete math requirement for the course is real. Most of the claims we make about algorithm performance will be rigorously justified using the proof techniques from CS173. If you have not take that course, or a similar one, but you are generally an aggressive learner with a strong math background, you should not have any trouble picking up these techniques. My best advice is to talk to former students and find out their experiences.

Should I enrolled if I struggled in CS 125?

If you received a B- or below in CS 125 you will almost certainly have a hard time being successful in CS 225.

I want to enroll but the course is full.

Monitor registration frequently, as several students drop within the first two weeks while it is still possible to add the course.

I don’t have an EWS account! Can you make me one?


I can’t find the online recorded lectures

A link to the recorded lectures is available on the Lectures page.

MPs and Labs

Can I attend a different lab section?

No—at least not for credit. Due to the growth of the class, we require that you attend the lab section you are registered for. There will be no exceptions to this policy, as up to four labs are extra credit.

If an exam in another class conflicts with your lab section, you can either attend a different lab section (without getting attendance credit; see below) or ask the other class for a conflict.

You can attend a different lab section if you don’t take away a seat/computer from someone registered for that section. The safest way to make sure that doesn’t happen is to bring your own machine. (You will not, however, get attendance credit.)

Can I work on the MPs / labs from home?

Yes! For remote connecting to EWS, see the Resources page. For setting up the CS 225 environment on a personal computer, see CS 225 on Your Own Machine.

I got a ZERO on the MP but my code works!

The test cases used for grading cover your code more thoroughly than the test cases we provide you with the MP. If you have code that doesn’t abide by C++’s conventions (or for other reasons), your code may compile with the provided code but not with the grading test cases.

We almost never accept regrade requests for mistakes on your part, however trivial they seem. However, if there is an error with our test cases themselves, we will fix those for no penalty.

Can I post code on Piazza if I have problems?

It is almost never okay to post your code on a public post. If it is code unrelated to the MP for clarification purposes, or maybe just a couple lines that does not give any information about your implementation then it should be fine. A better solution for more than ~5 lines of code is to submit your code to the SVN so course staff can see all of the necessary files and debug from that, then post a private question with your NetID and a description of your error/bug.


Is there a curve?

Individual MPs, labs, and Exams are not curved. The total scores for the course may be curved (before any extra credit is calculated). The grade cutoffs will never be any higher than posted, however they may be lowered. Score distributions for CS 225 remain fairly consistent over semesters, and these cutoffs are already set reasonably. They almost certainly will not be lowered significantly.

Something was graded incorrectly on my exam.

If you believe there was an error in a problem on your exam, just post your concerns privately on piazza. We’ll take a look, and let you know.