WPI Computer Science

CS 503 vs CS 5003


CS 503 and CS 50003 are similar courses: they each treat the foundations of computer science: mathematical models of machine computation, grammars, computability and complexity. How do they differ?

1) CS 503 assumes more computer science background than does CS 5003. Students in 503 will be expected to be comfortable with undergraduate-level algorithms and discrete mathematics. Most students in 503 will have had an undergraduate course in automata theory.

2) CS 503 assumes more mathematical maturity than does CS 5003. Both courses proceed using the language of mathematics --- definitions, theorems, proofs --- and the ability to read and write mathematics is essential to working with the material. Some students in CS 5003 will start the course needing some remediation in this area (but they'll get better at it as the course progresses). CS 503 students should already be comfortable with mathematical discourse.

3) The courses play different roles in the graduate curriculum:

CS 5003 satisfies the "theory bin" breadth requirement for the MS degree; while CS 503 satisfies the "theory bin" breadth requirement for the both the MS and the PhD degrees. Details about the MS and PhD breadth requirements can be found here:

MS Degree Breadth Requirements

PhD Degree Breadth Requirements

Fall 2009 details


In Fall of 2009,