+ 3 Units
Young Hwan Kim
ISC 1057. Computational Thinking (3). This course introduces students to the process of creating a representation of a task so that it can be performed by a computer. The course investigates strategies behind popular computational methods that are shaping our daily lives and our future. Students practice logical thinking by applying versions of these computational methods to problems in science and society.
+ 3 Units
Pankaj Chouhan
ISC 2310. Introduction to Computational Thinking in Data Science with Python (3). Prerequisite: MAC 1105 or equivalent. This course investigates strategies behind popular computational methods used in data science. In addition, many of the algorithms are implemented using the programming language Python. No prior programming experience is required so the course presents the basics of the Python language as well as how to leverage Python's libraries to solve real-world problems in data science.
ISC 3313
Introduction to Scientific Computing (C++) (4217)
M W F 1:20-2:10, 152 DSL
Sanjeeb Poudel
ISC 3313. Introduction to Scientific Computing (3). Prerequisites: MAC 2311 or instructor permission. This course introduces the student to the science of computation. Topics cover algorithms for standard problems in computational science, as well as the basics of an object-oriented programming language, to facilitate the students' implementation of algorithms.
ISC 4220C
Continuous Algorithms for Science Applications
M W F 9:20-10:10, 152 DSL - T 3:05-5:35 (lab), 152 DSL
Sachin Shanbhag
ISC 4220C. Continuous Algorithms for Science Applications (4). Prerequisite: MAC 2312. This course provides basic computational algorithms, including interpolation, approximation, integration, differentiation, and linear systems solution presented in the context of science problems. The laboratory component includes algorithm implementation for simple problems in the sciences and applying visualization software for interpretation of results.
ISC 4933/5318
High-Performance Computing
T R 9:45-11:00, 499 DSL
Xiaoqiang Wang
ISC 5318. High-Performance Computing (3). Prerequisites: ISC 5305 or equivalent or instructor permission. This course introduces high-performance computing, term which refers to the use of parallel supercomputers, computer clusters, as well as software and hardware in order to speed up computations. Students learn to write faster code that is highly optimized for modern multi-core processors and clusters, using modern software-development tools and performance analyzers, specialized algorithms, parallelization strategies, and advanced parallel programming constructs.
ISC 4304C
Programming for Science Applications
T R 9:45-11:00, F 3:05-5:35 (Lab), 152 DSL
Nicholas Dexter
ISC 4304C. Programming for Science Applications (4). Prerequisite: MAC 2311. This course provides knowledge of a scripting language that serves as a front-end to popular packages and frameworks, along with a compiled language such as (C++). Students study and practice scientific programming with the scripting language and practice how to interface it with a more traditional programming language to improve the speed of the programs developed in the course. In the laboratory component of this course, students apply the concepts learned in class. Students analyze large data sets by translating from mathematical expressions and algorithms to working computer code that is then used to visualize and summarize the results.
ISC 5314
Verification and Validation in Computational Science
T R 1:20-2:35, 152 DSL
Tomasz Plewa
ISC 5314. Verification and Validation in Computational Science (3). Prerequisites: MAC 2312, MAS 3105, or ISC 5315; or instructor permission. This course covers the theory and practice of verification and validation in computational sciences. Students learn basic terminology, are exposed to procedures and practical methods used in software implementation validation and in solution verification, employ exact and manufactured solutions, and explore elements of software quality assurance. The course introduces essential data analysis techniques and reviews software development and maintenance tools. Examples from physical sciences and engineering are used to illustrate aspects of code variation, including validation hierarchy, validation benchmarks, uncertainty quantification and simulation code predictive capabilities. The computational laboratory is an essential part of this course.
ISC 5316
Applied Computational Science II
T R 8:00-9:15, 499 DSL - R 3:05-5:35 (Lab), 152 DSL
Tomasz Plewa
ISC 5316. Applied Computational Science II (4). Prerequisite: ISC 5315 or instructor permission. This course provides students with high-performance computational tools necessary to investigate problems arising in science and engineering, with an emphasis on combining them to accomplish more complex tasks. A combination of course work and lab work provides the proper blend of theory and practice with problems culled from the applied sciences. Topics include mesh generation, stochastic methods, basic parallel algorithms and programming, numerical optimization, and nonlinear solvers.
ISC 4933/ISC 5935
Computational Probabilistic Modeling
T R 11:35-12:50, 152 DSL
Nicholas Dexter
ISC 4933/ISC 5935. Computational Probabilistic Modeling (3). Prerequisites: MAC 2312 - Calculus II, MAS 3105 – Applied Linear Algebra, and STA 4442/5440: Introduction To Probability or STA 4321/5323: Introduction to Mathematical Statistics, or the permission of the instructor. In this course, students are introduced to probabilistic programming and modeling for modern data science and machine learning applications. Algorithms for predictive inference are covered from a theoretical and practical viewpoint with an emphasis on implementation in Python. Topics include an introduction to probability and learning theory, graph-based methods, machine learning with neural networks, dimensionality reduction, and algorithms for big data.
ISC 4302/5307
Scientific Visualization
T R 8:00-9:15, 152 DSL
Xiaoqiang Wang
ISC 4302. Scientific Visualization (3). Prerequisites: MAC 1105 and MAC 2312. This course is an introduction to scientific visualization for large-scale computation and experimental data that covers the visualization methods and techniques, visualization results analysis and evaluation, and visualization practice. It teaches students the techniques for creating compelling visual representations of 2D and 3D scientific data sets. The basic concepts, data structures, and algorithms in scientific visualization are presented and applied using datasets from different disciplines. Classic visualization techniques for scalar, vector, and tensor data such as marching cubes, ray casting, splatting, streamline, and line integral convolution and more, are introduced along with popular visualization software.
ISC 4933/5935
Data Science Meets Health Science
M W F 10:40-11:30, 152 DSL
Olmo Zavala-Romero
This course will focus on the applied data science pipeline of data acquisition, data processing and integration, data modeling and analysis, and validation and delivery, commonly used in the Health industry. Topics include data normalization, scientific visualization, multivariate regression, and Artificial Neural Networks (dense, convolutional, recurrent, and adversarial). The examples and projects of this course contain 1D to 4D health data of electrocardiogram sequences, X-ray, Magnetic resonance imaging (MRI), and functional MRI images.

