Past PICS Workshops



Past Workshops and Bootcamps at PICS


Python Workshop

Saturday, November 9, 2019 from 10:00AM – 3:30PM

  • Instructor: Adam Mally – Lecturer – Computer and Information Science (CIS) at the University of Pennsylvania
  • Description: This 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.

Student prerequisites

  • To attend this workshop you must be a student (or postdoc) at the University of Pennsylvania.

When: Saturday, November 9, 2019 from 10:00AM – 3:30PM
Where: Towne Building, Room 337
Instructor: Adam Mally


HPC Workshop

Saturday, November 2nd from 9:00AM – 1:00PM

  • Instructor: Stuart Slattery of Oak Ridge National Laboratory.
  • Description: This 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.
  • This includes:
    • Portable memory allocation and code execution
    • Managing data access patterns for performance portability
    • Simple 1D data parallel computational patterns
    • Thread safety, thread scalability, and atomic operations
    • Hierarchical patterns for maximizing parallelism
    • Multidimensional parallelism

Student prerequisites

  • Want to use all HPC node architectures in a single code base; including GPUs
  • Are familiar with C++ including templates
  • Are familiar with data parallelism
  • A little familiar with OpenMP
  • A little familiar with NVIDIA GPU architecture
  • Want GPU programming to be easier
  • Would like portability as long as it doesn’t hurt performance
  • You must be a student of the University of Pennsylvania
  • Due to the limited number of machines available, we will need to cap this class at 22 people.

When: Saturday, November 2nd from 9:00AM – 1:00PM
Where: Moore 100A Computer Lab
Instructor: Stuart Slattery


C++ Programming Language

October 19th, 2019 from 10:30AM to 3:30PM

  • Instructor: Adam Mally – Lecturer – Computer and Information Science (CIS) at the University of Pennsylvania
  • Description: This 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.

Student prerequisites

  • To attend this workshop you must be a student (or postdoc) at the University of Pennsylvania
  • Due to the limited number of machines available, we will need to cap this class at 30 people.

When: Saturday, October 19th at 10:00AM – 3:30PM
Where: Towne Building, Room 337
Instructor: Adam Mally


Python Boot Camp

November 8, 2014 to November 9, 2014

  • Instructor: Constantine Lignos, Post-doctoral researcher at Children’s Hospital of Philadelphia
  • Description: Python 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.

Instructor: Constantine Lignos


COMSOL Workshop

October 21, 2014

  • Description: A 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.

Mathematica

October 13, 2014

  • Description: This 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 Carpentry

August 21, 2014 to August 22, 2014

  • Description: Software 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.

COMSOL Workshop

June 20, 2014

  • Description: A 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 Camp

May 17 and 18, 2014

  • Instructor: Peter-Michael Osera, PhD student in Computer and Information Science, University of Pennsylvania
  • Description: C/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.

Instructor: Peter-Michael Osera


MATLAB Boot Camp

April 12 and 16, 2014

  • Instructor: Jeremy Magland, Research Assistant Professor, Department of Radiology, University of Pennsylvania
  • Description: MATLAB 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.

Instructor: Jeremy Magland


Python Boot Camp

February 18 and 19, 2014

  • Instructor: Constantine Lignos, Post-doctoral researcher at Children’s Hospital of Philadelphia
  • Description: Python 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.

Instructor: Constantine Lignos


C/C++ Boot Camp

January 21 and 22, 2014

  • Instructor: Peter-Michael Osera, PhD student in Computer and Information Science, University of Pennsylvania
  • Description: C/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.

Instructor: Peter-Michael Osera


C/C++ Boot Camp

October 5th and 6th, 2013

  • Instructor: Peter-Micharl Osera, PhD student in Computer and Information Science
  • Description: C/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.

Instructor: Peter-Michael Osera