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.
In their first year, Computational Sciences majors complete their Cornerstone 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, 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.
CS111A / Continuous Mathematical Systems
This course focuses on the tools needed for understanding the behavior of continuous mathematical systems, such as single and multivariable calculus. Applications discussed in the course will include single and multivariable optimization, Lagrange multipliers and their geometry as well as the use of integral calculus in probability theory. The emphasis in this course will be towards concepts and applications rather than calculational tricks, though students will learn how to use SageMath in order to arrive at answers.
CS111B / Linear Mathematical Systems
This course develops the tools necessary for the analysis of linear systems. The emphases are both on concrete calculational tools, such as the various matrix factorizations (LU, Cholesky, SVD) and the eigenvalue problem, as well as more abstract notions such as vectors spaces, linear maps between them and their matrix representations, dimension among others.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
In their fourth year, Computational Sciences majors finish their Capstone Courses.