BS Computer Science – Modeling & Simulation Thread

Represent natural and physical processes.

The Modeling & Simulation thread is intended for students interested in developing a deep understanding and appreciation of how natural and human-generated systems such as weather, biological processes, supply chains, or computers, can be represented by mathematical models and computer software. Such models are widely used today to better understand and predict the behavior of such systems.

Because these models are often described and represented by mathematical expressions, and the models themselves often deal with physical phenomena, a background in mathematics and the sciences is required. Combining this background with a knowledge in computer science will yield the basic tools necessary to transform abstract conceptual models to computer programs that execute efficiently on digital machines. The required coursework in Modeling & Simulation includes topics in continuous and discrete mathematics, the sciences, and computing. Elective courses enable students to further develop and apply their knowledge and skills to a specific discipline where Modeling & Simulation plays an important role.

The student who pursues Modeling & Simulation can combine it with Intelligence to become a data miner, or with Media to build visualizations of large amounts of scientific data, or People to build work flow systems for scientists who aren't computing experts to use. The possibilities are endless.

Modeling & Simulation

Early Preparation

  • Combinatorics
  • Numerical Methods
  • Linear Algebra
  • Probability and Statistics
  • Discrete structures, graph theory
  • Object-oriented design and programming

Knowledge Goals

  • Understanding statistical inference, i.e. building optimal models from noisy and complex data
  • Understanding computational methods for dealing with massive and high-dimensional datasets
  • Facility with numerical methods, i.e. algorithms for dealing with continuous functions
  • Facility with performing massive-scale computations

Skill Outcomes

  • Be able to build models from data, such as images (eg. recognize faces), data streams (eg. find patterns in the stock market), text data (eg. infer the topics of documents), or genomes (eg. discover the functions of genes)
  • Be able to simulate and predict highly complex natural processes such as weather dynamics or flame propagation
  • Be able to simulate and predict highly complex artificial processes such as the internet or economies
  • Be able to implement mathematics on a computer
  • Be able to use a computer to do science

Resources and Role Models


If you are following one of the BSCS Threads study plans implemented before Summer 2012 or one of the BSCS study plans that were in place prior to Threads, click here.

Required Courses (For Students in the Program of Study that begins Summer 2012)

View the course prerequisites for the Modeling & Simulation Thread.

Although not required, we recommend four Lab Sciences rather than just three: PHYS I and PHYS II along with two additional courses in Chemistry, Biology, and/or Earth and Atmospheric Sciences.

  • CS1171 Introductory Computing in MATLAB, 1
  • CS1301 Introduction to Computing and Programming, 3
  • CS1331 Introduction to Object-Oriented Programming, 3
  • CS1332 Data Structures and Algorithms, 3
  • CS2050 or CS2051 Introduction to Discrete Math for CS, 3
  • CS2110 Computing Organization and Programming, 4
  • CS2200 Computer Systems and Networks, 4
  • CS2340 Objects and Design, 3
  • CS3510 or CS 3511 Design and Analysis of Algorithms, 3
  • MATH2403 Differential Equations, 4

Pick 2 of Computational Science and Engineering

  • CX4140 Computational Modeling Algorithms, 3
  • CX4220 Introduction to High Performance Computing, 3
  • CX4230 Computer Simulation, 3
  • CX4640 Numerical Analysis 1, 3 (Requires MATH2403 or 2413 or 1602)
  • CS4641 Machine Learning, 3

Elective Courses 

Although not required, we recommend taking 6 hours from Advanced Computational Methods and Software and 9 hours from Computational Modeling Applications.

Free Electives (6 hours)

  • FREE-CM1 Free Elective-Modeling and Simulation, 3
  • FREE-CM2 Free Elective-Modeling and Simulation, 3

