Body
Body
Body
Body

APPLY BY JULY 1 FOR
FALL '22 COHORT

MCS@RICE

Holistic Computer Science Curriculum

Body
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.

APPLY ONLINE

PROGRAM HIGHLIGHTS

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.

Image
10 Courses

10
COURSES

Students will complete 10 set courses carefully selected to develop a well-rounded computer science skillset.

Image
Holistic Approach Icon

HOLISTIC
APPROACH

MCS@Rice is intentionally designed specifically to build a strong foundation in general computer science to apply to any field and industry.

Image
Same Degree As In-Person

SAME DEGREE AS
IN-PERSON

The online program enables students to receive the same education and be just as qualified as a traditional Rice CS student.

Image
Leading Faculty Icon

LEADING
FACULTY

Our dedicated faculty have taught over a million online students and have extensive experience teaching in an online learning environment.

Image
Real World Application Icon

REAL-WORLD
APPLICATION

MCS@Rice graduates will be able to take their skills beyond the classroom and tackle real-life challenges in the field of their choosing.

Image
RICE’S 35-YEAR COMPUTER SCIENCE HISTORY

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.

COURSEWORK OVERVIEW

10 Prescriptive Courses

Our program has 10 thoughtfully selected courses. Students graduating from the program will have the foundational and practical knowledge to work in 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 and data science.

WHAT YOU'LL GAIN

Program Outcomes & Experience

Image
#1

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.

Image
#2

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.

Image
#3

MODERN WORKPLACE APPLICATION

Experience hands-on application of complex software systems that will translate to your current or future work environments.

CURRICULUM DETAILS

Core Required Courses

The online masters of computer science program includes 10 core classes. Most if not all of these courses are offered during each semester (spring, summer, and fall). 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 one to two classes each semester.

Principles of Algorithms and Software

COMP 610 - SOFTWARE CONSTRUCTION [3 CREDITS]

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.

COMP 613 - PROGRAMMING LANGUAGES AND DESIGN [3 CREDITS]

Students will use ML, Racket, Ruby and Java to learn various paradigms and concepts. This course goes beyond learning to use these platforms and delves into the fundamental concepts that appear in almost every programming language. This course will make students better software developers, in any language.

COMP 682 - PRINCIPLES OF ALGORITHMS AND SOFTWARE AREA [3 CREDITS]

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.

Computer Systems

COMP 621 - SYSTEM SOFTWARE [3 CREDITS]

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 - CYBER SECURITY [3 CREDITS]

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.

Data

COMP 630 - DATABASES [3 CREDITS]

This course included 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 642 - MACHINE LEARNING [3 CREDITS]

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.

COMP 643 - BIG DATA [3 CREDITS]

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 CREDITS]

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.

COMP 680 - STATISTICS FOR COMPUTING AND DATA SCIENCE [3 CREDITS]

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.

Total Credit Hours30 Hours

Ready to apply? Contact us today for more information.

CONTACT ENROLLMENT COACH

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 INFORMATION

Body

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.

Loading...