ISC 5935
Atomistic Modeling of Molecules and Materials
M W F 12:00-12:50, 152 DSL
Chen Huang
The course is designed for students who are interested in atomistic simulations of molecules and materials. Two popular methods will be introduced: density functional theory (DFT) and molecular dynamics. DFT has become the workhorse in industry and academia for calculating various properties of materials and molecules, such as electronic properties, crystal structures, and chemical reaction energies. We will learn both the theoretical and numerical aspects of DFT. Molecular dynamics are invaluable for understanding the dynamical processes of materials at the atomic scale. We will introduce the theories underlying molecular dynamics simulations and learn how to calculate various properties of materials using molecular dynamics. Popular software in these two fields will be introduced.
ISC 4933/5935
Computational Aspects of Data Assimilation
T R 9:45-11:00, 422 DSL
Hristo Chipilski
Data assimilation methods combine numerical models and observations to arrive at the best possible representation of a physical system. This course aims to build a robust theoretical foundation in the subject and explore some of the computational challenges in large scientific and engineering applications. Students will gain hands-on experience by implementing their own algorithms and will complete a final project on a preferred research topic. Prerequisites: Applied Statistics for Engineers and Scientists (STA 3032), Applied Linear Algebra I/II (MAS 3105/MAS 4106) and Programming for Scientific Applications (ISC 4304) or Instructor Permission Required.
ISC 4933/5935
Computational Methods in Fire Science
M W F 10:40-11:30, 499 DSL
Bryan Quaife
Have you ever wondered why fires spread and grow in size so quickly or how smoke plumes can travel thousands of kilometers? These behaviors are governed by fuel properties, atmospheric conditions, topography, and more. This course introduces physics-based and data-driven models in fire science, and investigates the sensitivity and uncertainty of these models. We will discuss computational tools including cellular automata, level set methods, and data-driven methods for discovering equations from measured data. Finally, we will explore techniques for analyzing both simulated and measured fire data.
CAP 5771/4245C
Data Mining
T R 11:35 - 12:50, 499 DSL
Gordon Erlebacher
ISC 4245C. Data Mining (3). Prerequisite: COP 3330, ISC 3222, ISC 3313 or ISC 4304; or instructor permission. In this course, students study concepts and techniques of data mining, including characterization and comparison, association rules mining, classification and prediction, cluster analysis, and mining complex types of data. Students also examine applications and trends in data mining.

GFD 4934/5936
Advanced Topics in Fire Dynamics
118 KEEN
Kevin Speer
Please contact This email address is being protected from spambots. You need JavaScript enabled to view it. for details.
ISC 5939/GFD 6935
Advance Grad Seminar in Fire Dynamics
T 12:00 - 3:00, 118 KEEN
Kevin Speer
Please contact This email address is being protected from spambots. You need JavaScript enabled to view it. for details.
GFD 5500L
Fire Dynamics Field School Research and Operations in Prescribed Fire
118 KEEN
Kevin Speer
Please contact This email address is being protected from spambots. You need JavaScript enabled to view it. for details.

ISC 4931
Junior Seminar
F 12:00-12:50, 422 DSL
Alan Lemmon
ISC 4931r. Junior Seminar in Scientific Computing (1–2). (S/U grade only.) Prerequisite: Junior standing (sixty plus hours). This is a special topics course in computational science. May be repeated two times to a maximum of four semester hours, with a maximum of only two semester hours credit allowed to be applied to the Computational Science degree.
ISC 5934
Graduate Seminar
F 3:05-3:55, 499 DSL
Xiaoqiang Wang
A series of lectures given by faculty on the research being conducted.
W 3:30 - 4:30, 499 DSL
Olmo Zavala-Romero
Weekly colloquium given by invited speakers to showcase research.
Download this file (Print_2024_Spring_Courses.pdf)Print_2024_Spring_Courses.pdf[Printable Course Listing]211 kB