Home > Course Descriptions

## Finding Eligible Scientific Computing Courses

On YES, to select all courses approved for credit in the Scientific Computing minor, select the “Advanced” link next to the search box, select the “Class Attributes” drop-down box on the bottom right of the advanced search page, and then select “Eligible for Scientific Computing” to find all courses.

## Core Programming Courses

**CS 101 Programming and Problem Solving.** An intensive introduction to algorithm development and problem solving on the computer. Structured problem definition, top down and modular algorithm design. Running, debugging, and testing programs. Program documentation. [3]

- or -

**CS 103 Introductory Programming for Engineers and Scientists. **An introduction to problem solving on the computer. Intended for students other than computer science and computer engineering majors. Methods for designing programs to solve engineering and science problems. Generic programming concepts. [3]

**CS 201 Program Design and Data Structures.** The study of elementary data structures, their associated algorithms and their application in problems; rigorous development of programming techniques and style; design and implementation of programs with multiple modules, using good data structures and good programming style. Prerequisite: CS 101. [3]

- or -

**CS 204 Program Design and Data Structures for Scientific Computing.** Data structures and their associated algorithms in application to computational problems in science and engineering. Time and memory complexity; dynamic memory structures; sorting and searching; advanced programming and problem-solving strategies; efficient software library use. Prerequisite: CS 101 or 103. [3]

## Scientific Computing Courses

**SC 250 Scientific Computing Toolbox. ** Team taught course with topics illustrating use of computational tools in multiple science and engineering domains. Topics may include simulations of complex physical, biological, social, and engineering systems, optimization and evaluation of simulation models, Monte Carlo methods, scientific visualization, high performance computing, or data mining. Prerequisite: CS 101 or 103; Math 150A. [3]

**SC 260 High Performance Computing. **Introduction to concepts and practice of high performance computing. Parallel computing, grid computing, GPU computing, data communication, high performance security issues, performance tuning on shared-memory-architectures. Prerequisite: CS 201 or CS 204. SPRING. [3]

**SC 290 Special Topics in Scientific Computing: High Performance Scientific Computing.** Introduction to concepts and practice of high performance computing. Models, tools, techniques, and methods of analysis. Develop proficiency in performance analysis and performance tuning for parallel programs on shared-memory architectures, distributed-memory architecture, and hybrid architectures. Students will use computing resources provided by ACCRE to complete homework assignments and projects. Prerequisites: CS 201 or 204. [3]

**SC 290 Special Topics in Scientific Computing.** [1-3 each semester].

**SC 291 Special Topics in Scientific Computing.** [1-3 each semester].

**SC 292 Special Topics in Scientific Computing.** [1-3 each semester].

**SC 293A Directed Study in Scientific Computing. **Participation in ongoing research projects under direction of a faculty sponsor. Project must combine scientific computing tools and techniques with a substantive scientific or engineering problem. Consent of both the faculty sponsor and one Director of the SC minor is required. Prerequisite: SC 250. [1-3 each semester]

**SC 293B Directed Study in Scientific Computing.** Continuation of SC 293A under the direction of the same or different faculty sponsor. Same requirements as for SC293A. [1-3 each semester]

**SC 293C Directed Study in Scientific Computing.** Continuation of SC 293B under the direction of the same or different faculty sponsor. Same requirements as for SC293A. [1-3 each semester]

**SC 295A Independent Study in Scientific Computing.** Development of a research project by the individual student under direction of a faculty sponsor. Project must combine scientific computing tools and techniques with a substantive scientific or engineering problem. Consent of both the faculty sponsor and one Director of the SC minor is required. Prerequisite: SC 250. [1-3 each semester]

**SC 295B Independent Study in Scientific Computing.** Continuation of SC 295A under the direction of the same or different faculty sponsor. Same requirements as for SC295A. [1-3 each semester]

**SC 295C Independent Study in Scientific Computing. **Continuation of SC 295B under the direction of the same or different faculty sponsor. Same requirements as for SC295A. [1-3 each semester]

## Disciplinary Courses in Scientific Computing

Approved courses by subject area are listed below. These courses either provide a detailed treatment of a core scientific computing tool and technique or combine scientific computing tools and techniques with a substantive area of science of engineering. New courses can be approved by the Directors of the minor.

#### ANTHROPOLOGY

**ANTH 280: Introduction to Geographic Information Systems and Remote Sensing. **Computerized graphics and statistical procedures to recognize and analyze spatial patterning. Spatial data-collection, storage and retrieval; spatial analysis and graphic output of map features. Integration of satellite imagery with data from other sources through hands-on experience. Assumes basic knowledge of computer hardware and software. [3] (MNS)

#### ASTRONOMY

**ASTR 252 Stellar Astrophysics. **Absorption and emission of radiation by the sun and stars. Principles of stellar structure and stellar evolution from formation to death. Prerequisite: Mathematics 198, Physics 223 and either 225 or 225W. [3] (MNS)

**ASTR 253 Galactic Astrophysics.** Interstellar matter and gaseous nebulae, the structure and evolution of normal galaxies, active galactic nuclei and quasars, and observational cosmology. Prerequisite: Mathematics 198 and either Physics 225 or 225W. [3] (MNS)

