Nowadays, researchers working in fields ranging from astrophysics to molecular dynamics, genetics, and bio-informatics, need to use Linux to be able to handle their computational needs. 

Linux is one of the most advanced, powerful and extremely efficient operating systems. Working with HPC systems involves using the Linux command line. Learn the basics of how to use the Linux terminal in a couple of hours. Very useful for users with no experience in the Linux command line. No previous experience is required. Learn to navigate the file system of a computer and manipulate files and commands using one of the most powerful operating systems by using simple but extremely powerful commands in a Linux terminal.

Learn the basics of how to use the unix shell in a few hours. Includes a mild introduction to bash scripting as well.

This workshop will be delivered online in two sessions:

  • June 12 from 9:00 A.M. to 12:00 P.M. (Eastern Daylight Time)
  • June 12 from 1:30 P.M. to 4:30 P.M. (Eastern Daylight Time)

This workshop is an entry-level primer for those largely new to supercomputing, i.e., to computing on shared, remote resources.  It is intended to demystify the somewhat intimidating term "High-Performance Computing" (HPC), and to serve as a foundation upon which to build over the coming days. Topics will include motivation for HPC, available resources, essential issues, and a high level overview of parallel programming models commonly used on these systems.

Prerequisite: Basic Linux knowledge such as gained from 2023 COSS Introduction to Linux Shell .

This workshop will be delivered online in one session:

  • June 13 from 9:00 A.M. to 12:00 P.M. (Eastern Daylight Time)

Using version control for your scripts, codes, documents, papers, and even data, allows you to track changes, keep backups, and facilitate collaboration.  In this workshop, you will learn the basics of version control with the popular distributed version control software GIT. This workshop assumes that students have an understanding of basic Linux shell commands.

This workshop will be delivered online in one session:

  • June 13 from 1:30 P.M. to 4:30 P.M. (Eastern Daylight Time)

Python is one of the most popular programming languages. The broad range of packages available and strong community make it a versatile language that can be used for almost anything. On top of that, it's a beginner-friendly language that anyone can learn. This workshop covers all the basics of Python and programming in general. By the end of the session, you'll be able to use Python to load, manipulate, and visualize data.

This workshop will be delivered online in two sessions:

  • June 14 from 9:00 A.M. to 12:00 P.M. (Eastern Daylight Time)
  • June 14 from 1:30 P.M. to 4:30 P.M. (Eastern Daylight Time)

This course will provide hands-on experience on fundamental concepts of programming using C. This will include Conditional statement, Loops(while and for), Arrays, Pointers, Functions and Dynamic memory allocation.

An introduction will be provided regarding fundamental data structures such as linked list, stacks, queues and binary trees. Understanding of these fundamental programming concepts will aid in learning other High-level and Object oriented programming languages such as C++ etc.

No prerequisites are required. Some experience in other programming languages is good to have, but not required. 

This workshop will be delivered online in two sessions:

  • June 15 from 9:00 A.M. to 12:00 P.M. (Eastern Daylight Time)
  • June 15 from 1:30 P.M. to 4:30 P.M. (Eastern Daylight Time)
This course will introduce the tools for debugging and profiling parallel programs available on national systems. Through a series of hands-on exercises we will learn to find and fix common bugs in MPI, OpenMP, and CUDA programs, and improve efficiency of a parallel code.

This workshop will be delivered online in two sessions:

  • June 16 from 9:00 A.M. to 12:00 P.M. (Eastern Daylight Time)
  • June 16 from 1:30 P.M. to 4:30 P.M. (Eastern Daylight Time)