This is an old revision of the document!


Atelier Software Carpentry Workshop

24-25 octobre, 2016, Université de Montréal, Montréal (QC)

Informations: Eva Delmas, Mathilde Besson,Timothée Poisot,Zofia Taranu

Où/ where:

Cet atelier se tiendra à Montréal/ This workshop will be held in Montreal:

Pavillon Lionel Groulx, métro Université de Montréal, 3150, rue Jean-Brillant, Montréal

Repas/ meals:

Le petit déjeuner (8h30-9h), pause café matinale (10h15), lunch (12h15) et pausé café dans l'après midi (vers 15h) seront fournis par le CSBQ durant les deux jours. Tous les participants doivent cependant débourser des frais pour l'inscription (15\$ pour membres CSBQ et 50\$ pour les non-membres).

Breakfast (8:30-9:00am), morning coffee break (10:15am), lunch (12:15pm), and afternoon coffee break (3:00pm) will be provided by the QCBS over the 2 days. However, all participants must pay a registration fee to cover for some of those costs (15\$ for QCBS members, 50\$ for non-members).

Instructeurs - instructors : Timothée Poisot et Isabelle Laforest Lapointe

Aides- helpers : Eva Delmas, Mathilde Besson, Steve Vissault et Zofia Taranu

Jour - Day 1: The Unix Shell + Automation and Make Lessons

9:00 Introducing the Shell What is a command shell and why would I use one?
9:05 Navigating Files and Directories How can I move around on my computer? How can I see what files and directories I have? How can I specify the location of a file or directory on my computer?
9:20 Working With Files and Directories How can I create, copy, and delete files and directories? How can I edit files?
9:35 Pipes and Filters How can I combine existing commands to do new things?
9:50 Loops How can I perform the same actions on many different files?
10:05 Shell Scripts How can I save and re-use commands?
10:20 Finding Things How can I find files? How can I find things in files?
10:35 Pause Café
10:45 Introduction to Make How can I make my results easier to reproduce?
11:15 Makefiles How do I write a simple Makefile?
11:45 Automatic Variables How can I abbreviate the rules in my Makefiles?
12:15 Lunch
1:30 Dependencies on Data and Code How can I write a Makefile to update things when my scripts have changed rather than my input files?
2:00 Pattern Rules How can I define rules to operate on similar files?
2:30 Variables How else can I eliminate redundancy in my Makefiles?
3:00 Functions How else can I eliminate redundancy in my Makefiles?
3:30 Self-Documenting Makefiles How should I document a Makefile?
4:00 Conclusion What are the advantages and disadvantages of using tools like Make?
4:30 Finish

Jour - Day 2: Version Control with Git + Databases and SQL

9:00 Automated Version Control What is version control and why should I use it?
9:05 Setting Up Git How do I get set up to use Git?
9:10 Creating a Repository Where does Git store information?
9:20 Tracking Changes How do I record changes in Git? How do I check the status of my version control repository? How do I record notes about what changes I made and why?
9:40 Exploring HistoryHow can I identify old versions of files? How do I review my changes? How can I recover old versions of files?
10:05 Ignoring Things How can I tell Git to ignore files I don’t want to track?
10:10 Remotes in GitHub How do I share my changes with others on the web?
10:40 Pause Café
10:50 Collaborating How can I use version control to collaborate with other people?
11:15 Conflicts What do I do when my changes conflict with someone else’s?
11:30 Open Science How can version control help me make my work more open?
11:40 Licensing What licensing information should I include with my work?
11:45 Citation How can I make my work easier to cite?
11:47 Hosting Where should I host my version control repositories?
11:57 Using Git from RStudio How can I use Git with RStudio?
12:07 Lunch
1:30 Selecting Data How can I get data from a database?
1:45 Sorting and Removing Duplicates How can I sort a query’s results? How can I remove duplicate values from a query’s results?
2:15 Filtering How can I select subsets of data?
2:25 Calculating New Values How can I calculate new values on the fly?
2:35 Missing Data How do databases represent missing information? What special handling does missing information require?
3:15 Aggregation How can I calculate sums, averages, and other summary values?
3:25 Combining Data How can I combine data from multiple tables?
4:15 Data Hygiene How should I format data in a database, and why?
4:35 Creating and Modifying Data How can I create, modify, and delete tables and data?
5:10 Programming with Databases - R How can I access databases from programs written in R?
5:45 Finish