**ASTR 354. Structure Formation in the Universe. **Observational and theoretical aspects of extragalactic astronomy. Measurements of galaxies and of the large scale structure of the universe from galaxy surveys. The expansion history of the universe and the roles of dark matter and dark energy. The growth of density fluctuations in the universe due to gravity. Cosmological N-body simulations and the formation of dark matter halos. The physics of galaxy formation. Experimental probes of dark matter and dark energy. Graduate-level course that requires permission of the instructor. Prerequisites: Mathematics 198 or 208, Physics 116a or 121a, Physics 116b or 121b, Computer Science 101 or 103. [3]

#### BIOLOGICAL SCIENCES

**BSCI 272 Computational Genomics.** Computational methods of analyzing genome content and structure. Genome visualization; alignment; identification of genes and their regulatory motifs and repetitive elements; novel sequencing technologies. Phylogenetics; population genomics; protein classification and annotation. Prerequisite: 110a and 110b. [3] (MNS)

**BSCI 272 Genome Science.** Aims and importance of the science. Retrieval of genome data from public databases; experimental and computational methods used in analysis of genome data and their annotation. Functional aspects of genomics, transcriptomics, and proteomics; use of phylogenetics and population genomics to infer evolutionary relationships and mechanisms of genome evolution. Prerequisites: 110a and 110b. [3] (MNS)

#### BIOMEDICAL ENGINEERING

**BME 279 Modeling Living Systems for Therapeutic Bioengineering. **Introduction to computer modeling and simulation in therapeutic bioengineering processes. Building computer models and using modern modeling software tools. Introduction to numerical techniques to solve differential equations and origin of mathematical models for biotransport, biomechanics, tumor/virus growth dynamics, and model-based medical imaging techniques. Prerequisite: Math196 or Math 198, CS 103 or equivalent, BME 101 or equivalent mechanics course. SPRIN G. [3]

#### CHEMICAL AND BIOMOLECULAR ENGINEERING

**CHBE 285 Molecular Simulation.** Introduction to the modern tools of statistical mechanics, such as Monte Carlo and molecular dynamics simulation, and variations. Understanding the methods, capabilities, and limitations of molecular simulation and applications to simple and complex fluids relevant to the chemical and related processing industries. Prerequisite: ChBE 162, ChBE 180, ChBE 223, or equivalents. [3]

#### CHEMISTRY

**CHEM 333 Molecular Modeling Methods**. This course will present a variety of molecular modeling and computational chemistry techniques, including background theory, implementation details, capabilities and limitations of various methods, and applications examples. Most applications examples will focus on biomacromolecules, although small molecule calculations and liquid simulations will also be presented. A reasonable working knowledge of physical chemistry and biochemistry will be assumed, and any good biochemistry and physical chemistry textbooks will serve as useful references for those who may need some review. Graduate-level course requiring permission of instructor as well as CHEM 230, CHEM 231, BSCI 220 [4]

**CHEM 337 Computational Structural and Chemical Biology**. Theoretical and practical aspects of protein sequence alignments, secondary structure prediction, comparative modeling, protein-protein and protein-ligand docking. Structure-based drug design, virtual screening, quantitative structure activity relations, cheminformatics, and pharmacophore mapping in therapeutic development. This course includes a laboratory section. Graduate-level course requiring permission of instructor [4]

#### COMPUTER SCIENCE

**CS 274 Modeling and Simulation. **General theory of modeling and simulation of a variety of systems: physical processes, computer systems, biological systems, and manufacturing processes. Principles of discrete-event, continuous, and hybrid system modeling, simulation algorithms for the different modeling paradigms, methodologies for constructing models of a number of realistic systems, and analysis of system behavior. Computational issues in modeling and analysis of systems. Stochastic simulations. Prerequisite: CS 201, Math 194 or Math 198, Math 216 or Math 218. SPRING. [3]

#### ECONOMICS

**ECON 253 Introduction to Econometrics. **Quantitative methods of economic analysis. Measurement, specification, estimation, and interpretation of economic models. Econometric computation using microcomputers. No credit for graduate students in economics. Prerequisite: 231 and either 150, 155, or both MATH 218L and either MATH 216 or 218. [3] (SBS)

#### MATHEMATICS

**MATH 226 Introduction to Numerical Mathematics. **Numerical solution of linear and nonlinear equations, interpolation and polynomial approximation, non-numerical differentiation and integration, least-squares curve fitting and approximation theory, numerical solution of differential equations, errors and floating point arithmetic. Application of the theory to problems in science, engineering, and economics. Student use of the computer is emphasized. Prerequisite: computer programming and linear algebra, differential equations. [3] (MNS)

**MATH 256 Mathematical Modeling in Economics. **Modeling microeconomic problems of supply and demand, profit maximization, and Nash equilibrium pricing. Auctions and bargaining models. Statistical models and data analysis. Computational experiments. Prerequisite: 175 or 205b. [3] (MNS)

