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
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
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
The Unix Shell (3.5 hours)
- Thursday March 2, 9:00am to 1:30pm (lunch 12pm-1pm)
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).
- Introducing the Shell
- Navigating Files and Directories
- Working With Files and Directories
- Pipes and Filters
- 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)
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.
- 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
- Command-Line Programs
Version Control with Git (3 hours)
- Thursday March 9, 1:00pm to 4:00pm
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.
- Automated Version Control
- Setting Up Git
- Creating a Repository
- Tracking Changes
- Exploring History
- Ignoring Things
- Remotes in GitHub
- Open Science
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 email@example.com