MS in Computer Science: A Rigorous, Comprehensive Curriculum

In recognition of the evolving role that technology plays in virtually every aspect of our lives, Case Western Reserve University’s online MS in Computer Science (MSCS) program curriculum delivers a progressive and cutting-edge education that keeps pace with the rapid advancements in the field.

Course Overview

Through live and independent online coursework and a focus on hands-on learning, you’ll gain the fundamental technical knowledge you’ll need to create new techniques and technologies to advance the field as well as the communication and teamwork skills that are crucial in the workplace.

Our program offers two tracks based upon your level of technical experience: a pathways track for students in need of foundational computer science coursework, and an advanced track for students with an existing computer science foundation. Both tracks require a strong STEM background and offer a comprehensive curriculum that addresses current issues, trends and best practices within the field of computer science and focuses on four key areas: artificial intelligence (AI), databases and data mining, security and privacy, and software engineering.

Curriculum

Pathways Track

Built for mid-level professionals with a strong STEM background who want to transition into computer science, the pathways track offers foundational computer science coursework necessary for success in the MS in Computer Science program. Pathways students must have completed a bachelor’s degree, a college-level calculus course and an introductory course in object-oriented programming, but may fulfill remaining computer science prerequisite courses through the pathways track.

Establish a solid research foundation and explore the basic concepts of data structures and mathematical principles in this introductory computer science course for graduate-level students. Major modules include data structures and discrete mathematics.

Examine the four main programming paradigms: imperative, object-oriented, functional, and logical. Explore language syntax, semantics, names/scopes, types, expressions, assignment, subprograms, abstraction and inheritance.

Explore the concepts that underlie intelligent systems. Topics include problem solving with search, constraint satisfaction, adversarial games, knowledge representation and reasoning using propositional and first order logic, reasoning under uncertainty, introduction to machine learning, automated planning, reinforcement learning and natural language processing.

Study fundamental topics in algorithm design and analysis. Topics include amortized analysis, NP-completeness and reductions, dynamic programming, advanced graph algorithms, string algorithms, geometric algorithms, and local search heuristics.

Gain an understanding of computer networks and the Internet. Explore topics that include http, ftp, e-mail, DNS, socket programming, UDP, TCP, reliable data transfer, IP, routing, NAT, taxonomy and the Ethernet.

Explore basic issues in file processing and database management systems, including physical data organization, relational databases, database design, relational query languages, SQL, query optimization, database integrity and security, object-oriented databases, and object-oriented query languages.

Study the process of discovering interesting knowledge from large amounts of data stored either in databases, data warehouses, or other information repositories. Topics covered include data warehouse and OLAP technology, data preprocessing, data mining primitives, languages, system architectures, mining association rules, classification and prediction, cluster analysis, and mining complex types of data.

High performance data and computing (HPDC) leverages parallel processing in order to maximize performance, speed and throughput of applications. This hands-on course will cover theoretical and practical aspects of HPDC. Theoretical concepts covered include computer architecture, parallel programming, HADOOP, General Purpose GPU (GPGPU) computing and performance optimization. Practical applications will be discussed from various information and scientific fields. Practical considerations will include HPDC Architecture, job scheduling/management and Linux scripting. Regular assignments will try to enhance theoretical concepts introduced in the class through the use of the HPDC cluster.

Learn the basics of Android programming and explore a wide range of security issues and solutions concerning mobile platforms, including permission analysis, textual artifacts analysis, malware analysis, program analysis, and UI analysis.

Gain a broad understanding of data privacy, with topics that include crypto-based solutions for privacy, hiding data from the database user, hiding access patterns from the database owner, anonymous routing and TOR, privacy in online social networks, cellular and Wi-Fi networks, location privacy, privacy in e-cash systems, privacy in e-voting, and genomic privacy.

An introduction to the information processing and computational algorithms that underlie perception. The course focuses on vision and audition but also covers other senses and various types of perceptual processing in biological systems.

Advanced Track

Designed for professionals with an agile STEM background and a strong foundation in computer science concepts, the advanced track prepares students for the next level of proficiency in the field. Advanced track students must have completed a bachelor’s degree and all prerequisite coursework. Students will study specialized topics in computer science and emerging technologies.

Examine the four main programming paradigms: imperative, object-oriented, functional, and logical. Explore language syntax, semantics, names/scopes, types, expressions, assignment, subprograms, abstraction and inheritance.

Explore the concepts that underlie intelligent systems. Topics include problem solving with search, constraint satisfaction, adversarial games, knowledge representation and reasoning using propositional and first order logic, reasoning under uncertainty, introduction to machine learning, automated planning, reinforcement learning and natural language processing.

Study fundamental topics in algorithm design and analysis. Topics include amortized analysis, NP-completeness and reductions, dynamic programming, advanced graph algorithms, string algorithms, geometric algorithms, and local search heuristics.

Gain an understanding of computer networks and the Internet. Explore topics that include http, ftp, e-mail, DNS, socket programming, UDP, TCP, reliable data transfer, IP, routing, NAT, taxonomy and the Ethernet.

Explore basic issues in file processing and database management systems, including physical data organization, relational databases, database design, relational query languages, SQL, query optimization, database integrity and security, object-oriented databases, and object-oriented query languages.

Study the process of discovering interesting knowledge from large amounts of data stored either in databases, data warehouses, or other information repositories. Topics covered include data warehouse and OLAP technology, data preprocessing, data mining primitives, languages, system architectures, mining association rules, classification and prediction, cluster analysis, and mining complex types of data.

High performance data and computing (HPDC) leverages parallel processing in order to maximize performance, speed and throughput of applications. This hands-on course will cover theoretical and practical aspects of HPDC. Theoretical concepts covered include computer architecture, parallel programming, HADOOP, General Purpose GPU (GPGPU) computing and performance optimization. Practical applications will be discussed from various information and scientific fields. Practical considerations will include HPDC Architecture, job scheduling/management and Linux scripting. Regular assignments will try to enhance theoretical concepts introduced in the class through the use of the HPDC cluster.

Learn the basics of Android programming and explore a wide range of security issues and solutions concerning mobile platforms, including permission analysis, textual artifacts analysis, malware analysis, program analysis, and UI analysis.

Gain a broad understanding of data privacy, with topics that include crypto-based solutions for privacy, hiding data from the database user, hiding access patterns from the database owner, anonymous routing and TOR, privacy in online social networks, cellular and Wi-Fi networks, location privacy, privacy in e-cash systems, privacy in e-voting, and genomic privacy.

An introduction to the information processing and computational algorithms that underlie perception. The course focuses on vision and audition but also covers other senses and various types of perceptual processing in biological systems.

Discover More

Online Student Experience

A flexible, student-centered learning experience and exceptional student support will be available to you from day one.

Learn More

Career Outlook

Computer scientists are in high demand. Take a closer look at typical career outcomes you could pursue after completing this program.

See Alumni Outcomes

Admissions

Ready to start the admissions process for our online Master of Science in Computer Science?

Apply Now

Tuition and Financial Aid

Get details on program tuition and gain a greater understanding of financial aid resources that may be available to you.

Review Now

Request Information

Simply submit this Request for Information form to learn more about our program. An enrollment advisor will reach out to you for a one-on-one discussion to address any questions or concerns you may have and walk you through the application process.

By providing my information and clicking the “Request Info” button, I consent to being contacted via telephone (including a cell phone, if provided), email, and text message about the Online MS in Computer Science.