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 1101 [Formerly 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 1103 [Formerly 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 2201 [Formerly 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 1101. [3]

- or -

**CS 2204**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 1101 or 1103. [3]

**[Formerly CS**204] Program Design and Data Structures for Scientific Computing.## Scientific Computing Courses

**SC 3250
[Formerly 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 1101 or 1103; Math 1200. [3]

**SC 3260
[Formerly 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 2201 or CS 2204. SPRING. [3]

**SC 3841
[Formerly 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 3250. [1-3 each semester]

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

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

**SC 3851
[Formerly 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 3250. [1-3 each semester]

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

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

**SC 3890
[Formerly 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 2201 or 2204. [3]

**SC 5250
[Formerly 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 1101 or 1103; Math 1200. [3]

**SC 5260
[Formerly 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 2201 or CS 2204. SPRING. [3]

**SC 5890
[Formerly 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 2201 or 2204. [3]

## 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 3261
[Formerly 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 3600
[Formerly 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 2420, Physics 3200 and either 2250 or 2250W. [3] (MNS)

**ASTR 3700
[Formerly 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 2420 and either Physics 2250 or 2250W. [3] (MNS)

**ASTR 8050
[Formerly 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 2420 or 2610, Physics 1601 or 1901, Physics 1602 or 1902, Computer Science 1101 or 1103. [3]

#### BIOLOGICAL SCIENCES

**BSCI
[Formerly 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: 1510 and 1511. [3] (MNS)

**BSCI 3272
[Formerly 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: 1510 and 1511. [3] (MNS)

#### BIOMEDICAL ENGINEERING

**BME 4310
[Formerly 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: Math2400 or Math 2420, CS 1103 or equivalent, BME 2100 or equivalent mechanics course. SPRING. [3]

#### CHEMICAL AND BIOMOLECULAR ENGINEERING

**CHBE 4830
[Formerly 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 2200, ChBE 2250, ChBE 3200, or equivalents. [3]

#### CHEMISTRY

**CHEM 5410
[Formerly 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 3300, CHEM 3310, BSCI 2520 [4]

**CHEM 5420
[Formerly 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 3274
[Formerly 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 2201, Math 2410 or Math 2420, Math 2810 or Math 2820. SPRING. [3]

#### ECONOMICS

**ECON 3050 [Formerly 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: 3010 and either 1500, 1510, or both MATH 2820L and either MATH 2810 or 2820. [3] (SBS)

#### MATHEMATICS

**MATH 3620
[Formerly 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 3630
[Formerly 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 3660
[Formerly 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: 3200 or 2501. [3] (MNS)

**MATH 4600
[Formerly 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: 3620 or consent of instructor. [3] (MNS)

**MATH 4620
[Formerly 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 1101 or 1103). [3] (MNS)

**MATH 4630
[Formerly 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 1101 or 1103). [3] (MNS)

**Math
[Formerly 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 4263 [Formerly 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 3224. [3]

#### PHYSICS

**PHYS 2237
[Formerly 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 1101, CS 1103, or familiarity with commercial mathematical applications (Mathematica, Mathcad, or even EXCEL). [3] (MNS)

**PHYS 3207
[Formerly 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 1101 or 1103, One year of calculus-based physics and one year of calculus. Serves as repeat credit for students who have completed PHYS 3200. [3] (MNS)

#### PSYCHOLOGY

**PSY 8218
[Formerly 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, CS1101 or CS1103 or familiarity with Matlab.

**PSY 8219
[Formerly 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, CS1101 or CS1103 or familiarity with Matlab or Python.

**PSY 8503
[Formerly 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: CS1101 or CS1103.