IS&T RCS Summer 2025 Trainings

May 27 – June 13, 2025

Registration is open for the RCS Summer 2025 Tutorials. Please also be aware that we have lots of recordings and slides available from past tutorials by RCS staff and vendors.

Note that we last Fall switched to using a new registration system, Terrier eDevelopment, that will send calendar invites to attendees, supports a waiting list, and has various other new features. For those who have taken our tutorials earlier, the new registration process is quite different. Follow the process outlined here to register for tutorials.

  1. Go to the tutorial you want to register for by clicking on its name or just scrolling down on this page.
  2. Click the appopriate green ‘Register for this session’ link.
  3. This will take you to a page on Terrier eDevelopment. Click the blue ‘Register’ button which will take you to another page on Terrier eDevelopment.
  4. Click the blue ‘Add’ button and then click the blue ‘Register’ button on the bottom right of that same page.
  5. If you wish to register for additional tutorials, return to this page and follow the same process for each.
  • For hands-on sessions where you wish to use your own computer, please have the appropriate software installed on your computer before the session starts.
  • Tutorials are tagged based on experience required (Beginner, Intermediate, or Advanced), location (details below), and if they are new.
  • Tutorial sessions are held either in-person or over Zoom. Note that Zoom sessions will be recorded; keep your camera off if you do not want your image recorded. The recorded sessions may be made available to the BU community.

The IS&T Research Computing Services (RCS) group offers a tutorial series on programming, data analysis, high performance computing, and domain specific topics three times each year. These tutorials are free and open to all members of the Boston University community.

The RCS tutorials cover concepts, techniques, and tools which researchers can use in their own computing environments. Many are designed to help you make effective use of the Boston University Shared Computing Cluster (SCC). The RCS staff can also deliver extra, or customized, tutorial sessions to your course, group, or lab. Please contact us at help@scc.bu.edu if you are interested.

Trainings Schedule

You may register for as many tutorials as you like. Registration is required and is accessed with your BU Kerberos password.

If you don’t have a Kerberos password, or if you find that a tutorial is full, or have any other questions, please send email to rcs-tutorial@bu.edu.

Tutorial Locations

BSC Biological Science Center, 2 Cummington Mall, Room 107
Zoom Online over Zoom After you register, you will be sent a calendar invite that includes the Zoom link.


Tutorial Descriptions and Times

Research Computing Basics Tutorials

BeginnerIntroduction to BU’s Shared Computing Cluster (Hands-on)

Instructor: Aaron Fuegi (aarondf@bu.edu)

BSCTuesday May 27, 2025 12:30pm – 2:30pm Register for this session
This tutorial will introduce Boston University’s Shared Computing Cluster (SCC) in Holyoke, MA. This Linux cluster has more than 28000 processors and over 14 petabytes of storage available for Research Computing by students and faculty on the Charles River and BUMC campuses. A very large number of software packages for programming, mathematics, data analysis, plotting, statistics, visualization, and domain-specific disciplines are available as well on the SCC. You will get a general overview of the SCC and the facility that houses it and then a hands-on introduction covering connecting to and using the SCC for new users. This tutorial will cover a few basic Linux commands but we strongly encourage people to also take our more extensive “Introduction to Linux” tutorial. There will also be ample time for questions of all types about the SCC. For those in the BU community interested in using a particular package on the SCC, after taking this tutorial we also recommend viewing one of our short videos on that package if one is available.   Please read and follow these instructions prior to attending the tutorial.

BeginnerIntroduction to Linux (Hands-on)

Instructor: Augustine Abaris (augustin@bu.edu)

BSCWednesday May 28, 2025 12:30pm – 2:30pmRegister for this session
This tutorial will give attendees a hands-on introduction to Linux. Topics covered will include a short history of Linux, logging in with ssh, the Bash shell and shell scripts, I/O redirection (pipes), file system navigation, and job control. Time permitting, attendees will edit, compile, and run a simple C program. If you have not connected to the SCC from your laptop before, please read and follow these instructions prior to attending the tutorial.

IntermediateUsing and Building Containers on the SCC (Hands-on)

Instructors: Augustine Abaris (augustin@bu.edu) and Brian Gregor (bgregor@bu.edu)

BSCThursday June 5, 2025 10:00am – 12:00pmRegister for this session
Container technologies such as Docker and Singularity are becoming a common way of developing and sharing applications and workflows. In this tutorial we will cover high level concepts and options for adopting container technologies. This tutorial will provide hands-on examples for working with containers on the SCC. The first hour will cover running Singularity containers and converting Docker containers to Singularity. The second hour will cover building your own customized Singularity containers.

IntermediateIntermediate Usage of the SCC (Lecture)

Instructor: Katia Bulekova (ktrn@bu.edu)

ZoomMonday June 9, 2025 10:00am – 12:00pmRegister for this session
BSCMonday June 9, 2025 3:00pm – 5:00pmRegister for this session
This tutorial will provide some more advanced techniques and common strategies used for interacting with the Shared Computing Cluster and its resources. The topics discussed during the tutorial include:

  •    Customizing your environment
  •    Parallel computing on the SCC
  •    Jobs monitoring and profiling: CPU and GPU utilization, memory usage
  •    Profiling programs for performance optimization
  •    General optimization strategies

Prerequisites: some prior experience with high performance computing or attendance of our “Introduction to BU’s Shared Computing Cluster” tutorial.

Computer Programming Tutorials

IntermediateIntroduction to Parallel Programming (Hands‐on)

Instructor: Brian Gregor (bgregor@bu.edu)

