IS&T RCS Spring 2024 Trainings

January 22 – February 1, 2024

Registration is open for the RCS Spring 2024 Tutorials. Note that RCS is offering fewer live sessions while our instructors spend time creating new scripted training videos. The first of these, titled GIS Using R: sf library, is now available along with recordings and slides from past tutorials by RCS staff and vendors.

  • 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. Zoom sessions have special considerations:
    • Please register at least three days in advance in order to be emailed the Zoom link.
    • 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.

Register

Trainings Schedule

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

If you don’t have a BU login and 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 Registered attendees will be sent via email the Zoom link for each tutorial 2-3 days before the tutorial starts and at this point registration for the tutorial will close.


Tutorial Descriptions and Times

Research Computing Basics Tutorials

Beginner Introduction to BU’s Shared Computing Cluster (Hands‐on)

Instructor: Aaron Fuegi (aarondf@bu.edu)

Zoom Monday, January 22, 2:30pm – 4:30pm
BSC Tuesday, January 23, 1:00pm – 3:00pm

This tutorial will introduce Boston University’s Shared Computing Cluster (SCC) in Holyoke, MA. This Linux cluster has more than 28000 processors and over 12 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.

Beginner Introduction to Linux (Hands‐on)

Instructor: Augustine Abaris (augustin@bu.edu)

BSC Tuesday, January 23, 10:00am – 12:00pm

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.

Intermediate Intermediate Usage of the SCC (Lecture)

Instructor: Katia Bulekova (ktrn@bu.edu)

