====== Atelier Software Carpentry Workshop ====== **24-25 octobre, 2016, Université de Montréal, Montréal (QC)** Informations: [[eva.delmas@gmail.com|Eva Delmas]],[[mathilde.besson@umontreal.ca| Mathilde Besson]],[[t.poisot@gmail.com|Timothée Poisot]],[[zofia.taranu@gmail.com|Zofia Taranu]] {{:screen_shot_2016-09-23_at_9.34.04_am.png|}} ===== Info général - General info ===== **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). ===== Inscription - Registration ===== http://registration.qcbs.ca/pay/node/64 ===== Horaire - Schedule ===== **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 History|How 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** ||