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:

Salle C-3061 (salle multi-fonctionnelle), Pavillon Lionel Groulx, métro Université de Montréal, 3150, rue Jean-Brillant, Montréal

Salles C2081-2083 pour le lunch

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.

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.

Pour y participer/To participate:

Tous les participants doivent cependant débourser des frais pour l'inscription (15\$ pour membres CSBQ et 50\$ pour les non-members).

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