Python - Unix Shell - Git (Software Carpentry) Workshop [CQ - U. McGill]
$20 – $500
Python - Unix Shell - Git (Software Carpentry) Workshop [CQ - U. McGill]

Python - Unix Shell - Git (Software Carpentry) Workshop [CQ - U. McGill]

Event Information

Share this event

Date and Time

Location

Location

McGill University

Room 3120, Trottier Building, McGill Campus3630 Rue University

Montréal, H3A 0C6

Canada

View Map

Event description

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.

Configuration instructions for your laptop, the pre-workshop survey and the post-workshop survey are on the official Software Carpentry event page: computecanada.github.io/2017-03-02-mcgill

Schedule

Thursday March 2

  • 9:00am to 1:30pm – The Unix Shell
  • 1:30pm to 4:00pm – Programming with Python

Thursday March 9

  • 9:00am to 12:00pm – Programming with Python (continued)
  • 1:00pm to 4:00pm – Version Control with Git

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

  1. Introducing the Shell
  2. Navigating Files and Directories
  3. Working With Files and Directories
  4. Pipes and Filters
  5. Loops
  6. Shell Scripts
  7. 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

  1. Analyzing Patient Data
  2. Repeating Actions with Loops
  3. Storing Multiple Values in Lists
  4. Analyzing Data from Multiple Files
  5. Making Choices
  6. Creating Functions
  7. Errors and Exceptions
  8. Defensive Programming
  9. Debugging
  10. 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

  1. Automated Version Control
  2. Setting Up Git
  3. Creating a Repository
  4. Tracking Changes
  5. Exploring History
  6. Ignoring Things
  7. Remotes in GitHub
  8. Collaborating
  9. Conflicts
  10. Open Science
  11. Licensing
  12. Citation
  13. 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.

How can I contact the organizer if I have any question?

You may write to support@calculquebec.ca

Share with friends

Date and Time

Location

McGill University

Room 3120, Trottier Building, McGill Campus3630 Rue University

Montréal, H3A 0C6

Canada

View Map

Save This Event

Event Saved