Computational Sciences Icon

Computational Sciences Major

Computational sciences provide the scientific foundations for making sense of natural, human-mediated and social phenomena through analytics, computational methods and modeling.

In an age of ubiquitous — often overwhelming — data, the ability to harness that data to reflect, reach out and make better decisions is increasingly crucial. The Computational Sciences major prepares students to be analytics-driven and logical decision makers, innovators, and leaders.

Core Courses

In their sophomore year, Computational Sciences majors enroll in the three core courses that provide the foundation for the Computational Sciences concentrations. They also take three to five electives from core courses offered in other majors. The Computational Sciences core courses are: Computation: Solving Problems with Algorithms (CS110), Structure: Mathematical and Computational Models (CS111) and Knowledge: Information-Based Decisions (CS112).

CS110 / Computation: Solving Problems with Algorithms

Apply core concepts in design and analysis of algorithms, data structures, and computational problem-solving techniques to address complex problems. Hashing, searching, sorting, graph algorithms, dynamic programming, greedy algorithms, divide and conquer, backtracking, random number generation, and randomized algorithms are examples of algorithms you will learn to exploit to solve problems ranging from logistics to route optimization to robotic arm control.

CS111 / Structure: Mathematical and Computational Models

Use a range of mathematical and computational models to address complex problems. This course covers at a high level the core concepts central to modern mathematical and computational research: set theory, combinatorics, probability, graph theory, and differential equations, as well as modeling methods such as Monte Carlo techniques, and agent-based modeling. Topics are chosen from diverse fields, including food webs, industrial optimization, and voting—which shows the versatility and usefulness of concepts that may at first appear entirely theoretical.

CS112 / Knowledge: Information-Based Decisions

Learn how to extract meaning from data using modern approaches such as Bayesian Inference. Armed with this information apply the tools of decision science to solve a wide range of problems. The course focuses primarily on applying statistical inference and formal models of decision making to design practical solutions. Students frame and quantify a range of scenarios to address real problems in the life sciences, energy and technology industries. Discover how to make big strategic decisions with math, statistics and simulation.

Concentrations

In their junior year, Computational Sciences majors select a concentration, begin taking the three courses within it and begin work on their capstone projects. They also take three electives chosen from other Minerva courses (other concentration courses in Computational Sciences, core and concentration courses in other colleges). Computational Sciences offers six concentrations shown in the table below.

In the senior year, Computational Sciences majors enroll in four additional electives chosen from Minerva’s course offerings within or outside the major. Additionally, they take two senior tutorials in the major, and finish their capstone projects.

  Computational Theory and Analysis Contemporary Knowledge Discovery Applied Problem Solving
Computer Science and Artificial Intelligence CS142 / Computability and Complexity CS152 / Harnessing Artificial Intelligence Algorithms CS162 / Software Development: Building Powerful Applications
Mathematics and Operations Research CS144 / Principles of Advanced Mathematics CS154 / Contemporary Applied Mathematics CS164 / Optimization Methods
Data Science and Statistics CS146 / Modern Computational Statistics CS156 / Machine Learning for Science and Profit CS166 / Modeling, Simulation, and Decision Making

Each row and each column of the matrix represent a different concentration, as noted above.

Computer Science and Artificial Intelligence

Computer science and artificial intelligence lie at the core of an ever-increasing number of critical technologies, products and services. Students choosing the CAI concentration will be equipped to understand, design and manage these technologies, products and services.

Career Possibilities

  • Financial forecaster
  • Game developer
  • Engineer
  • Product designer
  • Information officer
  • Software developer

Mathematics and Operations Research

Mathematics and operations research are, and will remain, key disciplines for analyzing and addressing complex problems. Students choosing the MOR concentration will be able to understand and appropriately apply methods and techniques from these disciplines.

Career Possibilities

  • High tech entrepreneur
  • Financial forecaster
  • Game developer
  • Engineer
  • Product designer
  • Information officer

Data Science and Statistics

Data science and advanced statistical analysis are quickly becoming key enablers of economic success. Students choosing the DSS concentration will be able to analyze, design and exploit the methodological infrastructure and technologies required to deal with and effectively interpret massive amounts of data.

Career Possibilities

  • Corporate data manager
  • Analytics officer
  • Data scientist
  • Statistician
  • Government analyst
  • Bioinformatics scientist
  • Cryptanalyst

Computational Theory and Analysis

Theory and analysis are at the heart of computational sciences. Students choosing the CTA concentration will understand foundational theory and appropriately apply deep analytic methods and techniques from computational disciplines.

Career Possibilities

  • Research scientist
  • Mathematician
  • Statistician
  • Academic
  • Editor at scientific publication
  • Cryptanalyst
  • Systems analyst

Contemporary Knowledge Discovery

Computational scientists seek to identify emergent patterns, use those patterns to define structure, and analyze the results. Students choosing the CKD concentration will specialize in this process, applying computational and quantitative methods to discover structure in the world around us.

Career Possibilities

  • Intelligence analyst
  • Privacy officer
  • Government or industry modeler
  • Consumer demand forecaster
  • Decision scientist
  • Information officer

Applied Problem Solving

