To demonstrate your breadth of knowledge in computer science, you are required to satisfy a set of core requirements. The cores are drawn from three broad areas of Computer Science: theory, systems, and artificial intelligence.
Core requirements depend on whether you're working toward a Masters degree or toward the Portfolio. Check the requirements pages for the appropriate degree to see what is needed. In general, you need to satisfy one or more requirements in each of the three areas. Most cores are satisfied by taking an appropriate class--indicated in parentheses below--and getting a high enough grade (B for the Masters degree and B+ for admission to PhD candidacy).
The theory core includes two areas:
Either course may be used to complete one theory core. The other may be added to complete two theory cores. At this time there is no way to complete three cores in theory.
The following classes may be used to complete systems core requirements:
These courses may be used to complete one, two or (for the PhD) three systems core requirements. Other than any co- or prerequisites, there are no restrictions on which classes may be used to satisfy systems core requirements or the order in which they must be taken.
Artificial Intelligence cores
The AI core requirement requires that you take or have waived CMPSCI 683 (Artificial Intelligence). It is not possible to pass the AI core without satisfying this part of the core.
If you choose to take only one AI core toward your degree, it must be the 683-based core. If you choose to take more, one of them must be the 683-based core and the others can be any of the courses listed above. You do not need to take them in any particular order, unless course prerequisites require that you do.
Scheduling Core Course Toward the Portfolio
The faculty encourages PhD-oriented students to get involved in research as quickly as possible, and does not want coursework to delay you unnecessarily. For that reason, the faculty suggests that you take at most one core course per semester, and has arranged the portfolio requirements to reflect that recommendation.
At the time of your portfolio submission, you must have completed four core requirements, at least one in each area.
Passing out of a Core Requirement
In some circumstances it may be possible to pass or test out of a core requirement on the basis of equivalent coursework at another institution. It may also be possible to substitute a different advanced course for a core requirement. Such approval will be based on the content of that course as it compares to the content of the parallel course taught in this computer science.