**MATH 262. Mathematical Modeling in Biology.** Mathematical modeling with applications in biology and medicine. Basic mathematical modeling tools such as linear regression, differential equations, matrix and statistical analysis, probability theory, and computer simulation. Mathematical models in population dynamics, epidemiology, immunology, diffusion phenomena, pharmacokinetics, neurophysiology, and biochemistry of cells. Prerequisite: linear algebra and ordinary differential equations. [3] (MNS)

**MATH 286 Numerical Analysis.** Finite difference and variational methods for elliptic boundary value problems, finite difference methods for parabolic and hyperbolic partial differential equations, and the matrix eigenvalue problem. Student use of the computer is emphasized. Prerequisite: 226 or consent of instructor. [3] (MNS)

**MATH 287 Nonlinear Optimization. **An introduction to modeling, theory and methods for nonlinear optimization problems. Modeling of application problems in science and engineering. Methods of unconstrained optimization with one and several variables. Theory of constrained optimization, including Karush-Kuhn-Tucker conditions. Penalty functions and other methods of constrained optimization. Computer tools such as a subroutine library or symbolic algebra system. Prerequisite: multivariable calculus, linear algebra, and computer programming (CS 101 or 103). [3] (MNS)

**MATH 288 Linear Optimization.** An introduction to linear programming and its applications. Formulation of linear programs. The simplex method, duality, complementary slackness, dual simplex method and sensitivity analysis. The ellipsoid method. Interior point methods. Possible additional topics include the primal-dual algorithm, cutting planes, or branch-andbound. Applications to networks, management, engineering, and physical sciences. Prerequisite: linear algebra and computer programming (CS 101 or 103). [3] (MNS)

**Math 386: Seminar in Computational Mathematics: Numerical Methods for Partial Differential Equations**The aim of this course is to provide students with a sound introduction to modern methods of solving PDEs numerically. Topics to be covered include: finite element methods, collocation methods, convergence and error estimates, preconditioning, multigrid and multi-level methods, and isogeometric analysis. Some of the needed mathematical tools will be developed along the way. There will be a number of of projects that will require programming (in MATLAB or similar), where students will be asked to solve a particular PDE numerically. The course is intended for graduate students in Applied Mathematics, Natural Sciences, Engineering, and all other students interested in advanced numerical analysis. Prerequisites: A strong footing in real analysis. Some experience in programming is desirable (or at least a serious commitment to learn to program). While a previous course in introductory numerical analysis would be a plus, most relevant topics will be reviewed as needed. [3]

#### MECHANICAL ENGINEERING

**ME 263 Computational Fluid Dynamics and Multiphysics Modeling. **Computational modeling of viscous fluid flows and thermal-fluid-structure interaction. Computational techniques including finite-difference, finite-volume, and finite-element methods; accuracy, convergence, and stability of numerical methods; turbulence modeling; rotating machinery; multiphase flows; and multiphysics modeling. Prerequisite: ME 224. [3]

#### PHYSICS

**PHYS 223C Computational Thermal and Statistical Physics. **Temperature, work, heat, and the first law of thermodynamics. Entropy and the second law of thermodynamics. Kinetic theory of gases with applications to ideal gases and electromagnetic radiation. Prerequisite: CS 101 or 103, One year of calculus-based physics and one year of calculus. Serves as repeat credit for students who have completed PHYS 223. [3] (MNS)

**PHYS 257 Computational Physics.** Topics in modern physics analyzed exclusively with computer programs. Three-body solar system orbits, random walk diffusion and entropy growth, magnetism in the second order using model, non-equilibrium molecular dynamics, and solutions to the Schrödinger equation with numerical methods. Prerequisites: Prerequisite: One year of calculus-based physics and one year of calculus and either CS 101, CS 103, or familiarity with commercial mathematical applications (Mathematica, Mathcad, or even EXCEL). [3] (MNS)

#### PSYCHOLOGY

**PSY 303 Models of Human Memory.** Graduate-level course covering the scientific study of human memory, including experiment and theory. Focus on attempts to create computational and mathematical models of human memory. Some level of comfort with elementary probability and statistics is assumed. Assignments involve programming in order to explore different models of human memory. Graduate-level course that requires permission of the instructor. Prerequisites: CS101 or CS103.

**PSY 318 Computational Modeling.** The how-tos and whys of computational modeling in psychology and neuroscience. Not intended a general survey of computational models of human cognition. Instead, we will talk about what models are, why we use models, how to recognize good modeling versus bad modeling, how to implement a model, how to fit a model to data, how to evaluate the fit of a model, how to compare and contrast competing models, how to evaluate special cases of a model, and how to develop and test new models. Graduate-level course that requires permission of the instructor. Prerequisites: One semester of calculus, CS101 or CS103 or familiarity with Matlab.

**PSY 319 Scientific Computing for Psychological and Brain Sciences**. Computer programming, numerical and computational methods, and high performance computing applied to psychological and brain sciences, such as experimental control, automated data analysis, and model simulation. Matlab and Psychophysics Toolbox, Python, and other programming languages may be introduced. Graduate-level course that requires permission of the instructor. Prerequisites: One semester of calculus, CS101 or CS103 or familiarity with Matlab or Python.