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 MDS Program
Intellectual challenge met with unquestioning support.
Obtain comprehensive knowledge in how to apply core methods of data science to areas of specialization.
World-class faculty that provide hands-on education and thoughtful interactions with students.
Coursework designed to enable students to solve real-world problems with data science theory and techniques.
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
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.
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.
- Computer Systems
COMP 621 - SYSTEM SOFTWARE [3 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 - CYBER SECURITY [3 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.
COMP 630 - DATABASES [3 HOURS]
This course included five learning objectives:
Big picture: Understand the trade-offs of relational and non-relational databases
Queries: Manage data and understand the costs of doing s
Design: Build complex databases and understand design trade-offs
Real-world data: Curate and merge data from real-world sources
Communication: Explain concepts and implementation and design decisions
COMP 642 - MACHINE LEARNING [3 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.
COMP 643 - BIG DATA [3 HOURS]
Big Data refers to tools and techniques for extracting useful information from very large datasets. A dataset is considered very large if it cannot be stored in the memory of a single computer. Students will learn set theory (specifically, the relational algebra and calculus, which serve as the theoretical basis for modern Big Data systems), the use of relational systems for data analytics, and mathematical programming for Big Data analytics.
COMP 665 - DATA VISUALIZATION [3 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.
COMP 680 - STATISTICS FOR COMPUTING AND DATA SCIENCE [3 HOURS]
Students will learn the fundamentals of probability, statistics, and data science. This course prepares students for more advanced
- Principles of Algorithms and Software
COMP 610 - SOFTWARE CONSTRUCTION
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
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
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.
Ready to apply? Contact us today for more information.