Our Courses

Below is a list of courses we regularly offer. Some of them may be available to take online at any time. Others are only available when we schedule them. Check our calendar to see what courses are currently scheduled.

Request a Course – Let us know if you would like us to schedule one of these courses or help us design new courses by telling us about what you wish we offered.

ITC offers Software Carpentry workshops that aim to help researchers get their work done in less time and with less pain by teaching them basic research computing skills. This hands-on workshop will cover basic concepts and tools, including program design, version control, data management, and task automation. Participants will be encouraged to help one another and to apply what they have learned to their own research problems.


Reproducible Research at Dartmouth

The Library and ITC fully collaborate on the RR@D initiative to bring workshops and training related to data acquisition, management, storage and transformation, automation and scripting, and best practices.

Introduction to Containerization with Docker

Docker is the #1 most wanted and #2 most loved software developer tools, and helps millions of researchers and IT professionals build, share and run any app, anywhere – locally, in the institution’s infrastructure, or in the cloud. It is a pivotal tool for Reproducible Research that allows anyone with a container to run any analysis the way it was designed, including all the dependencies and necessary software.  Research Computing is offering this hands-on workshop as an introduction to containerization. In this introduction, you’ll learn the fundamentals of containerization and how to build/use Docker/container images.  

Please install Docker Desktop (https://www.docker.com/products/docker-desktop) before the workshop if you plan to follow along.

Workshop Presented by: Jonathan Crossett and Elijah Gagne, Research Computing (ITC).

Workshop useful links:

Past workshop recordings: 01/19/2022

Introduction to Container Automation and Orchestration with Kubernetes

After having deployed a few containers with Docker, look into Kubernetes, an open-source container-orchestration system for automating computer application deployment, scaling, and management. It was originally designed by Google. Research Computing is offering this hands-on workshop as an introduction to Kubernetes. In this introduction, you’ll learn the fundamentals of Kubernetes.  Topics will include Pods, Deployments, Services, Persistent Volumes, Persistent Volume Claims, and more.

Please install VirtualBox (https://www.virtualbox.org/) and Minikube (https://minikube.sigs.k8s.io/docs/start/) before the workshop if you plan to follow along.

Workshop presented by Jonathan Crossett and Elijah Gagne – Research Computing (ITC)

Workshop material: follow along
Past workshop recordings: 02/16/2022

Hands-on Tutorial: Introduction to Database Design and Implementation

Research Computing offers this hands-on workshop providing an introduction to database design. Using a relational database can help you store and analyze your research data and results more efficiently (than flat/text files). We will be using the relational database paradigm, the Unified Modeling Language (UML), and the Entity-Relationship (ER) model, and implement a simple MySQL database.

In order to actively participate, please bring your own laptop (Mac/Win) and install the following software:

Please note that this Introduction to Database Design will be followed by an Introduction to Database Query and Analytics.

Hands-on Tutorial: Introduction to Database Query and Analytics

Research Computing offers this hands-on workshop providing an introduction to database query in Structured Query Language (SQL). Using a relational database can help you store and analyze your research data and results more efficiently (than flat/text files). We will be using SQL on a pre-populated database to extract, filter and answer simple analytics questions. If time permits, we will explore ways of programmatically accessing databases from tools such as R or Python in order to automate the analytical process.

Please note that this Introduction to Database Query and Analytics is preceded by an Introduction to Database Design.

Getting Started with Databases Design and Query

This hands-on workshop starts with an introduction to database design, followed by an overview of the basics of querying data stored in a database. Using a relational database can help you store and analyze your research data and results more efficiently (than flat/text files). We will be using the relational database paradigm, the Unified Modeling Language (UML), the Entity-Relationship (ER) model, and implement a simple MySQL database. Then, we will be using the Standard Query Language (SQL) on a pre-populated database to extract, filter and answer simple analytics questions.

This workshop is a combination of:

  • Introduction to Database Design and Implementation
  • Introduction to Database Query and Analytics

Media material:

Workshop: Getting Started Using The Discovery Cluster

Dartmouth College and Research Computing offer access to Discovery, our High-Performance Computation (HPC) cluster to the entire research community. This class is for users new to the Discovery cluster. It covers how to set up your environment, submit jobs, transfer files to and from the cluster, how to use available storage, and how to monitor your jobs.

Come prepared:

Discovery account

if you already have one, make sure you know the login ID and password. E-mail Research.Computing@dartmouth.edu if you need help with your existing login info (reset password, etc)

if you do not have one, request one at least 24 hours before the class: dartgo.org/rc-account

Please make sure you have the following software installed before the beginning of the class

Windows: http://mobaxterm.mobatek.net/download-home-edition.html

Mac: https://www.xquartz.org/

Linux: none

Research Data Storage on Campus and Beyond

Dartmouth College offers a comprehensive set of storage solutions for your research data. Storage comes in many models, each adapted to its own use cases (OneDrive, Box, AFS, SMB, (no)SQL, etc). During this workshop, we will cover strategies, tools, and computational solutions to ensure the availability, safety and security of your research (input) datasets and results, and your documents. We will compare and contrast online vs. on-premise solutions, databases and directory-based storage (file systems), and personal and shared (lab) spaces.

Related videos:

Hands-on Training: Introduction to scripting with Python

Research Computing will be presenting this workshop for those that have no prior programming experience and want to learn more about scripting/programming for the first time. Python is a popular programming/scripting language, used for data analytics and automation of tasks with scripts as well as a host of other uses.  We’ll introduce the basic programming structures:

    • what is scripting/programming and why do I need it?
    • Python interactive mode and interpreter
    • variable declaration (strings, numbers, lists, and arrays, etc)
  • looping and forking (‘if… then… else’, ‘while’, ‘for’ statements)

Time permitting, we’ll introduce additional concepts:

    • defining a function (avoid repetition of code and increase re-usability)
  • modules/libraries (avoid reinventing the wheel)

Prerequisite:

Hands-on Training: Introduction to data analysis with Python

Research Computing will be presenting this workshop for those that want to learn more about using the Python programming language for basic data analysis.  Python is a popular programming language that is widely used to automate tasks and analyze datasets.  Having prior programming experience is helpful but not required to attend this workshop.  We’ll cover a brief refresher on declaring variables and importing modules, and then dive right into importing datasets, building data structures/dataframes, and performing basic analysis and data visualization programmatically with Python.

Prerequisite and links:

Recorded live session(s): Oct. 8, 2020

Introduction to GIS Workshop

Learn about geographic and spatial information, map projections, sources of data, and how software can be used in digital map-making and spatial analysis. Gain an understanding of how to put your research data into a geographic information system, and overlay it with other vector and raster base layers from online sources.

The target audience is faculty, graduate students, and anyone else interested in learning more about geographic information systems for their research.
Prerequisite: None

Course Length: 1 hour

Recorded sessions:  (videos are sequential and ‘chunked’ in to short, manageable bites)
Brief Intro to GIS (runtime ~9 minutes)

ArcGIS Online hands-on tutorial (runtime ~12 minutes) Brief ArcGIS Online tutorial

Intro to R and GIS Workshop

Did you know that the R statistical package has Geographic Information Systems and mapping tools? Various R packages can be imported to analyze and display spatial information right in R studio. During this session, you will get a chance to work with R and spatial datasets and be introduced to techniques for finding spatial and non-spatial datasets for use in R and GIS. No experience is necessary to attend the workshop.

The target audience is faculty, graduate students, and anyone else interested in learning more about geographic information systems for their research.
Prerequisite: None
Course Length: 1 hour

Pre-recorded Sessions (sequential and ‘chunked’ into short, manageable bites)

R Spatial Intro  (~7 minutes)

Getting ready to code in R  (~3 minutes)

Basic coding in R (~5 minutes) Spatial analysis with R

R Spatial Intro (~19 minutes)

GIS Lite: Tools for Easy Mapping (Co-taught by Research Computing and the Dartmouth College Library Evans Map Room personnel)

This workshop will cover some basic mapping and GIS tools through Dartmouth College Library and Dartmouth ITS. These lightweight tools allow access to simple geographic analysis, without having to learn a full-blown GIS system. We will cover Social Explorer, ArcGIS Online, and other tools as time allows. With these tools, we will look at US Census Bureau data, imagery, and cultural statistics. We will also introduce and review other mapping sites listed on the web gis Research Guide.

The target audience is faculty, graduate students, and anyone else interested in learning more about geographic information systems for their research.
Prerequisite: None
Course Length: 1 hour

Programming with R, parts 1 & 2

“R” is a free software environment used for computing, graphics, and statistics.  R software runs on Mac, Windows, and Linux machines, and is very useful for working with research datasets.  It has a large and growing user base among scientists and researchers.  Learning how to program in R is useful for analyzing datasets, visualizing results, and preparing graphics for publications.  This course will provide a foundation in programming in the R environment.

Prerequisite:

Course Length: 2 hours for each part
Material: http://swcarpentry.github.io/r-novice-inflammation/

Introduction to High-Performance Computing, Part 1 & Part 2

Learn the basics of High-Performance Computing (HPC).  We’ll demonstrate logging in to Dartmouth’s HPC environments and run sample Python and R scripts/programs. We will introduce the Linux commands necessary to access, navigate and utilize the HPC environment, including our network attach research data storage solution, DartFS.  Linux and Unix tools can perform basic and complex operations such as folder and file navigation and permissions, automation of repetitive tasks, find and replace operations.

Prerequisite:

Course Length: 2 hours for each part
Material: http://swcarpentry.github.io/shell-novice/

Version Control with GIT

Version control, also known as revision control, allows you to keep track of overtime changes in documents, and revert back to the previous version easily. “Anything committed is never lost”. Originally developed for source code management, it is a great way to work with any text documents and more. Git, in conjunction with online platforms like GitHub, GitLab, or Bitbucket, allows you to go a few steps beyond:
  • save your work in the cloud
  • Share with collaborators anywhere in the world
  • synchronize your work between several machines, including the HPC environment, regardless of the operating system
  • publish your work across the internet

Prerequisite:

Course Length: 2 hours for each part
Material: See Software Carpentry lesson

Introduction to Matlab

Matlab is a great tool for working with data, performing computations and analysis, and creating visualizations.  It also includes a robust programming language for scripting repeatable analytical routines.

Prerequisite:

  • None

Course Length: 1 hour

Introduction to Qualtrics, a (Research) Survey Tools

Qualtrics is an advanced survey platform that allows sophisticated branching logic, distribution, and result analytics. Qualtrics is a web-based survey generation tool that allows users to build surveys with drop-down selection menus, open-format questions, multiple-choice questions, Likert scales, and more.  Qualtrics allows students, staff, and researchers to share and collaborate on surveys with their colleagues. Users can also capture qualitative insights quickly and easily through Qualtrics text tools; and, most importantly, Qualtrics meets the highest HIPAA, PHI, IRB, and security standards in the industry—giving everyone involved peace of mind.

Prerequisite:

  • a valid NetId (and password) – bring your “Duo device” along.

Course Length: 2 hours

Link: Qualtrics in Higher Education, Qualtrics Help, Qualtrics login

Live session recording(s): 10/15/2020

Introduction to LaTeX and Overleaf

Manuscripts like theses, dissertations, and books push word processing software (eg. Microsoft Word) to their limits. Typesetting software is best suited for publication-grade work that combines text, figures, plots, table of content, etc. Dartmouth provides templates for MS and Ph.D. theses in LaTeX (pronounced LAY-tek or LAH-tek). It is a high-quality typesetting system; it includes features designed for the production of research and scholarly publication for theses, conferences, and journals, as well as technical and scientific documentation. LaTeX is available as free software and Dartmouth licenses Overleaf, an online collaborative platform for LaTeX documents (theses, articles, etc.) – think Google Docs for LaTeX.

Prerequisite:

  •  a valid NetId (and password) and your “Duo device”

Course Length: 1:30 – 2 hours

Link: LaTeX in 30 min, Overleaf login

Introduction to Linux OS and BASH command interpreter

The Unix shell (BASH) has been around longer than most of its users have been alive. It has survived because it’s a powerful tool that allows users to perform complex and powerful tasks, often with just a few keystrokes or lines of code. It helps users automate repetitive tasks and easily combine smaller tasks into larger, more powerful workflows.

The use of the shell is fundamental to a wide range of advanced computing tasks, including high-performance computing. These lessons will introduce you to this powerful tool.

Lecture notes to follow along

Request a Course