Pick 2 Advanced Computational Methods and Software

  • CHBE2120 Numerical Methods, 3 (Requires CHBE2100 Chemical Processes (must use free electives)
  • CS3220 Computer structures: HW/SW codesign of a processor, 3
  • CS3451 Computer Graphics, 3 (Must come after MATH2605 and CS2110 or CS2260)
  • CS3600 Introduction to Artificial Intelligence, 3
  • CX4140 Computational Modeling Algorithms, 3
  • CS4210 Advanced Operating Systems, 3
  • CX4220 Introduction to High Performance Computing, 3
  • CX4236 Numerical Analysis I, 3 (Requires MATH2403 or 2413 or 1602)
  • CS4245 Introduction to Data Mining and Analysis, 3
  • CX4230 Computer Simulation, 3
  • CS4343 Simulation, and Military Gaming, 3
  • CS4495 Computer Vision, 3
  • CS4496 Computer Animation, 3
  • CS4550 Scientific Data Processing and Visualization, 3 (Requires CS3451)
  • CS4641 Machine Learning, 3
  • CX4640 Numerical Analysis I, 3
  • CS4643 Numerical Analysis II, 3
  • CS4777 Vector and Parallel Scientific Computing, 3
  • ISYE2028 Basic Statistics Methods, 3 (Requires ISYE2027 and CS1322)
  • ISYE4331 Honors Optimization, 3 (Requires CS1322 and MATH2602)
  • MATH4255 Monte Carlo Methods, 3 (Requires MATH 3215 and CS1331)
  • ME2016 Computing Techniques, 3

Pick 9 hours from Applications:

  • (Pick 9 hours from) Aerospace Engineering
  • (Pick 9 hours from) Digital Signal Processing
  • (Pick 9 hours from) Modeling and Simulation in Industrial Engineering
  • (Pick 9 hours from) Computational Biology/Bioinformatics
  • (Pick 9 hours from) Geoscience

Aerospace Engineering

  • AE4375 Fundamentals of Computer-Aided Engineering and Design, 3 (Requires CS1331 and Math2403)
  • PHYS3266 Computational Physics, 4 (Requires PHYS2212)

Digital Signal Processing

  • ECE3025 Electromagnetics, 3 (Requires ECE2040 Digital Design Lab and MATH2401 and MATH2403)
  • ECE3075 Random Signals, 3 (Requires ECE2025 and MATH3770)
  • ECE4270 Fundamentals of Digital Signal Processing, 3 (Requires ECE3075)
  • ECE4271 Applications of Digital Signal Processing, 3 (Requires ECE4270)

Modeling and Simulation in Industrial Engineering

  • ISYE2030 Modeling in Industrial Engineering, 3 (Prereq ISYE2027 Probability with Applications, coreq ISYE2028 Basic Statistical Methods (use free electives))
  • ISYE3044 Simulation Analysis and Design, 3 (Requires ISYE2028 Basic Statistical Methods and ISYE3232 Stochastic Manufacturing and Service Systems. (Use free electives))
  • ISYE3133 Engineering Optimization, 3 (Requires CS1322 and MATH2602)
  • ISYE3232 Stochastic manufacturing and service systems, 3 (Requires ISYE2027 Probability with Applications)

Biology / Chemistry

  • BIOL2400 Mathematical Models in Biology, 3 (Requires MATH1502)
  • BIOL4401 Experimental Design and Statistical Methods in Biology, 4 (Requires BIOL2400 and ISYE2028)
  • CHBE2100 Chemical Process Principles, 3 (Requires CHEM1310 and MATH1502)


  • EAS3620 Geochemistry, 4 (Requires CHEM 1312)
  • EAS4602 Biochemical Cycles, 3
  • EAS4610 Earth System Modeling, 3
  • EAS4630 Physics of the Earth, 3
  • EAS4655 Atmospheric Dynamics, 3
  • EAS4803 Water Chemistry Modeling, 3 (Requires EAS3620)
  • PHYS3266 Computational Physics, 4 (Requires PHYS2212)