This page answers common questions students have about the course, but does not describe the basics of the course syllabus. For those, see the Course Syllabus.
Many introductory programming courses that cover the listed materials will suffice, including CS 125, CS 126, and ECE 220. However, CS 101, 103, 105, or 107 are not adequate preparation for the programming you’ll be doing in this class (you should take CS 125 first).
No. 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 or MATH 213.
Yes. If you do not have credit to satisfy both the theory prereq (CS 173/MATH 213) and the programming prereq (CS 125/ECE 220), you must to satisfy both of these prereqs before enrolling in CS 225.
If you received a B- or below in CS 125 you will almost certainly have a hard time being successful in CS 225.
Monitor registration frequently, as several students drop within the first two weeks while it is still possible to add the course.
A link to the recorded lectures is available on the Lectures page.
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.)
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.
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.
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.
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.
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.