FAQ¶
I heard I can only take CMSC 22000 if I have recently finished CMSC 14200, and that I won’t be able to take it if more that a year passes since I took CMSC 14200. Is that so?
That was true in the previous incarnation of CMSC 22000, where students could only register for CMSC 22000 within one year of taking CMSC 15200 or CMSC 16200. This requirement no longer exists, and you can take CMSC 22000 in any year. That said, the class is still designed for students who recently completed CMSC 14200, and may not be as useful to students who are farther along in the CS major.
What is the difference between CMSC 22000 Introduction to Software Development and CMSC 22001 Software Construction?
CMSC 22000 covers foundational topics in software development, with an emphasis on software design, data modelling, and software testing. It is meant to be taken by 1st and 2nd year students, typically no later than one year after they’ve taken CMSC 14200 (as noted above, this is not a strict requirement, it is just a suggestion)
CMSC 22001 covers a number of topics that are relevant to large systems development, including requirements engineering, system modelling, OO design patterns, debugging, and maintenance. It is intended for 3rd and 4th year students who have already taken several CS classes.
Please note that CMSC 22000 is not a prerequisite to taking CMSC 22001.
Why does CMSC 22000 have only CMSC 14200 as a prerequisite, and not CMSC 15200 or CMSC 16200?
CMSC 22000 was redesigned in Autumn 2023 to better align it with the new CS 140s intro sequence. All the coursework is now done in Python, and we will also be assuming that students have covered a number of software engineering concepts that are now covered in CMSC 14200 (and which were previously covered in the old version of CMSC 22000, but not in the 150s/160s sequence).
Can I take CMSC 22000 if I took CMSC 15200 or CMSC 16200?
After students who took CMSC 14200 have had a chance to register for the class, we may have spots available for students who took the CS 150s/160s sequence. Please reach out to Prof. Sotomayor no earlier than the week before classes start to see if any spots are available.
Also, please bear in mind that students who took CMSC 15200 or CMSC 16200 will have to do a substantial amount of self-study to cover the software development material that is currently being covered in CMSC 14200. You must also already be fluent in Python coming into the class.