MCS@RICE
Online Master of Computer Science Course Curriculum
The MCS@Rice curriculum has been designed to meet the interests of our students and the demands of employers. The topics and courses were carefully selected not only to span important areas of computer science but also to focus on the data science skills that are highly sought after in the modern industry.
Rice's online master of computer science degree program can be completed 100% online or in a hybrid format, which allows students to take up to 9 credit hours on Rice's campus.
PROGRAM HIGHLIGHTS
Quick Facts About the Online MCS Program
The online master's in computer science curriculum is designed with working professionals in mind. The flexible format prepares students to launch or advance their career in the computer science and technology industries.
10
COURSES
To earn their degrees, students will complete 10 courses (30 credit hours), developing a well-rounded CS skillset, including software engineering, algorithms, big data engineering, IT, cybersecurity and more.
FLEXIBLE SPECIALIZATIONS
AND ELECTIVES
4 online specialization options and elective courses so you can tailor your degree to your interests and goals.
LEADING
FACULTY
Our dedicated faculty have taught over a million online students and have extensive experience teaching in an online learning environment.
REAL-WORLD
APPLICATIONS
Through 3 hands-on projects, MCS@Rice graduates will be encouraged to tackle real-life computer science problems and build their portfolios.
RICE’S 65-YEAR COMPUTER
SCIENCE HISTORY
Our online masters in computer science curriculum is backed by our 65+ years of innovation and excellence in the field.
FLEXIBLE, HIGHLY-ENGAGING AND HANDS-ON CURRICULUM
Curriculum Details
The online master's in computer science program offers a strong foundation in computer science, software and data, plus 4 specializations and broad elective options. Students are free to choose how many courses to take each semester so they can make the program fit their lifestyle and work schedule. Students typically take 1-2 classes each semester.
- Core Required Courses [12 credit hours]
-
COMP 614: Programming for Data Science [3 credit hours]
An introduction to computer programming designed to give an overview of programming and algorithmic topics commonly seen in data engineering and data science, such as creating and manipulating data structures, graphs, dynamic programming, sorting and heuristic search algorithms. Students learn how to think about these problems and how to structure effective solutions to them using Python.
COMP 613: Programming Languages (PL concepts, OO, Concurrency) [3 credit hours]
Through the lens of Java, this course covers important concepts of programming languages that are critical to understanding and constructing software artifacts. These concepts will be studied in the context of multiple programming paradigms, including functional and object-oriented programming. By using different paradigms, you will learn to think more deeply than in terms of a single approach or the syntax of one language. This course aims to provide a framework for understanding how to use language constructs effectively and how to design correct and elegant programs in any language.
COMP 630: Databases [3 credit hours]
This course includes six learning objectives:
1. Big picture: Understand the trade-offs of relational and non-relational databases
2. Queries: Manage data and understand the costs of doing so
3. Design: Build complex databases and understand design trade-offs
4. Real-world data: Curate and merge data from real-world sources
5. Communication: Explain concepts and implementation and design decisions
6. SQL Programming: Use SQL to extract and analyze data stored across relational databases and cloud management servicesCOMP 682: Algorithms [3 credit hours]
This course covers the fundamental algorithms and data structures that all masters of computer science students should know. Students will master classic algorithm design methods and understand fundamental algorithms to serve as a starting point for solving more complex problems.
- Specializations [6 credit hours]
-
SYSTEMS SPECIALIZATION (2 courses)
COMP 621: Systems Software [3 credit hours]
Modern computer systems are designed and implemented in a layered fashion; each layer builds upon those beneath it. This provides abstracts for processing, memory, and I/O that are progressively more abstracted from the hardware and easier to use than those of the underlying layers. In this course, students will learn the fundamental characteristics of the abstractions for processing, memory, and I/O at each layer of a modern computer system. Students will learn to understand the functionality provided by each layer and the use of modern debugging, profiling, and tracing tools.
COMP 628: Cybersecurity [3 credit hours]
In this introductory course, students will learn core components of cybersecurity technologies, processes, and practices designed to protect networks, computers, and data from attack, damage, and unauthorized damage. Students will be able to identify, protect, detect, respond, and recover from cybersecurity threats. Course topics include threat landscape, cryptography, malware, networking security, and cloud security.
===========================
MACHINE LEARNING SPECIALIZATION (2 courses)
COMP 680: Statistics for Computing & Data Science [3 credit hours]
Probability and statistics are essential tools in software and data engineering, central to fields like bioinformatics, social informatics, and machine learning. They are the foundation for quantifying uncertainty and assessing support for hypotheses and derived models and are at the heart of areas such as efficiency analysis of algorithms and randomized algorithms. This course covers topics in probability and statistics, including probability and random variables, basic stochastic processes, basic descriptive statistics, and various methods for statistical inference and measuring support.
COMP 642: Machine Learning [3 credit hours]
Machine learning is the process of automatically inferring a function from a data set. Machine learning techniques seek to automate the inductive learning process. This process is important in a number of applications including robotics, medicine, speech and facial recognition, and driving autonomous vehicles. In this course, students will gain a foundational understanding of modern algorithms in machine learning, focusing on practical applications.
===========================
DATA SCIENCE SPECIALIZATION (2 courses)
COMP 643: Big Data [3 credit hours]
This class will cover the theory and practice of Big Data. "Big Data" is a colloquial term that refers to tools and techniques for extracting useful information from very large data sets. Data sets are typically considered "very large" if they are too large to be stored in the memory of a single computer, instead stored and processed in “the cloud” using services like Amazon Web Services (AWS) and Microsoft Azure. Topics covered include set theory (specifically, the relational algebra and calculus, which serve as the theoretical basis for modern Big Data systems), the modern cloud computing infrastructure for big data storage, migration and analysis, the use of relational systems for data analytics, and mathematical programming for Big Data analytics. The course will also cover distributed computing and file systems, and distributed analytics frameworks such as MapReduce, as well as the state-of-the-art open source systems that implement MapReduce and its generalizations.
COMP 665: Data Visualization [3 credit hours]
This course covers the basic ways various data types can be visualized and which properties distinguish useful visualizations from not so useful ones. Students will use Python as both the primary tool for processing the data as well as creating data visualizations. This class will also cover some of the geometric algorithms used to create advanced visualizations.
===========================
ENGINEERING LEADERSHIP SPECIALIZATION (2 courses)
RCEL 501: Engineering Management and Leadership [3 credit hours]
Technology-based innovation is the grand driver of economic progress, which hinges on strong technical leadership guiding engineering teams in mid-to-large corporate organizations and startups to small companies. By surveying and learning about the different types of EML approaches, this course outlines a framework for engineering professionals to progress from engineering manager to engineering executive (e.g., Vice President of Engineering, Chief Technology Officer). Practical methods from the engineering management literature that addresses technology-based innovation issues that have engineering management implications will be introduced. Seminal technology management principles, such as disruptive innovation, leaderless technology development, and digital platform strategy, found in companies ranging in size from start-up to large, will be examined.
RCEL 502: Engineering Project Management [3 credit hours]
Engineering Project Management will provide instruction on the tools, techniques and methodologies (for example, Agile project management), and leadership characteristics required to successfully execute a project. The course will address the phases of project execution—initiating, planning, executing, monitoring and controlling, and closing. The course is designed to use a combination of video presentations, case studies, and project related exercises.
- Electives [9 credit hours]
-
Rice's online MCS students will complete 9 credit hours of electives (about 3 courses) to graduate. For online electives, students may either 1) pursue multiple specializations (above) or 2) choose from a list of online courses aligned with their interests and career goals. Below is a list of representative Elective courses that may be subject-to-change based on Faculty availability each term.
To get access to a broader range of electives courses, online students interested in pursuing hybrid options in the Rice Online MCS degree may take up to 9 credit hours at our Houston campus for no additional cost.
RCEL 502: ENGINEERING PROJECT MANAGEMENT [3 credit hours]
Engineering Project Management will provide instruction on the tools, techniques, methodologies, and leadership characteristics required to successfully execute a technical project. The course will address the phases of project execution—initiating, planning, executing, monitoring and controlling, and closing. The course is designed to use a combination of video presentations, case studies, and project related exercises.
COMP 621: SYSTEMS SOFTWARE [3 credit hours]
Modern computer systems are designed and implemented in a layered fashion; each layer builds upon those beneath it. This provides abstracts for processing, memory, and I/O that are progressively more abstracted from the hardware and easier to use than those of the underlying layers. In this course, students will learn the fundamental characteristics of the abstractions for processing, memory, and I/O at each layer of a modern computer system. Students will learn to understand the functionality provided by each layer and the use of modern debugging, profiling, and tracing tools.
COMP 643: BIG DATA [3 credit hours]
This class will cover the theory and practice of Big Data. "Big Data" is a colloquial term that refers to tools and techniques for extracting useful information from very large data sets. Data sets are typically considered "very large" if they are too large to be stored in the memory of a single computer, instead stored and processed in “the cloud” using services like AWS and Microsoft Azure. Topics covered include set theory (specifically, the relational algebra and calculus, which serve as the theoretical basis for modern Big Data systems), the modern cloud computing infrastructure for big data storage, migration and analysis, the use of relational systems for data analytics, and mathematical programming for Big Data analytics. The course will also cover distributed computing and file systems, and distributed analytics frameworks such as MapReduce, as well as the state-of-the-art open source systems that implement MapReduce and its generalizations.
COMP 642: MACHINE LEARNING [3 credit hours]
Machine learning is the automation of the inductive learning process that humans do so well. Machine learning algorithms are critical to the fields of robotics, medicine and bioinformatics, security and transportation, and many more. In this course that focuses on practical applications, you will gain a foundational understanding of modern algorithms in machine learning.
COMP 652: NATURAL LANGUAGE PROCESSING [3 credit hours]
An introductory graduate-level course in Natural Language Processing (NLP), where students will learn the fundamental concepts of computational linguistics, probabilistic language models, neural representations of language, and text parsing. Further, the course includes several applications of these concepts for solving real-world problems, such as sentiment analysis, information extraction, question answering, and the design of chatbots.
COMP 647: DEEP LEARNING [3 credit hours]
In this course, students will learn the fundamentals of neural networks and deep learning along with their applications in several domains, such as computer vision and natural language processing.
COMP 653: STATISTICAL MACHINE LEARNING [3 credit hours]
This is an advanced machine learning course, where students will study fundamental concepts of probability theory and statistical theory, understand various machine learning topics from the viewpoint of statistics. Furthermore, the course will discuss several practical machine learning problems (e.g., generalization, robustness, and explainable artificial intelligence) and the state-of-the-art statistical algorithms that can solve these practical problems in the real world.
COMP 628: CYBERSECURITY [3 credit hours]
This introductory cybersecurity course includes topics relevant to core components of cybersecurity technologies, processes, and practices designed to protect networks, computers, and data from attack, damage, and unauthorized access. Specifically how to identify, protect, detect, respond, and recover. Topics include threat landscape, cryptography, malware, network security, and cloud security.
RCEL 504: ETHICAL-TECHNICAL LEADERSHIP [3 credit hours]
Technology-based companies are powered by teams of engineers who create products and services that create value and competitive advantages for organizations that can turn into profits. However, the matrices of technical- and user-related decision paths that engineering leaders make to guide the team are not always constrained by ethics in a formal way. This course will help students understand the impact of ethics on engineering and technology in order to apply ethics concepts to decision making on issues that emerge in the workplace during one’s career.
COMP 665: DATA VISUALIZATION [3 credit hours]
Data is being generated by humans and algorithms at an astounding rate. Analyzing and interpreting this data visually is key to informed decision-making across industries. This class will cover the basic ways that various types of data can be visualized and what properties distinguish useful visualizations from not-so-useful ones. You will learn to use Python as both the primary tool for processing the data and for creating visualizations of this data.
COMP 680: STATISTICS FOR COMPUTING AND DATA SCIENCE [3 credit hours]
Probability and statistics are essential tools in data science and central to fields like bioinformatics, social informatics, and machine learning. They are the foundation for quantifying uncertainty and assessing support for hypotheses and derived models and are at the heart of areas such as efficiency analysis of algorithms and randomized algorithms. This course covers topics in probability and statistics, including probability and random variables, basic stochastic processes, basic descriptive statistics, and various methods for statistical inference and measuring support.
RCEL 503: ENGINEERING PRODUCT MANAGEMENT IN INDUSTRY 4.0 [3 credit hours]
The fourth and latest industrial revolution, Industry 4.0, is comprised of intelligent automated machines and devices being developed by unconstrained manufacturing technologies (e.g., 3D printing), which can give them unprecedented sensing and communication capabilities. The internet of things (machines and sensors and the ‘big data’ they output) is creating new avenues for the remote collection of data from these new products. Engineering leaders will have a unique opportunity to guide engineering teams to create products that can leverage and evolve based on data from the supply chain to customer usage.
RCEL 505: ENGINEERING ECONOMICS FOR LEADERS [3 credit hours]
This course will explore economic analysis of capital expenditure decisions, financial mathematics, microeconomics, and decision-making under risk and uncertainty. Topics covered in this course include time value of money, analysis of alternatives using net present value and internal rate of return, depreciation, taxes, and inflation. Computational approaches, such as probabilistic design in engineering designs, which connect randomly varying design parameters to economic impact, will sometimes be considered based on course composition. Engineering ethics case studies that involve engineering economics will be explored as well.
BUSI 721: FOUNDATIONS OF FINANCE [1.5 credit hours]
Introduction to the theory and practice of corporate finance and the analytical tools necessary to answer the most important questions related to firms’ financing and investment decisions, focusing the following building blocks: Valuation, Investment Decisions, Risk and Return, Financing Decisions, Derivative Securities.
BUSI 722: QUANTITATIVE FINANCE [1.5 credit hours]
This applied course focuses on analytical finance to support business decision-making. This includes applying machine learning and other data analytic tools to improve investment, financing, and risk management decisions.
BUSI 731: FOUNDATIONS OF OPERATIONS [1.5 credit hours]
Introduction to the design and integration of successful operations tactics both within the organization and across supply chains. The course focuses on understanding, managing and improving processes and flows of products, customers and information and touches on bottlenecks, inventory, quality management, queues, and strategic issues in operations.
BUSI 732: QUANTITATIVE OPERATIONS [1.5 credit hours]
This applied course focuses on the data transformation of operations management. It addresses the impact of modern data analysis on process optimization, production, Inventory and supply chain issues. Introducing and using advanced statistics, optimization and machine learning techniques.
BUSI 711: DATA-DRIVEN MARKETING I [1.5 credit hours]
An introduction to marketing and its function in defining, creating and communicating value.
BUSI 712: DATA-DRIVEN MARKETING II [1.5 credit hours]
A marketing course focused on using customer data to optimize marketing decisions.
- Capstone Project [3 credit hours]
-
COMP 610: Software Construction [3 credit hours]
This course focuses on modern principles for the construction of large-scale programs, with an emphasis on design patterns, modern programming tools, and team management. The material will be applied in a substantial software design/construction project. The course has a significant oral and written communication component where students will be required to document and present their software design.
Ready to apply? Contact us today for more information.
COURSEWORK OVERVIEW
A Strong CS Core with Choice and Flexibility
Students graduating from Rice's Online Master of Computer Science program will have the foundational and practical knowledge to work across a variety of fields. We’re not just here to teach you a single programming language--we teach you how to solve problems, develop skills for real-life applications, and become a well-versed computer scientist. The algorithms, software, and systems classes will provide a solid foundation that will prepare students to grow, learn, and adapt to the changing demands of careers in computer science, software engineering, data engineering, cybersecurity, IT, digital product, and more.
WHAT YOU'LL GAIN
Program Outcomes & Experience
ADVANCED PROBLEM SOLVING
Solve advanced Computer Science problems in the most efficient way. Students will acquire and apply a graduate-level understanding of material in sub areas of Computer science.
ACCELERATED UNDERSTANDING OF MULTIPLE PROGRAMMING LANGUAGES
Learn the fundamental concepts that appear in one form or another in almost every programming language. See how these concepts “fit together” to provide what programmers need in a language making you a better software developer, in any language.
BETTER PREPARE FOR THE PROGRAM AND YOUR CAREER
Online Bridge Course: Refresher for STEM/Technical Backgrounds
Rice University’s online bridge course for applicants with STEM backgrounds is designed to provide you with the necessary refresh in math and programming that will help you succeed in the online Master of Computer Science program and beyond. The 6-week long computer science bridge program will give you a head start on mastering technical skills that will ease your transition into the data-heavy computer science master’s degree curriculum. We encourage you to join our non-credit bridge course before you apply to the Online MCS program, after you submit your application, or upon acceptance into the program. To learn more about program prerequisites, and what you can learn in an Online Master of Computer Science degree program, please review Rice's academic requirements.
Get More Information
Sign up to receive more information on how the MCS@Rice program can help you broaden your career options. Connect with an Enrollment Coach today.