MS Core Requirements
Core Courses
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.
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 MS). CICS course offering plan can be found here.
Note: Not all core courses are currently available online and new online courses are being added each semester.
Theory Cores
The following courses can be used to complete the theory core requirement:
| COMPSCI 501 | Formal Language Theory | |
| COMPSCI 513/Math 513** | Logic in Computer Science | |
| COMPSCI 514 | Algorithms for Data Science | |
| COMPSCI 515 | Algorithmic Fairness and Strategic Behavior | |
| COMPSCI 575 | Combinatorics and Graph Theory | |
| COMPSCI 590AB | Quantum Cryptography and Communication | 590AB or 690BB, but not both |
| COMPSCI 590Q | Quantum Information Systems | 590Q or 648, but not both |
| COMPSCI 601 | Computation Theory | |
| COMPSCI 611 | Advanced Algorithms | |
| COMPSCI 613 | Logic | 613 or 513, but not both |
| COMPSCI 614 | Randomized Algorithms | |
| COMPSCI 617+ | Computational Geometry | |
| COMPSCI 648 | Quantum Information Systems | |
| COMPSCI 651 | Optimization for Computer Science | |
| COMPSCI 690AA | Approximation Algorithms | |
| COMPSCI 690BB | Quantum Cryptography | 690BB or 5909AB, but not both |
| COMPSCI 666 | Foundations Applied Cryptography | |
| COMPSCI 690AG | Algorithmic Game Theory | |
| COMPSCI 690J | Advanced Cryptography | |
| COMPSCI 690M | Machine Learning Theory | |
| COMPSCI 690T+ | Coding Theory and Applications |
**Math 513 is cross-listed with COMPSCI 575 and qualifies as a theory core.
+This course is no longer offered or has not been taught in over 3 years.
These courses may be used to complete one or two theory core requirements. Other than any co- or pre-requisites, there are no restrictions on which classes may be used to satisfy theory core requirements or the order in which they must be taken.
Systems Cores
The following classes may be used to complete systems core requirements:
| COMPSCI 503+ | Embedded Computing Systems | |
| COMPSCI 520 | Theory and Practice; Software Engineering | |
| COMPSCI 527+ | Introduction to Affective Computing | |
| COMPSCI 528 | Mobile and Ubiquitous Computing | |
| COMPSCI 529 | Software Engineering Project Management | |
| COMPSCI 532 | Systems for Data Science | |
| COMPSCI 535 | Computer Architecture | |
| COMPSCI 550 | Introduction to Simulation | |
| COMPSCI 560 | Introduction to Computer and Network Security | |
| COMPSCI 561 | Systems Defense and Test | |
| COMPSCI 564 | Cyber Effects | |
| COMPSCI 565 | Advanced Digital Forensics | |
| COMPSCI 577+ | Operating Systems | |
| COMPSCI 578 | Distributed Computing & Systems; Cloud Computing | |
| COMPSCI 590AE | Mobile and Wireless Networks | |
| COMPSCI 590AF | Reverse Engineering and Understanding Exploit Development | |
| COMPSCI 590B | Detecting Interference in Networks | 590B or 690B, but not both |
| COMPSCI 590QC | Quantum Communication | 590QC or 690QC, but not both |
| COMPSCI 590X | Decarbonization and Data Science | |
| COMPSCI 610 | Compiler Techniques | |
| COMPSCI 620 | Advanced Software Engineering: Synthesis and Development | COMPSCI 520 or 620, but not both |
| COMPSCI 621 | Advanced Software Engineering: Analysis and Evaluation | COMPSCI 521 or 621, but not both |
| COMPSCI 625 | Advanced Methods in HCI | |
| COMPSCI 630 | Systems | |
| COMPSCI 631 | Programming Languages | |
| COMPSCI 635 | Modern Computer Architecture | COMPSCI 535 or 635, but not both |
| COMPSCI 645 | Database Design and Implementation | |
| COMPSCI 653 | Advanced Computer Networking | |
| COMPSCI 654+ | Advance Wireless Networking & Sensing; IoT | |
| COMPSCI 655 | Performance Evaluation | |
| COMPSCI 660 | Advanced Information Assurance | |
| COMPSCI 661 | Secure Distributed Systems | |
| COMPSCI 677 | Distributed and Operating Systems | |
| COMPSCI 690AB | Systems for Deep Learning | |
| COMPSCI 690B | Detecting Interference | |
| COMPSCI 690G | Security for Large-Scale Systems | |
| COMPSCI 690QC | Quantum Communication | 690QC or 590QC, but not both |
| COMPSCI 690R | Computing for Human Movement Analysis |
*This course may only satisfy one area/core requirement.
These courses may be used to complete one or two systems core requirements. Other than any co- or pre-requisites, 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 Intelligent Cores
Any of the following may be used to satisfy the AI core requirement:
| COMPSCI 524 | Health Informatics and Data Science | |
| COMPSCI 546 | Applied Information Retrieval | |
| COMPSCI 571 | Data Visualization and Exploration | |
| COMPSCI 585+ | Introduction to Natural Language Processing | |
| COMPSCI 574 | Intelligent Visual Computing | COMPSCI 574 or 674, but not both |
| COMPSCI 576 | Game Programming | |
| COMPSCI 589 | Machine Learning | COMPSCI 589 or COMPSCI 689, but not both |
| COMPSCI 590ED | Educational Data Mining and Learner Analytics | |
| COMPSCI 590L | Making Predictions | |
| COMPSCI 590OP | Applied Numerical Optimization | |
| COMPSCI 603 | Robotics | |
| COMPSCI 646 | Information Retrieval | |
| COMPSCI 650 | Applied Information Theory | |
| COMPSCI 651* | Optimization for Computer Science | |
| COMPSCI 670 | Computer Vision | |
| COMPSCI 674 | Intelligent Visual Computing | |
| COMPSCI 682 | Neural Networks: Modern Intro | |
| COMPSCI 683 | Artificial Intelligence | |
| COMPSCI 685 | Advanced Natural Language Processing | |
| COMPSCI 687 | Reinforcement Learning | |
| COMPSCI 688 | Probabilistic Graphical Models | |
| COMPSCI 689 | Machine Learning | |
| COMPSCI 690AB*+ | Systems for Deep Learning | |
| COMPSCI 690L | Deep Generative Models | |
| COMPSCI 690S | AI Alignment | |
| COMPSCI 690U | Computational Biology and Bioinformatics | |
| COMPSCI 690V | Visual Analytics |
*This course may only satisfy one area/core requirement.
These courses may be used to complete one or two AI core requirements. Other than any co- or pre-requisites, there are no restrictions on which classes may be used to satisfy AI core requirements or the order in which they must be taken.
+This course is no longer offered or has not been taught in over 3 years.
Additional Graduate Courses Offered by the Manning College of Information and Computer Sciences
The following courses may be applied toward the MS degree as non-cores:
| COMPSCI 508 | Ethical Considerations in Computing |
| COMPSCI 563 | Internet Law and Policy |
| CICS 590P | Tech Policy & Innovation |
| COMPSCI 602, 590RM | Research Methods |
| COMPSCI 690F | Trustworthy and Responsible AI |
| COMPSCI 627 | Fixing Social Media |
| COMPSCI 698W | CS Research Writing Practicum |
The following courses may not be applied toward the MS or PhD degrees:
- Introduction to Python (CICS 580)
- Practicum CPT (CICS 598T)
- Understanding Technology for Public Policy (COMPSCI 690PT)
Passing Out of a Core Requirement
In some rare 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 department.
If you believe you should pass out of a core requirement, please download the Waiver of Core Requirements Form and contact the appropriate professor. The instructor will notify the Master's Program Director of his or her recommendation. If you are requesting a waiver of more than one core course, each professor must be aware of this and sign off on both waiver requests. The Master's Program Director will then determine whether or not to accept that recommendation.
Note that passing out of a core course addresses the core requirement only—it does not absolve you from taking the corresponding credit hours.