BSC Thursday, January 25, 10:00am – 12:00pm
Zoom Monday, January 29, 9:30am – 11:30am

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 (CPU and 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.

Register

Computer Programming Tutorials

Beginner Introduction to Python, Part One (Hands‐on)

Instructor: Brian Gregor (bgregor@bu.edu)

BSC Monday, January 22, 12:00pm – 2:00pm

This is an introduction to the essential features of Python. The pacing of the tutorial is appropriate for beginner programmers. This first part of the tutorial includes an introduction to basic types, if-statements, functions, lists, dictionaries, loops, and modules. The tutorial includes the use of a popular Python development environment and covers setting up Python on your own computer in addition to using Python on the SCC. This is a two-part tutorial so please remember to sign up for both sessions.

Recommended but not required: some programming experience.

If you do not have Python installed on your home machine, please read and follow these instructions prior to attending the tutorial.

Beginner Introduction to Python, Part Two (Hands‐on)

Instructor: Brian Gregor (bgregor@bu.edu)

BSC Friday, January 26, 12:00pm – 2:00pm

This tutorial is a continuation of “Introduction to Python, Part One” and introduces more features of the language, common libraries such as numpy and matplotlib, and the basics of debugging Python programs. Please make sure you sign up for part one as well.

If you do not have Python installed on your home machine, please read and follow these instructions prior to attending the tutorial.

Intermediate Introduction to PyTorch (Hands‐on)

This tutorial was postponed one week to Feb 6 due to instructor illness.

Instructor: Scott Ladenheim (saladenh@bu.edu)

BSC Tuesdy, February 6, 10:00am – 12:00pm

This tutorial will introduce the popular Python package PyTorch. PyTorch is an optimized tensor library for deep learning using GPUs and CPUs. In this tutorial you will learn how to use PyTorch to build and train neural networks.

This tutorial requires Python programming experience. This tutorial will use the popular Jupyter Notebook system for working with Python code. You are welcome to use your own computer for this tutorial. If you do not have Python installed on your home machine, please read and follow these instructions prior to attending the tutorial.

Intermediate Numerical Computing in Python (Hands‐on)

Instructor: Brian Gregor (bgregor@bu.edu)

Zoom Wednesday, January 31, 12:00pm – 2:00pm

Python is now widely used for numerical calculations and data analysis. This tutorial is an introduction primarily to the Numpy library which provides data structures and algorithms that are optimized for numeric data. The Numpy library is the basis for a wide variety of numeric and graphics libraries in Python. The usage of the numpy multi-dimensional array type will be covered in detail. The Scipy library and how it can be effectively used with Numpy arrays and other Python data structures will be discussed. This tutorial assumes familiarity with Python.

Prerequisite: If you are new to the Python programming language we strongly recommend that you also register for the “Introduction to Python” two-part tutorial.

If you do not have Python installed on your home machine, please read and follow these instructions prior to attending the tutorial.

Register

High Performance Computing Tutorials

Intermediate MATLAB Performance Optimizaiton (Hands‐on)

This tutorial was postponed two weeks to Feb 8.

Instructor: Josh Bevan (jbevan@bu.edu)

Zoom Thursday, February 8, 1:00pm – 3:00pm

For many programs speed is the main research productivity factor, meaning the difference between hours versus months in getting results. For many applications it is possible to write MATLAB programs that are as fast or only a factor of 2-3 times slower than a compiled C++ or Fortran version, while requiring dramatically fewer lines of code and/or being faster to develop. For existing MATLAB programs, optimizing their performance can provide dramatic speedups. This tutorial will take a “case study” hands-on approach, examining several example programs and optimizing their performance. In the process this will demonstrate useful speedup techniques including vectorization, bsxfun, memory management, and “big O” algorithmic improvements.

Basic knowledge of MATLAB is assumed.

If you do not have MATLAB installed on your home machine, please read and follow these instructions prior to attending the tutorial.

Register

Data Analysis Tutorials

Intermediate Data Visualization in Python (Hands‐on)

This tutorial was postponed one week to Feb 5 due to instructor illness.

Instructor: Scott Ladenheim (saladenh@bu.edu)

BSC Monday, February 5, 12:00pm – 2:00pm

Python is one of the most popular programming languages for data analysis, data mining, and machine learning applications. In this tutorial we will introduce the following powerful Python plotting/visualization packages: Matplotlib, Seaborn, and Plotly.

This tutorial will explore the many useful functions of these packages with hands-on exercises. Python programming experience is advised. This tutorial will use the popular Jupyter Notebook system for working with Python code. We will briefly introduce the pandas library for data preprocessing but prior experience using Pandas is helpful.

If you do not have Python installed on your home machine, please read and follow these instructions prior to attending the tutorial.

Intermediate Creating Pretty Documents using R Markdown and Quarto (Hands-on)

Instructor: Katia Bulekova (ktrn@bu.edu)

Zoom Thursday, February 1, 10:00am – 12:00pm

R Markdown is a powerful tool that helps produce elegantly formatted documents.

In this tutorial, we will learn how to use the rmarkdown, ggplot2, and kable packages, as well as their extensions to develop reports that include code, graphics, and tables.

We will cover various options to customize code chunks, figures, and tables and go over the best practices for organizing the code.

We will also explore Quarto which is a new tool that allows using markdown and creating elegantly formatted articles, reports, and presentations.

If you do not have R and RStudio installed on your laptop, please read and follow these instructions prior to attending the tutorial.

Intermediate Natural Language Processing with Python (Hands‐on) NEW ICON

Instructor: Josh Bevan (jbevan@bu.edu)

BSC Thursday, February 1, 1:00pm – 3:00pm

Human communication is rich and complex, and one of the main ways we encode it computationally is through Natural Language Processing (NLP). In this tutorial, we’ll explore recent advances in NLP. First, we’ll look at generating random first names of people using a simple character level “bigram” model. Then we’ll dive into word embeddings, a technique for encoding words as vectors that capture their semantic meaning. We’ll look at the popular word2vec method and explore how to perform linguistic operations using simple vector arithmetic. Finally, we’ll look at transformer models and see how we can use a pre-trained SentenceTransformer model to do a range of classification on real-world data.

Register