# WPI Computer Science: CS 5003 vs CS 503

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?

- 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.
- 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. CS 503 students should already be comfortable with mathematical discourse, including proof by induction.
- The courses play different roles in the graduate curriculum:
- CS 5003 satisfies the "theory bin" breadth requirement for the MS degree
- 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: