Master of Science in Computer Science
Mission
The mission of the MS in Computer Science program is to provide students with the ability to integrate the theory and practice of computing in the representation, processing, and use of information while upholding tradition of the liberal arts education.
Program Educational Objectives
The purpose of the MS in Computer Science program is to
- Prepare graduates for computer science related careers with advanced knowledge and expertise in the computing field.
- Prepare graduates for postgraduate studies with the ability to conduct independent research in the computing field.
Student Outcomes
Students shall have the ability to:
- Apply advanced concepts in algorithmic design and analysis, and in other main areas in the field,
- Demonstrate understanding of current technology trends as well as future disciplines and emerging research areas,
- Search, analyze, and synthesize information from computing-related literature,
- Identify and address research problems, and
- Effectively communicate their technical and research work orally and in writing.
Curriculum
Graduation requires 30 credits as detailed below:
The Master of Science in Computer Science program ensures depth and breadth in three core computer science areas: Artificial Intelligence and Data Science, Secure Computing and Networks, and Systems and Software. The program provides students with the option to select from a Professional Track, which is project-based, and a Research Track, which is thesis-based.
Professional Track (30 credits): The professional track caters to the local, regional, and international markets. This track requires two core courses (CSC611 Design and Analysis of Algorithms - 3 credits, and CSC689 Research Methods in Computer Science - 3 credits) and a project (3 credits). Students can select the remaining 21 credits from a pool of elective courses that are structured into three areas. The student must take at least one course from each area. In addition, students are allowed to take up to 9 credits from other departments/programs, including business, math, engineering, and economics, after obtaining the approval of the department.
Research Track (30 credits): The research-based program is a stepping stone for a Ph.D. program. The track requires two core courses (CSC611 Design and Analysis of Algorithms - 3 credits, and CSC689 Research Methods in Computer Science - 3 credits) and a Master’s Thesis (6 credits). Students can select the remaining 18 credits from a pool of elective courses that are divided into three areas. The student must take at least one course from each area. In addition, students are allowed to take up to 6 credits from other departments/programs, including business, math, engineering, and economics, after obtaining the approval of the department.
I. Professional Track (30 credits)
The Professional Track is structured as follows:
- Core course: CSC611 Design and Analysis of Algorithms (3 cr.)
- Core course: CSC689 Research Methods in Computer Science (3 cr.)
- CSC698 MS Project (3 cr.)
- Elective courses (21 cr.)
II. Research Track (30 credits)
The Research Track is structured as follows:
- Core course: CSC611 Design and Analysis of Algorithms (3 cr.)
- Core course: CSC689 Research Methods in Computer Science (3 cr.)
- CSC699 Thesis (6 Cr.)
- Elective courses (18 cr.)
In both tracks, students can select the elective courses from the three areas below. The student must take at least three credits from each area in order to cover the breadth requirements.
This program also offers an Advanced Topics course that may be taken more than once, to allow even more in-depth knowledge in a particular area.
Area 1: Artificial Intelligence and Data Science
- CSC613 Computational Methods in Biology (3 cr.)
- CSC614 Meta-Heuristics (3 cr.)
- CSC615 Machine Learning (3 cr.)
- CSC660 Artificial Intelligence: Principles and Techniques (3 cr.)
- CSC688 Advanced Topics in Computer Science (3 cr.)
- DSC604 Statistics for Data Science (2 cr.)
- DSC610 Data Science and its Applications (3 cr.)
- DSC612 Data Ethics (1 cr.)
- DSC613 Data Engineering (1 cr.)
- DSC614 Data Visualization (2 cr.)
- DSC622 Deep Learning and its Applications (3 cr.)
- DSC623 Natural Language Processing (2 cr.)
- DSC624 Reinforcement Learning (2 cr.)
- DSC625 Introduction to Generative AI (2 cr.)
Area 2: Secure Computing and Networks
- CSC616 Cryptography and Data Security (3 cr.)
- CSC630 Blockchain Systems (3 cr.)
- CSC634 Network Programming (3 cr.)
- CSC635 Internet of Things (3 cr.)
- CSC636 Networks Security (3 cr.)
- CSC637 Pervasive Computing and Wireless Networking (3 cr.)
- CSC641 Quantum Computer Systems (3 cr.)
- CSC642 Smart Cities and Intelligent Transportation Systems (3 cr.)
- CSC688 Advanced Topics in Computer Science (3 cr.)
Area 3: Systems and Software
- CSC612 Foundations of Computer Science (3 cr.)
- CSC621 Transaction Processing Systems (3 cr.)
- CSC622 Distributed Systems (3 cr.)
- CSC623 Knowledge-Based Systems (3 cr.)
- CSC625 Discrete Event Simulation (3 cr.)
- CSC627 Advanced Database Systems (3 cr.)
- CSC688 Advanced Topics in Computer Science (3 cr.)
- CSC690 Search-Based Software Engineering (3 cr.)
- CSC691 Advanced Software Engineering (3 cr.)
- CSC692 Cloud-Based DevOps Engineering (3 cr.)
- CSC694 Software Quality Assurance (3 cr.)
- CSC697 Managing Software Development (3 cr.)