The 21st Century faces many daunting problems that can be mitigated by applying computational and quantitative methods. Students choosing the APS concentration will specialize in applying computational and quantitative methods to characterize in detail, and devise tractable approaches to solving, some of the world's most challenging problems.

Career Possibilities

  • Software developer
  • Corporate strategist
  • High tech entrepreneur
  • Product designer
  • Engineer
  • Corporate data manager

Concentration Courses

CS142 / Computability and Complexity

Learn models of computation that provide the theoretical basis for modern computer science. Topics include deterministic and nondeterministic finite state machines, Turing machines, formal language theory, computational complexity, and the classification of algorithms.

Prerequisite: CS110: Computation: Solving Problems with Algorithms

CS152 / Harnessing Artificial Intelligence Algorithms

Apply methods and algorithms from artificial intelligence — such as propositional logic, logic programming, predicate calculus, and computational reasoning — to practical problems of information retrieval, robot navigation, logistics planning, and natural language processing.

Prerequisite: CS110: Computation: Solving Problems with Algorithms

CS162 / Software Development: Building Powerful Applications

This course is organized around the principle that the only way to learn software development is to develop software. Work together with a team to develop a significant software application. Examples include a spreadsheet application, a social media web application, or a distributed chat system. You will have the opportunity to apply and experience all aspects of software development, including requirements analysis, design, implementation, validation, deployment, documentation, and maintenance.

Prerequisite: CS110: Computation: Solving Problems with Algorithms

CS144 / Principles of Advanced Mathematics

Analyze how to think about complex problems with the help of propositional logic and predicate calculus, formal proofs, and mathematical induction. Formalize deductive thought with symbolic logic, and examine the logical correctness of reasoning. Students review a range of practical applications of these computational tools. Topics are drawn from axiomatic set theory, combinatorics, graph theory, modern algebra, and real analysis.

Prerequisite: CS111: Structure: Mathematical and Computational Models

CS154 / Contemporary Applied Mathematics

Learn how to solve scientific and engineering problems by applying advanced techniques from the modern mathematician's tool set. Topics include advanced linear algebra, numerical analysis, ordinary and partial differential equations, and dynamical systems.

Prerequisite: CS111: Structure: Mathematical and Computational Models

CS164 / Optimization Methods

Learn to use and analyze techniques such as the simplex method, network flow method, branch and bound methods for discrete optimization problems, as well as Newton’s method and interior point methods for convex optimization.

Prerequisite: CS111: Structure: Mathematical and Computational Models

CS146 / Modern Computational Statistics

Learn the theory that underlies computationally intensive statistical methods. Topics include bootstrapping and resampling, Markov chain Monte Carlo methods, density estimation, curve fitting, multivariate analysis, and nonparametric methods.

Prerequisite: CS112: Knowledge: Information-Based Decisions

CS156 / Machine Learning for Science and Profit

Apply core machine learning techniques — such as classification, perceptron, neural networks, support vector machines, hidden Markov models, and nonparametric models of clustering — as well as fundamental concepts such as feature selection, cross-validation and over-fitting. Program machine learning algorithms to make sense of genetic data, perform customer segmentation or predict the outcome of elections.

Prerequisite: CS110: Computation: Solving Problems with Algorithms

CS166 / Modeling, Simulation, and Decision Making

Learn how to apply advanced decision techniques such as real options, Monte Carlo simulation, network concepts from graph theory, probability theory and statistical physics to analyze and predict the behavior of social, economic and transportation networks. Examples include project portfolio management, pharmaceutical drug development, oil and gas investment decisions as well as philanthropic portfolio decisions requiring high-stake tradeoffs in highly uncertain environments.

Prerequisite: CS112: Knowledge: Information-Based Decisions

Tutorial Courses

CS181 / Fall Senior Tutorial

Discuss a topic you are passionate about with two other students and a professor. Begin by developing your own syllabus, with the professor helping you to drill deeply into your topic. Engage with the other students and professor in ways that are not possible in ordinary class.

CS182 / Spring Senior Tutorial

Discuss a topic you are passionate about with two other students and a professor. Begin by developing your own syllabus, with the professor helping you to drill deeply into your topic. Engage with the other students and professor in ways that are not possible in ordinary class.

Capstone Courses

CS195 / Computational Sciences Capstone I

Define a study topic, research it, understand the various competing perspectives, and discover relevant data and information sources. The study topic - presented to the class in the final third of the course - integrates elements from the major as well as the entire curriculum, and in particular from the cornerstone courses.

CS196 / Computational Sciences Capstone Independent Study I

Conduct an original piece of research or creation of a project in any field of computational sciences under the guidance of a faculty advisor. By the end of the course, students should be ready to present a first draft of their work.

CS198 / Computational Sciences Capstone Independent Study II

Building on CS196, continue developing an original piece of research or project under the guidance of a faculty advisor. Continue to iterate on the research, work, or portfolio until such point that a path to successful completion is evident.

CS199 / Computational Sciences Capstone II

Revise and complete a written report of the project for the senior capstone, which should be at a professional level. Present the report before the class to receive critiques and suggestions from student colleagues. Have the final work be assessed by both a faculty as well as external reviewer.