RRSCS Minor CurriculumWhat courses are needed for the minor? Year 1 Year 2 Year 3 Year 4 Elective Computational Science Courses What topics will be covered in these courses? 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 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. |