RRSCS Baccalaureate Minor Program
What is the benefit of a minor in Computational Science?
A minor in computational science through the Ralph Regula School of Computational Science will provide students who already have expertise in science and engineering with skills they can use to complete computationally based projects. Further, the draft competencies created by the participating faculty have been reviewed and approved by a business advisory committee, meaning that when you enter the workforce with this background, you will have the specific skills sought by employers.
How does the minor program curriculum work?
The final curriculum is being approved at each of the participating institutions, but all programs will consist of the same core courses and topics.
To complete the minor, you must take five required courses (*), a required capstone course (#) and at least one elective course. The minor also requires you to complete a full year of calculus as part of your major.
*Introduction to Simulation and Modeling
Calculus 1 and 2
Courses for major
*Programming and Algorithms
Courses for major
Possible computational science electives
Courses for major
#Capstone Research or Internship Experience
*Discipline-oriented computational science course (e.g. computational biology, computational chemistry, computational physics)
Possible computational science electives
Elective Computational Science Courses
Differential Equations and Discrete Dynamical Systems
Second discipline-oriented computational science course
What topics will be covered in these courses?
Simulation and Modeling: The first course in computational science will introduce you to computer modeling and how it is being used in business and academic research as a way to save time and money, develop new products and processes, and gain a fundamental understanding of how things work. You will learn how to construct a model, measure whether you are getting the "right" answer and use models to give you important insights. You will simulate phenomena like a skydiver jumping from a plane, the flow of traffic on a highway, the growth of population, the dynamics of predator and prey in an ecosystem and the spread of disease. You will learn to use tools to visualize your model results and to test different model assumptions while you learn about the mathematics that underlie the simulations.
Programming and Algorithms: This is an introductory course in programming and algorithms for students in computational science. You will learn the logic and design of procedural programs, floating point arithmetic, vectors, matrices, complex numbers, and elementary data structures. You will look more in-depth at how different algorithms can be used to improve the accuracy of computer models, as well as at the performance of those programs (how fast they run).
Computational Biology and Bioinformatics: The recent explosion of completely sequenced genomic sequences and other high-throughput -omics data provides scientists with an enormous wealth of biological information. Computational biology and bioinformatics, relatively new and rapidly expanding areas, are dedicated to the various ways that computers and computational techniques can be used to utilize this biological data. Because of a diversity of issues that go beyond data analysis, such as need for gathering data, storing, handling, and distributing, this discipline requires skills that come from different fields, including high-performance computing, development and application of novel algorithms and software tools, and scientific visualization. Bioinformatics offers you several essential skills, including database search and retrieval, sequence homology search and sequence alignments, introduction into phylogenetic analysis, analysis of gene expression, and protein structure prediction. A basic introduction into molecular biology concepts is included, making this course accessible to non-biology majors.
Computational Chemistry: This course will introduce you to applications and methodologies, such as molecular mechanics, density functional theory, semi-empirical and ab initio molecular orbital theory, as well as molecular dynamics for computational chemistry and biological applications. Computational Chemistry will expose you to the different theoretical methods and show you how (practically) to use different molecular mechanics and electronic structure programs to solve problems. The course will provide access to the necessary computational facilities and software.
Computational Physics: In this course, you will learn to apply computation to problems of interest to physics. This may involve numerical computation, symbolic calculations, visualization or a mix of these. Many of the most interesting problems in physics are too complicated for analytic solution and must be tackled numerically.
Differential Equations and Discrete Dynamical Systems: Using modeling, you will learn techniques for solving a variety of ordinary differential equations for both linear and non-linear systems. The numerical accuracy of different solutions will be examined. Examples will be drawn from other applied science and engineering areas.
Numerical Methods: You will use a variety of numerical methods to solve computational problems. These will include techniques for solving systems of linear equations, interpolation and approximation methods, and methods to solve ordinary differential equations and partial differential equations. You also will study Monte Carlo or random behavior methods and apply several algorithms to study physical phenomena that can be simulated using those techniques.
Optimization: This methodology solves the important problem of doing the best you can, possibly subject to resource constraints. Specifically it is designed to determine the value of each independent
variable in a mathematical model such that a designated objective function produces its maximum or minimum value, possibly subject to a set of constraint functions. The applications of optimization are endless, ranging from engineering to economics and from network design to process control. This course shows how to recognize both linear and nonlinear optimization problems (continuous and discrete), how to apply optimization techniques for models of different types, and how to interpret the results. For example, a linear programming technique could be used to solve a fuel blending problem at minimum cost, a quadratic programming technique could be used to select the best stock portfolio, and a nonlinear technique could be used to solve a minimum energy protein folding problem.
Parallel Programming: Although computer processors have become extraordinarily fast, they are still not fast enough to solve the most challenging problems on a single processor in a reasonable amount of time. You will explore how parallel programming takes advantage of multiple processors working on the same problem at the same time in order to arrive at an answer more quickly. Parallel programming is being applied extensively to existing science and engineering problems. Multiple processors are even beginning to appear on standard desktop and laptop machines and will use the same principles to accelerate everyday calculation. This course introduces you to the principles of parallel programming and applies these principles to example problems from science and engineering. You will design, analyze, and run parallel programs and learn how to efficiently scale a program to run on many processors in parallel.
Internship or Research Experience: You will apply your knowledge of computational science in a research or internship experience with a faculty member or a private firm. The Ralph Regula School of Computational Science works with faculty and employers to list available positions and matches your interests with an appropriate experience. The experience will be invaluable as you seek employment after graduation.