├── _config.yml ├── tweet.md ├── .github ├── workflows │ └── greetings.yml └── config.yml ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── CODE_OF_CONDUCT.md ├── carpentries_style_shared_lessons.md └── overview-of-carpentries-pedagogic-model.md /_config.yml: -------------------------------------------------------------------------------- 1 | title: The Carpentries Info 2 | description: A short version and resources that align with The Carpentries. 3 | theme: jekyll-theme-dinky 4 | -------------------------------------------------------------------------------- /tweet.md: -------------------------------------------------------------------------------- 1 | tweet 2 | Daniela C. Soto 3 | @dcsoto_cl 4 | Mar 29 , 2019 5 | [https://twitter.com/dcsoto_cl/status/1111447971550228480](https://twitter.com/dcsoto_cl/status/1111447971550228480) 6 | check out this awesome diagrame: [https://twitter.com/dcsoto_cl/status/1111447971550228480/photo/1](https://twitter.com/dcsoto_cl/status/1111447971550228480/photo/1) 7 | -------------------------------------------------------------------------------- /.github/workflows/greetings.yml: -------------------------------------------------------------------------------- 1 | name: Greetings 2 | 3 | on: [pull_request, issues] 4 | 5 | jobs: 6 | greeting: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: actions/first-interaction@v1 10 | with: 11 | repo-token: ${{ secrets.GITHUB_TOKEN }} 12 | issue-message: 'Thanks for your input! This project is based on fantastic collaborations such as yours!'' first issue' 13 | pr-message: 'Thank your your PR, we will take a few days to review it, and it everything is in order we will merge it!'' first pr' 14 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing guidelines 2 | 3 | 4 | Thanks for visiting, my name is Paula Andrea Martinez and I'm maintaining this site, 5 | you can contact me via Twitter or Github with the handle @orchid00. 6 | 7 | 8 | This is work in progress. You can see the website here: https://orchid00.github.io/The_Carpentries_info 9 | and contribute to the Repo here: https://github.com/orchid00/The_Carpentries_info. 10 | If you know how to make a PR please send one to update and fix small parts of this site. 11 | If you don't know how to make a PR you can comment on this issue https://github.com/orchid00/The_Carpentries_info/issues/1 12 | 13 | If you want to reframe or update a larger part of this, please add a new issue. 14 | Issues are a great place to add more ideas and discuss with the community. 15 | 16 | Thanks for your contributions. :tada: 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /.github/config.yml: -------------------------------------------------------------------------------- 1 | # Configuration for welcome - https://github.com/behaviorbot/welcome 2 | 3 | # Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome 4 | 5 | # Comment to be posted to on first time issues 6 | newIssueWelcomeComment: > 7 | Thanks for opening your first issue here! 8 | 9 | # Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome 10 | 11 | # Comment to be posted to on PRs from first time contributors in your repository 12 | newPRWelcomeComment: > 13 | Thanks for opening this pull request! :) 💖 14 | 15 | # Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge 16 | 17 | # Comment to be posted to on pull requests merged by a first time user 18 | firstPRMergeComment: > 19 | Congrats on merging your first pull request! :tada: 20 | 21 | # It is recommended to include as many gifs and emojis as possible! 22 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # Attribution 4.0 International (CC BY 4.0) 2 | 3 | This is a human-readable summary of (and not a substitute for) the 4 | [license](https://creativecommons.org/licenses/by/4.0/legalcode){:target="_blank"}. 5 | 6 | This license is acceptable for Free Cultural Works. 7 | 8 | The licensor cannot revoke these freedoms as long as you follow the license terms. 9 | [https://creativecommons.org/licenses/by-nc-sa/4.0/](https://creativecommons.org/licenses/by-nc-sa/4.0/){:target="_blank"} 10 | 11 | ### You are free to: 12 | 13 | - Share — copy and redistribute the material in any medium or format 14 | - Adapt — remix, transform, and build upon the material 15 | for any purpose, even commercially. 16 | 17 | 18 | ### Under the following terms: 19 | 20 | Attribution — You must give appropriate credit, provide a link to the license, and indicate 21 | if changes were made. 22 | You may do so in any reasonable manner, but not in any way that suggests the licensor 23 | endorses you or your use. 24 | 25 | No additional restrictions — You may not apply legal terms or technological measures that 26 | legally restrict others from doing anything the license permits. 27 | 28 | ## Citation 29 | 30 | Paula Andrea Martinez, editor (2019). The Carpentries info. https://github.com/orchid00/The_Carpentries_info. 31 | ([CC BY 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/){:target="_blank"}) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The Carpentries info 2 | 3 | ## Hi Welcome! 4 | 5 | This is a summary of best practices that Instuctors from The Carpentries use during workshops. If you haven't yet been in one of the Instructor Training Workshops and you are going (or likely going) to teach a short course, I would very much recommend you to have a look at these tips. 6 | 7 | * [Overview of carpentries pedagogic model](https://orchid00.github.io/The_Carpentries_info/overview-of-carpentries-pedagogic-model) 8 | 9 | 10 | ## Materials based on the Carpentries template 11 | These are not official carpentries lessons which use the carpentries template, and are ready to be explored. 12 | * [The Carpentries style shared lessons](https://orchid00.github.io/The_Carpentries_info/carpentries_style_shared_lessons) 13 | 14 | Please let me know if there are any lessons out there that would be good to add to this list for the purpose of reuse and share :) 15 | 16 | ## Comments, notes, collaborations 17 | This is work in progress you can see the website for this here: [https://orchid00.github.io/The_Carpentries_info](https://orchid00.github.io/The_Carpentries_info) and contribute to the Repo here: [https://github.com/orchid00/The_Carpentries_info](https://github.com/orchid00/The_Carpentries_info). 18 | 19 | Thanks for visiting, my name is Paula Andrea Martinez and you can contact me via Twitter or Github with the handle [@orchid00](@orchid00). 20 | 21 | ## Licence 22 | 23 | Paula Andrea Martinez, editor (2019). The Carpentries info. [https://github.com/orchid00/The_Carpentries_info](https://github.com/orchid00/The_Carpentries_info){:target="_blank"}. 24 | ([CC BY 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/){:target="_blank"}) 25 | 26 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Citizen Code of Conduct 2 | 3 | ## 1. Purpose 4 | 5 | A primary goal of The Carpentries Info is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof). 6 | 7 | This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior. 8 | 9 | We invite all those who participate in The Carpentries Info to help us create safe and positive experiences for everyone. 10 | 11 | ## 2. Open [Source/Culture/Tech] Citizenship 12 | 13 | A supplemental goal of this Code of Conduct is to increase open [source/culture/tech] citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community. 14 | 15 | Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society. 16 | 17 | If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know. 18 | 19 | ## 3. Expected Behavior 20 | 21 | The following behaviors are expected and requested of all community members: 22 | 23 | * Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. 24 | * Exercise consideration and respect in your speech and actions. 25 | * Attempt collaboration before conflict. 26 | * Refrain from demeaning, discriminatory, or harassing behavior and speech. 27 | * Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential. 28 | * Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations. 29 | 30 | ## 4. Unacceptable Behavior 31 | 32 | The following behaviors are considered harassment and are unacceptable within our community: 33 | 34 | * Violence, threats of violence or violent language directed against another person. 35 | * Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language. 36 | * Posting or displaying sexually explicit or violent material. 37 | * Posting or threatening to post other people's personally identifying information ("doxing"). 38 | * Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. 39 | * Inappropriate photography or recording. 40 | * Inappropriate physical contact. You should have someone's consent before touching them. 41 | * Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances. 42 | * Deliberate intimidation, stalking or following (online or in person). 43 | * Advocating for, or encouraging, any of the above behavior. 44 | * Sustained disruption of community events, including talks and presentations. 45 | 46 | ## 5. Consequences of Unacceptable Behavior 47 | 48 | Unacceptable behavior from any community member, including sponsors and those with decision-making authority, 49 | will not be tolerated. 50 | 51 | Anyone asked to stop unacceptable behavior is expected to comply immediately. 52 | 53 | If a community member engages in unacceptable behavior, the community organizers may take any action they 54 | deem appropriate, up to and including a temporary ban or permanent expulsion from the community without 55 | warning (and without refund in the case of a paid event). 56 | 57 | ## 6. Reporting Guidelines 58 | 59 | If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community 60 | organizer as soon as possible. 61 | Contact Paula A. Martinez @orchid00. 62 | 63 | Additionally, community organizers are available to help community members engage with local law enforcement 64 | or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress. 65 | 66 | ## 7. Addressing Grievances 67 | 68 | If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should 69 | notify with a concise description of your grievance. Your grievance will be handled in accordance 70 | with our existing governing policies. 71 | 72 | ## 8. Scope 73 | 74 | We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide 75 | by this Code of Conduct in all community venues--online and in-person--as well as in all one-on-one communications 76 | pertaining to community business. 77 | 78 | This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of 79 | community activities when such behavior has the potential to adversely affect the safety and well-being of community members. 80 | 81 | ## 9. Contact info 82 | 83 | Paula A. Martinez @orchid00 84 | 85 | ## 11. License and attribution 86 | 87 | The Citizen Code of Conduct is distributed by [Stumptown Syndicate](http://stumptownsyndicate.org) under a 88 | [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). 89 | 90 | Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the 91 | [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy). 92 | 93 | _Revision 2.3.1 Posted 20 November 2019._ 94 | 95 | _Revision 2.3. Posted 6 March 2017._ 96 | 97 | _Revision 2.2. Posted 4 February 2016._ 98 | 99 | _Revision 2.1. Posted 23 June 2014._ 100 | 101 | _Revision 2.0, adopted by the [Stumptown Syndicate](http://stumptownsyndicate.org) board on 10 January 2013. 102 | Posted 17 March 2013._ 103 | -------------------------------------------------------------------------------- /carpentries_style_shared_lessons.md: -------------------------------------------------------------------------------- 1 | # Carpentries style materials 2 | 3 | Here are a collection of Carpentries style lessons. These are not part of the official carpentries curriculum, 4 | but are a good source of inspiration whenever you need them. Remember to acknowledge the authors according to their license. 5 | 6 | Would be awesome if you could add examples! please contact [me](https://twitter.com/orchid00){:target="_blank"} for questions. 7 | 8 | If you want your lessons to be part of the Carpentries curriculum you can propose them to 9 | [The Carpentries Incubator](https://github.com/carpentries-incubator/proposals){:target="_blank"}: 10 | The Incubator will serve as a single point of entry for lessons or ideas at any stage in the development process. Some of the lessons here are transitioning to the incubator. 11 | 12 | ## R 13 | 14 | - Git using Rstudio by Stijn van Hoey recently (Oct 2019) moved to The Carpentries Incubator! 15 | [https://carpentries-incubator.github.io/git-Rstudio-course/](https://carpentries-incubator.github.io/git-Rstudio-course/){:target="_blank"}. 16 | This is a short lesson to teach git from RStudio using The Carpentries style version 9.5.0. developed by Stjin van Hoey, you can contact me @orchid00 17 | if you have questions or @stijnvanhoey on github and @SVanHoey on twitter. 18 | - [https://tibhannover.github.io/FAIR-R/](https://tibhannover.github.io/FAIR-R/){:target="_blank"} -- Fork of r-novice-inflammation that focusses on function documentation, packaging & testing. 19 | Was used in [https://tibhannover.github.io/2018-07-09-FAIR-Data-and-Software/](https://tibhannover.github.io/2018-07-09-FAIR-Data-and-Software/){:target="_blank"} 20 | - [https://uomresearchit.github.io/r-tidyverse-intro/](https://uomresearchit.github.io/r-tidyverse-intro/){:target="_blank"} --a condensed version of the Software Carpentry intro to R lesson, 21 | with tidyverse and a bit of modeling thrown in. Put together by Research IT, University of Manchester, UK 22 | - Data Harvesting for Agriculture [https://data-carpentry-for-agriculture.github.io/trial-lesson/](https://data-carpentry-for-agriculture.github.io/trial-lesson/){:target="_blank"}, Contact Lindsay Clark or Neal Davis for more information at data-harvesting [at] illinois [dot] edu. 23 | 24 | ### R Genetics and Genomics 25 | - Quantitative Trait Mapping [https://smcclatchy.github.io/mapping/](https://smcclatchy.github.io/mapping/){:target="_blank"}. 26 | This lesson introduces genetic mapping using qtl2, a R package for analyzing quantitative phenotypes and genetic data from complex crosses like the Diversity Outbred (DO). 27 | 28 | ## Python 29 | 30 | - Numpy [https://afdataschool.github.io/numpy/](https://afdataschool.github.io/numpy/){:target="_blank"} by AF data school. 31 | - Python for Atmosphere and Ocean Scientists 32 | [https://data-lessons.github.io/python-aos-lesson/](https://data-lessons.github.io/python-aos-lesson/){:target="_blank"} Using Data Carpentry template 33 | Contact Damien Irving @DrClimate 34 | - Plotting and Programming in Python using Spyder instead of Jupyter Notebooks - 35 | [http://scw-aberystwyth.github.io/python-novice-gapminder/](http://scw-aberystwyth.github.io/python-novice-gapminder/){:target="_blank"} 36 | - Software Testing in Python 37 | [https://neurohackweek.github.io/software-testing-for-scientists/](https://neurohackweek.github.io/software-testing-for-scientists/){:target="_blank"} by neurohackademy. 38 | - Python Testing and Continuous Integration [https://katyhuff.github.io/python-testing/](https://katyhuff.github.io/python-testing/){:target="_blank"} by Katy Huff. 39 | - High performance Python [https://neurohackademy.github.io/high-performance-python/](https://neurohackademy.github.io/high-performance-python/){:target="_blank"} by neurohackademy. 40 | - Convolutional Neural Networks [https://neurohackademy.github.io/convolutional-neural-networks/](https://neurohackademy.github.io/convolutional-neural-networks/){:target="_blank"} by neurohackademy. 41 | - Image processing with Python - This lesson is under development (not yet official) 42 | for use in the Digital Imaging and Vision Applications in Science (DIVAS) Image Processing summer workshop 43 | [https://datacarpentry.org/image-processing/](https://datacarpentry.org/image-processing/){:target="_blank"}. 44 | - Introduction to Python for Data Science [https://kaust-vislab.github.io/python-novice-gapminder/](https://kaust-vislab.github.io/python-novice-gapminder/){:target="_blank"}. 45 | - Introduction to Conda for (Data) Scientists [https://kaust-vislab.github.io/introduction-to-conda-for-data-scientists/](https://kaust-vislab.github.io/introduction-to-conda-for-data-scientists/){:target="_blank"}. 46 | - Publication ready scientific reports and presentations with Jupyter notebooks [https://annefou.github.io/jupyter_publish/index.html](https://annefou.github.io/jupyter_publish/index.html){:target="_blank"}. 47 | 48 | ### Machine Learning with Python 49 | 50 | - A carpentry style course on machine learning with Python and Scikit Learn 51 | [https://scw-aberystwyth.github.io/machine-learning-novice/](https://scw-aberystwyth.github.io/machine-learning-novice/){:target="_blank"} 52 | - C3DIS 2019 - Introduction to Machine Learning with Python [https://injeans.github.io/c3dis-intro-to-ml/](https://injeans.github.io/c3dis-intro-to-ml/){:target="_blank"} Using The Carpentries style version 9.5.3. 53 | - [https://machinelearningcarpentry.github.io/machine-learning-novice/](https://machinelearningcarpentry.github.io/machine-learning-novice/){:target="_blank"} 54 | 55 | ## Shell 56 | - Vim and advanced bash [https://afdataschool.github.io/vim-bash/](https://afdataschool.github.io/vim-bash/){:target="_blank"} 57 | 58 | ## Git - Version Control 59 | 60 | - Customised from git - [https://uw-madison-datascience.github.io/git-novice-custom/](https://uw-madison-datascience.github.io/git-novice-custom/){:target="_blank"} - Teaches branches and pull requests 61 | - CodeRefinery git intro [https://coderefinery.github.io/git-intro/](https://coderefinery.github.io/git-intro/){:target="_blank"} - Guacamole example 62 | - Collaborative distributed version control [https://coderefinery.github.io/git-collaborative/](https://coderefinery.github.io/git-collaborative/){:target="_blank"} - Working with remotes, pull requests, and code review 63 | - Git branch design [https://coderefinery.github.io/git-branch-design/](https://coderefinery.github.io/git-branch-design/){:target="_blank"} - Rebase vs. merge, avoiding conflicts, branching models 64 | - Git - Github - Rstudio by INBO, @Stijnvanhoey [https://inbo.github.io/git-course/](https://inbo.github.io/git-course/){:target="_blank"} 65 | - Steve Bond (Biologyguy)'s Git and Github with examples that make more sense IRL: [https://biologyguy.github.io/git-novice/](https://biologyguy.github.io/git-novice/){:target="_blank"} 66 | Two hour edition targeted at IT pros based on this version: [https://dlstrong.github.io/git-novice/](https://dlstrong.github.io/git-novice/){:target="_blank"}. I teach 67 | this as a full day lesson, and use a cut-down version for SWC workshops: [http://gcapes.github.io/git-course](http://gcapes.github.io/git-course){:target="_blank"}. Writing a paper 68 | as the narrative, covers branches, revert, reset, rebase, remotes, PRs. 69 | - Modified version of git-novice that uses Git Desktop and uses editing a carpentry data file as example: 70 | [https://caltechlibrary.github.io/git-desktop/](https://caltechlibrary.github.io/git-desktop/){:target="_blank"} 71 | - Git SWC extended UW Madison [https://uw-madison-datascience.github.io/git-novice-custom/](https://uw-madison-datascience.github.io/git-novice-custom/){:target="_blank"} - Teaches branches and pull requests 72 | - Git beyond the basics [https://m4rkd.github.io/git-beyond-the-basics/](https://m4rkd.github.io/git-beyond-the-basics/){:target="_blank"} 73 | - Introduction to Git and GitHub [https://elizabeth-dupre.com/git-course/](https://elizabeth-dupre.com/git-course/){:target="_blank"} (forked from gcapes/git-course) 74 | by [@emdupre](https://github.com/emdupre){:target="_blank"} 75 | - Git Intro [https://csiro-data-school.github.io/git-intro](https://csiro-data-school.github.io/git-intro){:target="_blank"} by CSIRO data school 76 | - Git continued [https://csiro-data-school.github.io/git-continued/](https://csiro-data-school.github.io/git-continued/){:target="_blank"} by CSIRO data school 77 | 78 | ## SQL 79 | - SQL for Business [https://data-lessons.github.io/SQL-business](https://data-lessons.github.io/SQL-business/){:target="_blank"} This lesson will teach you what relational databases are, 80 | how you can load data into them and how you can query databases to extract just the information that you need. 81 | 82 | ## Docker / Singularity - Containers 83 | 84 | - Reproducible computational environments using containers [https://dme26.github.io/docker-introduction/](https://dme26.github.io/docker-introduction/){:target="_blank"}. This lesson is now within the Carpentries incubator [https://github.com/carpentries-incubator/docker-introduction](https://github.com/carpentries-incubator/docker-introduction){:target="_blank"} and it is likely that ongoing development should proceed there. 85 | - [https://neurohackweek.github.io/docker-for-scientists/](https://neurohackweek.github.io/docker-for-scientists/){:target="_blank"} 86 | - Introduction to Conda for (Data) Scientists [https://carpentries-incubator.github.io/introduction-to-conda-for-data-scientists/](https://carpentries-incubator.github.io/introduction-to-conda-for-data-scientists/){:target="_blank"} 87 | - Containers in HPC from the Pawsey Centre, an overview and examples for both Singularity and Docker 88 | [https://pawseysc.github.io/sc19-containers/](https://pawseysc.github.io/sc19-containers/){:target="_blank"} 89 | 90 | ## HPC - High Performance Computing 91 | 92 | - HPC Carpentry: [https://hpc-carpentry.github.io/](https://hpc-carpentry.github.io/){:target="_blank"} 93 | Made up of 1/2 day lessons that can be combined together in different ways depending on the audience 94 | - hpc-shell: Intro to the shell for people using remote advanced computing systems 95 | - hpc-intro: intro to using HPC systems 96 | - A one day workshop introducing parallel programming using MPI. [https://rantahar.github.io/introduction-to-mpi/](https://rantahar.github.io/introduction-to-mpi/){:target="_blank"} 97 | - [Introduction to GPU](https://sydney-informatics-hub.github.io/training.artemis.gpu/){:target="_blank"} from the University of Sydney Informatics Hub. 98 | 99 | ## Common Workflow Language (CWL) 100 | - Common Workflow Language [User Guide](https://www.commonwl.org/user_guide/){:target="_blank"} Using The Carpentries style version 9.5.3. 101 | 102 | ## GAP - computational algebra 103 | - [https://carpentries-incubator.github.io/gap-lesson/](https://carpentries-incubator.github.io/gap-lesson/){:target="_blank"} by Alexander Konovalov 104 | 105 | ## Genomics 106 | - Molecular Epidemiology of Infectious Diseases - computer practical - prerequisite Shell 107 | [https://aschuerch.github.io/MolecularEpidemiology_AnalysisWGS/index.html](https://aschuerch.github.io/MolecularEpidemiology_AnalysisWGS/index.html){:target="_blank"} 108 | - Molecular Basis of Bacterial Infections course, computer practical [https://aschuerch.github.io/MBBI_ComputerPracticum/](https://aschuerch.github.io/MBBI_ComputerPracticum/){:target="_blank"} 109 | partially based on the Data Carpentry Genomics lesson. - prerequisite Shell. 110 | 111 | ## Data Stewardship 112 | - 23 (Research Data) Things [https://data-lessons.github.io/23-rd-things/](https://data-lessons.github.io/23-rd-things/){:target="_blank"} 23 (research data) Things is a self-guided 113 | training concept for anybody interested in data. 114 | - Data and the FAIR Principles [http://www.repronim.org/module-FAIR-data/](http://www.repronim.org/module-FAIR-data/){:target="_blank"} This module provides a number of lessons 115 | to ensure that a researcher’s data is properly managed and published to ensure it enables reproducible research. 116 | ### Reproducibility 117 | - Reproducible Research Things. This lesson is still being designed and assembled (Pre-Alpha version) [https://orchid00.github.io/ReproducibleResearchThings/](https://orchid00.github.io/ReproducibleResearchThings/){:target="_blank"} 118 | 119 | ## Open Source Software 120 | - 4 Simple recommendations for Open Source Software [https://softdev4research.github.io/4OSS-lesson/](https://softdev4research.github.io/4OSS-lesson/){:target="_blank"} 121 | 122 | 123 | 124 | 125 | **[Go back](https://orchid00.github.io/The_Carpentries_info)** 126 | -------------------------------------------------------------------------------- /overview-of-carpentries-pedagogic-model.md: -------------------------------------------------------------------------------- 1 | # A Brief Introduction to the Carpentries Pedagogic Model 2 | 3 | Adapted from https://github.com/DanielleQuinn/sc-helper-info all credits go to Danielle Quinn for writing it first. :) 4 | 5 | TLDR, check out the diagrame provided in the [Summary](#summary). 6 | 7 | "A great part of the value of a carpentry workshop is the personalised interaction with instructors and helpers in the moment" 8 | they need the most help, at the start of the journey. (Adapted from Clara Llebot, The Carpentries discuss). 9 | 10 | ## The Carpentries Pedagogical Model 11 | The Carpentries aim to teach computational competence to learners. We take an applied approach, avoiding the theoretical and general in favor of the practical and specific. By showing learners how to solve specific problems with specific tools and providing hands-on practice, we develop learners' confidence and lay the foundation for future learning. 12 | A critical component of this process is that learners are able to practice what they are learning in real time, get feedback on what they are doing, and then apply those lessons learned to the next step in the learning process. Having learners help each other during the workshops also helps to reinforce concepts taught during the workshops. 13 | Our workshops are interactive events – for learners and instructors. We give and receive feedback throughout the course of a workshop. We incorporate assessments within the lesson materials and ask for feedback on sticky notes during lunch breaks and at the end of each day. In this way, instructors can adjust the pace and content of a workshop to meet the needs of the learners in that group, as well as collect feedback that will help us improve lesson materials or methodology for future workshops. Instructors and helpers also provide feedback to learners throughout workshops to get them unstuck or provide a greater depth of understanding about the materials. Interacting in this way with the learners helps us determine how they are doing and figure out what concepts people are having trouble with or where we might be able to move along more quickly. 14 | 15 | ### Code of Conduct 16 | To make clear what is expected, everyone participating in Software Carpentry and Data Carpentry activities is required to conform to our [Code of Conduct](https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html?highlight=code%20conduct). This Code of Conduct applies to all spaces managed by Software Carpentry and Data Carpentry including, but not limited to workshops, email lists, online forums and on GitHub. Please review the Code of Conduct to familiarise yourself with it. We value the involvement of everyone and we are committed to creating a friendly and respectful place for learning, teaching and contributing. 17 | Knowing that we have rules tells people a great deal about our values and about what kind of learning experience they can expect. 18 | 19 | ### Creating a Positive Learning Environment 20 | Creating a positive learning environment is an important first step to setting the stage for learner success. As instructors, it is crucial to establish the workshop setting as a safe space for learning. 21 | 22 | - Presenting the instructor as a learner. Admitting that you don't know everything is part of showing that it is acceptable to make mistakes, and encouraging a growth mindset in learners. Using live coding in teaching concepts is very useful for this reason. It is common to make errors while live coding. When done well, these errors can be very instructive for novice learners. 23 | - Establishing norms for interaction. This can be done by having, discussing, and enforcing a Code of Conduct or by having rules of interaction such as ensuring turn taking in discussions, possibly by passing around a talking stick, or by encouraging quieter people to contribute. 24 | - Encouraging learners to learn from each other. Acknowledge that some of the material can be difficult and that they will learn more working together. Asking more advanced learners to help beginner learners is a good way to maximize learning for both. 25 | - Acknowledging when learners are confused. Understanding why learners are confused provides useful feedback for instructors. We use formative assessments to pinpoint learners' misunderstandings. Acknowledging that their misunderstandings are valid is also key to encouraging a growth mindset. 26 | 27 | ### Things You Shouldn't Do in a Workshop 28 | One of our biggest challenges as instructors when teaching a workshop is to not demotivate participants through our words or actions. None of us goes into a workshop with the intention of creating a hostile environment or making the learners hate the tools we're teaching, but we can all accidentally do that if we don't pay attention to what we say and how we interact with our learners. We'll discuss some common demotivators and help you develop strategies for avoiding them. 29 | 30 | - Criticize certain programs, operating systems, or GUI applications, or learners who use them. (Excel, Windows, etc.) 31 | - Talk contemptuously or with scorn about any tool. Regardless of its shortcomings, many of your learners may be using that tool. Convincing someone to change their practices is much harder when they think you disdain them. 32 | - Dive into complex or detailed technical discussion with the one or two people in the audience who have advanced knowledge and may not actually need to be at the workshop. 33 | - Pretend to know more than you do. People will actually trust you more if you are frank about the limitations of your knowledge, and will be more likely to ask questions and seek help. 34 | - Use “just”, “easy”, or other demotivating words. These signal to the learner that the instructor thinks their problem is trivial and by extension that they therefore must be stupid for not being able to figure it out. 35 | - Take over the learner's keyboard. It is rarely a good idea to type anything for your learners and it can be demotivating for the learner because it implies you don't think they can do it themselves or that you don't want to wait for them. It also wastes a valuable opportunity for them to develop muscle memory and other skills that are essential for independent work. 36 | - Feign surprise. Saying things like “I can't believe you don't know X” or “You've never heard of Y?” signals to the learner that they do not have some required pre-knowledge of the material you are teaching, that they don't belong at the workshop, and it may prevent them from asking questions in the future. 37 | 38 | ## Assessments and Feedback 39 | 40 | ### Formative Assessment 41 | 42 | To be effective, instructors need feedback on their learners' progress, and insight into their learners' mental models. This feedback comes through formative assessments, which takes place during teaching and learning. Its main purpose is to provide guidance to the instructor and the learner about what to focus on. Learners don't “pass” or “fail” formative assessments. Formative assessments provide feedback to both instructors and learners about learners' level of understanding of the material. For learners, this feedback can help focus their study efforts. For instructors, it allows them to refocus their instruction to respond to challenges that learners are facing. 43 | Our material includes a variety of formative assessments that should be used during lessons. It is up to each instructor which exercises and how many exercises to include. 44 | 45 | ### Sticky Notes 46 | Give each learner two sticky notes of different colours, e.g., green and pink. If someone is following along well, or has completed an exercise, they put the green sticky note on their laptop; if they run into a problem and need help, they put up the pink one and a helper can assist them. This is better than having people raise their hands because: 47 | 48 | - it's more discreet (which means they're more likely to actually do it), 49 | - they can keep working while their pink note is raised, and 50 | - the instructor can quickly see from the front of the room what state the class is in. 51 | 52 | If an instructor notices many pink notes raised, they can stop the lesson and go back to reiterate the points that may have been missed. Sometimes a pink note involves a technical problem that takes a bit more time to solve. To prevent this issue slowing down the whole class too much, you could use the occasion to take the small break you had planned to take a bit later, giving the helper(s) time to fix the problem. 53 | Remind learners frequently about using their sticky notes, or they (and you) will forget. 54 | 55 | ## Praise Influences Mindset 56 | The way in which we praise learners has an important impact on their mindset development. Carol Dweck's research investigated three types of praise: performance-based, effort-based and improvement-based, and looked at how these types of praise influence learner's mindsets. We're most used to hearing performance-based praise. This sort of praise focuses on outcomes and implies that the outcome (for example, getting a correct answer) is the most important part of the task. It is often (but not always) combined with language that explicitly or implicitly supports the “intrinsic” model of competence. For example, “You did a great job! You must be very smart.” Effort-based praise focuses on the learner's hard work. For example, “You did a good job, you must have worked very hard.” Exposing learners frequently to this type of praise helps them to transition from a fixed mindset to a growth mindset by changing their perception of effort. For fixed-mindset people, if something doesn't come easy to you, it means that you don't have natural ability and shouldn't bother. People with a growth mindset are much more likely to persevere in the face of challenge and accomplish their goals. Improvement-based praise is related to praise based on effort, but explicitly draws a learner's attention to the progress they've made. For example, “You're doing so much better at this than last time, you must have worked very hard.” This helps reinforce a growth-mindset by highlighting our ability to improve with effort. 57 | 58 | ## Expert Blind Spot 59 | Experts are frequently so familiar with their subject that they can no longer imagine what it's like to not see the world that way. This is called expert blind spot and can lead to what's known as the expertise-reversal effect - experts are often less good at teaching a subject to novices than people with less expertise who still remember what it's like to have to learn the things. This effect can be overcome with training, but it's part of the reason world-famous researchers are often poor lecturers. 60 | The challenge of identifying and working around expert blind spots is one reason why we welcome instructors who still identify as “novices”! Someone who is still in the process of learning can be a more effective instructor because they are speaking from their own recent experience. In these ways and others, the high connectivity of an expert's mental model poses challenges while teaching novices. However, that's not to say that experts can't be good teachers. Experts can be effective as long as they take the time to identify and correct for their own expert blind spots. 61 | 62 | ## Live Coding 63 | 64 | "The live-coding atmosphere is really crucial for learners to feel comfortable asking questions or asking for help." (Adapted from Hao Ye, The Carpentries discuss). 65 | 66 | One of the cornerstones of Software and Data Carpentry teaching is live coding: instructors don't use slides, but work through the lesson material, typing in the code or instructions, with the workshop participants following along. Live coding fits well into our practice-feedback model by providing learners with continuous opportunities for practice (every time they type in a line of code) and continuous feedback (their code either works or fails with an error message). 67 | Some tips for live coding: 68 | 69 | - Stand up and move around the room if possible. This makes the experience more interactive and less monotonous. Use a microphone if one is available to make it easier for people with hearing difficulties to hear you. 70 | - Go slowly. For every command you type, every word of code you write, every menu item or website button you click, say out loud what you are doing while you do it. Then point to the command and its output on the screen and go through it a second time. This slows you down and allows learners to copy what you do, or to catch up. Do not copy-paste code (unless they have already typed that code themselves and they know what and why to copy). 71 | - Mirror your learner's environment. Try to create an environment that is as similar as possible to what your learners have, and avoid using keyboard shortcuts. 72 | - Use your screen wisely. Use a big font, and maximize the window. A black font on a white background works better than a light font on a dark background. When the bottom of the projector screen is at the same height, or below, the heads of the learners, people in the back won't be able to see the lower parts. Draw up the bottom of your window(s) to compensate. 73 | - Use illustrations to help learners understand and organize the material. You can also generate the illustrations on the board as you progress through the material. This allows you to build up diagrams, making them increasingly complex in parallel with the material you are teaching. It helps learners understand the material, makes for a more lively workshop and gathers the learners' attention to you as well. 74 | - Turn off notifications on your laptop and phone. 75 | - Lesson materials. The core Software and Data Carpentry lessons are developed collaboratively by many instructors and tried and tested at many workshops. If you really want to use something outside of the material, try it out thoroughly before the workshop: run through the lesson as you would during the actual teaching and test the effect of your modification. Some instructors use printouts of the lesson material during teaching. Others use a second device (tablet or laptop) when teaching, on which they can view their notes and the Etherpad session. 76 | - *Leave no learner behind*. Use sticky notes to gauge learners' progress and understanding. 77 | - *Embrace mistakes*. No matter how well prepared you are, you will make mistakes. This is OK! Use these opportunities to help your learners learn the art of troubleshooting. 78 | 79 | ### Errors as Opportunities 80 | One of the barriers to learning is avoidance of making errors. Errors are associated with negative emotions, which leads to learners being fearful of making them. Error framing encourages learners to understand that making errors provides valuable learning opportunities instead of having negative consequences. Error framing has shown to be useful in learning complex tasks such as programming. Errors are common when live-coding; when you, as an instructor, make an error, it's important that you cast mistakes as a natural part of learning and take the opportunity to explain what happened and how to fix it. 81 | 82 | ## Summary 83 | 84 | For those who like visuals, a great summary provided by Daniela C. Soto @dcsoto_cl Mar 29 , 2019 [https://twitter.com/dcsoto_cl/status/1111447971550228480](https://twitter.com/dcsoto_cl/status/1111447971550228480). 85 | 86 | ![](https://pbs.twimg.com/media/D2yoCXOUYAEsrL7.jpg) 87 | 88 | Last updated 25 Sept, 2019 89 | 90 | **[Go back](https://orchid00.github.io/The_Carpentries_info)** 91 | 92 | 93 | --------------------------------------------------------------------------------