Approved Courses

M.S. Core

CS5010/5011 Program Design Paradigm
CS5800 Algorithms

System Core

CS5500 Managing Software Development
CS5600 Computer Systems

Ph.D. Core

CS7400 Intensive Principles of Programming Languages
CS7600 Intensive Computer Systems
CS7800 Advanced Algorithms
CS7805 Theory of Computation


Artificial Intelligence

CS5100 Foundations of Artificial Intelligence
CS5335 Robotic Science and Systems
CS6140 Machine Learning
CS6110 Knowledge-based Systems
CS6120 Natural Language Processing
CS7180 Special Topics in Artificial Intelligence
CS7170 Seminar in Artificial Intelligence

Computer-Human Interaction

CS5340 Computer Human Interaction
CS5350 Applied Geometric Rep. & Computation
CS6350 Empirical Research Methods

Database Management

CS5200 Introduction to Database Systems
CS6200 Information Retrieval
CS6220 Data Mining Techniques
CS6240 Parallel Data Processing in Map Reduce
CS7280 Special Topics in Database Management
CS7270 Seminar in Database Systems

Game Design

CS5150 Game Artificial Intelligence
CS5310 Computer Graphics
CS5340 Computer Human Interaction
CS5850 Building Game Engines


CS5310 Computer Graphics
CS5320 Digital Image Processing
CS5330 Pattern Recognition and Computer Vision
CS5520 Mobile App Development
CS6310 Computational Imaging
CS7380 Special Topics in Graphics/Image Processing
CS7370 Seminar in Graphics/Image Processing

Information Security

CS5770 Software Vulnerabilities and Security
CS6750 Cryptography and Communication Security
CS6740 Network Security
CS6760 Privacy, Security and Usability
CS6540 Foundations of Formal Methods and Software Analysis
CS7580 Special Topics in Software Engineering – Software Security


CS5700 Fundamentals of Computer Networking
CS5750 Social Computing
CS6710 Wireless Networks
CS6750 Cryptography and Communication Security
CS6740 Network Security
CS6760 Privacy, Security, and Usability
CS7780 Special Topics in Networks
CS7770 Seminar in Computer Networks
CS7775 Seminar in Computer Security

Programming Languages

CS5400 Principles of Programming Languages
CS6510 Advanced Software Development
CS6410 Compilers
CS6412 Semantics of Programming Languages
CS6515 Software Development
CS7480 Special Topics in Programming Languages
CS7470 Seminar in Programming Languages
CS7570 Seminar in Software Development

Software Engineering

CS5610 Web Development
CS6520 Methods of Software Development
CS6530 Analysis of Software Artifacts
CS6540 Foundations of Formal Methods and Software Analysis
CS6510 Advanced Software Development
CS7580 Special Topics in Software Engineering
CS7575 Seminar in Software Engineering


CS5620 Computer Architecture
CS5650 Research in High Performance Computing
CS6610 Parallel Computing
CS6740 Network Security
CS7680 Special Topics in Computer Systems
CS7670 Seminar in Computer Systems


CS6800 Applications of Information Theory in Computer Science
CS6810 Distributed Algorithms
CS7805 Theory of Computation
CS6750 Cryptography and Computer Security
CS6610 Parallel Computing
CS7880 Special Topics in Theoretical Computer Science
CS7870 Seminar in Theoretical Computer Science

Reading and Project Courses

CS8982 MS Readings and Research in Computer Science
CS8674 Master’s Project in Computer Science
CS6964 Co-Op
CS7990 Master’s Thesis in Computer Science
CS8982 PhD Readings and Research in Computer Science
CS9990 Ph.D. Dissertation in Computer Science
CS9996 Ph.D. Dissertation Continuation


Any course that appears in a concentration above may count as an elective. Other courses offered at the graduate level at Northeastern University may be taken as electives provided written permission is given by the student’s faculty advisor and approval is obtained from the Graduate Committee. Elective authorization petitions are available in the College Administrative Office at 202 WVH.