Running programs on the supercomputers is done via the BASH shell. This course is two three hour live demos on using bash. No prior familiarity with bash is assumed. In addition to the basics of getting around, globbing, regular expressions, redirection, pipes, and scripting will be covered. A series of exercises are required to be done in order to complete the course.

Level: Introductory

Length: Two 3-Hour Sessions

Format: Lecture + Hands-on

Prerequisites: None

This workshop is a 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.

Level: Introductory

Length: 3 Hours

Format: Lecture + Hands-on

Prerequisites: Basic Linux e.g. "Introduction to Linux Shell"

Using version control for your scripts, codes, documents, papers, and even data, allows you to track changes, keep backups, and facilitate collaboration. This introductory workshop will teach you 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.

Level: Introductory

Length: 3 Hours

Format: Lecture + Hands-on

Prerequisites: Basic Linux

This course is designed to provide you with a solid foundation in Python programming language. Through a comprehensive curriculum and hands-on coding exercises, participants will learn the fundamentals of Python syntax, data types, functions, and file handling. By the end of the course, you will have gained the essential skills to write Python programs, solve problems, and build the foundation for more advanced Python development. Whether you are a beginner or have some programming experience, this course will equip you with the necessary tools to start your journey in Python programming.

Level: Introductory

Length: Two 3-Hour Sessions

Format: Lecture + Hands-on

Prerequisites: None

This course introduces Artificial Intelligence (AI), a science focusing on developing intelligent systems capable of autonomous behavior. In this course, we explore the exciting world of AI, introducing its definition and history. We discuss the advantages and challenges of AI in the present time, along with various applications and projects that demonstrate its capabilities. Throughout the session, participants will gain insights into different types of AI, learn about running predefined projects, and discover AI showcases on various platforms. By the end of the course, participants will have the knowledge and resources to start their own AI projects with their data, exploring the latest AI advancements in our clusters.

Level: Introductory

Length: 3 Hours

Format: Lecture

Prerequisites: Basic Python beneficial but not required

This half-day session offers a brief introduction to R, with a focus on data analysis and statistics. We will discuss the following topics: the R interface, primitive data types, lists, vectors, matrices, and data frames - a crucial data type in data analysis and the trademark of the R language. Advanced topics to be covered include: basics statistics and function creation; and the basics of scripting.

Level: Introductory

Length: 3 Hours

Format: Lecture + Hands-on

Prerequisite: Some programming experience in another programming language

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.

Level: Introductory

Length: Two 3-Hour Sessions

Format: Lecture + Hands-on

Prerequisites: None