Workshops

PICS hosts a few workshops a semester for students and faculty to learn different coding techniques from instructors. Below, you can find more information on both upcoming and past workshops that PICS has held.

Return to this page soon for updates on the spring 2024 semester workshops!

TopicDateInstructorDescription
COMSOL9/28/2023COMSOLPlease join us for a free online presentation to learn the fundamental workflow of the COMSOL Multiphysics® modeling environment. During the presentation, you will see a live demonstration of how to set up and solve a model including coupled heat transfer and structural mechanics effects, as well as how to process the results in COMSOL Multiphysics®.
RUST4/1/2023Ian GrahamIn this workshop we will give an introduction to Rust code syntax and semantics. We will show how language features from familiar languages like Python and C++ transfer over, while also introducing concepts not found in many mainstream languages; these include Rust‘s ownership model, traits, and lifetimes. The first half of the workshop will cover the necessary basics with examples. In the second half, we will demonstrate how to build Python extension libraries in Rust, boosting the speed of computationally intensive analysis workloads.
Python11/9/2019Adam MallyThis one day Python workshop is designed to be an introduction to programming in Python. In this workshop you will learn to write clean, readable, and fast Python code with a focus on graphics-based programming, we ask that you have a proficiency in basic computer operations and you must bring your own laptop.
HPC11/2/2019Stuart Slattery of Oak Ridge National LaboratoryThis course will overview the Kokkos programming model for performance portability (https://github.com/kokkos/kokkos). Kokkos is actively being developed by national laboratory staff within the Department of Energy (DOE) to allow developers to compose complex C++ applications through template metaprogramming concepts capable of running on the variety of supercomputers DOE is in the process of procuring in the transition to exascale computing. This includes multithreaded CPU architectures, NVIDIA GPUs, AMD GPUs, Intel GPUs, as well as ARM platforms. In this class we will cover the basics of Kokkos in a tutorial format with interactive code exercises.
C++10/19/2019Adam MallyThis one day workshop will teach students the basic skills needed to program in C++. We ask that anyone who attends has at least one year of prior programming experience in any language.
Python Boot Camp11/8/2014Constantine LignosPython is a great language for getting things done, with an approachable syntax and simple but powerful standard data structures. In this class, we will introduce the basics of Python syntax and work through examples of performing basic data processing operations in Python. You’ll learn to write clean, readable, and fast Python code and how to implement simple algorithms and data processing programs.
COMSOL10/21/2014COMSOLA representative from COMSOL will be on campus to demonstrate the software and lead two specialized sessions concentrating on structural mechanics and heat transfer. The workshop will feature hands-on exercises using COMSOL and includes a free two-week COMSOL trial.
Mathe-matica10/13/2014MathematicaThis workshop will feature two hour-long seminars: the first will be a broad overview of the software, and the second will focus on its engineering-specific applications. These seminars will be in a lecture format rather than hands-on exercises. All who are interested (both novice and advanced users) are welcome to attend.
Software Carpentry8/21/2014Software CarpentrySoftware Carpentry’s mission is to help scientists and engineers become more productive by teaching them basic lab skills for computing like program design, version control, data management, and task automation. This two-day hands-on bootcamp will cover basic concepts and tools; participants will be encouraged to help one another and to apply what they have learned to their own research problems.
COMSOL6/20/2014COMSOLA representative from COMSOL will be on campus to demonstrate the software and lead two specialized sessions concentrating on structural mechanics and heat transfer. The workshop will feature hands-on exercises using COMSOL and includes a free two-week COMSOL trial.
C/C++ Boot Camp5/17/2014Peter-Michael OseraC/C++ are powerful programming languages that give programmers deep control of their computations. However, C/C++ are notoriously hard languages to learn and “easy to shoot yourself in the foot” with. In this class, we will introduce the basics of C and C++: the compilation model, memory safety, low-level object-oriented programming, and the standard library. While you will obviously not be able to master C/C++ in the short span of this course, you will become aware of and gain experience in dealing with the issues that a C/C++ developer faces while writing performance-demanding programs.
MATLAB Boot Camp4/12/2014Jeremy MaglandMATLAB is a standard language for numerical computing. While there are often many ways to program the same algorithm, the choice of the method can greatly impact computational efficiency. Knowledge of the special syntax for vector/matrix/array operations is therefore a critical prerequisite. However we will also focus on how to structure MATLAB programs in a modular, readable, and computationally efficient manner.
Python Boot Camp2/18/2014Constantine LignosPython is a great language for getting things done, with an approachable syntax and simple but powerful standard data structures. In this class, we will introduce the basics of Python syntax and work through examples of performing basic data processing operations in Python. You’ll learn to write clean, readable, and fast Python code and how to implement simple algorithms and data processing programs.
C/C++ Boot Camp1/21/2014Peter-Michael OseraC/C++ are powerful programming languages that give programmers deep control of their computations. However, C/C++ are notoriously hard languages to learn and “easy to shoot yourself in the foot” with. In this class, we will introduce the basics of C and C++: the compilation model, memory safety, low-level object-oriented programming, and the standard library. While you will obviously not be able to master C/C++ in the short span of this course, you will become aware of and gain experience in dealing with the issues that a C/C++ developer faces while writing performance-demanding programs.
C/C++ Boot Camp10/5/2013Peter-Michael OseraC/C++ are powerful programming languages that give programmers deep control of their computations. However, C/C++ are notoriously hard languages to learn and “easy to shoot yourself in the foot” with. In this class, we will introduce the basics of C and C++: the compilation model, memory safety, low-level object-oriented programming, and the standard library. While you will obviously not be able to master C/C++ in the short span of this course, you will become aware of and gain experience in dealing with the issues that a C/C++ developer faces while writing performance-demanding programs.