Departments across campus teach a very wide variety of courses in computational science and engineering. In addition, PICSciE supports courses in core topics, such as software engineering and numerical analysis. A graduate certificate program in computational and information science is now available.
APC 524 / MAE 506 / AST 506: Software Engineering for Scientific Computing
Robert H. Lupton
Clarence W. Rowley
James M. Stone
The goal of this course is to teach basic tools and principles of writing good code, in the context of scientific computing. Specific topics include an overview of relevant compiled and interpreted languages, build tools and source managers, design patterns, design of interfaces, debugging and testing, profiling and improving performance, portability, and an introduction to parallel computing in both shared memory and distributed memory environments. The focus is on writing code that is easy to maintain and share with others. Students will develop these skills through a series of programming assignments and a group project.
APC 523 / AST 523: Numerical Algorithms for Scientific Computing
James M. Stone
Computers have made it possible, even easy, to collect vast amounts of data from a wide variety of sources. It is not always clear, however, how to use that data, and how to extract useful information from it. This problem is faced in a tremendous range of business and scientific applications. This course will focus on some of the most useful approaches to this broad problem, exploring both theoretical foundations and practical applications. Students will gain experience analyzing several kinds of data, including text, images and biological data. Topics will include classification, clustering, prediction, and dimensionality reduction.