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.
Quick Facts About the Online MCS Program
The online masters 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.
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.
4 online specialization options and elective courses so you can tailor your degree to your interests and goals.
Our dedicated faculty have taught over a million online students and have extensive experience teaching in an online learning environment.
Through 3 hands-on projects, MCS@Rice graduates will be encouraged to tackle real-life computer science problems and build their portfolios.
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.
FLEXIBLE, HIGHLY-ENGAGING AND HANDS-ON CURRICULUM
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 hrs]
COMP 614: Python Programming [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 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. No prior programming knowledge is required or expected.
COMP 613: Java Programming (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 five 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
COMP 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 hrs]
SYSTEMS SPECIALIZATION (2 courses)
COMP 621: Systems Software [3 credit hrs]
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 hrs]
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 [3 credit hrs]
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 hrs]
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 hrs]
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 665: Data Visualization [3 credit hrs]
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 hrs]
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 startup to small companies. By surveying and learning about the different type 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 hrs]
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 hrs]
Students will complete 9 credit hours of electives (about 3 courses) to graduate.
For online electives, students may pursue multiple specializations or choose from an expanding list of online courses aligned with their interests and career goals.
Houston-area students interested in pursuing a hybrid Rice Online MCS degree may take up to 9 credit hours on-campus.
- Capstone Project [3 credit hrs]
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.
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 six-week long session 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.
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.