Eventbrite, and certain approved third parties, use functional, analytical and tracking cookies (or similar technologies) to understand your event preferences and provide you with a customized experience. By closing this banner or by continuing to use Eventbrite, you agree. For more information please review our cookie policy.

Location

Description

This workshop will be presented on two consecutive Thursdays by Simon Nderitu, Bart Oldeman and Pier-Luc St-Onge, who are Advanced Research Computing (ARC) analysts at Calcul Québec at McGill University. Pier-Luc is accredited by Software Carpentry.

Main objectives are:

Learning how to program with the Python language

Become familiar with the Unix command line, which is used on most ARC systems

Become familiar with version control tools for managing source code

Prerequisites

The first lesson will guide you through the basics of a file system and a command line interface. If you have already stored files on a computer, and you know the words “file” and “directory”, you have the prerequisites. The following lessons are built on this first lesson.

Details

The Unix Shell (3.5 hours)

Thursday March 2, 9:00am to 1:30pm (lunch 12pm-1pm)

Summary

The Unix shell has been around longer than most of its users have been alive. It has survived so long because it’s a power tool that allows people to do complex things with just a few keystrokes. More importantly, it helps them combine existing programs in new ways and automate repetitive tasks so they aren’t typing the same things over and over again. Use of the shell is fundamental to using a wide range of other powerful tools and computing resources (including “high-performance computing” supercomputers).

Lesson plan

Introducing the Shell

Navigating Files and Directories

Working With Files and Directories

Pipes and Filters

Loops

Shell Scripts

Finding Things

Programming with Python (5.5 hours, split on two days)

Thursday March 2, 1:30pm to 4:00pm

Thursday March 9, 9:00am to 12:00pm (continued)

Summary

The best way to learn how to program is to do something useful, so this introduction to Python is built around a common scientific task: data analysis. Our real goal isn’t to teach you Python, but to teach you the basic concepts that all programming depends on.

Lesson plan

Analyzing Patient Data

Repeating Actions with Loops

Storing Multiple Values in Lists

Analyzing Data from Multiple Files

Making Choices

Creating Functions

Errors and Exceptions

Defensive Programming

Debugging

Command-Line Programs

Version Control with Git (3 hours)

Thursday March 9, 1:00pm to 4:00pm

Summary

Version control is the lab notebook of the digital world: it’s what professionals use to keep track of what they’ve done and to collaborate with other people. Every large software development project relies on it, and most programmers use it for their small jobs as well. And it isn’t just for software: books, papers, small data sets, and anything that changes over time or needs to be shared can and should be stored in a version control system.

Lesson plan

Automated Version Control

Setting Up Git

Creating a Repository

Tracking Changes

Exploring History

Ignoring Things

Remotes in GitHub

Collaborating

Conflicts

Open Science

Licensing

Citation

Hosting

FAQ

In what language will you present these lessons?

The material and the presentation will be both in English. Questions in class could be both in English or French.