BSCThursday May 29, 2025 12:30pm – 2:30pmRegister for this session
This “Introduction to Parallel Programming” tutorial is recommended for anyone interested in learning more about the topic or who plans on taking our language-specific tutorials on parallel programming. This tutorial is not oriented towards any program language in particular and is intended for anyone with programming experience. This tutorial covers basic topics such as the use of processes and threads, types of computer hardware for parallel computing, and the limits of parallelization as a strategy. Additionally, several common data and algorithm patterns in software will be discussed along with effective strategies on how to parallelize them.

AdvancedPython Parallelization (Hands‐on)

Instructor: Brian Gregor (bgregor@bu.edu)

BSCThursday June 5, 2025 12:30pm – 2:30pmRegister for this session
This tutorial is an introduction to the variety of ways that parallel computations can be performed in Python. Ways of identifying code that can benefit from parallelization will be discussed. Several parallelization methods using the Python language and external libraries will be covered with examples. This tutorial assumes an intermediate understanding of the Python language and parallel computing concepts. It is strongly recommended that the “Introduction to Parallel Programming” tutorial be taken first for those new to parallel software development. If you do not have Python installed on your home machine, please read and follow these instructions prior to attending the tutorial.

AdvancedPython Optimization (Hands‐on)

Instructor: Brian Gregor (bgregor@bu.edu)

BSCTuesday June 10, 2025 12:30pm – 2:30pmRegister for this session
This tutorial is for those with intermediate Python experience who are interested in optimizing their code to maximize performance. The topics covered are profiling and timing Python code, selecting data structures, avoiding common pitfalls, using external libraries, and tuning Python code. If you do not have Python installed on your home machine, please read and follow these instructions prior to attending the tutorial.

AdvancedPython with Dask (Hands‐on)

Instructor: Brian Gregor (bgregor@bu.edu)

BSCThursday June 12, 2025 12:30pm – 2:30pmRegister for this session
Dask is an open source Python library for parallel computing. This helps to scale Python code to large scale problems, including ones where the quantity of data is much greater than the amount of computer memory on hand. It provides a convenient way to adapt existing programs based around libraries such as Pandas and Numpy to run in parallel. This tutorial will cover using Dask to scale up Pandas Dataframes, numpy array processing, parallelizing custom Python code, and scalable file processing.

BeginnerNatural Language Processing Basics (LLMs Part 1) (Hands‐on)

Instructor: Josh Bevan (jbevan@bu.edu)

BSCMonday June 9, 2025 10:00am – 12:00pmRegister for this session
This is part one of a three part series but those wanting a brief introduction to Natural Language Processing (NLP) should feel free to attend just this session.   Human language/communication can be studied computationally through NLP. We’ll explore the basics of NLP using Python and PyTorch; no prior machine learning experience is necessary, basic Python knowledge is helpful but not necessary. We will create a bigram character model and use it to generate random first names of people; we will build statistical and neural network implementations.

IntermediateIntermediate Language Models (LLMs Part 2) (Hands‐on)NEW ICON

Instructor: Josh Bevan (jbevan@bu.edu)

BSCWednesday June 11, 2025 10:00am – 1:00pmRegister for this session
Large Language Models (LLMs) first require successful “non-large” language models. We’ll look at word embeddings, a technique for encoding words as vectors that capture their semantic meaning. We’ll examine the popular word2vec method and build/train a model to generate our own word embeddings. Finally we’ll explore how to perform linguistic operations using vector arithmetic with word2vec.

AdvancedGPT & Transformers (LLMs Part 3) (Hands‐on)NEW ICON

Instructor: Josh Bevan (jbevan@bu.edu)

BSCFriday June 13, 2025 10:00am – 12:00pmRegister for this session
Training Large Language Models (LLMs) requires a large neural network, large data, and large compute. We will discuss these difficulties. We’ll look at the Transformer architecture in detail to develop a quantitative understanding of how it works and how specifically tools like ChatGPT, DeepSeek, Llama, etc. work. We will then use a pre-trained SentenceTransformer model to do a range of classification on real-world data.

High Performance Computing Tutorials

IntermediateIntroduction to MPI (Hands‐on)

Instructor: Josh Bevan (jbevan@bu.edu)

ZoomWednesday June 4, 2025 3:00pm – 5:00pmRegister for this session
Many programs can be sped up by using additional CPU cores. To do this the execution needs to be parallelized and distributed across multiple cores. While “shared-memory” approaches like OpenMP allow you to use many cores on a single machine, if the program can still benefit from additional cores then a “distributed-memory” approach like MPI is needed to use multiple machines/nodes. MPI provides a way to communicate between machines and distribute work/data so that they can work cooperatively. This tutorial will take a hands-on approach at writing several simple MPI programs and along the way demonstrate basic MPI functionality. Prior parallel programming experience for attendees is important. Programs will be written in Fortran so prior experience in Fortran is helpful, but the syntax is straightforward so C/C++ experience can be enough. It is strongly recommended that the “Introduction to Parallel Programming” tutorial be taken first for those new to parallel software development.

Domain Specific Tutorials

BeginnerIntroduction to ImageJ (Hands‐on)

Instructor: Brian Gregor (bgregor@bu.edu)

ZoomWednesday May 28, 2025 3:00pm – 5:00pmRegister for this session
ImageJ is a popular open source tool for image analysis and processing. In this tutorial we will cover the basics of digital images, the ImageJ interface, image manipulation, and performing quantitative measurements. ImageJ’s macro language and its macro recorder will be introduced to show how ImageJ can be used to perform automated image analysis. If you do not have ImageJ installed on your home machine, please read and follow these instructions prior to attending the tutorial.