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.

Cornerstone Courses

In their first year, Computational Sciences majors complete their Cornerstone Courses.

Core Courses

In their second year, Computational Sciences majors enroll in core courses that provide the foundation for the Computational Sciences concentrations. They also take electives from core courses offered in other majors.

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, tree 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 DNA sequencing.

Prerequisite: CS51

CS111A / Continuous Mathematical Systems

In this course, students learn the principles of single and multivariable calculus needed to succeed in the concentration courses and beyond. While a traditional course in these topics focuses on the analytic techniques needed to do complex computations by hand, and evaluates students primarily on their ability to do so, this course takes a different approach. Students primarily learn to understand and apply concepts to solve problems in a variety of practical contexts. While the standard computational techniques are covered and practiced, students will take full advantage of technologies such as Sage to supplement their skills.

Prerequisite: CS50; CS51

CS111B / Linear Mathematical Systems

This course develops the tools necessary for the analysis of linear systems. The emphases are both on abstract notions such as vectors spaces, linear maps between them and their matrix representations, and concrete applications such as Markov chains and graphical network analysis. Students apply their knowledge to explore a wide variety of problems such as Page Rank, least squares fitting, and traffic modeling.

Prerequisite: CS50; CS51

CS112 / Knowledge: Information Based Decisions

The course focuses on the application of predictive and causal statistical inference for decision making across a wide range of scenarios and contexts. The first part of the course focuses on parametric and non-parametric predictive modeling (regression, cross-validation, bootstrapping, random forests, etc.). The second part of the course focuses on causal inference in randomized control trials and observational studies (statistical matching, synthetic control methods, encouragement design/instrument variables, regression discontinuity design, etc.). Technical aspects of the course focus on computational approaches and real-world challenges, drawing cases from the life sciences, public policy and political science, education, and business. This course also emphasizes the importance of being able to articulate one’s findings effectively and tailor methodology and policy/decision-relevant recommendations for different audiences.

Prerequisite: CS51

Concentrations

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

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

  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.

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

  • Corporate Data Manager
  • Corporate Strategist
  • Engineer
  • High Tech Entrepreneur
  • Product Designer
  • Software Developer

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

  • Academic
  • Cryptanalyst
  • Editor at Scientific Publication
  • Mathematician
  • Research Scientist
  • Statistician
  • Systems Analyst

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

  • Engineer
  • Financial Forecaster
  • Game Developer
  • Information Officer
  • Product Designer
  • Software Developer

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

  • Consumer Demand Forecaster
  • Decision Scientist
  • Government or Industry Modeler
  • Information Officer
  • Intelligence Analyst
  • Privacy 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

  • Analytics Officer
  • Bioinformatics Scientist
  • Corporate Data Manager
  • Cryptanalyst
  • Data Scientist
  • Government Analyst
  • Statistician

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

  • Engineer
  • Financial Forecaster
  • Game Developer
  • High Tech Entrepreneur
  • Information Officer
  • Product Designer

Concentration Courses

CS142 / Computability and Complexity

Students learn about 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. Students practice building a variety of automata and Turing machines using Python. What are the language grammars? and what role does a grammar plays in the way we analyze problems, solve problems, communicate with the computer, and even analyze natural languages? What makes a problem difficult to solve? Are some problems intrinsically harder than others, or is it that just because we have not yet discovered more efficient solutions? What, if any, are the limits of what can be solved with a computer? The techniques presented in this course shed light on why some computational problems are hard or even tractable. Students also gain experience communicating mathematical ideas in a rigorous fashion.

Prerequisite: CS110; CS111B or CS111

CS144 / Principles of Advanced Mathematics

Students learn how to read, write, and evaluate rigorous mathematical arguments. These skills are practiced on foundational material that forms a bridge to topics in advanced mathematics—both applied and pure. Subtopics in modern algebra and real analysis are chosen to illustrate the fundamental concepts of careful bounding, counting, and the application of equivalence classes.

Prerequisite: CS111 or CS111A; CS111 or CS111B

CS146 / Modern Computational Statistics

Learn to apply Bayesian inference which is the mathematical framework for using observed data to update the information we have about a system. The course proceeds from the fundamentals of probability theory and Bayesian inference to the data modeling process, covering various real-world scenarios from sports, medicine, vehicle tracking, social sciences, and more. The second half of the course covers approximate methods for automating inference in the form of variational inference (approximations using functions) and Monte Carlo methods (approximations using random samples). These methods allow us to work with large models containing many unknown variables and large data sets.

Prerequisite: CS111 or CS111A; CS112

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

CS154 / Contemporary Applied Mathematics

Methods are explored to interpolate data, solve linear and non-linear systems of equations, and model dynamical systems with the use of ordinary and partial differential equations. Additionally, Fourier Analysis is applied to model and process signals. Numerical implementations of the mathematical methods are developed using MATLAB or Octave.

Prerequisite: CS111 or CS111A; CS111 or CS111B

CS156 / Machine Learning for Science and Profit

Students learn to 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. Students program machine learning algorithms to make sense of a wide range of data, such as genetic data, data used to perform customer segmentation or data used to predict the outcome of elections.

Prerequisite: CS110; CS111 or CS111A; CS111 or CS111B

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

CS164 / Optimization Methods

Learn to use and analyze optimization techniques such as linear, quadratic, semidefinite and mixed-integer programming. Explore optimization algorithms such as Newton’s method, interior point methods and branch and bound methods.

Prerequisite: CS111 or CS111A; CS111 or CS111B

CS166 / Modeling, Simulation, and Decision Making

Learn how to apply advanced modeling techniques to analyze and predict the behavior of social, physical and economic systems. You will learn from specific examples applied to portfolio management, traffic flow management, and analyzing social networks. The course covers three modeling frameworks — cellular automata for modeling interactions on grids of cells, networks for more general interactions between nodes in a graph, and Monte Carlo simulations showing how we can use simulation to generate random numbers and how we can use random numbers to drive simulations of complex phenomena. The course covers the theoretical (mathematical) and practical (implementation) aspects of each of the three frameworks.

Prerequisite: CS111 or CS111B; CS112

Capstone Courses

In their fourth year, Computational Sciences majors finish their Capstone Courses.