MSCS PROGRAM DETAILS
The MSCS curriculum was updated in 2021, offering more autonomy for incoming students to design an academic path that supports their professional interests and goals while gaining fundamental CS knowledge broadly applicable to any tech career.
In addition to the core, the MSCS curriculum offers three breadth areas — modeled after breadth areas in our PhD program — aimed to encourage students to gain skills in a broad set of areas.
With more choices within each area, students have the ability to pursue their passion while fulfilling program requirements.
Features of the revised curriculum include:
- improved availability of core courses,
- ample course offerings within each of the breadth areas, and
- more flexibility in course selection
The MSCS curriculum was updated in 2021, offering more autonomy for incoming students to design an academic path that supports their professional interests and goals while gaining fundamental CS knowledge broadly applicable to any tech career.
In addition to the core, the MSCS curriculum offers three breadth areas — modeled after breadth areas in our PhD program — aimed to encourage students to gain skills in a broad set of areas.
With more choices within each area, students have the ability to pursue their passion while fulfilling program requirements.
Features of the revised curriculum include:
- improved availability of core courses,
- ample course offerings within each of the breadth areas, and
- more flexibility in course selection
The MSCS curriculum was updated in 2021, offering more autonomy for incoming students to design an academic path that supports their professional interests and goals while gaining fundamental CS knowledge broadly applicable to any tech career.
In addition to the core, the MSCS curriculum offers three breadth areas — modeled after breadth areas in our PhD program — aimed to encourage students to gain skills in a broad set of areas.
With more choices within each area, students have the ability to pursue their passion while fulfilling program requirements.
Features of the revised curriculum include:
- improved availability of core courses,
- ample course offerings within each of the breadth areas, and
- more flexibility in course selection
The MSCS curriculum was updated in 2021, offering more autonomy for incoming students to design an academic path that supports their professional interests and goals while gaining fundamental CS knowledge broadly applicable to any tech career.
In addition to the core, the MSCS curriculum offers three breadth areas — modeled after breadth areas in our PhD program — aimed to encourage students to gain skills in a broad set of areas.
With more choices within each area, students have the ability to pursue their passion while fulfilling program requirements.
Features of the revised curriculum include:
- improved availability of core courses,
- ample course offerings within each of the breadth areas, and
- more flexibility in course selection
32 total semester hours (8 courses) and a minimum 3.00 GPA are required.
Programming Design Paradigm
CS 5010 introduces students to modern program design paradigms. In this course, students begin by learning the notion of a design recipe. Both a task-oriented and a data-oriented approach to the organization of programs are explored. This course will ground students in practices that are common in industry by enabling them to practice pair programming and public code review techniques.
Algorithms
CS 5800 presents students with the mathematical techniques used for the design and analysis of computer algorithms. By focusing on algorithmic design paradigms and techniques for analyzing the complexity of algorithms, students will build a strong foundation in logical thinking and problem solving.
32 total semester hours (8 courses) and a minimum 3.00 GPA are required.
Programming Design Paradigm
CS 5010 introduces students to modern program design paradigms. In this course, students begin by learning the notion of a design recipe. Both a task-oriented and a data-oriented approach to the organization of programs are explored. This course will ground students in practices that are common in industry by enabling them to practice pair programming and public code review techniques.
Algorithms
CS 5800 presents students with the mathematical techniques used for the design and analysis of computer algorithms. By focusing on algorithmic design paradigms and techniques for analyzing the complexity of algorithms, students will build a strong foundation in logical thinking and problem solving.
32 total semester hours (8 courses) and a minimum 3.00 GPA are required.
Programming Design Paradigm
CS 5010 introduces students to modern program design paradigms. In this course, students begin by learning the notion of a design recipe. Both a task-oriented and a data-oriented approach to the organization of programs are explored. This course will ground students in practices that are common in industry by enabling them to practice pair programming and public code review techniques.
Algorithms
CS 5800 presents students with the mathematical techniques used for the design and analysis of computer algorithms. By focusing on algorithmic design paradigms and techniques for analyzing the complexity of algorithms, students will build a strong foundation in logical thinking and problem solving.
32 total semester hours (8 courses) and a minimum 3.00 GPA are required.
Programming Design Paradigm
CS 5010 introduces students to modern program design paradigms. In this course, students begin by learning the notion of a design recipe. Both a task-oriented and a data-oriented approach to the organization of programs are explored. This course will ground students in practices that are common in industry by enabling them to practice pair programming and public code review techniques.
Algorithms
CS 5800 presents students with the mathematical techniques used for the design and analysis of computer algorithms. By focusing on algorithmic design paradigms and techniques for analyzing the complexity of algorithms, students will build a strong foundation in logical thinking and problem solving.
Academic requirements for the new MSCS curriculum are eight in total: two core requirements in the first semester, three courses from at least two breadth areas, and three electives of the students’ choice.
Breadth Areas
Systems and Software
With courses providing an understanding in the basic components of programming languages, to theoretical issues related to wireless networking, this breadth area builds on the use of software to solve practical problems. Students will gain broad experiences and knowledge in software engineering processes, system-level programming, programming languages and compilers. You can choose where you want to build your skills, like writing a small compiler, or designing a web experiment that illustrates web technologies.
Courses include:
- CS 5400: Principles of Programming Languages
- CS 5500: Foundations of Software Engineering
- CS 5520: Mobile Application Development
- CS 5600: Computer Systems
- CS 5610: Web Development
- CS 5700: Fundamentals of Computer Networking
- CS 6410: Compilers
- CS 6510: Advanced Software Development
- CS 6650: Building Scalable Distributed Systems
- CS 6710: Wireless Network
Theory and Security
Challenge yourself by discovering how security can be made synergistic in system design and becoming aware of systems security issues. This breadth area allows students to gain a strong foundation in the theory of computation and systems security issues. By taking courses focused on security vulnerabilities in software, privacy and cryptography, students will understand the pervasiveness of security in computer science.
Courses include:
- CS 6760: Privacy, Security, and Usability
- CS 7805: Theory of Computation
- CS 7810: Foundations of Cryptography
- CY 5770: Software Vulnerabilities and Security
- CY 6740: Network Security
- CY 6750: Cryptography and Communications Security
Artificial Intelligence and Data Science
As a growing field, the Artificial Intelligence and Data Science breadth area introduces students to the fundamental problems, theories, and algorithms of artificial intelligence, while presenting techniques in machine learning and data mining. Students can take courses focused on collection of data, gathering information from data for a variety of applications including games and natural language processing. From mining useful knowledge from a large data set, to exploring artificial intelligence for games – the choice is yours.
Courses include:
- CS 5100: Foundations of Artificial Intelligence
- CS 5150: Game Artificial Intelligence
- CS 5200: Database Management Systems
- CS 6120: Natural Language Processing
- CS 6140: Machine Learning
- CS 6200: Information Retrieval
- CS 6220: Data Mining Techniques
- CS 6240: Large-Scale Parallel Data Processing
- CS 7140: Advanced Machine Learning
Academic requirements for the new MSCS curriculum are eight in total: two core requirements in the first semester, three courses from at least two breadth areas, and three electives of the students’ choice.
Breadth Areas
Systems and Software
With courses providing an understanding in the basic components of programming languages, to theoretical issues related to wireless networking, this breadth area builds on the use of software to solve practical problems. Students will gain broad experiences and knowledge in software engineering processes, system-level programming, programming languages and compilers. You can choose where you want to build your skills, like writing a small compiler, or designing a web experiment that illustrates web technologies.
Courses include:
- CS 5400: Principles of Programming Languages
- CS 5500: Foundations of Software Engineering
- CS 5520: Mobile Application Development
- CS 5600: Computer Systems
- CS 5610: Web Development
- CS 5700: Fundamentals of Computer Networking
- CS 6410: Compilers
- CS 6510: Advanced Software Development
- CS 6650: Building Scalable Distributed Systems
- CS 6710: Wireless Network
Theory and Security
Challenge yourself by discovering how security can be made synergistic in system design and becoming aware of systems security issues. This breadth area allows students to gain a strong foundation in the theory of computation and systems security issues. By taking courses focused on security vulnerabilities in software, privacy and cryptography, students will understand the pervasiveness of security in computer science.
Courses include:
- CS 6760: Privacy, Security, and Usability
- CS 7805: Theory of Computation
- CS 7810: Foundations of Cryptography
- CY 5770: Software Vulnerabilities and Security
- CY 6740: Network Security
- CY 6750: Cryptography and Communications Security
Artificial Intelligence and Data Science
As a growing field, the Artificial Intelligence and Data Science breadth area introduces students to the fundamental problems, theories, and algorithms of artificial intelligence, while presenting techniques in machine learning and data mining. Students can take courses focused on collection of data, gathering information from data for a variety of applications including games and natural language processing. From mining useful knowledge from a large data set, to exploring artificial intelligence for games – the choice is yours.
Courses include:
- CS 5100: Foundations of Artificial Intelligence
- CS 5150: Game Artificial Intelligence
- CS 5200: Database Management Systems
- CS 6120: Natural Language Processing
- CS 6140: Machine Learning
- CS 6200: Information Retrieval
- CS 6220: Data Mining Techniques
- CS 6240: Large-Scale Parallel Data Processing
- CS 7140: Advanced Machine Learning
Readings and project courses
For students with a special interest in a focused topic that is not represented in the course catalog, or who want to study a newly emerging technical topic with a faculty expert, that’s where our readings and project courses come in. These are four-credit, individual instruction courses taken with a faculty advisor.
Finding a faculty advisor is your responsibility as a Khoury College master’s student. If you decide you’re interested, an academic advisor in the graduate program can help. Then, you’ll talk with faculty to discuss mutual interest and availability for an individual instruction course.
Examples of project course topics include:
- Cloud Computing for Brain Science
- Machine Learning in Mass Spectroscopy Imaging
- Empirical Investigation of Software Design Alternatives
- Pyret Compiler Re-implementation in Typescript
Master’s thesis
There’s a special kind of Khoury College master’s student who pursues empirical research on a focused topic that goes beyond a class project or internship. The research may take root in a projects course or during a research assistantship in one of our labs. Such students typically decide to do a master’s thesis in order to consolidate and disseminate their knowledge.
The master’s thesis consists of eight semester hours of research, culminating in the MS thesis. This can be accomplished through taking CS 8674 Project Course, followed by CS 7990 MS Thesis course.
While it will be your responsibility to find a thesis advisor, you can get help and advice from an academic advisor in the graduate program on reaching out to individual faculty and understanding the thesis process and policies.
Examples of master’s thesis topics include:
- ICS/SCADA security research
- An instrumentation framework for understanding the usage and performance of data structures
- Deep multi-agent reinforcement learning
- Language generation and instruction following
Readings and project courses
For students with a special interest in a focused topic that is not represented in the course catalog, or who want to study a newly emerging technical topic with a faculty expert, that’s where our readings and project courses come in. These are four-credit, individual instruction courses taken with a faculty advisor.
Finding a faculty advisor is your responsibility as a Khoury College master’s student. If you decide you’re interested, an academic advisor in the graduate program can help. Then, you’ll talk with faculty to discuss mutual interest and availability for an individual instruction course.
Examples of project course topics include:
- Cloud Computing for Brain Science
- Machine Learning in Mass Spectroscopy Imaging
- Empirical Investigation of Software Design Alternatives
- Pyret Compiler Re-implementation in Typescript
Master’s thesis
There’s a special kind of Khoury College master’s student who pursues empirical research on a focused topic that goes beyond a class project or internship. The research may take root in a projects course or during a research assistantship in one of our labs. Such students typically decide to do a master’s thesis in order to consolidate and disseminate their knowledge.
The master’s thesis consists of eight semester hours of research, culminating in the MS thesis. This can be accomplished through taking CS 8674 Project Course, followed by CS 7990 MS Thesis course.
While it will be your responsibility to find a thesis advisor, you can get help and advice from an academic advisor in the graduate program on reaching out to individual faculty and understanding the thesis process and policies.
Examples of master’s thesis topics include:
- ICS/SCADA security research
- An instrumentation framework for understanding the usage and performance of data structures
- Deep multi-agent reinforcement learning
- Language generation and instruction following
Breadth Areas
Systems and Software
With courses providing an understanding in the basic components of programming languages, to theoretical issues related to wireless networking, this breadth area builds on the use of software to solve practical problems. Students will gain broad experiences and knowledge in software engineering processes, system-level programming, programming languages and compilers. You can choose where you want to build your skills, like writing a small compiler, or designing a web experiment that illustrates web technologies.
Courses include:
- CS 5400: Principles of Programming Languages
- CS 5500: Foundations of Software Engineering
- CS 5520: Mobile Application Development
- CS 5600: Computer Systems
- CS 5610: Web Development
- CS 5700: Fundamentals of Computer Networking
- CS 6410: Compilers
- CS 6510: Advanced Software Development
- CS 6650: Building Scalable Distributed Systems
- CS 6710: Wireless Network
Theory and Security
Challenge yourself by discovering how security can be made synergistic in system design and becoming aware of systems security issues. This breadth area allows students to gain a strong foundation in the theory of computation and systems security issues. By taking courses focused on security vulnerabilities in software, privacy and cryptography, students will understand the pervasiveness of security in computer science.
Courses include:
- CS 6760: Privacy, Security, and Usability
- CS 7805: Theory of Computation
- CS 7810: Foundations of Cryptography
- CY 5770: Software Vulnerabilities and Security
- CY 6740: Network Security
- CY 6750: Cryptography and Communications Security
Artificial Intelligence and Data Science
As a growing field, the Artificial Intelligence and Data Science breadth area introduces students to the fundamental problems, theories, and algorithms of artificial intelligence, while presenting techniques in machine learning and data mining. Students can take courses focused on collection of data, gathering information from data for a variety of applications including games and natural language processing. From mining useful knowledge from a large data set, to exploring artificial intelligence for games – the choice is yours.
Courses include:
- CS 5100: Foundations of Artificial Intelligence
- CS 5150: Game Artificial Intelligence
- CS 5200: Database Management Systems
- CS 6120: Natural Language Processing
- CS 6140: Machine Learning
- CS 6200: Information Retrieval
- CS 6220: Data Mining Techniques
- CS 6240: Large-Scale Parallel Data Processing
- CS 7140: Advanced Machine Learning
Readings and project courses
For students with a special interest in a focused topic that is not represented in the course catalog, or who want to study a newly emerging technical topic with a faculty expert, that’s where our readings and project courses come in. These are four-credit, individual instruction courses taken with a faculty advisor.
Finding a faculty advisor is your responsibility as a Khoury College master’s student. If you decide you’re interested, an academic advisor in the graduate program can help. Then, you’ll talk with faculty to discuss mutual interest and availability for an individual instruction course.
Examples of project course topics include:
- Cloud Computing for Brain Science
- Machine Learning in Mass Spectroscopy Imaging
- Empirical Investigation of Software Design Alternatives
- Pyret Compiler Re-implementation in Typescript
Master’s thesis
There’s a special kind of Khoury College master’s student who pursues empirical research on a focused topic that goes beyond a class project or internship. The research may take root in a projects course or during a research assistantship in one of our labs. Such students typically decide to do a master’s thesis in order to consolidate and disseminate their knowledge.
The master’s thesis consists of eight semester hours of research, culminating in the MS thesis. This can be accomplished through taking CS 8674 Project Course, followed by CS 7990 MS Thesis course.
While it will be your responsibility to find a thesis advisor, you can get help and advice from an academic advisor in the graduate program on reaching out to individual faculty and understanding the thesis process and policies.
Examples of master’s thesis topics include:
- ICS/SCADA security research
- An instrumentation framework for understanding the usage and performance of data structures
- Deep multi-agent reinforcement learning
- Language generation and instruction following
Readings and project courses
For students with a special interest in a focused topic that is not represented in the course catalog, or who want to study a newly emerging technical topic with a faculty expert, that’s where our readings and project courses come in. These are four-credit, individual instruction courses taken with a faculty advisor.
Finding a faculty advisor is your responsibility as a Khoury College master’s student. If you decide you’re interested, an academic advisor in the graduate program can help. Then, you’ll talk with faculty to discuss mutual interest and availability for an individual instruction course.
Examples of project course topics include:
- Cloud Computing for Brain Science
- Machine Learning in Mass Spectroscopy Imaging
- Empirical Investigation of Software Design Alternatives
- Pyret Compiler Re-implementation in Typescript
Master’s thesis
There’s a special kind of Khoury College master’s student who pursues empirical research on a focused topic that goes beyond a class project or internship. The research may take root in a projects course or during a research assistantship in one of our labs. Such students typically decide to do a master’s thesis in order to consolidate and disseminate their knowledge.
The master’s thesis consists of eight semester hours of research, culminating in the MS thesis. This can be accomplished through taking CS 8674 Project Course, followed by CS 7990 MS Thesis course.
While it will be your responsibility to find a thesis advisor, you can get help and advice from an academic advisor in the graduate program on reaching out to individual faculty and understanding the thesis process and policies.
Examples of master’s thesis topics include:
- ICS/SCADA security research
- An instrumentation framework for understanding the usage and performance of data structures
- Deep multi-agent reinforcement learning
- Language generation and instruction following
Breadth Areas
Systems and Software
With courses providing an understanding in the basic components of programming languages, to theoretical issues related to wireless networking, this breadth area builds on the use of software to solve practical problems. Students will gain broad experiences and knowledge in software engineering processes, system-level programming, programming languages and compilers. You can choose where you want to build your skills, like writing a small compiler, or designing a web experiment that illustrates web technologies.
Courses include:
- CS 5400: Principles of Programming Languages
- CS 5500: Foundations of Software Engineering
- CS 5520: Mobile Application Development
- CS 5600: Computer Systems
- CS 5610: Web Development
- CS 5700: Fundamentals of Computer Networking
- CS 6410: Compilers
- CS 6510: Advanced Software Development
- CS 6650: Building Scalable Distributed Systems
- CS 6710: Wireless Network
Theory and Security
Challenge yourself by discovering how security can be made synergistic in system design and becoming aware of systems security issues. This breadth area allows students to gain a strong foundation in the theory of computation and systems security issues. By taking courses focused on security vulnerabilities in software, privacy and cryptography, students will understand the pervasiveness of security in computer science.
Courses include:
- CS 6760: Privacy, Security, and Usability
- CS 7805: Theory of Computation
- CS 7810: Foundations of Cryptography
- CY 5770: Software Vulnerabilities and Security
- CY 6740: Network Security
- CY 6750: Cryptography and Communications Security
Artificial Intelligence and Data Science
As a growing field, the Artificial Intelligence and Data Science breadth area introduces students to the fundamental problems, theories, and algorithms of artificial intelligence, while presenting techniques in machine learning and data mining. Students can take courses focused on collection of data, gathering information from data for a variety of applications including games and natural language processing. From mining useful knowledge from a large data set, to exploring artificial intelligence for games – the choice is yours.
Courses include:
- CS 5100: Foundations of Artificial Intelligence
- CS 5150: Game Artificial Intelligence
- CS 5200: Database Management Systems
- CS 6120: Natural Language Processing
- CS 6140: Machine Learning
- CS 6200: Information Retrieval
- CS 6220: Data Mining Techniques
- CS 6240: Large-Scale Parallel Data Processing
- CS 7140: Advanced Machine Learning