Teaching basic lab skills
for research computing

Blog Archive

Software Carpentry Lesson Maintenance: Be Part of the Conversation!
Christina Koch / 2017-09-19
Come share your experience and ideas about maintaining the Software Carpentry lessons We invite all members of the Software Carpentry community to participate in two upcoming events centered around maintaining our lessons: Community Call this week on Thursday, September 21 Task Force for the future of the Software Carpentry lesson organization Community Call We will be discussing lesson maintenance on this week’s community call, happening on Thursday. On the call, we’ll gather community aspirations and concerns about the current lessons and their maintenance. We also will ask for everyone’s input on how we can best support and recognize the valuable work of our maintainers and contributors. See the etherpad for times, agenda and to sign up. Anyone from the community is welcome to join. Task Force As the plans for creating an umbrella “Carpentries” organization continue, it’s time to start thinking about what the Software Carpentry lesson organization will look like moving forward. To that end, I’m organizing a community task force to discuss the future of the Software Carpentry lessons and their oversight as we transition into a lesson organization of the future merged Carpentries. Have you wanted to be more involved with some of the decision-making around Software Carpentry lessons and the merger process? This is an excellent way to do so! It’s only a two-month commitment, so this is also a great opportunity to take on some community leadership responsibility and see what it’s like. Sign up on this etherpad to join us! Read More ›

Introducing Elizabeth Williams and Karen Word
Tracy Teal, Elizabeth Williams, Karen Word / 2017-09-19
At our recent in-person staff meeting in Davis, California, we introduced three new members to the team, SherAaron Hurt, Elizabeth Williams and Karen Word. All will be working with the Carpentries part-time. Elizabeth has joined Software and Data Carpentry in a part time role as Business Administrator to assist with onboarding and supporting Member organizations and general business and financial operations. Here’s what Elizabeth has to say about herself: “After earning a B.S. in Cultural Anthropology at UC Davis, I have worked as a small business manager, a tutor, a bookkeeper, and an organization consultant. I am currently managing the Personality and Self-Knowledge Lab at UC Davis, and I am thrilled to have the opportunity to dedicate my (rather eclectic) skills and passions to the exciting and worthy mission of the Carpentries community.” Elizabeth has recently joined Twitter where she tweets as @ecwilliams8. We are delighted to have Elizabeth join the team and look forward to working with her. Karen Word is a post-doctoral researcher in Titus Brown’s lab at UC Davis. As a part of her work in the lab, she is working with the Carpentries on Instructor Training and will be the Deputy Director of Instructor Training. Karen will be involved with many aspects of the instructor training program, including training a new cohort of Trainers (watch for a call for applications soon!). As co-Maintainer of the Instructor Training curriculum (with Christina Koch), Karen will continue to improve and update those materials. She will also be actively involved in other curricular development efforts, including ongoing work on Data Carpentry Genomics and Data Carpentry Social Sciences curricula. Welcome to the team, Karen! Karen writes: “I have built a career on roughly equal parts teaching and research, with happy periods of exclusive focus on each. As an educator, I’ve taught high school and community college, at museums and outreach programs, and have served at the university level as both a TA and Associate Instructor. My scientific research has focused on ways in which organisms respond to environmental change, with emphasis on hormone signaling and metabolism. Most recently I have served (and continue to do so) as a postdoc in the Lab for Data Intensive Biology at UC Davis, where I am working on program assessment for our in-house bioinformatics workshops. I am delighted to be able to bring what I’ve learned through all of these experiences to bear on the Carpentries’ mission.” Instructor training is a huge part of our outreach effort, and we are delighted to have Karen assisting us with this important work. Read More ›

Community Service Awards - 2017 Edition
Christina Koch / 2017-09-18
Is there a Software Carpentry community member you’ve noticed working extra hard to help our organization? If so, consider nominating this person for a Community Service Award! The Community Service Award was inaugurated last year to recognize the crucial role of volunteer contributions to the work of the Software Carpentry Foundation. This award acknowledges individuals whose work, in the Steering Committee’s opinion, significantly improves the Foundation’s fulfillment of its mission and benefits the broader community. For full details, including how to nominate someone and a link to previous awardees, see this page. We especially welcome nominations in the next two months, as the Steering Committee will choose and announce awards in December. Read More ›

New Staff Member
Tracy Teal / 2017-09-13
We are delighted to announce that SherAaron Hurt has accepted the job of Workshop Administrator with the Carpentries. SherAaron is joining our team of workshop coordinators who manage workshop logistics, communicate with hosts and instructors, and respond to general workshop inquiries. SherAaron lives in Detroit, Michigan, USA. She has been very active in the National Society of Black Engineers, and has a strong background in logistics, marketing, and training and managing both staff and volunteers. Not only has she planned and run events both large and small, but she has a Masters in hospitality management to back up her experience. She is passionate about Software and Data Carpentry’s mission of teaching foundational computational and data skills to researchers, and is keen to help ‘lighten the load’ for instructors and workshop hosts. You’ll be seeing emails from her soon, and you can contact SherAaron at team@carpentries.org. Welcome SherAaron! Read More ›

Lesson Infrastructure Subcommittee 2017 September meeting
Raniere Silva / 2017-09-12
On 5 September 2017 at 14:00UTC+0, the Lesson Infrastructure Subcommittee had their 2017 September meeting. This post will cover the topics discussed and their resolutions. Software Carpentry and Data Carpentry merge With the upcoming merge, this subcommittee needs to start thinking about streamlining the thinking process and disconnect from the organisations that maintain the lessons. The responsibilities for this subcommittee will stay unchanged: maintain lesson template maintain lesson documentation maintain workshop template overview of what features the lessons will continue to have stay in contact with maintainers of lesson stay in contact with staff Lesson template, lesson documentation and workshop template will have a new home in 2018. If you have questions or want to help with this migration, Christina Koch is the person you should contact. During the migration, we will solve the divergences between the Software Carpentry workshop template and Data Carpentry workshop template. If you have questions or want to help with this migration, Tracy Teal is the person you should contact. Keyboard key visual look To improve the look and feel of the lesson and the learners’ ability to use them, we will make the keyboard keys that need to be pressed by the learner, look different from the other components of the text, so they are highlighted more effectively. We expect to merge the new CSS and documentation in the next few weeks and that release, 2018.6, will contain all of lessons with this new look. More information about this new feature is available at this pull request. Thanks to Brandon Curtis for proposing this idea. Jekyll/Liquid include for images/figures To improve readability by providing a more uniform image rendering, we will pursue the proposal on GitHub issue styles#161 after we review lessons unit test suite and its use by a continuous integration platform. Citing the templates If you are using the lesson template and you want to credit us, please use Software Carpentry: Example Lesson at Zenodo. Lesson release and hosting scheme For years, we have wanted to point learners to the latest release of our lessons but due to technical limitations of GitHub Pages and the challenges of multiple branches for contributors new to Git (for example, the current branch isn’t obvious when you visit the lesson homepage in GitHub, and maintainers can’t change the target branch of a pull request) we stayed with a single gh-pages branch in the Git repository. Jonah Duckles opened an issue to discuss possible solutions to this issue. If you want to contribute to the discussion please leave your comments on the GitHub issue. Fully-offline-capable functionality in lesson navigation vuw-ecs-kevin GitHub user requested that we improve the readers experience, if people come to our lesson from Zenodo, i.e. from one of our releases. Changes on the line of vuw-ecs-kevin’s pull request or Raniere’s pull request will be included in the next release of our lessons. Managing workshop websites and install instructions This is another old request [1, 2, 3, 4]. Edit only one line of index.html and have the correct setup instructions for the workshop. Jonah Duckles opened a new issue to discuss ideas to resolve our old request. Kate Hertweck, Christina Koch, Raniere Silva and Tracy Teal are going to work on strategic plan to address taking into consideration this request taking in consideration the comments on the GitHub issue. Next steps We will freeze lesson template and lesson documentation in October so maintainers have time to work on the next release. The subcommittee will meet again in November to provide an update on some of the topics covered by this post and discuss new requests from the community. Acknowledgement Thanks to Kate Hertweck, Maneesha Sane, Mark Laufersweiler, Naupaka Zimmerman, Person Paula Andrea Martinez, SherAaron Nicole Hurt and Tracy Teal. Special thanks to Christina Koch for the great notes. Read More ›

Reporting on the Second Software Carpentry Workshop in Namibia
Jessica Upani, Gabriel Nhinda / 2017-09-10
Background After attending this year’s African Instructors Meetup in Cape Town South Africa, Jessica Upani and Gabriel Nhinda from Namibia started laying the groundwork for another Software Carpentry workshop for Namibia. The previous workshop took place about a year ago as part of a 12-month programme to build computing capacity in Africa. This year however, the workshop was initiated, organised and taught by exclusively local instructors and helpers, Gabriel and Jessica with assistance from Ruber. The workshop ran on 18 – 19 August 2017 at the University of Namibia, at the Main Campus in Windhoek, Namibia. About four days before the workshop, 30 people (including instructors and helper) had signed up and we closed the online registration form. The the Associate Dean of the School of Computing at UNAM provided support by making a venue available for the event and catering was sponsored by Talarify. Pre-workshop We held an installation party the day before the workshop started and three people showed up. Here we installed all the required tools and software. Compared to the last time we had a SWC Workshop in 2016, this step was faster and we were more ready to handle different errors and scenarios. Additionally, to try and reduce the number of participants who would show up at the installation party, we e-mailed the download links to all installation instructions as well as all the necessary data files, for all the participants to download. This meant that the people that showed up were ready for the workshop to begin. Day 1 The instructors and helpers made the final preparations to the venue before the attendees showed up. However the attendees were delayed and most did not show up at all. This was partly because there was a festival going on and day 1 fell on the same day, this was also the due date for all university examination scripts. In the end fifteen people showed up for day one. Gabriel introduced the workshop, and the aims and objectives of Software Carpentry to the participants and the helper (Due to work commitments, Jessica joined us two hours after the workshop started). Gabriel commenced the workshop with the UNIX Shell for the morning session. We had two people that were also at the 2016 workshop attend the 2017 workshop. This time we had attendees from Chemistry and Biochemistry, Biological Sciences, Physics and School of Computing. The lesson was interactive and we went as far as pipes and redirects for day 1 (We continued with “The UNIX Shell” at the end of Day 2 after the git lesson). The second half of the day was for Python led by Jessica, it was an awesome class since people also had specific questions that relates to their research work. Some of the participants asked that the instructors and helper remain behind during the break to have a look at their actual work and code they were working on. The day ended at around 17:30, one hour after the schedule, however considering that we started late, it balanced out. Day 2 Day two was reserved for Python and Version Control with Git (VCG). Jessica started off the day with the python lesson picking up from the previous day. Jessica did a marvellous job of explaining the content of the lesson and also keeping the participants aching for more. Some examples from how to use lists and declare variables came from the audience. The version control (VCG) lesson was led by a local developer, Paulus Shituna. Surprisingly, this lesson went faster than expected, it could be because of the fewer number of participants. Being that the VCG lesson finished ahead of schedule, the participants requested that we go as far as possible with the UNIX shell lesson. We worked all the way through Loops but could not complete the shell scripts. Lessons Learned Sometimes after setting your dates for the Carpentry workshop, other events and due dates might affect the attendance of the workshop. People tend to assume “African Time”. So be prepared to start your workshop an hour late. Before starting the workshop scope for those that are using different Operating Systems compared to the one you are using and make sure to cater to all participants. Charging a small fee might actually encourage commitment from attendees. Just because you have reached your maximum number of participants, don’t close your registration process. Rather screen those that registered, maybe by asking a few questions during the registration process. Have another instructor or helper time the lessons to avoid going over the time limit or deviating from the lessons too much. This eats time and results in not completing the lessons. Observations Some peer instruction was also observed as the attendees tried to help their colleagues when they saw a red sticky note. For the major part they managed to solve the issue, often it was syntax, indentation on Python or Case sensitivity, which caused most of the errors. A question was raised as we went through the Python Lesson with regards to the examples that were used in one of the chapters. We had attendees whose first language was not English/ not fluent and as such we often had to use alternative explanations to get concepts across. In our case we had one attendee who spoke Portuguese and one of our instructors was able to provide assistance albeit their Portuguese not being fluent. Some images from Namibia, a country with vast spaces (total land area of 825,615 km2 with a population of around 2.5 million people) and incredibly beautiful and diverse landscapes. (Coulage images from https://pixabay.com, created in https://www.befunky.com). Conclusions Although the workshop was poorly attended, we think it was successful. This is mainly because the people that showed up really wanted and needed the knowledge they acquired during this workshop for both their studies and research work. To this end, we are planning on having a study group to discuss Python, UNIX, and any other topics related to applying computing to research. We would like to thank Anelda from Talarify for the sponsorship, mentorship and overall doing an awesome job of making sure we had all that we needed for this workshop. Another thank you goes to our helper and participants for making this workshop a success. Read More ›

Software Carpentry Introduces Mauritian HPC Users to Tools for Data Analysis
Anelda van der Walt, Bryan Johnston / 2017-09-10
The Square Kilometre Array (SKA) has been branded as one of the biggest scientific projects to date and spans not only country borders but also continents. Although the SKA’s primary aim is to address many of the questions around our universe, the spin-offs of this project will touch people from all research disciplines as well as communities around the SKA sites. One of the spin-offs is expanded human and infrastructure capacity in terms of High Performance Computing (HPC) in other African countries. The South African Centre for High Performance Computing (CHPC) is involved in a programme named the HPC Ecosystems Project. The Ecosystems Project focuses on the distribution of decommissioned HPC equipment to be used as mid-tier systems at various sites across Africa. This is followed with training of the system administrators to run the equipment. Over the past few years the CHPC has been working with countries in Africa to: develop an African Framework on HPC that has been adopted by the SADC Ministerial Committee on Science and Technology; facilitate access for African researchers and students to HPC training programmes in South Africa; providing access to HPC facilities for researchers on the continent; and through the partnership with the Texas Advanced Computing Center and the University of Cambridge, parts of the HPC systems have been provided to African sites to develop computing capabilities. The first country to host a Software Carpentry workshop in conjunction with the deployment of the donated HPC infrastructure is Mauritius. The event was sponsored by the CHPC, Talarify, and the University of Mauritius. From 19 - 21 July this year, we ran a Software Carpentry workshop to potential users of the new, and first HPC system, at the University of Mauritius. Participants hailed from disciplines such as Bioinformatics, Computational Chemistry, Mathematics, Life Sciences, Engineering, Business, Medicine, and more. A total of 27 participants, mostly postgraduate students and faculty from the University of Mauritius, learned about the Linux Shell, Python, and version control with git and Github. The feedback in general was good (90% of the participants said they will recommend this workshop to colleagues) and several people indicated that they would be interested to become instructors. 50% of participants were females. Mauritius is a fascinating country with total area around 2,040 km2 and a population of around 1,348,242. Over the past few years it has evolved from mostly an agricultural community to a knowledge economy with information and communication technology, seafood, hospitality and property development, healthcare, renewable energy, and education and training fast becoming large drivers of the economy. People mostly speak English and French with the local language, Creole also in the mix. The country has six universities and many other educational institutions. It was a great opportunity to work with our host, Roshan Halkhoree (Director, Centre for Information Technology and Systems) and colleagues from the University of Mauritius and we look forward to future collaborations around data and computational capacity building. Read More ›

The First Ever Data Carpentry in Ethiopia
Lactatia Motsuku, Glenn Moncrieff, Margereth Gfrerer, Anelda van der Walt / 2017-09-10
The Ethiopian Education and Research Network (EthERNet) from the Ministry of Education in collaboration with the German International Cooperation (GIZ) Sustainable Training and Education Programme (STEP), the Education Strategy Center (ESC) and Talarify organised its first ever Data Carpentry workshop for young academics and researchers in Ethiopia. The workshop was conducted over two and a half days from 14-16 August 2017 at Addis Ababa Institute of Technology (AAiT). The main aim was to increase data literacy for researchers and establish a community of good research data practice in Ethiopia in order to increase the presence of Ethiopian researchers in the global research community. Note: UNESCO Statistics Institute reveals that in 2016 1.1% of the global research community are researchers coming from Sub-Saharan Africa. On average 30.4% from all Sub-Saharan researchers are females, whereas Ethiopia counts 13.3 % female researchers out of all Ethiopian researchers. Over 25 participants from all over Ethiopia joined the workshop. 98% of participants were women representing different research disciplines including animal nutrition, soil sciences, economics, sport sciences and information technology to name a few. The event was lead by Data Carpentry instructors from South Africa with helpers from Ethiopia and mainly covered lessons included in the Data Carpentry Ecology workshop - better use of Spreadsheets, data cleaning in OpenRefine, and data analysis and visualisation in R. Lactatia Motsuku from the South African National Cancer Registry and Glenn Moncrieff from Ixio Analytics recently trained as instructors and this was their first opportunity to teach as part of the Data Carpentry team. Our instructors’ experience: Lactatia: “As much as this was the first data carpentry for Ethiopia, this was the first instructor training for me. Before I joined Data Carpentry network, I had no idea what I can do to make changes in other people’s lives. It made me happy to see the transition in only three days i.e. From participants having no idea where to start with data analysis to facial expressions as they sigh “Oooh, okkayyy” and the nodding as they realise that there are beautiful, efficient and very effective tools to work with data. Ethiopia is a very nice place, very religious and full of kind people. I really enjoyed the food. It was organic, healthy and delicious. I bow down to the coffee ceremony and Margareth was a beautiful host, she managed to organise us dinner at 2000 Habesha which is a traditional restaurant with touch of Ethiopian music. It was great to see my colleagues doing The Shoulder dance.” Anelda: “Ethiopia was such a wonderful surprise to me. There are some very ancient traditions and experiences. For example, they have a different calendar that derives from the Egyptian calendar and has a 7-8 year difference from our own calendar. They also regard the day to start at sunrise which means 6 am is regarded as 12 o’clock in Ethiopian time. A meeting scheduled for 2 pm might be misunderstood to start at 8 o’clock due to the 6 hour difference between the Western clock and the Ethiopian time. When I realised the impact that both the time difference and calendar difference may have on research and reported data, it was an eye-opener. Meta data in this instance will be critically important so that collaborators and future users of the research data generated in Ethiopia, can understand exactly which calendar and what time system was used. I hope it will be possible for me to return to Ethiopia to learn more about this beautiful country and its people.” Glenn: “This was also my first workshop as a Data Carpentry instructor. I was encouraged by the enthusiasm of the students and their ability to absorb the vast amount of information we shared with them. When their faces begun to light up at the realization of the capabilities they were acquiring through the software we were teaching, I realized why Data Carpentry is so important. The kindness of the Ethiopian people, the richness of the culture, and the delicious food were all amazing added extras. Seeing the potential impact of Data Carpentry in Ethiopia inspires me to come back again soon and help to grow the seed that has been planted.” Read More ›

Joint future for Software Carpentry and Data Carpentry
Rayna Harris, Tracy Teal / 2017-09-02
“If you want to go fast, go alone. If you want to go far, go together.” Software Carpentry and Data Carpentry are sister organizations focused on teaching computational best practices to scientists. They are currently independent organizations with their own fiscal sponsorship, Steering Committees, governance model, and bank accounts. However, as is perhaps no surprise the organizations’ operations have evolved to share memberships, infrastructure for workshop coordination, an instructor training program, and even some staff members. This ‘separate but collaborative’ organizational structure has allowed us to build a shared community of instructors with more than 1000 certified instructors and 47 current Member Organizations around the world. As Software Carpentry and Data Carpentry continue to grow and develop, this ‘separate but collaborative’ organizational structure will not scale. The governing committees of both Software Carpentry and Data Carpentry have recognized that as more mature organizations they can be most effective under a unified governance model with reduced operational overhead and streamlined support for curriculum development and maintenance. Over the last few months, a joint group of representatives appointed from (and regularly reporting back to) the governing committees of both organizations has been exploring and moving towards merging the governance and staff organizations to officially recognize this shared alignment and vision, and going forward to best support the community, member organizations, and curriculum. On August 30, 2017, the Software Carpentry and Data Carpentry Steering Committees met jointly and approved the following two motions, which together form a strong commitment to continue moving forward with the merger, and to eventually hand off governance to a joint Carpentries Steering Committee: Approve merger of Software Carpentry and Data Carpentry: The Software Carpentry and Data Carpentry steering committees approve the merger of the two organizations into a single umbrella organization with associated lesson organizations, with a starting date of January 1, 2018. Approve appointed members of combined board: We appoint Karen Cranston, Kate Hertweck, Mateusz Kuzak, Sue McClatchy, and Ethan White to the board of the umbrella organization. We are now very excited for the next steps in putting together the Carpentries! Even though the two motions passed this week lay the groundwork for a merged organization, there’s still a lot of work to be done on the details of how this will all come together. The two Steering Committees (which remain in command until Dec 31) will be putting together Requests for Comment, because community input in decisions and structure around everything from governance to curriculum oversight will be key. A very brief history of Software and Data Carpentry What does this mean for our instructors? Software Carpentry and Data Carpentry have already unified their instructor training to have one Carpentries instructor certification and program. Hence, the instructor training program will continue as it is. People who are already instructors can continue to teach workshops as they already do! Nothing substantive will change. There may be some updates on email list locations, but it will remain the joint Carpentries instructor community that it already is. The new Carpentries Board of Directors will include elected positions, and instructors will be the electorate casting votes for those, as they have in the past for the Software Carpentry Steering Committee. More information about the elections will be coming out in October. Please also consider running yourself for a position on the Steering Committee to help guiding the Carpentries through this next phase! If you’re interested in more information on elections now, please contact Kate Hertweck (k8hertweck@gmail.com). What does this mean for our Member Organizations? Memberships are already joint between Software Carpentry and Data Carpentry, so there will be no changes with memberships. All signed, pending and upcoming membership agreements will remain valid and will simply changeover to the Carpentries after January. We will be transitioning the Software Carpentry Advisory Council to a joint Carpentries council, and we will keep members updated on that shift. Proposed organizational structure and leadership Members of both the Software Carpentry and Data Carpentry Steering Committees and staff have been meeting regularly to outline the steps needed for transitioning from two independent organizations to one united organization. The Software Carpentry and Data Carpentry steering committees have approved the following structure to be effective on January 1, 2018: A single umbrella organization (tentatively named The Carpentries) with associated lesson organizations A governing Board of Directors composed of 9 members (5 appointed, 4 elected), each serving a two year term without limits on the number of terms. An Executive Director who reports to the Board of Directors. Initially, this position will be offered to Dr. Tracy Teal. A Director of Business Development who reports to the Executive Director. Initially, this position will be offered to Jonah Duckles. Software Carpentry and Data Carpentry will remain as distinct lesson organizations with their unique brand. Currently, we are articulating the roles and responsibilities of the unified organization and the associated lessons. Below is a brief summary of the responsibilities we propose will fall under the Carpentries and under the lesson organizations. Proposed structure and responsibilities of The Carpentries and the Lesson Organizations Just in case you are wondering who the current Steering Committee members are and who will be on the 2018 Board of Directors, here’s a table for your reference. (M = Member of the current merger committee that serves as the liaison between the community and the Software Carpentry and the Data Carpentry Steering committees during the planning and execution of the merger.) 2017 Software Carpentry Steering Committee(all elected) 2017 Data Carpentry Steering Committee (all appointed) 2018 Carpentries Board of Directors (5 appointed, 4 elected) Rayna HarrisMKate HertweckMChristina KochMateusz KuzakKarin LagesenSue McClatchy Karen CranstonMHilmar LappMAleksandra PawlikKarthik RamEthan White Karen CranstonKate HertweckMateusz KuzakSue McClatchyEthan Whiteto be electedto be electedto be electedto be elected Next Steps in the merger There are many areas of work to be done before January 1, 2018. Some of the things we are working on include: Articulating the bylaws for the Carpentries Articulating the policy and leadership within each Lesson Organization Posting Requests For Comment on bylaws, structure and policy for community comment, incorporating feedback. Approving a unified budget Launching a new website Electing the 2018 Board of Director members Updating or crafting mission and vision statements And so many more details… Questions, comments, want to learn more? If you have questions, comments or just want to learn more than what’s already posted here, please get in touch with staff at team@carpentries.org, Tracy Teal at tkteal@datacarpentry.org, Jonah Duckles at jduckles@software-carpentry.org, the Software Carpentry Steering Committee president Kate Hertweck at k8hertweck@gmail.com or the Data Carpentry Steering Committee at board@datacarpentry.org. Also, feel free to comment on this post, or start a new conversation at https://github.com/carpentries/conversations Community is and will continue to be a key component in this merger, so comments and discussion are always appreciated! Read More ›

Waxing poetical in a Software Carpentry workshop
Brian Ballsun-Stanton / 2017-08-31
Hi everyone! I just finished running my first segment of a Software Carpentry workshop. I massively overprepared last evening and my notes for the first four lessons of unix shell are on google drive if anyone would care to reuse them. In any case, one of my students (who had audited one of my other classes) made the following tweet: “Never heard anyone present fundamental computing concepts so poetically as @DenubisX @swcarpentry #MacquarieUni” At which point, Belinda responded: “Liking the sound of this - will you write up a workshop post for us, Brian?” And so here I am, accused of poetry. I think because I semaphored my arms when describing arguments/flags. I stood in front of the group and waved my arms around like I was holding flags, directing trains down different tracks. I also used call and response, asking the audience to complete my statements (after introducing them a few times), which served to introduce nice pauses into the presentation, allowing people to process and ponder. But … none of this is poetry. I think I was accused of poetry because during the first discussion of command line interfaces (CLIs), I stepped away from the computers and varied my voice and volume and pitch when looking at the nature of computers. And lots of emotive body language. Speaking to the learner during the lunch break, she tweeted when I was unpacking the why of CLIs in unexpectedly non-mundane (perhaps florid, or purple) detail, sharing my enthusiasm for the ideas with the class. And most people seemed to respond well to that sort of engaging and obviously “I am interested by this topic and I hope to share my excitement with you” framing. Yay! I think the lesson to take away here is: speak passionately when you can, infecting the learners with your passion at the start of the lesson sells them a reason to engage. (And their body language will tell you if the enthusiasm was, indeed, sold. Pay attention to body language.) Read More ›

All About CarpentryCon
Belinda Weaver / 2017-08-30
What is CarpentryCon? CarpentryCon aspires to become a major learning, skill-building and networking event for our global Carpentries community. We want to help Carpenters develop the skills they need to get the careers they want. We want to help them create supportive local communities based on our values of openness and sharing. We also want to give newcomers the chance to network with more experienced people in our community, so that a range of hard-won knowledge can be passed along to a new generation of leaders. Under the theme Building Locally, Connecting Globally, this first-time event will stand on three pillars – community building, professional development, and networking. Community Building By bringing together members of the Carpentry community, including instructors, partners, advocates, and staff, together with people sharing similar interests from around the globe, we will discuss tried and tested methods for creating local communities within the larger Carpentry community. Our “come and learn” format will include success stories from people who have built communities across six continents. Sharing Knowledge We will provide current and future Carpentry community leaders opportunities for continued learning and professional development. This will include sessions on teaching methods, curriculum development, and community organization. Professional development sessions might cover technical skills (such as writing R apps with Shiny), pedagogy (such as lesson maintenance), and leadership (such as recruiting and retaining local helpers, or leading projects). Networking We will provide networking opportunities so Carpentry community members can meet peers and share skills and perspectives. Participants can come together both formally and informally to share stories about challenges and successes, and to make new friends. Un-conference While there will be a range of structured sessions, we also want to include some ‘un-conference’-like sessions at CarpentryCon. This will allow for spontaneity, where attendees can decide the direction and discussions they want. Where will it be held? And when? As yet, we don’t know (though it will be some time in 2018). We have just posted a form to allow potential hosts to offer venues. Please send this out as widely as you can, or consider bidding to be a host yourself. We do know that CarpentryCon will be a three-day, high-intensity event. Connecting people from different communities in both industry and academia, CarpentryCon will allow us to celebrate how far we’ve come as a community and make plans to go on to do even greater things. How can you get involved? Join the task force headed up by Fotis Psomopoulos and Malvika Sharan Spread word about the venue bid form Publicise the event through your channels Catch up on what’s been happening Volunteer as a helper/organizer at our meetings Read More ›

Publishing our lessons, Version 2017.08
Kate Hertweck, Rémi Emonet / 2017-08-24
We are pleased to announce the latest publication of Software Carpentry lesson materials, from release Version 2017.08. Although most of our lessons are fairly mature, we had almost 100 new contributors. We have used this opportunity to improve the process through which lessons are released, some parts of which were previewed in this blog post. This release includes linked ORCID identifiers (visible on the Zenodo page next to the author’s name) and has allowed for individuals to opt-out as contributors. You can learn about the release process on GitHub, and can view this and previous archived versions on the release page. Publication records Latornell, Doug (ed): “Software Carpentry: Version Control with Mercurial” Version 2017.08, August 2017, https://github.com/swcarpentry/hg-novice/tree/2017.08 10.5281/zenodo.838760 Gonzalez, Ivan and Huang, Daisie (eds): “Software Carpentry: Version Control with Git” Version 2017.08, August 2017, https://github.com/swcarpentry/git-novice/tree/2017.08 10.5281/zenodo.838762 Capes, Gerard (ed): “Software Carpentry: Automation and Make” Version 2017.08, August 2017, https://github.com/swcarpentry/make-novice/tree/2017.08 10.5281/zenodo.838764 Kiral-Kornek, Isabell and Srinath, Ashwin (eds): “Software Carpentry: Programming with MATLAB” Version 2017.08, August 2017, https://github.com/swcarpentry/matlab-novice-inflammation/tree/2017.08 10.5281/zenodo.838766 Bekolay, Trevor and Staneva, Valentina (eds): “Software Carpentry: Programming with Python” Version 2017.08, August 2017, https://github.com/swcarpentry/python-novice-inflammation/tree/2017.08 10.5281/zenodo.838768 Wright, Tom and Zimmerman, Naupaka (eds): “Software Carpentry: R for Reproducible Scientific Analysis” Version 2017.08, August 2017, https://github.com/swcarpentry/r-novice-gapminder/tree/2017.08 10.5281/zenodo.838770 Chen, Daniel and Dashnow, Harriet (eds): “Software Carpentry: Programming with R” Version 2017.08, August 2017, https://github.com/swcarpentry/r-novice-inflammation/tree/2017.08 10.5281/zenodo.838772 Devenyi, Gabriel and Srinath, Ashwin (eds): “Software Carpentry: The Unix Shell” Version 2017.08, August 2017, https://github.com/swcarpentry/shell-novice/tree/2017.08 10.5281/zenodo.838774 Cabunoc Mayes, Abigail and McKay, Sheldon (eds): “Software Carpentry: Databases and SQL” Version 2017.08, August 2017, https://github.com/swcarpentry/sql-novice-survey/tree/2017.08 10.5281/zenodo.838776 Silva, Raniere and Emonet, Rémi (eds): “Software Carpentry: Example Lesson” Version 2017.08, August 2017, https://github.com/swcarpentry/lesson-example/tree/2017.08 10.5281/zenodo.838778 Silva, Raniere and Emonet, Rémi (eds): “Software Carpentry: Workshop Template” Version 2017.08, August 2017, https://github.com/swcarpentry/workshop-template/tree/2017.08 10.5281/zenodo.838780 Read More ›

Feedback of Champions
Belinda Weaver / 2017-08-24
Jonah Duckles and I hosted our first Community Champions call on 22 August (23 August for us southern hemisphereans). Twenty-five people signed up for the call. We had attendees from the US (several locations), the UK, Canada, the Netherlands, plus me in Australia and Jonah in New Zealand. We also had a range of expertise - some old hands, and some keen to kickstart a brand new community. People shared experiences about what had worked locally - these involved regular drop-in sessions like Hacky Hours, as well as more formal arrangements like local study groups or big events like the three-day Research Bazaars, which combine workshops with more informal sessions such as lightning talks, knowledge bazaars, meet ups, stalls, and fun and games. There were 14 Research Bazaar events held in 2017 in locations ranging from Oslo to Tucson and five cities in New Zealand. The first was held in Melbourne in 2015. This spawned 10 in 2016 in countries such as Ecuador, Canada, and Australia. Local activities Mateusz Kuzak from the Netherlands talked about the Study Group that runs at Science Park Amsterdam. The group mostly comprises plant physiology and neurobiology researchers, with biodiversity researchers now joining in as well. More informal meetings are also held bi-weekly in a local cafe, where people can come for help with tools like R, Python, Snakemake, and git. Mateusz is keen to expand the instructor base in the Netherlands too with instructor training happening in November. In Brisbane, Hacky Hours are run weekly at both The University of Queensland and at Griffith University, with a new HackR Hour at the other Brisbane university, QUT. Software Carpentry instructors and helpers tend to be the key drivers of these events. Queensland universities also collaborate to run Research Bazaar, with successful events in both 2016 and 2017 where 11 workshops were run, including two Software Carpentry workshops and an advanced R class. Meetups are another great networking tool to build community - Brisbane has monthly data science, Python and Hackers/Hack meetups. Australia also has a bioinformatics student group called COMBINE, many of whom train as Software Carpentry instructors. Forging links with groups like these help with cross-promoting events and community building. At UC San Diego, work to expand the instructor community is underway. Two Software Carpentry workshops per year are offered through the library. The University of Oklahoma runs three workshops per semester for fall/spring, with summers set aside for special requests. Open office hours are also run for four hours a week in two campus locations. Carpentry instructors meet monthly to network and share ideas. The University of Arizona/CyVerse now run an annual Research Bazaar, as well as regular Hacky Hour and PhTea drop-in advice sessions. Work is underway to build a Data Science/Literacy initiative at the university. Three large (50-100 people) Software Carpentry workshops are run annually, with ten smaller, more focused workshops run as well. There is a strong instructor/helper community, with the aim of building a strong community of practice, and linking up with local initiatives such as Python or Big Data meetups. At the University of Michigan, “flagship” workshops are run 3-4 times a year, along with workshops sponsored by specific departments/groups. They are interested in creating a pipeline of learners –> helpers –> instructors to ensure the sustainability of the community. There are R user groups at the University of Florida (UF) and at York University in Canada (which also has a PyData group). UF also has a Carpentries Club for instructors, while the UF Libraries are hoping to fund a community organizer position through an internship or fellowship. UW Madison has ComBEE, a Hacky Hour-style group. Among other activities, they also host both R and Python study groups, which complement the Carpentries workshops they run on campus. People used a range of methods to stay in touch with local groups, with Twitter, slack channels, email/email lists and regular meetups being the most common. Getting started Newcomers to community building were keen for tips on creating a community out of nothing. One way to fund workshops is to try to source funding via grants proposals. At the University of Oxford, ideas are wanted on how to turn enthusiasm into actual workshops, since the legwork involved in making workshops happen is challenging. As an outcome of these discussions, we aim to create a playbook for community building. This growing document will outline the successful strategies people have already used. It would include checklists, some best practice guidelines, and some success stories. This playbook would be made available as an open source tool, but also could be worked up as a paper to publish. This idea got the thumbs up from attendees. To sum up, these are the mechanisms most in use. We welcome more ideas. Stay tuned for our next Champions call in November. Open Help Sessions (Hacky Hour, PhTea, Digital Scholarship Office Hours …) User Groups (R Users, Python Users, discipline-specific meetups) Study Groups Research Bazaar (also known as ResBaz) events ThatCamp Read More ›

15 July -15 August, 2017: Writing a blog post, Instructor Training Curriculum, Merger, League of Champions.
Martin Dreyer / 2017-08-18
Highlights It should not be a painful experience to write a blog post, so please reach out to us! Have a look at the approved motions for the Carpentries merger. We are pleased to announce the Instructor Training Curriculum has been updated and will be released end of August. Tweets Our Carpentry Clippings newsletter is out. Read it here if you missed it. Contributed to a lesson? Let us know so you get credit. Donate to Software Carpentry to support workshops in new places. Want to get a Software Carpentry workshop at your institution? Here’s how. Show your support for opensource datascience — become a NumFOCUS member. Did you know we have a mailing list to discuss our R lesson + other R-related issues? Post questions there. Building a community: 3 months of Library Carpentry. General Please feel free to provide suggestions to our Community Lead via the Google form. We invite all our community champions to join the Carpentry Champions call on 22 August to come and share their knowledge and learn from each other. 21 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: August University of Tasmania, University of Oklahoma, University of Michigan, Vanderbilt University Medical Center, University of Namibia, University of Arizona, Tucson, UW Madison, National Center for Supercomputing Applications. September University of Würzburg, Ghent University, Oregon State University/CGRB, University of Chicago, University of Southern Queensland, Macquarie University. October The River Club, Aarhus University, UCLA, European Molecular Biology Laboratory, Institute for Theoretical Physics UAM-CSIC. Read More ›

The Totally Bearable Lightness of Being an Instructor ... So Finish that Training!
Juliane Schneider / 2017-08-17
Also, there’s this thing at UCLA going on September 7-8 … Greetings, my Library Carpentry community peeps! Hope your summer is going as well as mine, which means about as fine as the coffee in Twin Peaks, or a Fellini film - take your pick. Several months ago, I wrote a post about the amazing time I had in Portland at csv,conf and at the Library Carpentry Instructor Training that Belinda Weaver and Tim Dennis taught, ably assisted by myself, John Chodacki and a spatula. We had a wonderful cohort of instructors-in-training, all of whom I know would rock a room with their Bash and OpenRefine instructional skills. So I say to thee, oh #porttt cohort, if you haven’t completed the final steps of your instructor certification, get on it, because we need you! Remember how much fun we had in Portland? You can have that again, by holding your own Library Carpentry workshop and building your local community of data-savvy colleagues. Steps to certification: 1. Contribute to a lesson. Library Carpentry just had a very successful writing sprint, and we have a lot of open issues to resolve so there are many opportunities to contribute, even if it is spelling corrections or link updates. The downside of this is that it can be confusing to figure out HOW to do this and what issues are actually available to work on. If you find it daunting to know where to start, or how to get through the GitHub workflow, please - PLEASE - contact me, Tim Dennis or John Chodacki and we’ll help you through it. Promise, it’s eezee peezee! 2. Participate in an online discussion. This is the easy one. Jump online and hang out! Ask questions about doing workshops, ask about specific lessons, or, like me, have an ecstatic geekfest discussion about the glories of OpenRefine, in my case with Kate Hertweck. Here’s the schedule. Sign up for a session and knock this one off the certification list. 3. Teach a short demonstration session. This is easier than you think. (LOUD WHISPER: you are on videoconference doing live coding/demo, so you can use notes and nobody sees you looking at them!) We are mostly nice people, except for me when when confronted by MARC XML or a poorly made gimlet. So, you will be fine … unless you do something outlandishly egregious, like perhaps saying “just” a lot or admitting out loud that you didn’t like OpenRefine. Sign up for your demo. That’s it! If you want what I just typed in more formal and less metricious language, see the full checkout procedure. I know, it’s SWC, but we’re following the same procedure, so you are in the right place. Now. NOW. To the fun part. Team Spatula Returns! Belinda, Tim, John and I will be at UCLA September 7-8, spreading the word about Library Carpentry and having discussions about community building and running a Library Carpentry workshop (or watching some of our new instructors teach one, we hope). In addition, we will be having yet more fabulous times after hours with all of our new best Library Carpentry friends. As we finalize the schedule for this reunion event, we’ll keep you all informed, and remember, if you are experiencing any kind of roadblock or confusion over your final LC instructor certification steps, please contact one of us. We will be more than happy to help you complete the steps and start planning a workshop! (Hint: if you are still completing certification and are in the LA area and want to get certified in time to be an instructor for the September 7-8 event, we’ll help you get there, and get you your first instructor experience.) Basically, if you need any support, PING US. We are are here to help. And we hope to see some of you soon in Los Angeles. Till next time, Juliane Read More ›

Instructor Curriculum Updated
Belinda Weaver / 2017-08-14
Sixty-seven pull requests were successfully merged during the recent update of the Software and Data Carpentry instructor training curriculum. Most of these PRs were merged during the recent 24-hour Bug BBQ that ran over 3-4 August. More than 20 instructors and trainers were involved with the update. A few pull requests remain to be merged before the material is ready to be re-released. This should happen by the end of August. The spadework for what needed fixing was established during an issue bonanza in July. Erin Becker then created a plan of work for people to tackle during the Bug BBQ. Some new material has been added, for example, Ted Laderas’s contribution on the importance of ‘grit’ - sticking with something even if it is a little bit challenging. Where material was duplicated, that has been addressed as well. After the Bug BBQ, Christina Koch commented: ‘It’s really cool to see how having lots of different people contribute makes the whole thing so much better. We had a new contributor [Ted Laderas] who added great material on error framing / grit, Rayna [Harris] and Lex [Nederbragt] both added really helpful diagrams for Bloom’s taxonomy, there were good additions to the instructor notes, and all of the “little” changes ([fixing] typos, weird sentence structure, etc.) add up to make a BIG difference in the quality and professionalism of the material.’ She went on to say how important it was to ‘organize and tag issues so that there was a lot of good “low-hanging fruit” for people to bite off without getting too overwhelmed. Lots of small issues is definitely the way to go, and it’s important to resolve issues as they’re addressed via PRs so that it’s clear what still needs work.’ Christina would be interested to hear from other people about the pros and cons of using tags to label issues for hackathons and whether or not organisers made it clear to participants how to find issues using those tags. The Data Carpentry chatroom provided a central place for people to network and ask questions during the Bug BBQ, and a few people hopped on zoom calls as well to chat face-to-face. Our instructor training curriculum is crucial to growing our instructor community across both Software and Data Carpentry, so it is pleasing to see the material tidied up and, in some places, re-ordered to provide a more logical flow. Thanks to everyone who came along and took part in the Bug BBQ. Your contributions were very much appreciated. Read More ›

Motions approved for Data Carpentry & Software Carpentry Merger
Rayna Harris / 2017-08-07
I am happy to announce that the Steering Committees of both Software Carpentry and Data Carpentry have approved 4 motions regarding the structure and leadership of the mergered Carpentries organization. The approved motions are: Motion 1 The Board of Directors for the combined organization will be composed of 9 members, each serving a two year term without limits on the number of terms. Five members will be appointed through a process of nomination to the board followed by voting by board members. The other four members will be elected by the membership of the organization. Background: We anticipate that role of Board is governance / steering rather than execution / operations. Appointed members ensure that the Board has the expertise desired for leading an organization with the legal and financial responsibilities of the combined organization, while elected members continue on the democratic traditions of SWC and allow interested community members to be part of the leadership. Motion 2 The combined organization will have an Executive Director who reports to the Board of Directors. Initially, this position will be offered to Dr. Tracy Teal. Background: The ED is the link between the Board and the operations of the organization. The ED will have autonomy to make decisions about running the organization, given strategic direction from the Board. Motion 3 The combined organization will have a Director of Business Development who reports to the Executive Director. Initially, this position will be offered to Jonah Duckles. Background: Business development is critical to the long-term sustainability of the organization. In the merger of two organizations, each with an ED, this clarifies roles and reporting. Motion 4 Existing subcommittees and task forces will have a point of contact from among the staff, rather than reporting directly to the Steering Committee. Background: The subcommittees perform important work of the organization. They currently report directly to the SWC Steering Committee, which is inconsistent with a Board responsible for governance, not operations. The subcommittee’s should instead work directly with staff, overseen by the ED. Timeline for the merger See the overview all the steps we will be taking in the next few months here: https://software-carpentry.org/blog/2017/06/merger.html Read More ›

The Champions League
Belinda Weaver / 2017-08-07
When people sign up for our newsletter, Carpentry Clippings, many mention community building as one of their key interests. We are lucky in the Carpentries to have so many people who want to build local groups. These people are our community’s champions. They are the hard workers who volunteer their time to organise and run local workshops, recruit new instructors and helpers, teach and maintain our lessons, serve on committees and task forces, and generally help further the Carpentries’ mission of skilling up researchers to do more efficient, reproducible science. Many of these champions have fantastic local knowledge, and many provide the backbone without which local events such as Hacky Hours, Research Bazaars (ResBaz), study groups or communities of practice around certain disciplines or tools would not exist. What they know about community building is enormously valuable. We would like to connect these champions together in a network together so they can share tactics and expertise. Our ultimate aim is to develop a community building ‘playbook’ so that tried and tested methods can be transplanted easily to new spots around the world as we welcome more and more people into our Carpentries community. To kickstart a conversation, Jonah Duckles (Executive Director, Software Carpentry) and I (as Software and Data Carpentry Community Development Lead) are planning to host a Carpentry Champions call at 8pm UTC on 22 August - check the local date and time in your location. Sign up for the call on our etherpad, which will provide a list of talking points and all the connection details. We welcome experienced and aspiring champions to come learn from each other about how to best spread the Carpentries approach to teaching and collaborating to new organizations and new places. Come share your stories and learn from each other! We hope to see you there. We will write up the results of the call, and post it on this blog. We will also start a GitHub repo to capture all your great community building ideas. Stay tuned for more details. Read More ›

Keep Calm and Write a Blog Post
Belinda Weaver / 2017-07-25
Writing a blog post should not be hard. A blank screen can seem very daunting, but if you populate it with a few questions, such as Who? What? Where? When? Why? and How?, then you have the genesis of a post. Workshop report? Once you’ve answered the questions above, you’re pretty much done. Throw in something that went well or a funny story about something that didn’t, and that’s it. Conference reportback? Ditto. Project you’re working on? Ditto. Perhaps you’ve stumbled across some new tool that you love so much you want to tell the world? Tell us why you like it and what you use it for, and that’s a post right there. If you are not sure how to format your post for our blog, check out our CONTRIBUTING.md file, which now includes instructions on posts. If that all seems too hard, feel free to email your text to me, and I will arrange to post it for you. We want our blog to be useful to our community, and a multiplicity of voices helps with that. Read More ›

Feedback on feedback
Belinda Weaver / 2017-07-20
When I started as Community Development Lead, I posted a Google form to ask people in our community for feedback on what they thought was the main issue I should address. I got a range of responses, from concerns about lesson maintenance to a call for more briefings to help people stay connected. Also raised were instructor retention - how do we prevent burnout so good people don’t leave? - and instructor involvement - how do we increase the numbers of instructors reading our blog posts, signing up for the newsletter, getting involved in community calls and committees like mentoring? ‘Quality control’ of workshops was also raised. Obviously workshops where people teach their own material, use slides instead of live coding, or don’t otherwise follow our pedagogy can damage people’s trust in the Carpentries. But how do we find out about those? And how can we educate our instructors on what makes a good workshop? I was also asked to tweet more - especially to alert people to new blog posts. People also wanted reminders about upcoming events like community calls. Some of these issues were discussed in the two community calls just gone. You can see the discussions on the call etherpad. Some good ideas were raised - annual refreshers to keep instructors informed and engaged, providing text people can use in CVs and job applications on the benefits of Carpentry skills and training, and building a workshop ‘playbook’ to centralise checklists and tips. The Google form is still open - feel free to keep channelling ideas and suggestions to me. If you leave your contact details, I promise I will get back to you to discuss your ideas further. However you are also welcome to post feedback anonymously. One respondent asked us to develop an infographic of the Carpentries to help people orient themselves in the merged organisation. I think this is an excellent idea. However, my design skills could most kindly be described as rudimentary. Anyone want to volunteer? Read More ›

1 - 15 July, 2017: Learner Impact, Instructor Training, Community Building, Author Information.
Martin Dreyer / 2017-07-17
Highlights Our pre- and post-workshop surveys show that the Carpentries have a significant impact on the learners. We are working to better the instructor training material to ensure we have a good up to date curriculum. You do not have to be an expert to be a good instructor. Tweets Are you on our mailing list yet? Sign up here to get our newsletter. The teams at @swcarpentry and @datacarpentry keep fighting the good fight! Good enough practices in scientific computing. Help bring workshops to new countries + communities in 2017 - make a donation to Software Carpentry. Read our experiences in ELIXIR with @swcarpentry and @datacarpentry. Research libraries and tools curation in digitalhumanities: new report. Wonder what’s going on @swcarpentry? You can see our community calendar here - it will correct for your time zone. General You do not need to be an expert to be a workshop helper. We do a lot to build the community within the Carpentries. NASA DEVELOP hosted two concurrent workshops and it went very well. If you have contributed to any of our lessons in the past please take a few minutes to give us some basic information. 22 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: July University of Mauritius, Imperial College London, Lawrence Berkeley National Laboratory, University College London, McMaster University, Noble Research Institute. August University of Southampton, Federal Reserve Bank of Chicago, University of Notre Dame, Space Telescope Science Institute, University of Sheffield, Washington State University, Interacting Minds Centre, Aarhus University. September University of Würzburg, Ghent University, Oregon State University/CGRB, European Molecular Biology Laboratory. Read More ›

Credit for lesson contributors
Kate Hertweck / 2017-07-16
In 2016, Software Carpentry instituted a twice-yearly release schedule for our lessons (see here for previous releases). Lesson releases, representing a snapshot in time of the material’s development, are published through Zenodo and given a DOI for citation purposes. Releases serve a few purposes, primarily to provide a trackable record of the development of our materials and to allow attribution to community members who contribute to lessons. The lesson maintainers are included as editors, while all other contributors who have made changes (as tracked through GitHub) are represented as authors. Given that the time is approaching for a new release, we have begun to reassess how to manage the rather lengthy list of authors for each lesson. Rémi Emonet designed and implemented a fantastic automated method for lesson releases for Version 2017.02 in February 2017. We would like to improve this process by including additional information about our contributors besides their names. Zenodo allows inclusion of an ORCID identifier for each author, which provides a more robust and trackable method of identifying authors than traditional affiliations. If you’re not familiar with ORCID, please head over to their website to learn more and obtain your own identifier. ORCID is a great project which would be certainly useful outside of this purpose! A second issue related to lesson authorship is that our list of authors is inherently additive in nature, and represents anyone who has authored commits merged into the lessons. As our lessons have matured, some contributors no longer desire to be included as an author on the release. There are multiple reasons why this might be the case. For example, someone may no longer be affiliated with Software Carpentry, or may have authored a commit early in the lesson development process that does not currently appear in the lessons. We have operated under the philosophy that the lessons as they currently exist are the cumulative result of all previous work, and all authors should be acknowledged. However, we also recognize that this is ultimately a personal choice, and our community members should be allowed to opt-out of authorship in all future releases if they wish. To reconcile these two issues, we’ve decided to gather some information from our contributors using this Google Form. If you have contributed to lessons in the past, please take a few minutes to provide some basic information. We will be collecting responses until August 1 to include in the next release, although the form will stay open indefinitely. Eventually we may decide to add features in AMY to capture this information, but for now, please help us test this approach by adding your information. Read More ›

First time for everything
Peter Evans / 2017-07-11
This spring I found myself back in a new situation, an anxious instructor in front of a room full of anxious students. My last teaching was many years back, as a teaching assistant in graduate school, and then a few lectures as part of an intermediate-level course for graduate students. But those were rather theoretical, blackboard affairs. This was my first attempt at teaching software, and with live coding demos. Didn’t Steve Jobs himself say “never give a software demo”? (Okay, maybe not.) In the end though, I was happily surprised by the experience. Getting there is half the fun At the end of the long German winter, a group of us had come together with the idea of holding a useful workshop or two for our institutes - the GFZ German Research Centre for Geosciences, the Potsdam Institute for Climate Impact Research (PIK), and the University of Potsdam (UP), and others. After much discussion, we settled on two two-day workshops to be held in May - one a Python Novice workshop, and the other on R. There was strong interest and many more people wanted to take part than we could fit. We had a large group of instructors and helpers with a diverse background. One or two had done this before; three of us had just completed the SWC instructor training course, but hadn’t checked out yet. Martin Hammitzsch led us in wisely lowering our sights to something achievable, and in managing much of the administrative work required to get us there. We were fortunate to have a great venue available. (Literally, as it was at the GeoLab meeting space in the base of the Great Refractor, one of the important scientific instruments of the end of the nineteenth century.) Little set-up time was needed, as we were able to distribute preconfigured disk images to all the computers in the room. Both courses were delivered in English. This created a few amusing issues like “Where is the control key on this German keyboard?” Getting to know you We began the first morning with all participants giving short “lightning talks”, limited to two minutes and one slide. This was an effort to build a software-oriented community by finding common interests across the many disparate research groups in our cross-disciplinary institutes. The results were an impressive demonstration of the range of talents present here. The big day I gave the “Introducing the Shell” introduction. As I got started, I had an insight: Every one of us in this room had mastered a second (natural) language. So surely getting started on a couple of computer languages and dialects (bash, git, Python, R) wouldn’t actually present much of a hassle for the participants. I found this thought reassuring, at least - I hope they did too. Things unfolded more or less smoothly over the rest of the workshop. The most satisfying feedback was that we obviously enjoyed guiding the students and benefitted from having strong material. Or that we went slowly and carefully so that everyone could keep up. Much credit is due to the SWC community for giving us such a solid, well-structured base to work from, and to Martin for his leadership in educating us about the goals of SWC, and for his organisational expertise. These workshops were a good learning experience for the instructors (for the participants too!) and we look forward to putting on an even better workshop in 2018. Read More ›

Curriculum › Help Update the Instructor Training Materials
Erin Becker / 2017-07-11
The Carpentry Instructor Training curriculum helps prepare new instructors to teach Carpentry workshops. It also impacts instructors’ teaching practices when they teach in other contexts, helping to spread the Carpentry pedagogical model and evidence-based teaching practices around the world! We last published this curriculum in February. Since then, we’ve taught over 150 new instructors at a dozen training events. We’ve also welcomed ten new Instructor Trainers to our community, with fifteen more to join in September. We’ve learned a lot over the past six months and want to incorporate what we’ve learned before our next publication (scheduled for August 10th). Please join the Trainer community in updating these lessons! Get involved! If you’ve made a contribution to the Instructor Training materials, you’re already an author. Help make sure the final product is polished and complete by getting involved in the lesson release events. The Instructor Training Issue Bonanza is starting Thursday, July 13th at 22:00 UTC and will continue until Friday, July 14th 22:00 UTC. Click this link to see the event in your local time. How does the lesson release process work? Here’s a run-down of the lesson release process and our timetable for this release. Issue Bonanza to identify issues that need to be fixed before publication. July 13-14 Staff and maintainers organize issues (e.g. add tags and remove duplicates). July 16-20 Bug BBQ to fix issues identified during Issue Bonanza. Aug. 3-4 Publish! Aug. 10 Issues to focus on are in the lesson release checklist. You don’t need to be an expert in the materials - we need people to help search for broken links and typos too! If you’re planning on joining the Issue Bonanza - add your name to the event Etherpad. We’re excited to work with the community to update these materials. Put these dates on your calendar, and we’ll send out reminders and updates too. These lessons belong to the community - help us keep them great! Read More ›

Two Workshops at NASA DEVELOP (or, Python De-Fanged)
Ryan Avery, Kunal Marwaha, Katie Moore, Kelly Meehan / 2017-07-11
On 8-9 June, 2017, Katie Moore, Deputy Data Management Team Lead for the NASA CERES Science Team, and Ryan Avery, Geoinformatics Fellow with the NASA DEVELOP National Program, ran a self-organized workshop in Hampton, VA. On 12-13 June, 2017, Kunal Marwaha, a software engineer with Palantir, Kelly Meehan, Geoinformatics Fellow with NASA DEVELOP, and Ryan ran another self-organized workshop in Norton, VA. Both workshops focused on building skills in NASA DEVELOP participants, who work on 10-week feasibility projects that demonstrate how to apply NASA Earth observations to environmental concerns to enhance project partner decision-making. In the process, both partners and participants gain a better understanding of NASA’s Earth-observing (EO) capabilities and improve their professional and technical capacity to use EO data. For Katie, Kelly, and I, these were the first workshops in which we taught entire lessons and we found it to be an extremely rewarding experience. ## NASA DEVELOP at Langley Workshop Attendees Day 1: 19 Attendees Day 2: 15 At the Hampton workshop, learners came from a variety of academic backgrounds and with a spectrum of skillsets. The majority of learners fell within environmental or planetary sciences, but we also had undergraduate and graduate students attending who were studying mathematics, chemical engineering, economics, physics, and social sciences. Because of the types of programs written for DEVELOP research projects, we opted to focus on covering programming fundamentals, leaving out most of the UNIX shell lesson after the working with directories section. For Python, we incorporated the Gapminder Variables and Assignment and Libraries lessons into the Inflammation lessons, which was a success. We also covered the Gapminder Plotting lesson, which ended up being a little redundant. The Git lesson excited and motivated most participants but also left some participants wondering when or if they would ever use Git. In our next workshop in Norton, VA, we changed our delivery of these lessons to include more hands-on examples. For most learners, the pace of the workshop was spot on, with a handful of respondents saying the pace was either too slow or too fast. There were some technical issues with being able to open the Python interpreter from Git Bash. We solved this problem pretty quickly by creating a .bashrc file to point the Python command to the python.exe executable file. Instructions to do this have been documented on the Configuration Problems page. Another big lesson from this workshop was not to hold intensive two-day workshops during the orientation week of our program, when participants are tired out from getting accustomed to a new job. There was some drop off in attendance on the second day, however, overall feedback and survey responses were positive and most learners reported feeling more motivated and less intimidated by the UNIX Shell, Python, and Git. Some of the feedback we got: Good The sticky notes help system worked well and was a good idea The pace, the instructors, and the content that was [provided] were fantastic. Thank you again. Thank you Ryan and Katie! That was very helpful and very informative. Improve I would have loved a couple extra days to learn R, more bash, and sql! None that I can think of right now NASA DEVELOP at Wise Workshop Attendees Day 1: 9 Attendees Day 2: 9 The audience was very engaged and committed to staying the full length of the workshop. It included a high school teacher and student from John I. Burton High School (where we hosted the workshop) and the 7 participants of the NASA DEVELOP program at Wise. The NASA participants had already met a week prior, so there was existing camaraderie that made the workshop less formal and more welcoming. Furthermore, this workshop began after a weekend, with participants fresh and ready to tackle new challenges. The audience was new to programming but were proficient at typing and navigating their computer via a GUI, which made this workshop a lot easier to teach. Three instructors for nine learners also made a huge difference, for example, one participant was slightly behind for most of the first Python lesson, but was able to catch up each time with one-on-one help from an instructor. Some changes we made between this workshop after learning from the one at Hampton - we decided to not teach plotting from the Gapminder tutorial since we had already covered this in Inflammation. We also decided to provide more challenge exercises to give more hands-on experience and less “lecture” time. Folks were really excited by a few hands-on tutorials; there were several moments where the room was full of “oohs” and cheering. A couple of highlights included: After teaching Git, we pointed people to the Github repository for pianobar, a program to run Pandora from your command line. Find the binaries here. Learners cloned the appropriate repository (or brew installed it), and were able to connect their Pandora accounts and use the command line to create stations and play music. This was a good tie-in with versioning and collaboration and got the learners excited about the world of open source programming. In the final hour, we ran a couple of exercises at the end: Write a function that takes in a number (1-12) and runs the plots for the associated inflammation-xx.csv file. This tied together relevant concepts including if statements, chained functions, and data types. It also showed learners that there are often multiple ways to accomplish a task when programming. Use vi to write a simple questionnaire using python’s input() function, so that it would interactively ask for your name and how you’re doing and then provide a response which uses your answer. Learners came up with other questions and wrote humorous questionnaires. We wrapped up with learners trying each other’s programs and had lots of fun! Feedback was overwhelming positive, with 8/8 respondents to the post-workshop survey identifying as promoters. Some of the feedback we got: Good Learned Python!!! Learned how to use the terminal. I’ve used it before but never understood what I was doing and probably couldn’t have done anything useful with it before the workshop. Liked Rodeo & I think it’ll be useful in my DEVELOP project & my other research project. Instructors were really good & easy to follow. I was scared of coding before but not anymore so THANKS! I liked learning about the various applications & uses of Python. Awesome how it was step-by-step. I knew nothing about coding, but it was explained very well. Apply[ing] the coding… to actual problems was cool to see. The information was easy to understand. I liked the challenges after the lessons. I also liked hearing how the things we learned apply to real world applications. Ya’ll made coding fun for someone who has had no previous experience. Willing to help when we are stuck. EVERYTHING! Very useful & learnt A LOT especially Python. Learning the basics, plotting, functions, etc is very helpful in school & at work. I feel like I removed the fangs of the Python in this workshop and now it can’t bite me anymore. Before I was scared of it. OK maybe a bad pun. Intense course in 2 days but learning was steep. Improve With more time it would be nice to go over indexing and how computers read rasters. More explanation on Python basics. Possibly slow down the Python coding section. This workshop was not long enough for the information given. Possibly tailor to specific projects. Include more exercises. I want more than 2 days of Software Carpentry. I want to learn more. Maybe just slow down explaining some parts. Maybe break down exactly how these programs could work with our specific projects. Read More ›

Assessment › Analysis of Software Carpentry Workshop Impact
Kari L. Jordan / 2017-07-10
We’ve begun to look at our pre- and post- workshop surveys and are sharing the draft reports to stimulate conversation about our workshops and their impacts on learners. For this first cut, we looked at our post-workshop survey data. From this survey data, we can see that learning to program can be quite intimidating for many learners. About 44.5% of Software Carpentry learners who responded to the post-workshop survey feel that at least one of the tools covered in the workshop they attended was either slightly or very intimidating to them before attending a workshop. Luckily for our learners, we have trained, enthusiastic, and considerate instructors who are great communicators. As a result, our learners are leaving Software Carpentry workshops with increased confidence and motivation to perform computing tasks like initializing a repo in Git and importing libraries in R or Python! We have learned so much from the analysis of our post-workshop surveys. We invite you to check out the Analysis of Software Carpentry’s Post-Workshop Surveys report to learn more. Special thank yous go to Ben Marwick, Naupaka Zimmerman, Erin Becker, and Jonah Duckles. These individuals made valuable contributions to the code that was used to create the figures in this report. All of the data are available in a de-identified way in this repository. Source data (csv) , Report (html) and Report Source (rmd) are all available for further analysis and exploration. We’d love to hear from you if you look at the data, and pull requests are most welcome if you come up with some interesting analyses. What strikes you after reading the report? Tweet us your thoughts @swcarpentry and @drkariljordan. Read More ›

Open Channels
Belinda Weaver / 2017-07-06
I was writing a talk about community building in the Carpentries for the ANDS Tech Talk series, and found myself surprised at how many things we do. Obviously, workshops are our key community-building activity. They help us reach new learners, give instructors the chance to practise teaching, and draw in new helpers. Many learners and helpers go on to become instructors themselves, which builds further momentum. Conference tie-in workshops, such as the annual bootcamp for the UQ Winter School attendees in Brisbane, are another building block. People have already been at the conference together so they come to the workshop as a loose group, where they learn tools relevant to their research practice with others from the same discipline. Tie-in workshops help us build out into different academic communities both nationally and internationally, since many go home from our workshops as advocates for Software Carpentry. Conference-goers can find kindred spirits via our meetups page, and busy Carpenters can stay in touch via our newsletter - you can subscribe here or read issues you might have missed. We also have a number of email lists, such as the discuss list, or regional lists such as Australia/New Zealand. Our blog and our Twitter feed provide other avenues to stay in touch, as does our slack channel. People can catch up with those conversations whenever it suits them. For those who want to connect more directly, community calls and instructor discussions provide a way to talk in real time. Find those on our community calendar. We also engage people directly via our lessons on GitHub. People raise all kinds of issues, and discussions can get quite lengthy. But it’s important for us to provide that forum: we’re Software Carpentry - we do what we do in the open. There is also all the great outreach our mentoring volunteers do - running instructor discussion sessions to debrief instructors after workshops or to help new people prepare to teach for the first time. Teaching demo sessions are another way to build community - connecting the growing trainer group to new instructors coming through from instructor training, another key building block of outreach. Sprints and hackathons like Data Carpentry’s bug bbq also draw people in, as did our 2015 instructor retreat. And soon there will be CarpentryCon! Expect to see a blizzard of info about this 2018 event soon. Read More ›

Why be a helper at Software Carpentry workshops?
Belinda Weaver / 2017-07-01
“I’m not an expert on R”, “I don’t know any Python”, “I’ve never used Git” - these may be true statements but they should never stop you from helping out at a Software Carpentry workshop. Even the workshop instructors themselves may not be “experts” - and all the better if they are not! Experts don’t necessarily make the best teachers. Many have lost sight of - or, worse, patience with - the beginner mindset. Software Carpentry’s worldwide community of volunteer instructors include experts, near-learners and plenty of people in between. What they share is a willingness to teach their peers. And that’s all a helper really needs - the willingness to lend a hand. It’s fine to say you don’t know the answer to something, or to call for help with a question that stumps you. Let the instructors deal with anything knotty that crops up. Most workshop hiccups are much simpler - a typo, issues with the wifi, or learners not being able to locate a downloaded file. Learners might have fallen behind, in which case all they need to get caught up is to be shown the right spot in the online lesson. Or perhaps they overlooked the etherpad link. These are all simple problems that you don’t need to be an expert to fix. Sometimes it’s enough just to be familiar with a Mac or with Windows, so that people using unfamiliar laptops can navigate their way around an operating system. All kinds of help are welcome at Software Carpentry workshops. Perhaps you can paste challenges into the etherpad. Collect sticky note feedback. Write links on a whiteboard. Point people to the best coffee or lunch place on campus. It certainly helps if you’ve had time to review what will be taught. That way, you will be quicker to spot a typo or locate the spot where the learner needs to find the lesson. But don’t pretend to know more than you do. Learners will appreciate your honesty. The main thing is to be friendly and approachable. Helping at a workshop is a way to see workshops in action. You may be trying to figure out if you’d like to become an instructor yourself. You might even want to have a crack at teaching a section, knowing there are more experienced instructors in the room should you run into problems. You can certainly learn a lot about instructing by watching others. Many helpers do go on to become instructors themselves, reinforcing their own learning by teaching the material to other people. If you have attended a workshop before, helping may reinforce your own learning. Hearing things explained again can really help consolidate your knowledge. You might also pick up new tricks and tips. A key benefit is helping people get started, feeling you are making a contribution to their learning, and to the learning community within your institution. It might kickstart a new community of practice, or just a networking group for when times get tough and you need to talk your work over with someone who is struggling with the same problems. So what are you waiting for? FInd a workshop near you and volunteer. You will be made very welcome in what is a great, global community. Read More ›

15 - 30 June, 2017: Reorganisational Timeline, HPC-in-a-day, Good Enough Practices for Scientific Computing, Opensource Survey.
Martin Dreyer / 2017-06-30
Highlights The reorganization timeline has been drafted and awaiting approval from the respective steering committees. Learn about the HPC-in-a-day course that brings the fun back to HPC. we are pleased to anounce the publication of Good Enough Practices for Scientific Computing. We are very excited for Maneesha Sane that is moving from Program Coordinator to Program Manager of the Carpentries. Jobs Software and Data Carpentry are looking to hire a part-time Workshop Administrator to help set up workshops and ensure that they run smoothly. Tweets Top 10 tips for image acquisition if you are going to do image analysis. Spread the word and happy quantifying! Just out, “Good Enough Practices in Scientific Computing” Ten simple rules for collaborative lesson development. Good essay on value of empathy in work. Empathy of @swcarpentry instructors humanizes technical skills for learners. How open is your opensource? Check out the Open Source Survey. General Our secretary has commited to write a monthly blog post to ensure better transparency between the Steering Committee and the community. Macquire University held their first ever instructor training and it went very well. 17 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: July ResBaz 2017- Python, ResBaz 2017 - R, University of Technology Sydney, University of Würzburg, University of Auckland, UQ Winter School , University of Chicago, Lawrence Berkeley National Laboratory, University of California San Francisco , University of Mauritius, Imperial College London, University College London, McMaster Software Carpentry Workshop. August University of Southampton, Washington State University. September University of Würzburg, Oregon State University/CGRB. Read More ›

Job Posting: Workshop Administrator
Belinda Weaver / 2017-06-26
With the growth of Carpentry workshops all over the world, we are excited that Maneesha Sane is moving from Program Coordinator to Program Manager of Software and Data Carpentry. As Program Manager, she will continue to be involved in workshop coordination and instructor training and will oversee and ensure the quality and consistency of program operations. She will also work to develop processes, infrastructure and communications to consistently improve the workshop experience for instructors, hosts and learners. To fill some of her workshop coordination responsibilities, Software and Data Carpentry are looking to hire a part-time Workshop Administrator to help set up workshops and ensure that they run smoothly. The successful candidate will join a team of workshop coordinators around the world. In this job, you will manage workshop logistics, help communicate with hosts and instructors, and respond to general workshop inquiries. We are looking for someone with strong organizational and communication skills, who can prioritize competing tasks and work independently. Strong attention to detail is a must. Enthusiasm for our mission of teaching people how to program is also a plus! This is a remote position. The incumbent will be hired and paid as an independent contractor of our 501(c)3 fiscal sponsor, NumFOCUS. The position will begin as part-time, approximately 20 hours a week, but has the potential to become full time. Review of applications will begin on July 17, 2017, and the position will remain open until filled. For more details on the position and information on how to apply, please see the full job posting. Read More ›

Good Enough Practices in Scientific Computing
Greg Wilson / 2017-06-22
We are pleased to announce the publication of “Good Enough Practices in Scientific Computing” by Greg Wilson, Jennifer Bryan, Karen Cranston, Justin Kitzes, Lex Nederbragt, and Tracy K. Teal, which is intended as a complement to 2014’s “Best Practices for Scientific Computing”. As the summary says: Computers are now essential in all branches of science, but most researchers are never taught the equivalent of basic lab skills for research computing. As a result, data can get lost, analyses can take much longer than necessary, and researchers are limited in how effectively they can work with software and data. Computing workflows need to follow the same practices as lab projects and notebooks, with organized data, documented steps, and the project structured for reproducibility, but researchers new to computing often don’t know where to start. This paper presents a set of good computing practices that every researcher can adopt, regardless of their current level of computational skill. These practices, which encompass data management, programming, collaborating with colleagues, organizing projects, tracking work, and writing manuscripts, are drawn from a wide variety of published sources from our daily lives and from our work with volunteer organizations that have delivered workshops to over 11,000 people since 2010. We hope the community will find it useful, and would welcome feedback. Read More ›

Instructor Training at Macquarie University
Belinda Weaver / 2017-06-20
Software Carpentry Executive Director Jonah Duckles and I ran instructor training for new member institution Macquarie University in Sydney on 19-20 June. There were a few firsts at this workshop - Jonah’s first time as an instructor trainer, my first day in the job as the new Community Development Lead for Software and Data Carpentry, and Macquarie’s first-ever instructor training event. We may also have had the biggest-ever workshop etherpad, coming in at 1400+ lines, but that would be a tough claim to substantiate. Certainly the eventual size of the etherpad mirrored the deep engagement of attendees, who all worked very hard. Eighteen people attended the training, most of them from Macquarie (a mixture of postgrad students and IT/research support staff), but there were also attendees from local institutions UNSW and the University of Sydney. Feedback was plentiful - we did both sticky note feedback and One Up, One Down twice - and we were praised for the friendly atmosphere and the energy we brought to the workshop. A talking stick circulated to make sure quieter voices got to have their fair share of the conversation, and this attracted a favourable mention in feedback. Enthusiasm to build community and to get the skills out to others was high, though as one attendee commented a little ruefully in final feedback: “Daily noise gets in the way”. Jonah was forced to multi-task through one session, taking advantage of some audience challenge time to fix problems on the Software Carpentry website, which had disappeared from view because of a Jekyll page build problem. All was luckily fixed before the class raised their heads again. Attendees were keen to put what they had learned into practice, and most enjoyed the live teaching practices more than they had anticipated. As with most workshops, some people wished they had learned some of the material long ago! Jonah and I both appreciated the efforts of our magnificent, well-organised helper Carmi Cronje, who scribed for us tirelessly throughout the workshop. Thanks must also go to Emily Brennan, Project Coordinator in the Office of the Deputy Vice-Chancellor (Research), who worked very hard to make this workshop happen, and Professor Peter Nelson, PVC Research Performance and Innovation, who funded the workshop. Macquarie are very keen to develop strong communities of practice around skills and training, and this workshop was a fantastic first step. I look forward to welcoming the class to the Software and Data Carpentry instructor communities. Read More ›

HPC in a day?
Peter Steinbach / 2017-06-20
Preface In today’s scientific landscape, computational methods or efficient use thereof can be at the heart of the race for new insights, if not at the heart of the race with the academic competition. Learning how to automate tasks from data analysis to data preprocessing as taught by the carpentries provides the technical concepts to enter this race with an advantage. If you just graduated a software/data carpentry boot camp and want to go beyond your laptop’s capabilities, the next step in academia is typically to approached the data center of your university or alike. There, a user account application has to be filed for the High Performance Computing (HPC) facilities. After some more formalities, storage and computing time is awarded and you can successfully log into the cluster. And then? Then either our carpenter is given a link to the wiki of the local cluster and how to use it. Sometimes there can be a short course on the mechanics of the HPC cluster and how to use tools that are installed on the cluster. That’s it and good luck. Clearly, the details of the last paragraph vary from site to site and may be a bit exagerated. Judging from YouTube, there are a lot of dedicated and highly enthusiastic HPC instructors out there. Even so, there is yet a large gap from filing an account on the HPC machine to running an analysis or simulation campaign autonomously and at scale. The reason for this is, that HPC clusters are very complicated installations. Moreover, the trainings in HPC jump very quickly to the nuts and bolts of HPC, i.e. the number of cores, size of CPU caches, batch system intrinsic, optimal communication patterns, what profiler to use etc. As many (if not the majority) of HPC users stem from domain sciences and hardly ever received a formal education in (parallel) programming or modern computer architecture, this situation leaves many users with despair and hopelessness. Many of the latter end up ‘copy & paste’ing scripts from wikis or arbitrary places and using these snippets in a mechanical fashion. Simply put: the fun disappears very quickly. With fun lost, creativity will be the next victim which can be detrimental to the scientific race mentioned above. hpc-novice So let’s change this! Let’s bring fun back to HPC (training) for all. For this purpose, Christina Koch from the University of Wisconsin-Madison, Ashwin Srinath from Clemson University and myself (Peter Steinbach from Scionics Computer Innovation GmbH) started to come about with a hpc-novice curriculum that is inspired by the software carpentry spirit and pedagogical methods. Although this set of material is still in it’s infancy, the idea behind it can be paraphrased by “Help a carpentry learner to use a cluster of computers to speed up their day-to-day data lifting”. Our efforts to brain storm a possible curriculum are currently fixed in this document. Feel free to dial over and provide comments. In an attempt to converge on a curriculum based on user feedback and due to the need for local training at our client, the Max Planck Institute of Molecular Cell Biology and Genetics, I went ahead and came up with an one-day HPC course, which I called hpc-in-a-day. People invited me to to report my experiences made there, so I dedicated the remainder of this post to that. hpc-in-a-day was conceived as a course for our scientists as our (client) institute is becoming more and more cross-disciplinary and hence we have mathematicians, physicists, biologists and engineers that all want to use our HPC infrastructure. As we were about to open our new cluster extension, hardware resources were a bit scarce at the time of the workshop. I started to ask around if I could get support from the AWS cloud team through my data carpentry contacts and some vendors that we work closely together with. But no luck. Surprisingly, our Lenovo re-seller pro-com helped us out and put up a temporary cluster of 8 machines just for our workshop. A big thank you them at this point! Before going in, I prepared pre-workshop assessments to infer the expertise level of the learners. I asked them mostly questions regarding how familiar they were with the terminal and how familiar they were with programming. To give you a feeling of the crowd, 90% of my participants expressed that they use the terminal at least once a day. 45% of all learners mentioned that they would required “google or a colleague of choice” to infer how much disk space they have left on the computer using the terminal. Along the same line of thought, 90% of the participants claimed that they program at least once a day. So I thought I was well prepared and went ahead composing the material. The contents were set up in the following way: Two sessions about advanced shell methods (ssh/scp and file system recap) Two sessions on how to submit jobs to the cluster (scheduler basics, submit scripts) One session on using the shared file system Three sessions on the basics of parallel programming with python (from serial implementation, to a shared memory parallel one and a distributed one) One session on using the scheduler for high-throughput computing What went wrong? First of all, I had to learn the hard way that lime survey also records incomplete surveys. It turns out that 2 of my learners didn’t complete the survey and those were the ones with rarely any expertise in using the terminal. Me, as the instructor, I need to be more careful with this. Not only did this produce a bi-modal distribution of prior expertise in programming among the participants, but it made structuring the course much more difficult as the majority of learners were able to work with the terminal. Second of all, when you are an experienced HPC user and half-time admin, you simply stop seeing the obstacles - many things like file system mechanics are simply done by your fingers and not by your mind anymore. This made my time estimates very inaccurate and tempted me to ditch large parts of some lessons. Judging from this, a 1.5 or even 2 day workshop would be better. A quote from the feedback: Course was very intensive (or just too fast) for unexpirienst user. Very fast in the beggining with all the ssh connection, without explanation what is it and how to work with it. Last but not least, it became apparent in the feedback round (learner 1, learner 2, learner 3, learner 4, learner 5, learner 6 and learner 7) that some of the terms which I used to relate the parallel execution of a program (think “threads on cores”) where not mentioned at all in source code. Apparently, this mental mapping was missing and so one learner even said: I’ve also missed examples of how to run programs that already have a –threads option in the cluster. even though I covered this type of parallelization in detail. That said I wondered, if python is really the best language to teach parallel programming? What went well? In the post-workshop assessment, participants were asked to indicate if they would recommend the course to others, where a score of 5 refers to very strong agreement and 0 no agreement. The feedback from my learners averaged to a score of 4.5 out of 5! A quote from the feedback: Otherwise, great course. Thanks for having me. During the course, I saw that many people just immediately grasped the content that I was trying to convey. Many people immediately asked how to automate job submission, how to profile their Fortran or C++ application, how to automate the optimal parameter set for submitting their jobs and much more. You could tell that some of these questions grew out of their day job use of HPC clusters. Also, I was personally happy to see that people enjoyed parallel programming as much. I chose the Monte Carlo style estimation of Pi using 2 arrays of pseudo-random numbers as the underlying algorithmic problem to solve. I had the impression that people could grasp this rather easily - something I was not clear about beforehand. Summary To put up a carpentry inspired HPC course, some things became evident (again): my hpc-in-a-day curriculum should be split into 2 lessons (hpc-novice and hpc-parallel) to target people that just want to get their job done on the cluster (hpc-novice) and those that need to go further (hpc-parallel). A much more clear communication of the expected expertise of the learners is essential. Good teaching of parallel programming and processing can be done before any deep hardware details enter the stage, which is where I see the biggest selling point for this curriculum. Working in HPC for years and using these machines should not lead us to believe that we fit to teach it. We should therefor reduce the material to concepts first. Further, some HPC centers and even one vendors already asked me if and how hpc-in-a-day will live on and if there will be other implementations of it. I personally would love to continue working with Christina and Ashwin as well as any other volunteers out there to do this and potentially bring HPC back home into the Carpentries. There already was one adaptation of hpc-in-a-day by Andrea Zonca. Read More ›

New monthly updates from the secretary
Rayna Harris / 2017-06-20
After 6 months, I feel that I’m settling into my role as Software Carpentry Steering Committee Secretary. In an effort to improve communication and transparency between the Steering Committee and everyone else, I am commiting to writing or co-writing a montly blog post to keep you abreast on news from each meetings. Check out these new blog post summaries of the in-person Software Carpentry Steering Committee Meeting and of the in-person SWC/DC merger group meeting. I also have resumed the process of recoding all board resolutions here with those from previous years: https://github.com/swcarpentry/board/blob/master/minutes/resolutions.md For your reference, minutes are always archived here: https://github.com/swcarpentry/board/tree/master/minutes These can be a bit detailed or disorganized, so I’ve started to include a summary paragraph at the top the archived to improve their readability. I’ve begun archiving the minutes for the Community Call meetings in this Carpentries GitHub repo: https://github.com/carpentries/community-calls Please let me know if you have questions or concerns. Thanks! Read More ›

1 - 15 June, 2017: Steering Committee retreat, Community Development Lead, Library Carpentry Instructors,CarpentryCon.
Martin Dreyer / 2017-06-19
Highlights The Carpentries might look a bit different in future. The Software Carpentry Steering Committee retreat went really well and they have provided five key areas in which the committee wil provide oversight. We are pleased to welcome Belinda Weaver as our new Community Development Lead we wish her all the best! Tweets For detailed review computation and data: Research Software Engineers report. A good read. A Comprehensive Survey on Open Source. Awesome, Tireless, Excitable Library Carpentry Champion Belinda Weaver is the new Software Carpentry Community Development Lead! If you care about research data practices & have #genomics #bioinformatics experience we’ve got a great opportunity. Hear about how Software Carpentry built community on campus through University of Oklahoma Libraries from Carl Grant and Sarah Clayton. Sheffield University is now a Software Carpentry Parnter! General Library Carpentry will have some new instructors soon and we cannot wait to welcome them to the instructor community. The Carpentries are committed to promoting inclusion to all that want to participate in any workshop. Library Carpentry recently joined the Mozilla science sprint and it exceeded our expectations. Our vision for CarpentryCon 2018 is to be a better more interactive community driven event. 22 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: June IRI Life Sciences, NASA Goddard Space Flight Center, NASA Goddard Space Flight Center, Macquarie University, TGen, Queen Mary University of London, Pacific Northwest National Laboratory, Materials Physics Center,University of the Basque Country Software Carpentry Workshop, UW Madison. July University of Auckland, University of Chicago, University of Mauritius, UQ Winter School. September University of Würzburg, Oregon State University/CGRB. Read More ›

Timeline for the the Data Carpentry & Software Carpentry Reorganization
Karen Cranston, Rayna Harris, Kate Hertweck, Hilmar Lapp / 2017-06-17
On Jun 8 & 9, we met in-person to continue discussing how to proceed with the merger of the Software Carpentry and Data Carpentry organizations to best achieve our strategic goals and serve our communities. We are happy to report that is was a very productive meeting. We spent most of the meeting discussing the structure of the future organizational leadership. We have drafted a number of motions that we will present to our respective steering committees for approval at our next meetings. Among the motions, we will propose that the combined Carpentries governing structure be made up of both appointed and elected members. Additionally, we propose that it is in the best interest of the organization to seed the future steering committee with bylaws, which will be enumerated, written, and approved in the coming months. Below is a timeline for the merger process. Various steps in this timeline require approval by both steering committees, and are dependent on results of previous steps, so this may change as we proceed. Month Merger Process Milestones June Communicate the in-person meeting outcomes and proposed governance structure to staff and community members. July Present motions to approve the proposed governance structure, executive leadership, and transfer of assets (e.g. finances, cross-organization subcommittees). Enumerate required bylaws. August Present and approve an official motion to combine Software Carpentry and Data Carpentry into a unified organization. Approve nominations for the appointed seats to the steering committee. September Approve a unified budget. Approve the transfer of assets. October Call for candidates for elected members of the steering committee. Approve motions to dissolve the current steering committee and transfer assets as of January 1. November Community call to announce candidates for the elected seats on the steering committee. December Elect new elected steering committee members. January New organization with new steering committee commences. We are grateful for all the input we have and will to continue to received from community members, from staff, and from colleagues outside the Carpentries during this decision-making process. Please stayed tuned for updates and feel free to contact us with questions or concerns. Read More ›

The road to CarpentryCon 2018
Fotis Psomopoulos / 2017-06-10
Imagine a global community event where Carpentries members and aficionados come together for a short period to exchange experiences, discuss lessons and debate teaching practices. Visualize a space where keynote speeches are closely complemented by community-driven lightning talks, and round-table panels are supported with ad-hoc informal meetings to share stories about challenges and successes. Finally, to complete the picture, consider a number of satellite events, such as social gatherings, carpentry workshops and new lesson developments. Well, this is our vision for CarpentryCon 2018! During the last meeting of the CarpentryCon task force (2017-06-04), we made several concrete steps towards making this a reality. First and foremost, we started working on a draft agenda for the CarpentryCon event, as well as on a bid guide for potential sites to host the event. Primary considerations in both cases were to incorporate the best experiences in conferences so far, as well as attempting to cultivate an informal but informative environment. Finally, we selected new officers for this task force: Mateusz Kuzak and Rayna Harris, after their tireless efforts so far, stepped down and passed on their responsibilities to Fotis Psomopoulos and Malvika Sharan (as chair and secretary respectively). Our next steps will focus primarily on finalizing the draft agenda and start sending out the bid forms to potential sites. We envision CarpentryCon as an event by the community and for the community. This is why we want to involve you in the process and decisions. We also want the event to be inclusive and attract a very diverse group of people, our learners, instructors, trainers and lesson contributors. Bid guide and agenda documents are open for comments and will be circulated to the community for feedback within the month. We will also host the Community Call in August in order to bring in more people into the discussion and planning. So stay tuned! Read More ›

The Endless Sprint
Belinda Weaver / 2017-06-07
The recent Library Carpentry sprint exceeded my expectations, and then some! Around 107 people signed up on our organising etherpad, either to work remotely or to contribute at one of the 13 sites in seven countries around the globe. That’s a big step up from the 2016 numbers of six sites and around twenty people working on the material. The sprint was organised as part of the 2017 Mozilla Global Sprint. Library Carpenters comprised around one-sixth of that sprint workforce, and our more than 850 GitHub events - pull requests, forks, issues raised, commits and merges - outpaced the rest of the field by miles. We used the sprint to amend, update, and extend the existing Library Carpentry lessons, get draft lessons on SQL and Python into better shape, and develop a new lesson on web scraping. We welcomed contributions from librarians and archivists, as well as from other information professionals, not to mention Software Carpentry Executive Director Jonah Duckles himself who worked on the git lesson alongside Gillian Elliott’s team in Otago. We used our chatroom and this GitHub repository to organise work during the sprint. These were the issues we worked on, with lesson maintainers making themselves available to answer questions either via the chatroom or on Zoom (video call) sessions. The Zoom sessions sometimes ran for hours and proved to be an efficient channel for the different sites and people working remotely to network with others or to resolve tricky questions. Greg Wilson popped up in one Zoom session and we also had a visit from Raniere Silva - both welcome presences at any Carpentries’ hackathon. We used Zoom for the daily handovers as the baton passed to the next team coming online. The sun never set on the project as momentum moved from earlier risers New Zealand, into and across Australia to the Netherlands and the UK, then on to Canada and the US, and back again. US librarians truly committed to the sprint, with seven sites overall, some of whom were still going strong when I clocked in on Saturday morning (my time) to say thanks and goodbye (getting snapped in my pyjamas by Elizabeth Wickes in the process). Librarians who had attended the instructor training in Portland run by Tim Dennis and me (half of the newly minted #TeamSpatula) were particularly well-represented. Portlanders - we love you guys! There were just too many of you to name here but more than half the Portland cohort sprinted, and some are still chiming in with contributions now. I will give a shout out to Scott Peterson for being not only a sprinter, but also a site organiser at UC Berkeley. Sprinters were free to work on whatever lessons or issues they liked. In New Zealand and Utah, librarians worked through lessons to familiarise themselves with what for many was new material. What eventuated was not just lesson knowledge, but a sense of community, and a feeling of ‘buy-in’ that this was useful knowledge worth spreading further. Non-coders were free to raise issues, correct typos, suggest fixes and devise scenarios to try to make the material more relevant. That this worked well could be seen in our email in-boxes: GitHub notification numbers were off the charts for the lesson maintainers. Not that we are complaining - the level of engagement was just mind-bogglingly gratifying. Led by Nora McGregor, the British Library had a team working on git, and Software Carpentry Steering Committee member Mateusz Kuzak led a big team at the national library of the Netherlands where the Python and SQL lessons got a solid working over. Owen Stephens and Carmi Cronje led the charge on OpenRefine, and Jez Cope worked on incubator lessons and built a page for reporting our many workshops. James Baker worked on the data intro lesson, helmed a lot of Zoom action, and provided a steadying hand and answered a lot of questions in the chatroom. James also made sure that issues around standardising README and CONTRIBUTING files across the many repositories were not forgotten. Just as in 2016, the indefatigable Cam Macdonell was on board all hours, and Elizabeth Wickes distinguished herself by being blocked on GitHub - they mistook her hard work for something more spammy and sinister and closed her down for a few hours. Thanks to Thomas Guignard for the web scraping lesson we used as a basis for ours and to Lauren Ko for hacking away at it and running a site in Texas as well. The Brisbane site hosted Richard Vankongingsveld who developed the new Python intro lesson. He made good use of Zoom to consult with sprinters in New Zealand and the Netherlands as the sprint got underway. As for me, I baked two cakes, wrangled pull requests, worked on the git and web scraping lessons, reported on progress to Mozilla, dug people out of Git-holes, talked to people on Zoom, haunted the chatroom, answered queries, and matched people to tasks that needed doing. I also tweeted a lot. All in all, it was a thoroughly rewarding two days, and it was truly sad to see it end. We are now into the consolidation phase, with a lot more work ahead. HUGE thanks to everyone who took part. Great effort all round. Never seen Library Carpentry? Here are the links: Git Shell OpenRefine Python Draft new Python SQL Data Intro, Jargon Busting, Regex Web scraping There is a new Data Intro lesson specifically geared towards the needs of archivists: Data-intro-archives An incubator lesson exists within a separate repository for tidying spreadsheet data. Library-spreadsheets Read More ›

Announcing Belinda Weaver as our Community Development Lead
Jonah Duckles, Tracy Teal / 2017-06-07
We’re excited to announce Belinda Weaver has accepted our offer to become the Community Development Lead. Belinda will join the Carpentries staff later this month, please give her a warm and enthusiastic community welcome! Many of you may already know of Belinda from her work all over the community as a Software Carpentry Steering Committee Member, the Mentorship Subcommittee, the Trainers Subcommittee and a champion and leader of Library Carpentry. As part of our bylaws Belinda will be stepping down from the Software Carpentry Steering Committee on Friday June 16th and the Committee will finish the 2017 term with a membership of 6. For those of you who don’t know her yet, look for her introductory blog post later today. In short, Belinda is a very active community member and a delight to work with, we’re incredibly excited to have her contributing to our community full-time very soon! We want to thank everyone who participated in the conversations about how we created this staff position, the global search process, and helped with community member interviews. It is always encouraging to see such a vibrant and thoughtful community as we think carefully about how to grow our impact around the world. Belinda will officially begin in the new role on June 19th, 2017 and will be joining us as a full-time staff member. You can reach her at: bweaver@carpentries.org and follow her on Twitter at @cloudaus Read More ›

New Community Development Lead
Belinda Weaver / 2017-06-06
I am very pleased to be starting as the new Community Development Lead for Software and Data Carpentry. Building communities, helping people connect, fostering skills and learning, brokering solutions - these are the things that drive me. Jobs I have had include librarian, repository manager, newspaper columnist, Internet trainer and IT project manager. I ran the library system for the City of London libraries in the 1980s, and have just finished working for a non-profit organisation making eResearch infrastructure available to university researchers. In my spare time, I like to read (a LOT), bake bread (and cakes), see as many films as I can, especially foreign/art house ones, and grow herbs and vegetables in the garden. I also love teaching - whether it be Software Carpentry workshops, Library Carpentry courses, or training new instructors. I dive right into the new job on 19 June, when I will be running an instructor training event with Jonah Duckles at Macquarie University in Sydney. It will be great to see the instructor pool in Sydney increase. I have been a fan of Software Carpentry since first hearing about it in 2014, when I organised the first ever Software Carpentry bootcamp in Brisbane in July of that year. I certified as a Software Carpentry instructor in 2015 (and as a Data Carpentry instructor the same year), and taught at two workshops. In 2016, I taught at eight workshops out of a total of 14 statewide. During 2016, I and other Queensland instructors took Software Carpentry to five cities in Queensland - Brisbane, Townsville, Toowoomba, Gold Coast and Rockhampton - a huge improvement on 2015, when we taught three workshops in Brisbane only. I organised Software Carpentry instructor training in Brisbane in 2016, and certified as an instructor trainer myself in late 2016. I have since helped train an online cohort and a librarian cohort face-to-face in Portland, Oregon (with the wonderful Tim Dennis as my co-trainer). I look forward to training many more new instructors in 2017 and beyond. I currently serve as the Software Carpentry administrator for half of Australia. This means helping people in other Australian states and territories organise workshops. I have also served on the Software Carpentry Steering Committee for eighteen months, but I will step down from that on 16 June as joining the staff makes me ineligible for the Committee. I was one of the organisers of the very successful 2016 and 2017 Brisbane Research Bazaar festivals. ResBaz is a three-day research event to skill up graduate students and early career researchers and help them find their ‘tribe’, whether that be in a discipline such as ecoscience or around tools such as R. From one event in 2015, ResBaz grew to ten in 2016 and 14 in 2017 in places as distant as Oslo, Tucson, Christchurch in New Zealand and Cuenca in Ecuador. Software Carpentry workshops are always a key part of ResBaz festivals, and ResBaz events are a great way to attract more people to Software and Data Carpentry. Along with Sam Hames and Nicholas Hamilton, I started a weekly Hacky Hour drop-in IT advice session for researchers at The University of Queensland. In June 2016, I organised a sprint to update and extend the Library Carpentry material created by Dr James Baker and others in the UK. This was part of the annual 2-day Mozilla Science Lab Global Sprint. More than 20 people in six countries worked on updating the material, and added a new SQL lesson to the existing four. Interest burgeoned. Library Carpentry won the British Library Labs award in November 2016, and there have been 30 workshops held worldwide since the 2016 sprint. The recently concluded 2017 sprint attracted 107 people at 13 sites worldwide. New lessons were added (web scraping, introductory Python) and existing lessons were updated. The community is very active, with an ongoing chat room. New members are welcome. Software Carpentry has really taken off in Australia, and the southern hemisphere more generally, with strong communities developing in New Zealand and South Africa as well. In this role, I plan to continue that work, train more instructors, get more partnerships across the line, if possible, and make sure we extend Software Carpentry workshops beyond the capital cities into the regions and into new, under-represented countries and communities. I also hope to improve communications, and to create opportunities for all our instructors and supporters to become more involved, and to feel more valued. But I don’t intend to be just a southern hemisphere community builder - I want to help build Software and Data Carpentry communities worldwide. I hope to spend a couple of months working in the northern hemisphere next spring. If you would like to host me, please get in touch. I am also looking forward to working with the Software and Data Carpentry staff - we all have big plans! Feel free to contact me any time at bweaver AT carpentries.org or ping me on Twitter. I look forward to meeting you all. Read More ›

Instructor Access to Workshops
Erin Becker, Jonah Duckles, Kari L. Jordan, Maneesha Sane, Tracy Teal / 2017-06-06
Working with hosts and instructors on workshop access Read More ›

Summary of the 2017 Software Carpentry Steering Committee Retreat
The 2017 Steering Committee / 2017-05-31
The Software Carpentry Steering Committee met in person on June 7-8 in Davis, California. The committee members have unique journeys that brought them through the community to having a seat on the steering committee. Importantly, we have a unified vision for the future of the Software Carpentry Foundation and the roles of the steering committee. Below is a brief summary of the motions passes and detailed description of the five key areas over which the Steering Committee will continue to provide oversight. Below, we 1) summarize the motions that were passed at the meeting, 2) describe the five key areas over which the Steering Committee provides oversight, and 3) provide a timeline for implementing our goals. Summary of motions passed at retreat The Steering Committee has created a board-designated operating reserve ($80,000, equivalent to one quarter’s worth of budget) to provide an assurance of financial solvency The Steering Committee empowers the trainer group to move forward with open instructor training events to non-member affiliated individuals The Steering Committee empowers staff to perform tasks in their areas of focus while the Steering Committee retains oversight in the key areas of community, instructor training, curriculum, finances, and hiring staff Areas with Steering Committee oversight Community We value the involvement of everyone in our community - learners, instructors, hosts, developers, maintainers, committee members, staff, partners, advocates, trainers, organizers, sponsors, advisors, and helpers. We are committed to creating a friendly and respectful place for learning, teaching and contributing. We will continue to support the Code of Conduct, which is at the heart of our community. Our mission is to continue growing and supporting a diverse and inclusive community. To that end, we have empowered a new Director of Community Engagement to accomplish this mission. Instructor training We are committed to creating a community of practice around instruction. As we train new instructors and instructor trainers, we must also continue to support their professional development through a community of practice. We have empowered the Director of Instructor Training to expand the instructor training program to accommodate the needs of our community. Our strategic plan is to identify new instructor trainees and provide training opportunities while simultaneously working to grow our capacity to offer mentoring and other support to those new instructors. Curriculum The Software Carpentry lessons and workshops are the vehicle through which we teach best practices for scientific computing. Our curriculum evolves over time for many reasons, including changes in the needs of learners and turnover of lesson contributors. Part of our strategic plan is to support community involvement with lesson archival, lesson releases, lesson maintaince, lesson development, and other tasks related to curriculum. Finances The Software Carpentry Foundation is financially responsible for the organization. The Steering Committee will continue to govern the financial model and budget. We have designated a financial reserve to promote healthy and fiscally responsible operations. Hiring staff To achieve our mission, the steering committee will oversee the process of creating staff positions. We will evaluate the extent to which senior staff are carrying the strategic initiatives. Senior staff will be responsible for evaluating junior staff members. Timeline for implementing our goals Immediate concerns (now-six months) Resolve issues with Windows Installer Reconcile and resolve restructuring with Data Carpentry Identify immediate concerns for lesson development and maintenance (with an eye towards a restructured Carpentries) Create a curated list of resources for learners to continue building skills following workshops Connect with members and community organizers, to develop local/regional communities Medium term (6-18 months) Populating the map (in terms of workshops, instructors, members) with an emphasis on diversity Create feedback loops for improving lessons, including lesson templates Local community building Assess inclusiveness of online communities Long term (18+ months) Focus on communities of practice (for learners, instructors, trainers) Solidify pathways of involvement for community members, associated with a mastery rubric of skills Improve methods of documenting and recognizing contributions to the community (e.g., badging) Read More ›

Apply to Become a Carpentry Instructor Trainer!
Erin Becker / 2017-05-31
The Carpentry community is growing! This month we welcomed ten new Instructor Trainers to our community. Now we are looking for the next group of new Trainers. Carpentry Instructor Trainers run instructor training workshops, lead online teaching demonstrations, and engage with the Trainer community about how best to train new instructors. Trainers are also actively involved in developing and maintaining the instructor training curriculum. We meet regularly to discuss our teaching experiences and stay up to date on policies, procedures, and changes to our curriculum. The Trainers are an eclectic group. Some of us have formal training in pedagogy, some are experienced Carpentry instructors, others run Carpentry-like trainings as part of their jobs, and others pitch in on their own free time. We all share a commitment to helping new instructor trainees become familiar and comfortable with Carpentry teaching practices and principles. More detailed information about what Trainers do can be found here. Trainers-in-training meet one hour a week for eight weeks to engage in a series of discussions around teaching pedagogy and creating welcoming classroom environments. After completing this part of the training, new Trainers shadow a teaching demonstration and part of an online instructor training event. Trainers-in-training also attend regular meetings of the Trainer community. This group of Trainers will start meeting in July and be eligable to teach instructor trainings by September. If you’re interested in joining the Trainer community, please apply here! Applications will be open until June 14th. If you have any questions about the training process or the expecations for being a Trainer, please get in touch with Erin. Read More ›

Summary of May Community Call: Restructuring the Carpentries
Kate Hertweck / 2017-05-19
Thanks to those of you who attended the May Community Calls, the topic of which was restructuring of Software Carpentry (SWC) and Data Carpentry (DC) into a single unified (umbrella) organization, with SWC and DC continuing as lesson organizations within the umbrella. As the Chair of the SWC Steering Committee, I am one of the representatives from each organization tasked with developing a plan of action for how the restructuring will proceed over the next ca. six months. I am gratified by how much our community cares about its future, and what we (as community) believe is important to target as we proceed in planning. The following items highlight major discussion points synthesized from both community calls, and a complete set of notes is available on the etherpad. Organizational members represent major stakeholders in our community. Given a majority of organizations have signed joint memberships with SWC and DC, we expect the transition to a restructured organization will be smooth, with scheduling of workshops proceeding as normal. Representatives of each member organization currently comprise the SWC Advisory Council, and we are currently assessing how to maintain connections with member organizations in a restructured Carpentries. Scalability of a restructured organization is clearly an area of interest throughout our community. An umbrella organization represents an ability to not only combine the assets and advantages of both DC and SWC, but also allows for planning to expand operations into different disciplines, geographic areas, lesson modules etc. We are mindful of a need to balance opportunities for growth with continuing to provide high-quality workshops. Local communities are a cornerstone of scalable growth. Finding ways to bolster local and regional groups of learners and instructors represents an essential step in maintaining cohesiveness and identity as we continue to promote both the umbrella organization as well as individual lesson organizations. Other lesson developers besides DC and SWC (e.g., Library Carpentry) are already thinking about how they might fit in to the restructured umbrella organization. Given the restructured organization was designed specifically with this type of growth in mind, we are currently considering what mutual expectations and onboarding might look like in these cases. Instructor Training is currently in high demand throughout our community, and represents one of the major deliverables to our organizational members. Instructors certified for either DC or SWC are currently eligible to teach workshops for either group. When combined with the focus of instructor training on effective pedagogical practices, the restructuring process should not change how we train instructors. Please note that we have only begun to lay out the basic framework for the restructured organization, and the points above serve to highlight areas of interest from the community calls. I’m excited about taking this feedback to the rest of the group involved in planning, and look forward to continued reporting on this process. Read More ›

Three Instructors, Two Coasts and One Spatula
Juliane Schneider / 2017-05-17
In the space of a year, interest and participation in the Library Carpentry community has exploded like an amoeba who over-ate at an algae banquet and attempted one too many pseudopods. For Library Carpentry, though, this is a good thing; the pseudopods are propelling us forward across institutions, disciplines, and continents. The community, grounded in collaborative tools like Github and Gitter (I always want to type Glitter) is coalescing around lesson development and holding new workshops. Why is the buzz so strong? I think it’s a combination of relentless energy from people like Belinda Weaver and Tim Dennis (to name just a few), the acceptance and active encouragement of new people who want to contribute in some way, and the mutual recognition by all of us that in any one thing, we are all absolute beginners, and we all give each other permission to be terrible until we aren’t. I am still terrible at Github and command line and use Tim’s Github workflow post every time I work with Github - seriously, this is Github workflow gold, people. I am less terrible at OpenRefine and will happily show anyone how to rearrange columns because OpenRefine hides that function in a super weird place. There’s a Library Carpentry Sprint coming up on June 1, with sites worldwide contributing to new lessons, and updating/improving existing ones. There’s this powerhouse woman in Australia called Carmi Cronje (what is it you Aussies are drinking, the way you get stuff done?) who is Githubbing the hell out of the prep for it. Go, Carmi! I encourage anyone with an interest in the Library Carpentry community to check out the Sprint and find a way to participate. Remember, Library Carpentry is a no-judgement zone. My cat will judge you, but the LC community will not. West Coast, Library Carpentry Instructor Training Led by the intrepid and hilarious Belinda Weaver and Tim Dennis, with help from John Chodacki and me, 28 very enthusiastic participants were inducted into the Library Carpentry instructor community over two days in Portland, OR. Back when I took the instructor training at UC Davis, I came to it with no experience in instruction whatsoever. By the end of the two days, I was faintly confident in my instructor skills, had learned pedagogical things that seemed obvious but were so not obvious and jumped right into organizing a week-long Library Carpentry workshop with Tim Dennis because Tim happened to have the biggest library conference room reserved and nothing to use it for. I have a feeling this group will be doing the same, and the beauty of OpenRefine will resound throughout the land. The best part about observing my first instructor training from the helper side was the abject terror that the first mention of the video exercise produced. And the second best part was how much confidence they all gained by realizing how good they really were, and how supportive, constructive suggestions for improvement actually sustained that confidence instead of undermining it. Community, yo! On the morning of the workshop, Belinda decided she needed a speaking stick, so we claimed a wooden toy spatula from the daycare room next to the classroom. It was a very popular form of speaking stick, and people were using it as a fake microphone, sometimes without thinking about it which was effective and also hilarious. Here is John Chodacki, using the spatula in a mindful way. This workshop happened because UC3 and the csv,conf came up with the support to make it happen, so thanks, UC3 and csv,conf! East Coast, Boston Library Carpentry Workshop Having conquered the West Coast, Library Carpentry invaded Boston to teach a one-day workshop that included sections on data basics, jargon busting, shell/bash, line command, regular expressions and OpenRefine. [The workshop was actually held across the river, at MIT in Cambridge.] There was no corporeal spatula, but it was there in spirit. Belinda started off discussing the threat that algorithms present to those of us in the info workforce, and how learning new skills can help us move into new roles. Then we did the jargon busting exercise, which was fantastic! The Boston crowd came up with terms I hadn’t yet seen surface in this section, like flag/parameter/option/argument and Bayesian and they were enthusiastic users of the etherpad. Some of the best etherpad use I’ve encountered in an LC event. And then there was regex. Oh regex. So useful, so painful to actually look at! But so useful … The challenge with teaching regex is that to truly understand its power, you need to see it work against a block of text or data. I’m currently developing an after-workshop exercise that students can use to really dig into regex, and look at why an expression returns the strings that it does. So stay tuned for that! The most interesting section was the bash/shell lesson, with Belinda using the text of Little Women to demonstrate how to count how many times a specific word appears. If you haven’t had the pleasure of watching Belinda do her thing, you need to! I learned so much about effective instruction just by watching her engage with the room. She makes everyone instantly comfortable in learning complex new concepts. And, as often happens, a discussion ensued about the context of using bash/shell in libraries. There are definite use cases for using command line, including file management and text evaluation, but is there a more direct line to library work? Are we missing the definitive use case that would drive home why librarians should use this method of working with a computer, or are we not presenting its core benefits clearly enough? (Hint: I don’t know). This discussion comes up every time I’ve seen it taught, so it is something to consider (and has been raised as an issue to fix in the sprint). OpenRefine was, as always, a joy to teach, and the Boston audience got me out of a muddle when I lost my head and forgot the GREL string for extracting the JSON from CrossRef. I learn something every time I get up there and do instruction, and am consistently impressed by the kindness of the people in our workshops. We’re in this together! I look forward to taking the next step, learning how to teach OpenRefine wikidata reconciliation. Finally, I’d like to thank our helpers and our hosts, the amazing Kate Nyland of Yale (and NEASIST), Thomas Hohenstein of Boston University, Daina Bouquin of the Wolbach Library at Harvard, Joshua Dull of Yale, and Christine N Malinowski and Olimpia Estela Caceres-Brown of MIT. This happened through the generosity of NEASIST. Woo NEASIST! Read More ›

1 - 15 May, 2017: Lesson Printing, Instructor training, Successes of the Carpentries.
Martin Dreyer / 2017-05-15
##Highlights Printing our lessons has never been easier! Sign up for the community call about the restructuring of the carpentries. ##Tweets Heartworming to hear about the success of Software and Datacarpentry from Dr Karli Jordan. Share your fun coding applications to inspire learners. ##General The second in-person Instructor training for South Africa took place and was very successful. What are the reasons why we volunteer our time so enthusiastically toward the Carpentries. 16 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: May Albert Einstein Science Park, Potsdam, Thomas Jefferson National Accelerator Facility ,McMaster Software Carpentry Workshop, Macquarie University,West Virginia University (WVU), University of Arkansas,State Water Agencies, University of St Andrews, UC San Diego Library, Griffith University. June Curtin University, The University of Washington eScience Institute, IRI Life Sciences, Macquarie University, Queen Mary University of London, UW Madison, University of Auckland, UQ Winter School, University of Würzburg. September University of Würzburg. Read More ›

What is the reward for empowering others?
Rayna Harris / 2017-05-14
Following a few round-table discussions with Software Carpentry instructors, I gained some insight into what drives so many of us to volunteer our time so enthusiastically. I came to the conclusion that many of us share a sense of accomplishment when we empower others through mentoring and education. Software Carpentry gives us a fountain-full of opportunities to contibute through community developed lessons, community supported workshops, and world-wide community conversations. We start out volunteering a little when there is time, but we soon carve out more and more space in our schedule for Software Carpentry events and activities that provide the opportunity to empower others. I can’t help but wonder if this is driven in part by a lack of reward for empowering others in traditional academic settings. Compare the motivation of learners in a required semester-long class introductory class to learners in a intense two-day workshop teaching best practices for domain-specific research. Learners in a two-day workshop are more highly motivated. I prefer to teach the highly motivated because I’m more confident that it enhances education and research. Furthermore, we all know that many professors are rewarded for research while paid for teaching (something I know but still don’t quite comprehend). For many of us, Software Carpentry is where we hear most clearly that our teaching really is valued. I wonder who else shares a rewarding sense of accomplishment for empowering others. I’m also curious to know what other commonalities unite our global community. What are your thoughts and comments on the subject? Read More ›

May Community Call: Restructuring the Carpentries
Kate Hertweck / 2017-05-14
The Software Carpentry Steering Committee (SWC SC) announced back in February that we were initiating discussion with Data Carpentry about potentially merging into a single organization. Members from the SWC SC and the Data Carpentry Board have been meeting regularly since then, identifying the advantages and logistical challenges associated with a restructured organization. More recently, we passed a motion approving the following structure: “A Carpentry umbrella organization and a set of Lesson Carpentries. The umbrella organization is primarily responsible for finances, administration, and facilitating policy. Each Lesson Carpentry is primarily responsible for lesson development and maintenance.” This motion represents the first step towards a restructured Carpentries organization, with the respective community governance structures continuing to solidify details over the next few months. We are excited to share our vision and goals with you during the May Community Call. Mark your calendar for May 18 and sign up on the etherpad the etherpad! Read More ›

Instructor Training in South Africa 2.0
Aleksandra Pawlik, Kari Jordan, Anelda van der Walt / 2017-05-09
One of the main goals of our community is to make Software and Data Carpentry workshops accessible for all researchers from all disciplines and all regions of the world. In the past three years workshops in South Africa and other African countries have started gradually picking up and I think we may soon see exponential growth! This has been made possible thanks to a lot of effort and hard work from a number of amazing people, including Anelda van der Walt. In 2014 we realised that the biggest obstacle to running workshops in Africa, was the lack of qualified trainers on the continent. Since then we’ve put significant focus on building a local instructor pool to enable research organisations in the region to run Software and Data Carpentry training. In 2015 several instructors were trained online. Last year North West University at Potchefstroom hosted the first in-person Instructor Training with attendees from South Africa and other African countries. Just last week, between 30th April and 2nd May, we (Anelda, Kari Jordan and Aleksandra Pawlik) ran another Instructor Training in Cape Town with 28 participants. The whole group was incredibly varied with expertise ranging from life sciences, engineering, mathematics, and astronomy to library and information sciences. We had almost 50-50 gender balance (42% female vs 58% male to be precise). The participants also represented a variety of organisations. Several of them came originally from other African countries and were already discussing ideas of bringing the workshops over to their motherlands. We secured a fantastic venue at the Takealot offices with plenty of space, a coffee machine at our own disposal, and a stunning view of Table Mountain. (Photo credit: Maryke Schoonen) Like that view? Well, here’s more. On the second day of the workshop (Monday, 1st May) we were joined by the instructors who were trained last year at the North-West University campus and those trained online in 2016. Their participation in the 2017 Instructor Training was part of a 12-month programme. The programme included a full cycle starting off with Instructor Training, supporting the checkout process, helping out with organising and hosting workshops, and finally bringing the participants back together for a catch up a year later. (Photo credit: Maryke Schoonen) Indeed the programme proved to be a great success building strong foundations for computational training in South Africa and Africa. It also leveraged the power of our community with a number of international people stepping in to provide mentorship for newly trained instructors. Last but not least, bringing together the three cohorts of instructors last week in Cape Town was an incredible networking opportunity. We started with an evening mixer on Monday and carried on with more structured networking activities the day after. As a result, there is now a series of workshops planned for South Africa and several other African countries. We are really grateful to everyone involved in growing the capacity for training in computational skills for research in Africa. The 2017 Instructor Training and co-located events were made possible thanks to North-West University’s eResearch Initiative, Talarify, DIRISA, Takealot and DHET through the Rural Campus Connectivity Project II. Read More ›

How to print our lessons?
Raniere Silva / 2017-05-08
From the time that I joined Software Carpentry, I remember two feature requests that often showed up on our list of issues. The first one was links to help navigate the lessons and the second one was a way to print the lessons. Adding these two features was challenging because the limited information that is available as metadata by Jekyll (or Pandoc, which we used for a while). In addition, we want to have a “real” solution, instead of a workaround that is going to stop work in a few months. Although as software developers we knew that at every release of Jekyll, or any other library, that we are using exist a chance that our pipeline will break. At some point, Greg Wilson managed to implement the navigation using Jekyll Collections, introduced in Jekyll 2.0.0, after the last review of our template. But until this month, instructors and learners had to print each episode of our lesson individualy. We are happy to introduce our “All episodes in one page”. How to Use Access the lesson you want to print. At the navigation bar, on the top, open the “Episodes” menu. Click on the last option, “All in one page (Beta”). If the option isn’t available yet it will be soon. We are still merging the pull request that include the new feature. In your web browser, select the “Print” option and proceed to print the lesson as any other document. If your web browser offers the option to save the document as PDF you can use it to read the lesson off-line. Bonus: If you are using Chrome 59 or higher you should be able to get the PDF of the lesson using $ chrome --headless --disable-gpu --print-to-pdf http://swcarpentry.github.io/your-favorite-lesson/aio/ Next Steps Our CSS rules for the print version need some improvements. If you want to contribute with it contact us. Technical Details After we play around with Pandoc and XPATH and other methods to have the lesson in PDF and EPUB we decided to those approaches were incompatible with our pipeline that depends on GitHub Pages and because of it we should try to come up with a solution that only use Liquid. Since part of the lesson was stored on the YAML header and need to be compiled by Jekyll we end up with a difficult challenge. Fortunately, we can use Javascript not only to animate web pages but also to query servers for data (or episodes in our case) and inject the new data into the page. For this reason, the solution that we implemented is 100% powered by Javascript and isn’t available to web browsers without a Javascript engine. The code running to generate the all episodes in one page is window.onload = function() { var lesson_episodes = [...]; var xmlHttp = []; /* Required since we are going to query every episode. */ for (i=0; i < lesson_episodes.length; i++) { xmlHttp[i] = new XMLHttpRequest(); xmlHttp[i].episode = lesson_episodes[i]; /* To enable use this later. */ xmlHttp[i].onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var article_here = document.getElementById(this.episode); var parser = new DOMParser(); var htmlDoc = parser.parseFromString(this.responseText,"text/html"); var htmlDocArticle = htmlDoc.getElementsByTagName("article")[0]; article_here.innerHTML = htmlDocArticle.innerHTML; } } episode_url = ".." + lesson_episodes[i]; xmlHttp[i].open("GET", episode_url); xmlHttp[i].send(null); } } Suggestions to improve the Javascript are welcomed. Read More ›

Plans for Windows Installer
Raniere Silva / 2017-05-04
In March, we had two email threads on our discuss mailing list related to nano on Windows machines The first thread was about “nano not found”, a bug on our installer that we never managed to trace. The second thread was about some “misbehaviour” of nano on Windows, and the suggestion to use Atom as the default text editor. The suggestion to use Atom started a long discussion where instructors described their reasons to use nano and why Atom is inadequate which lead us to start investigating ways to install nano properly on Windows. On May 3rd, Kate Hertweck, Maneesha Sane, Naupaka Zimmerman, Rémi Emonet and I met online to draft a plan—taking into consideration all of the feedback that was provided in the past month—to solve the problem with nano on Windows. Plan We will work to use Git for Windows SDK to compile our own installer that will include bash, Git, nano, SQLite and make. In the future we can work to include man pages and Jekyll. Acknowledgement Thanks very much to everyone that contributed with the discussion on the mailing list, GitHub issues and other places. We had a great resource for anyone that wanted to investigate other options for different projects. FAQ What Software Carpentry is looking for? A novice-friendly command-line text editor for use (primarily) during the shell and Git episodes of Software Carpentry workshops that works across Windows, macOS and Linux distributions. The installation of this command-line text editor must be easy or transparent to install along with the other tools we ask learners to have before showing up. Where can I review the background materials that were considered in the developemnt of this plan? discuss mailing list Survey Best strategies for Windows installation Add installation instructions for Atom Replace Git Bash with Cygwin Replace Git Bash with conda Replace Git Bash with MSYS2 Community Call Which versions of Windows will the installer support? The installer will support Windows 7, Windows 8 and Windows 10. The end of extended support to Windows 7 by Microsoft is January 14, 2020 We don’t have data about how many learners are using Windows 7, so we believe it would be unfair to not include Windows 7 at the first release of our installer. Do we have a date where the new installer will be available? Not yet. Software Carpentry staff and Steering Committee are looking at efficient and sustainable ways to implement the recommendations. No change necessary if you already use your own custom installer or teaching environment? If you are already using an installer you’ve created for your own systems or environment, you do not need to make any changes. Read More ›

1 - 30 April, 2017: Library Carpentry, Instructor training, relevant to Learning.
Martin Dreyer / 2017-04-30
##Highlights Great news for Library Carpentry, we won the British Library Labs Awards 2016. University of Puerto Rico taught an Instructor Training Workshop and it was special in many ways. Libarary Carpentry along with Mozilla science lab will have a lesson sprint in June 2017. ##Tweets Have you considered making a donation to Software Carpentry? Author Carpentry a research training initiative complementary to Software and DataCarpentry. A great atricle for a Software Carpentry Workshop. To folks in Software Carpentry: please take the survey in this blog post and sign up for the community calls! ##General The Carpentries stay relevant and optimized for learning because it is intergrated into the community. Please share your thoughts on the software used to teach the shell lesson. 12 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: May Pacific Northwest National Laboratory, NIH Bldg. 10 Library,The University of Leeds, Scion Research and NeSI,University of Pennsylvania, University of Edinburgh,Oklahoma State University, University of Alberta,McMaster Software Carpentry Workshop, Macquarie University,West Virginia University (WVU), University of Arkansas,State Water Agencies, University of St Andrews,Griffith University. June IRI Life Sciences, Macquarie University, Queen Mary University of London, UW Madison, University of Auckland, UQ Winter School. September University of Würzburg. Read More ›

Library Carpentry sprint in June
Belinda Weaver / 2017-04-26
Lesson maintenance is necessarily an ongoing task, especially with fledgling lessons where workshops taught reveal gaps or issues with existing material. Development of new lessons may also spring from the same source. Who hasn’t thought, after teaching: “Wouldn’t it be great if we could add x?” But lesson maintenance and new development are probably best done as a shared activity, which is why the Library Carpentry community has signed up to work on lessons intensively during the 2017 Mozilla Science Lab global sprint on 1-2 June. Check out our sign up etherpad for information about our plans. This is a call for librarians - and archivists too - to join the sprint. You don’t need to be a coder to help out. Perhaps you can be a site host - finding a room for people to work together. Or maybe you have ideas about what should be tackled, or even a scenario or a dataset that could be used in a workshop. Perhaps you have a task you have always wanted to automate? Or maybe there is something about how you work that frustrates you? Chances are that other people find the same snags in what they do, and would welcome a new way out of that frustration maze. Ideas are gold for sprinters, so we really welcome ideas on what to teach and how to teach it. At this stage, we plan to work on consolidating our SQL and web scraping lessons and building a new Python lesson. We would also welcome input on our more established lessons such as Data Intro and OpenRefine. See the full list here. How can you get involved? Join the sprint - even if only to say hi or suggest things we should do (we love feedback) Add to the issues we are tackling here Pop into the chatroom and tell us what you want/don’t want Publicise the sprint in your library or workplace Encourage people to join us for some or all of the sprint Follow Library Carpentry on Twitter and help spread the word. So far, we have five sites committed to host people working on the sprint - two in the UK, one in Australia, one in the Netherlands and one in the US but we are hoping Canada, South Africa and New Zealand will make it eight (and there is always room for more). People are also signing up to work remotely, which is good as we are seeing new people joining up. Please get on board ! Read More ›

Instructor Training in Puerto Rico
Rayna Harris, Sue McClatchy, Tracy Teal / 2017-04-24
On March 24-25, Rayna Harris, Sue McClatchy, and Tracy Teal co-taught an instructor training workshop at the University of Puerto Rico (UPR). This was a very special workshop in many ways, and we are excited to share some of the highlights with you. Also, be sure to check out an accompanying blog post by Humberto Ortiz Zuazaga about the combined Replicathon and Instructor Training events. Unique aspects of the workshop Our instructor training event was co-located with a “Replicathon”, which was a 2 day-hackathon built around reproducing the analysis published in some recent high-profile journal articles. Having two simultaneous events really gave the feeling of a “critical mass” for building a community of researchers who are passionate about using and teaching reproducible research practices. Rayna and Sue have been working together on the the mentoring committee for 2 years, but didn’t meet face-to-face until March 24. One of the really amazing features of the Carpentries is that sometimes your closest colleagues live thousands of miles away. About the trainees Eleven of the twelve trainees were faculty members from various UPR campuses, and one trainees was from a private company. The trainees were born and raised in Puerto Rico, Venezuela, Colombia, and the Ukraine, so English was everyone’s second language. All the trainees were very excited to meet other faculty members with similar challenges and opportunities. They were all very motivated to enhance their teaching skills and implement new tools and techniques in their classrooms. Together, they have great ideas for building a data-literate community, and they really care about the success and progress of their students. Modifications to the curriculum We planned on starting the workshop with an introduction to the Carpentries and Carpentry teaching practices because we knew that none of the attendees had participated in a Carpentry workshop. We had to modify this plan slightly when we were asked if our trainees could attend Tracy’s keynote lecture for the Replicathon during that time slot we had devoted for the introduction to the Carpentries. In the end, Tracy’s keynote did an excellent job highlighting the history, vision, mission, and accomplishments of the Carpentries. It sparked a lot of enthusiasm and provided a great foundation for the rest of the training. You can view our workshop schedule here: https://smcclatchy.github.io/2017-03-24-ttt-UPR-RP/ At the end of the workshop, we took a few minutes to go around the room and have everyone say what they are excited about for the future. (This exercise is pretty standard for the weekly instructor discussion sessions, but it is not part of the instructor training curriculum.) Since most of the discourse during a workshop happens in the Etherpad, it was great to hear something positive from everyone. They also showed real enthusiasm for building communities and teaching, and you could tell that all the trainees has a positive experience. Trainees response to the curriculum The trainees really enjoyed getting feedback from their peers, which served to increase their network and improve their teaching skills. They also said that the material on motivation and demotivation resonated particularly well. We received a lot of suggestions from the group on how to improve the typical workshop lesson to make them more approachable (such as having an overview that is separate from the agenda, having a rationale for each lesson in addition to the questions and learning objectives). The trainees pointed out a few places where we used idioms that did not translate well and had to be explained. This is an ongoing topic of discussion, and we are working to evaluate the lessons to minimize use of idioms. Advice for new instructors I wish that I knew what I know now when I was younger. Here are a few pieces of advice we have for new instructor trainers: Have trainees pick their lesson for live coding before going home on day 1. The live coding exercise can be particularly challenging when the trainees don’t fully prepare. By asking them to choose the lesson on the end of day 1, everyone can go into the exercise a little more prepared. When soliciting responses in the Etherpad, type everyone’s name on a new line so that the trainees know where to put their response and so that the instructor’s can gauge how students are processing with the challenge exercise. Introductions are crucial. As the instructor, be sure to articulate your qualifications for teaching the curriculum (which are different from the qualifications you would articulate when teaching R or Python). Also, the trainees really want to meet the other trainees, so be sure that they all introduce themselves to each other. Acknowledgements Thanks to Erin Becker, Jonah Duckles, Kari Jordan, Maneesha Sane, and Greg Wilson from Software Carpentry and Data Carpentry for helping make instructor training an awesome thing. Thanks to the group of instructor trainers for collaboratively building the train-the-trainer curriculum. Thanks to the Carpentry community members for your enthusiastic support of events like these. Thanks to Humberto Ortiz Zuazaga, Yamir Torres, Jose Garcia-Arraras, and Patti Ordóñez for welcoming us into their community in Puerto Rico. Read More ›

Software tools for unix shell: Survey and April community call
Kate Hertweck / 2017-04-14
The Software Carpentry Code of Conduct includes a somewhat tongue-in-cheek reference to nondiscrimination based on “choice of text editor.” While a choice of software may seem trivial, this particular discussion has led to more than one heated exchange among programmers. In fact, the Discuss list in March was very active concerning issues with the Windows installer, which provides access to the nano text editor through Git for Windows (used in both the Software Carpentry Shell and Git lessons). That discussion eventually transitioned to consideration of alternative software tools we might consider using and moved over to GitHub, where you can read more about the opinions and options voiced by participants. To help us understand what our community thinks about the software we use for teaching the shell lesson, we’ve developed a short survey to gather information. Please share your thoughts! You may find it useful to peruse the summary and links below before taking the survey. The Community Call for April will be dedicated to a discussion of software tools used while teaching workshops, with a specific focus on the shell lesson. Please join us on Thursday, April 20 in either of two sessions to hear about the results of the survey and share your thoughts on what tools we should introduce to learners. The rest of this post includes a quick summary of the discussion regarding the installer. We’ve had increasing reports lately of problems with the installer failing to function as expected, especially in relation to nano. Tracy Teal administered a quick survey and found that, despite these issues, folks tend to like the installer. Given that a few years have passed since this tool was built by our community to teach workshops, it’s worth revisiting how we could improve the tools used for the benefit of both instructors and learners. The following suggestions have been offered as ways to resolve the logistical problems we’ve been facing lately while teaching shell at workshops. While we’re specifically discussing software used to teach the shell lesson, we also acknowledge that some of these tools could also be used for installation of other software as well. Windows installer: Modify or update to reduce installation problems in workshops. On top of the standard suite of tools provided by Git for Windows, the installer ensures learners have access to nano, SQlite, and make, with all easily accessible in path (it’s worth noting that the latter two tools are only used in workshops specifically about them, which have not often been taught in recent past). Create a new custom package that includes nano using: Git for Windows SDK MSYS2: discussion here conda: discussion for how it would work in workshops here Cygwin: installation instructions for workshops, with extra discussion here Atom: a stand-alone text editor which would abandon use of nano altogether, although this is problematic for workshops focusing on the use of HPC resources The challenge associated with utilizing particular software tools during our workshops is that we must balance multiple (sometimes conflicting) needs on the part of both instructors and learners. Some of these considerations that are especially releavant for the shell lesson include: Ease of use for learners: Novice programmers should be able to use it without too much effort, and it should be able to handle a breadth of activities throughout the workshop. Ease of installation: Learners should be able to install the software without much (if any!) trouble, and it should work as expected for the duration of the workshop. Minimal installation: Some options above allow installation of multiple tools at once, which makes getting the workshop set up easier. Propensity of learners to continue use: If learners will continue developing their coding skills, the tools we show them should be something that will be useful even months after the workshop. Similarity across platforms: installation of nano is a non-issue for Mac/Linux computers, and a basic workaround for a lack of nano on Windows is using notepad (which easily opens from the command line in Git for Windows). This means that learners will be using two different commands while editing files, which can be confusing for learners and instructors. Favored by instructors: Instructors need to be comfortable with the tools they are using to teach. If it’s not their top choice of software, they should at least be comfortable enough to help learners troubleshoot. If you have other thoughts on this conversation, please take the survey or feel free to comment on the relevant GitHub discussions linked above. Read More ›

Optimised for Learning
Anelda van der Walt / 2017-04-07
In 2014 I fell in love with Software Carpentry. I wasn’t quite sure what it was that was that appealing about the workshops, but I knew we had to run more of these in South Africa. I had been following the activities and blogs of Software Carpentry since 2012 when I started working at a next generation sequencing (NGS) facility as lead (only) bioinformatician. Working with our clients I found that most of them had no idea how to deal with NGS data and very often didn’t know how/where to access computing infrastructure that would allow them to analyse their data. But in 2014 we finally ran our first Software Carpentry workshop in Cape Town. It was a big one. Over 100 participants including instructors and helpers. Two rooms. Teaching Python, version control (git), and the shell at “beginners” and “intermediate” levels. The buzz over coffee time gave me the feeling that we had done something good. There were people from several provinces all over South Africa, from a plethora of research disciplines, institutions, and career stages - all talking, buzzing, exclaiming about their research and how they didn’t realise there were others at their own institutions, in their own fields, but also in very diverse fields, grappling with similar challenges in terms of research computing and data analysis and capacity development. Since then I have been thinking about the Carpentry workshops and community a lot. I was trying to identify the core elements that made me love it so much. That made me join a mentoring session at 01:00 in the morning or stay away from my kid for a week or longer to run workshops in strange parts of the country without being paid for it. What was it about this community and initiative that made it almost addictive to be a part of? By chance I started reading Thank You For Being Late – An Optimist’s Guide to Thriving in the Age of Acceleration by Thomas L. Friedman last week and something I came across in his book made me think… Friedman refers to a conversation he had with Eric Teller, CEO of Google’s X research and development laboratory. Teller was explaining to him that the rate of change of technology is outstripping the rate at which we, as human beings, can adapt. No surprises there - we’re all trying to catch up with life. But Teller also said in his interview with Friedman, according to the book, that the only way in which human beings can “come to equilibrium” again and find peace in this fast changing world, is by enhancing our adaptibility (the rate at which we can adapt). And that, Teller said, is “90% about optimizing for learning”. By chance again I was in a meeting today where we were discussing the establishment of a newly funded Research Centre. Amongst other things, we were talking about the type of training that should be delivered by this Centre. I explained the value of building on what has been done in Software/Data/Library Carpentry and how that could be tied in with community building (see e.g. Mozilla Science Lab Study Groups) to facilitate post workshop (continuous) learning which would not be dependent on the single “expert” instructor who graciously visits from afar to impart his/her expert knowledge upon which he/she returns to their institution never to be heard of again because life (or the next workshop) swallows them up. That made me realise… The Carpentry model has been around since 1998. It has been adapted and adapted again to stay in touch with what is needed by the learners, not with what can be taught by the teachers. It is optimised for learning and it is optimising our learners for learning as well. Carpentries are staying relevant because it builds on the shoulders of giants, it learns from everyone in the community, be it learner, host, instructor, helper, or the leadership. And then, even more importantly, it acts on what it learns - Issue Bonanzas, Bug BBQs, Lesson Sprints… No-one has to invent their own Powerpoint slides with stolen images and arbitrary examples the night before the workshop. We can start from where the last iteration of teaching stopped. We can join conversations about workshops that took place yesterday, last week, last month, in several countries and on various continents. We learn from people in STEM fields as much as we learn from Social Sciences and Humanities and we apply what we learn across domains and across the traditional “researcher”/”support staff” barrier. You would be crazy not to want to use what is available and build on that in a world where disruptive technology make the world look significantly and uncomfortably different within 5 - 7 years (according to Teller in Friedman’s book). Thank you to everyone in the Carpentry community for allowing us to stand on your shoulders. We’re not only teaching our learners some recipe for data analysis, but we’re teaching them to learn, and at the same time, we’re learning to keep on learning ourselves. Read More ›

What's new in Library Carpentry
Belinda Weaver / 2017-04-06
There is lots of current Library Carpentry activity. Our big news is Library Carpentry won the British Library Labs award in 2016 for teaching and learning. The prize money has since been used to fund Library Carpentry workshops in the UK, with one in Sheffield just completed, and another upcoming in Taunton in June. Tim Dennis (UCSD) and I are running Software Carpentry instructor training for 30 librarians in Portland, Oregon, on 4-5 May, after csv,conf. I am then teaching Library Carpentry at MIT with Juliane Schneider (ex-UCSD, now working for Harvard) on 15 May. We have helpers for that workshop from Boston University, Harvard and Yale. We are running a Library Carpentry project again this year as part of the annual Mozilla Science Lab global sprint on 1-2 June. This is our sign up etherpad. So far, we have five sites committed to host people working on the sprint. People are also signing up to work remotely. We will stay in touch via the chatroom and daily hangouts. We plan to work on SQL, Python, and web scraping lessons, rebuild our main Library Carpentry page, and to work out a way to record and track workshops better. We are also hoping to make Library Carpentry work for archivists. We are currently seeking feedback on what archivists want through this form. I have been invited by the Australian Society of Archivists to teach a Library Carpentry workshop as a tie-in to their annual conference in September, so I hope to incorporate some of the suggestions already made. Here is more information on what we hope to tackle in the sprint. So far, there have been about 15 Library Carpentry workshops since last year’s global sprint provided the impetus for this new community. Our chat room is very active and issues are constantly debated on GitHub. Australia, Canada, the US, the Netherlands, the UK and South Africa are the main places for activity with New Zealand about to join the bandwagon. There is an upcoming workshop in South Africa in May, as well as plans for one in Ottawa a bit later on in the year. Hopefully there will be many more workshops in the US after the Portland instructor training mints 30 new instructors. How can you get involved? Join the sprint - even if only to say hi or suggest things we should do Pop into the chatroom Request a workshop through the contact form on this page Follow us on Twitter. Read More ›

Our first work cycle - Prometheus
Erin Becker / 2017-03-26
We’re wrapping up our first work cycle! Here’s what we accomplished over the past six weeks and what we’re still working on. To help with any of these projects, please get in touch! Planning for Data Carpentry Ecology Lessons Release What did we do? This cycle we started the process for Data Carpentry’s first lesson release - for our Ecology lessons. During the Issue Bonanza 3/16-3/17, fifteen energetic members of our community and staff submitted a total of 134 issues forcus on items related to our lesson release checklist. Data Carpentry staff and maintainers will be going through these issues in preparation for our Bug BBQ (4/6-4/7). Stay posted for announcements about the Bug BBQ! What are we still working on? Over the next cycle, we’ll be working on documenting the process for future lesson releases and planning for our next lesson release (the Data Carpentry Genomics lessons). How can you help? Sign up for the upcoming Bug BBQ to help polish up the Ecology curriculum for publishing. Even if you can’t “attend” please help clean up issues in those repos! We’d love to hear your thoughts about this new lesson publication process. Please send any feedback to Erin (ebecker@datacarpentry.org) or Tracy (tkteal@datacarpentry.org). Streamlining Process for Instructor Training What did we do? This cycle we focused on simplifying processes, increasing our capacity for training new instructors and giving our Trainers opportunities to share expertise and learn from each other. We simplified our processes for scheduling instructor training events and tracking progress of trainees through checkout to make more efficient use of our volunteer Trainer time. We set up regular meetings for our Trainer community, including discussion meetings to share expertise about teaching instructor training events. We started training ten new instructor Trainers, who will be joining the Trainer team this summer. We also developed documentation for communicating with partners about training events and followed up with pending instructor training applicants. What are we still working on? We’re working on building our capacity for offering training to non-partner affiliated individuals and improving our documentation for Trainers running instructor training events. How can you help? If you’re interested in becoming an instructor Trainer, please contact Erin (ebecker@datacarpentry.org). New hire We’ve received a large number of highly qualified applicants and are working on scheduling first round interviews. Keep an eye out for more news! Setting an Assessment Strategy What did we do? This cycle Data Carpentry overhauled our pre- and post-workshop surveys to include measurements of self-efficacy and skill with R or Python. We’ll be piloting these surveys over the next few months. We also developed and released a long-term follow-up survey for learners who attended workshops six months ago or more. What are we still working on? In October we released a report of Data Carpentry’s impact on learners. We’re now working on a report for Software Carpentry. Stay posted! How can you help? If you were a learner at a Carpentry workshop over six months ago, please fill out our new survey by April 4th and be entered in a drawing for a Data Carpentry swag bag. Lesson Contribution Guidelines What did we do? We surveyed community members about their experiences with contributing to Carpentry lessons and asked for ways that we can make this process more straightforward. We received 54 responses with a wealth of suggestions. What are we still working on? We organized the feedback we received and are working on understanding the best way to implement these suggestions. How can you help? If you’d like to be part of the team developing new documentation and resources for lesson contributions, please contact Erin Becker (ebecker@datacarpentry.org). Our next cycle - Cycle Deimos - March 27th through May 19th I hope you’ll agree that we accomplished a lot over the past six weeks! Our next cycle is also looking to be action-packed and exciting. Stay tuned for an announcement of what’s coming up! As always, if you there’s something you’re excited about and would like to see, post your idea to our Conversations repo or get in touch. This post was originally posted at Data Carpentry Read More ›

Get Involved With Mentoring
Christina Koch / 2017-03-08
Are you a new Software or Data Carpentry instructor? Do you remember what it was like to be a new instructor? Are you interested in improving your own teaching skills? Do you want to connect with other instructors to share teaching ideas and experience? The mentoring committee is a group of Software and Data Carpentry community members who organize initiatives to support instructors and we’re looking for new members. The mentoring committee meets once a month to discuss current activities and new ideas, and we help organize the weekly instructor discussion sessions hosted on this etherpad. We would love to expand our activities and for all of our activities to be a true community-driven and community-owned effort. To make that happen, we need community members to join us! Anyone can be involved – the only criteria for membership is interest in how we can better support instructors and connect them with each other. Here are some ways to get involved: Join the mentoring mailing list and/or attend next committee meeting (to be announced on this etherpad ). Sign up to help with some of our main endeavors as described on this page. If you have questions or suggestions about the mentoring committee, Christina Koch, outgoing committee chair, will be holding two informal FAQ sessions on Monday, March 13. There is information about these on the community calendar. We will also be selecting new positions in the committee next week – if you’d like to vote (or stand for a position!) please get in touch. Read More ›

1 - 28 February, 2017: Inclusivity, Career Pathway Panel, Community Development Lead, BaseCamp.
Martin Dreyer / 2017-02-28
##Highlights The Carpentries stand for inclusivity and freedom of movement for each and every volunteer, researcher, or professional in industry. If you have been affected by any action or policy that is preventing you from partaking in the carpentries in any way, please contact us. The second Career Pathway Panel will be held on 1 March 2017, please register. ##Tweets Have you considered making a donation to Software Carpentry? ResBaz 2017 was a big success! Thank you to all that participated. Need a helping hand to get started with coding? Have a look at our website. Have you subscribed to our monthly newsletter? ##Jobs Software Caropentry and Data Carpentry are hiring a Community Development Lead. ##General The Carpentries have adopted a new work process to better the progress on projects, and it is based on BaseCamp’s six week work cycle. 26 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: March University of Technology, Sydney, EPSRC & MRC Centre for Doctoral Training in Regenerative Medicine, University of Manchester, McGill University, Winona State University, University of Freiburg, University Of British Columbia, University of Colorado Boulder, University of Oxford, Dartmouth College, Oklahoma State University, Brock University, The University of Washington eScience Institute, Technical University Munich, Washington State University. April Massey University Auckland & NeSI. Read More ›

A Year to Build a Software and Data Carpentry Community at the University of Florida - The Impact of a Local Instructor Training Workshop on Building Computing Capacity
Matthew Collins, François Michonneau, Brian Stucky, Ethan White / 2017-02-22
This January was the one year anniversary of our effort to bring regular Software Carpentry and Data Carpentry workshops to the University of Florida. These workshops are aimed at helping students, staff, and faculty gain the computing skills they need to be successful in our data-driven world. The Carpentries are international organizations that provide materials, instructor certification, and organization of multi-day workshops on basic software development and data analysis tools. In January 2016 a Software Carpentry instructor training workshop held at the University of Florida Informatics Institute provided the start of our efforts. Since then, instructors trained here as well as experienced instructors already in the UF community have held four workshops, reaching 98 participants, including 70 students, 14 staff and 11 faculty. The participants received training in programming languages like R and Python, version control with Git and GitHub, SQL database queries, OpenRefine, and Excel spreadsheets. Graph of participants’ status at UF and word cloud of departments our participants hail from ( https://www.jasondavies.com/wordcloud/) Such a robust and recurring workshop pattern is uncommon in the Carpentries community (but not unprecedented) and it is a result of the generosity and volunteerism of a combination of staff, faculty, students, and organizations at UF. Together we recognized that members of the UF community did not have enough opportunities to get hands-on experience with the software development and data analysis tools they need to be effective researchers, employees, and future job-seekers. In response, we have established a highly collaborative process for giving our fellow UF community members, whether they are students, staff, or faculty, this opportunity. Our Year of Workshops Though UF has a longer history with the Data and Software Carpentry communities, the start of this current program was an instructor training workshop held in January 2016 at the UF Informatics Institute (UFII). Dr. Ethan White provided funds (through a grant from the Gordon and Betty Moore Foundation) for UF to become a Software Carpentry Foundation affiliate member and to run an on-site training for instructors. Fourteen people from UF attended the 2016 workshop, 5 came from other Florida institutions, and 4 from elsewhere in the US and Canada. As a result of this workshop, 8 participants from UF became newly certified instructors for Software or Data Carpentry. Today there are a total of 10 active instructors at UF. Several existing instructors, including Matthew Collins from the Advanced Computing and Information Systems Lab and Dr. François Michonneau from the Whitney Laboratory for Marine Bioscience, with the help of the newly trained instructors, then approached the director of the UF Informatics Institute, Dr. George Michailidis, for logistical support to run a Software Carpentry workshop in March 2016. While it was very successful, only 16 participants of 31 who signed up attended. We did not charge a registration fee, so we believe that many people simply did not show up when another commitment arose. For our second workshop, held in August 2016 just before the start of the semester, Alethea Geiger from the UFII worked with the UF Conference Department to set up an account and a registration page that accepted credit card payments. We were able to charge a $30 registration fee which allowed us to pay for lunch during the workshop. This amount appears to strike a good balance between using a registration fee to encourage attendance and cover catering costs while not imposing serious financial hardship for participants with limited funding. However, the Conference Department web site did not let us smoothly deal with waitlists and capacity caps, and over the first weekend we had more than 35 people sign up for the workshop. In order to accommodate everyone, the Marston Science Library generously offered a larger room for the workshop. Everyone who registered attended this workshop. In October 2016, we held our third workshop using the Data Carpentry curriculum. At this workshop we had the honor of having Dr. Kari L. Jordan as a participant. Dr. Jordan was recently hired as the Data Carpentry organization’s director of assessment and this was her first experience at a workshop. The registration process worked smoothly this time and were able to use the UFII conference room for the workshop and catering. Our most recent event was another Software Carpentry workshop held at the UFII in February 2017. What it Takes This group’s volunteered time as well as the coordination and support of three existing instructors and the logistics supplied by the Informatics Institute have made it possible to reliably host Carpentry workshops. It currently takes about 8 hours for the lead instructor to arrange instructors, helpers, and announcements and to respond to attendee questions. The staff at the UFII spend another 8 hours managing registration and preparing the catering. Instructors spend between 4 and 12 hours preparing to teach depending on whether they have taught the lesson before. Helpers who are already familiar with the content of the lessons usually don’t need further preparation but new helpers spend 4 to 8 hours reviewing lessons and software installation instructions. Combined, each workshop takes about 40 person-hours of preparation and over 80 person-hours to host. With the exception of the UFII staff, this time is all volunteered. How do we keep people volunteering? There are a number of factors that go into maintaining volunteers’ motivation and momentum. We didn’t plan these in advance but now that we have them in place, we recognize them as the reasons we can continue to keep our community engaged and excited about putting on workshops. Instructor density - have enough instructors to get 3-6 people at each workshop without burdening anyone’s schedule Instructor cohesion - just like we suggest learners attend workshops with a buddy, instructors who come to the instructor training from the same department or discipline immediately make their own community of practice Instructor mentorship - a core group of senior instructors to guide initial workshops (note the plural) so new instructors can focus on the teaching experience without the logistical burdens Professional staff - find staff who organize workshops as part of their job to share the overhead of coordinating logistics Institution-level support - a single research lab or department doesn’t have enough people to do this on its own, doing it for the whole institution fits the needs of everyone and shares the work Follow-through - have supporting events and communities available for people to keep learning and keep their experience with the Carpentries fresh in their minds when it comes time to look for more instructors and helpers Community Building After the Workshops Some of the instructors have also been involved in creating and helping communities of learners on campus grow outside of workshops. Dr. Michonneau started a Meetup.com group for the Gainesville community focused on R. M. Collins is an advisor to the UF Data Science and Informatics student organization which holds about 12 evening workshops each semester focused on building data science skills for UF students. In spring 2017 Dr. Daniel Maxwell , Informatics Librarian for the Marston Science Library, re-invigorated the UF R Users mailing list and is holding weekly in-person drop-in sessions. These venues allow former workshop participants to continue learning the skills taught in the Carpentry workshops. They provide a space where participants can ask questions of and interact with their peers when they start using the tools taught in the workshops for their own research. This ongoing communal engagement is proving to be a key factor in making sure workshop participants continue to develop their abilities. UF’s Impact on the Carpentry Community UF has a long history and deep connections to the Carpentries. Data Carpentry was originally imagined during the 2013 COLLAB-IT meeting between the IT members of iDigBio (a large NSF-sponsored project centered at UF) and the other NSF biocenters. The attendees of this two-day workshop found that one important need shared by the biocenters was a training program for researchers, focused on the novice, to develop software skills and data literacy for analyzing their data. Some attendees were involved with Software Carpentry and decided to develop a curriculum based on Software Carpentry’s teaching principles. Dr. White, as well as iDigBio staff including Deborah Paul, Dr. Michonneau, and M. Collins were instructors, helpers, and attendees at the prototype Data Carpentry workshop held in May 2014 at NESCENT facility at Duke University. The second official Data Carpentry workshop was put on by the iDigBio project right here at UF. Since this first engagement with the Carpentries, many other members of the UF community have participated in Software and Data Carpentry workshops across the country. Not all have participated in this most recent effort to run workshops here on campus and some have moved on to other institutions but they have all contributed to UF being a valued organization in the Carpentries community. In addition to building its own workshop infrastructure, UF is helping to advance the Carpentry programs in the US and globally. Dr. White is a founding Data Carpentry steering committee member, a member of the Software Carpentry Advisory Council, and has developed a semester-long course based on Data Carpentry materials that he has taught twice as WIS6934 through the Department of Wildlife Ecology. Through the iDigBio project and support from Dr. White, M. Collins and D. Paul have taught workshops in Nairobi, Kenya and Santa Clara, Costa Rica before the Biodiversity Information Standards conferences in 2015 and 2016. M. Collins has also served as a mentor to instructors trained during the South African instructor training and along with D. Paul has more recently become a member of the formal Carpentry mentorship program providing on-going support to new instructors across the country. Going Forward The success of our group has been the result of the serendipitous meeting of interested UF community members, an existing international teaching community, and informal funding and infrastructure support. We are now looking for a way to formalize UF’s commitment to building capacity in informatics skills for its staff, students, and faculty through an on-going structure. To start this process, a consortium of labs and institutes at the University of Florida have combined resources to sponsor a joint Gold Partnership with Software and Data Carpentry going forward. The UF partners are Dr. White’s lab, the UF Biodiversity Institute (via Dr. Pamela Soltis), iDigBio (via Dr. Soltis), and the UF Informatics Institute (via Dr. Michailidis). This partnership will provide annual instructor training opportunities to grow the instructor community To continue the rest of the key parts of our success, we still need: A UF department or institute to adopt the goal of informatics capacity building for the UF community. An individual to be given the task of coordinating this goal across UF. Continuous funding and resources to provide for a pipeline of people capable of meeting this goal. We believe UF has a unique opportunity to create a sustainable effort that cuts across individual departments and research labs. While existing on-book courses and department-specific programs are available, we have shown that there is need for hands-on, community-led informatics skill development for everyone on campus regardless of affiliation or discipline. By approaching this need at the university level we can maintain the critical mass of expertise and motivation to make our staff more productive, our students more employable, and our faculty’s research more innovative. Acknowledgements The following people have been active members of the UF instructor community and have volunteered their time in the past year by participating as instructors or helpers during the recent workshops: Erica Christensen (*) - Ernest Lab, WEC Matthew Collins - Advanced Computing and Information Systems Lab, ECE Dave Harris (*) - White Lab, WEC Allison Jai O’Dell (*) - George A Smathers Libraries Sergio Marconi (*) - White Lab, WEC François Michonneau - Martindale Lab, Whitney Laboratory for Marine Bioscience Elise Morrison (*) - Soil and Water Sciences, IFAS Deborah Paul (*) - Institute for Digital Information, Florida State University Kristina Riemer (*) - White Lab, WEC Henry Senyondo (*) - White Lab, WEC Miao Sun - Soltis Lab, FLMNH Brian Stucky (*) - Guralnick Lab, FLMNH Shawn Taylor (*) - White Lab, WEC (*) Trained at the January 2016 UF instructor training workshop The following entities have contributed material support to our workshops or the Carpentries communities: Advanced Computing and Information Systems Lab, Electrical and Computer Engineering Earnst Lab, Wildlife Ecology and Conservation Soltis Lab, Florida Museum of Natural History University of Florida Biodiversity Institute University of Florida Informatics Institute White Lab, Wildlife Ecology and Conservation We would also like to thank the incredible support provided by Alethea Geiger, Flora Marynak, and Deb Campbell at the UF Informatics Institute. They have managed the space, catering, registration, and financial aspects of our workshops for us and their services are the main reason we can provide so many workshops. Read More ›

Beginning the conversation: Potential merger with Data Carpentry
Kate Hertweck, Rayna Harris / 2017-02-22
Newcomers to our community frequently request clarification regarding the distinction between Software Carpentry (SWC) and Data Carpentry (DC). SWC and DC are two independently established and operated organizations that share a common goal of promoting education in reproducible science skills, both in data literacy (DC) and software development (SWC). Despite our separate organizational structures, SWC and DC maintain close ties, and have begun moving over the last year or so towards increased connectivity. Staff interact with leadership and members of both communities, and are sometimes shared hires between both groups. We offer joint institutional memberships. We’ve worked together to implement shared policies, and have released statements which reflect our commitment to shared values. Given the increasing levels of integration between SWC and DC, the SWC Steering Committee passed a resolution at a recent meeting to “begin discussions with representatives from DC leadership about a potential merger” between these two currently independent organizations. We are excited about the potential these discussions hold in forging a strong, cohesive community that will continue to promote the goals of both organizations, and look forward to sharing our ideas with you in coming months. Read More ›

Carpentries Career Pathways Panel - Marianne Corvellec, Bernhard Konrad, Aleksandra Pawlik
Lauren Michael / 2017-02-22
Wednesday, Mar 1, 3pm PST / 6pm EST / 11pm UTC / 9am AEST (next day) On Wednesday, March 1, the Carpentries will host the second of three Career Pathway Panels, where members of the Carpentry communities can hear from three individuals in careers that leverage teaching experience and Carpentry skills. (Note: The date of this second panel was shifted from the originally-proposed date of Feb 22 due to scheduling considerations.) Anyone who has taught at a Carpentry workshop in the last three months is invited to join, and should register by Monday, February 27 in order to be invited to the call. Registration is limited to 20 people per session, so please only commit if you are sure you will attend. Attendees can register for any number of these sessions. Each session will last one hour and will feature a different set of panelists. The final session will occur on Tuesday, March 21 at 3pm PST (panelists TBA). For the March 1 session, we are excited to be joined by the below panelists! Marianne Corvellec Marianne earned a PhD in statistical physics in 2012. She now works as a data scientist at CRIM, a semi-public research centre in Montréal, Canada. She specializes in data analysis and software development. Before joining CRIM, she worked at three different web startups. She speaks or teaches at local and international tech events on a regular basis. Her interests include data visualization, signal processing, inverse-problem approach, assessment, free software, open standards, best practices, and community management. Bernhard Konrad Bernhard attended a SWC workshop in 2012 during his graduate studies, and was immediately fascinated by the world of opportunities and productivity that these software tools opened up. He taught a dozen workshops since, and started to work on software-related personal side projects. Bernhard then went to Insight Data Science, a Data Science fellowship in Silicon Valley. After interviewing with a few companies and after a complicated work permit process, he started his job as a Software Engineer at Google in early 2016. There, he develops internal tools for engineering productivity. Aleksandra Pawlik Aleksandra Pawlik is the Research Communities Manager at the New Zealand eScience Infrastructure (NeSI). Before joining NeSI in 2016 she worked for three years at the University of Manchester, UK for the Software Sustainability Institute where she was leading the Institute’s training activities. Software and Data Carpentry has been always a big part of her professional activities and allowed Aleksandra develop a range of skills, understand the research ecosystem and meet a number of amazing and inspirational people. Read More ›

Job Opportunity: Community Development Lead
Tracy Teal, Jonah Duckles / 2017-02-21
Software Carpentry and Data Carpentry are hiring a Community Development Lead! We are excited to announce a position as a full-time staff member to lead community development activities! Software and Data Carpentry have an active global community of researchers, volunteers, learners and member organizations. This person will cultivate and grow this community, developing communication strategies and opportunities for the community to connect with and support each other. You will become an active member of our team of staff and will work with people around the world to advance our mission of building a community teaching digital research skills to make research more productive and reproducible. As the Community Development Lead, you will oversee Software and Data Carpentry’s community engagement efforts to develop and support the community, creating pathways for participation and increased communication. You will lead blog, newsletter and social media efforts, help develop online resources, participate in the mentorship subcommittee and help facilitate the development of regional groups. You will also have the opportunity to guide efforts to reach underserved communities and to be involved in instructor training. For details, including a full job description and the application procedure, please see the Jobs page. This is a joint Software and Data Carpentry position and is cross-listed on both websites. Read More ›

How we're getting things done
Erin Becker / 2017-02-16
Adopting work cycles The Data and Software Carpentry staff have been working together to make progress on projects that are important for our community. To help us do this, we’re trying out a new work process based on BaseCamp’s six week work cycle. You can read their blog post if you’re interested in the details of how structuring a work cycle works. We’re picking a small handful of projects to focus on for each six week cycle, with each staff member working on one or two projects. For each project, we’re setting realistic goals we know we can accomplish before the end of the cycle and holding ourselves accountable to meeting those goals. We’re spending the first two weeks of the cycle planning those goals, dividing up the work into teams, and setting timelines to make sure we stay on track. We envision this workflow having some specific advantages, including: Reducing clutter and letting us focus on making progress. Making it ok to say “we can’t tackle this right now, but that’s an important project, can we do it next cycle”? Making it possible for busy community members to be involved without having to commit time indefinitely. (No commitments after the cycle ends!) Bringing staff time and resources together with community enthusiasm. Giving us a structure for regularly communicating what we’re working on with the community at large. Providing passionate community members more opportunities to get involved. We’re still working out some of the details of how working in cycles will work for us, but we’re excited to share our plan for the first round. If there’s something you’re excited about for the next round, let us know! If you’d like to join (or organize) a team for one of the next few cycles, let us know! Please post an issue on our conversations repo or email ebecker@datacarpentry.org. Our first cycle - Cycle Prometheus (January 23rd - March 17th) Our first cycle started at the end of January and goes through the middle of March. Here’s what we’re hoping to accomplish in our first cycle. Planning for Data Carpentry Ecology Lessons Release Tracy, François Michonneau, and Erin are working on Data Carpentry’s first lesson release! In addition to starting the process for releasing our Ecology lessons, we’re also working on setting up a process for future lesson releases. Based on Software Carpentry’s success with the Bug BBQ last year, we’re planning an Issue Bonanza to coordinate community effort on preparing the lessons for release. Keep your eyes peeled for announcements and ways you can contribute! Streamlining Process for Instructor Training Erin and Maneesha are continuing Greg’s instructor training work and are updating the instructor training program process for organizing training events and tracking trainee progress from training through checkout. We’re simplifying how we schedule instructor training events and putting together resources for instructor trainers. We’re also streamlining the process of tracking instructor trainees to make more efficient use of our staff and volunteer time. Lastly, we’re exploring our needs for new instructor trainers and planning the recruitment and training process. If you’re interested in becoming an instructor trainer, please email Erin so we can keep you in the loop about future plans. New hire Tracy, Jonah and Kari are working a new hire for Software and Data Carpentry. Posting coming Monday, February 20th, so keep your eye out for more information! Setting an Assessment Strategy Kari is developing a strategy for both near-term and long-term assessment of Data Carpentry workshops. She’s putting together new pre- and post-workshop surveys for learners at Data Carpentry workshops that will be piloted starting in April, as well as a long-term assessment for learners from previous workshops to be piloted by mid-March. She’s also cleaning up code and formalizing a template for regular quarterly data releases on assessment efforts. We need more Data Carpentry workshops to pilot our new surveys! Please consider organizing a workshop at your institution in April. Let us know what we can do to support you in getting a workshop set-up. Please email Maneesha. Lesson Contribution Guidelines Erin, Mateusz Kuzak, Aleksandra Nenadic, Raniere Silva and Kate Hertweck are working on making it easier for new instructors and other community members to contribute to lesson development. We’re reaching out to the community to understand roadblocks people may have with the development process, and then developing new documentation and resources to help reduce these barriers. We’re collecting feedback from all of the various discussion threads and GitHub issues. Please keep commenting there, and stay tuned for more opportunities to give us feedback! Continuing Work We’re also continuing to work on our many ongoing projects, including (but not limited to): Publishing our monthly newsletter Running our blogs Maintaining our websites and lessons Coordinating workshops and instructor training events Teaching at workshops and instructor training events Hosting discussion sessions and instructor teaching demos Speaking publically about Data and Software Carpentry Running our Virtual Assessment Network Organizing our Mentorship Program Serving on the mentoring subcommittee, trainers group and bridge subcommittees If you’re interested in helping with any of this ongoing work, or would like to make suggestions about what to tackle in our next cycle, let us know! Please post an issue on our conversations repo or email ebecker@datacarpentry.org. Our next two cycles will be: Cycle Deimos - March 20th through May 12th Cycle Phobos - May 15th through June 23rd Read More ›

Standing for Inclusivity
Carpentries Staff and Steering Committees / 2017-02-02
Our goal as Software and Data Carpentry is to build a community teaching digital research skills. We teach essential computing skills to thousands of researchers in academia and industry each year. As an international organization we rely on the volunteer efforts of hundreds of researchers and professionals from around the world. Our volunteers come from diverse backgrounds, countries of origin, and beliefs. These individuals generously donate their time with the goal of helping to speed the discovery of new knowledge and the creation of new technology. Actions and policies that arbitrarily restrict the movement of peoples based on their beliefs, national origins, race, ethnicity, sexual orientation, gender identity, or any other intrinsic class contradict one of Software and Data Carpentry core values: providing inclusive and supportive environments for all researchers. These harmful policies send a message to the highly-trained individuals who participate in and teach workshops that they and those like them are not welcome in the country where they collectively volunteer the majority of their time. They also put traveling volunteers at risk of being stranded far from their homes and families with little or no warning. These restrictions negatively impact our ability to teach others, collaborate and conduct scientific discourse and affect the advancement of research of all types. We stand with those that have been harmed, both directly and indirectly, by any such actions or policies. If you are a researcher who is stranded and could use a local contact, contact us, and we will work to connect you with volunteers in our global network. Read More ›

Moving Forward
Erin Becker / 2017-01-31
As of January 30th, Greg Wilson has stepped down from his role as Director of Instructor Training to start a new position as Shopify’s Computer Sciences Education Lead. Instructor training will continue under the guidance of Erin Becker, Data Carpentry’s Associate Director and Maneesha Sane, Data and Software Carpentry’s Program Coordinator. Erin has a strong background for this role from her postdoc at University of California, Davis studying the effectiveness of training methods for transforming instructional practices. She has been involved with the Carpentry community as an instructor trainer, a member of the Mentorship Subcommittee, and leader of the effort to form an instructor mentoring program. Maneesha is the Carpentry Program Coordinator, and serves as an active Carpentry instructor and member of the Mentorship Subcommittee. Maneesha’s hard work behind the scenes keeps Carpentry workshops running smoothly. She will now bring her expertise to coordinating instructor training events. Erin and Maneesha have worked actively with Greg to ensure a smooth transition. We are conducting instructor trainings as scheduled, and are planning new events with Member Organizations. We will continue our efforts to train and support instructor trainers and build the instructor training program. If you have any questions about instructor training, including the status of your institution’s planned training event, please contact us at admin@software-carpentry.org. Read More ›

15 - 31 January, 2017: JupyterCon, Steering Committee 2017, North West University, Programming skills .
Martin Dreyer / 2017-01-31
##Highlights We are please to present to you the Steering Committee of 2017. North West University becomes the first African Partner of Software and Data Carpentry. ##Tweets Have you considered making a donation to Software Carpentry? Jupytercon anounced for 2017! Programming skills can help improve your research efforts. ##General We have set out a rubic to rank requests for online instructor training to ensure the spaces are filled. The Career Pathways Panel has started and will have a session every month, please join us. Have you signed up for our monthly newsletter? 18 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: February University of Oslo, Simon Fraser University, New York Academy of Sciences, New York Academy of Sciences, University of Toronto, University of Texas at Arlington, Conestoga College, AMOS / MSNZ Conference, UF Informatics Institute, University of Auckland, The University of Queensland - Python, The University of Queensland - R, Federal Reserve Bank of Kansas City, Library of Congress, The Jackson Laboratory, Boise State University, Queen’s University, University of Ottawa. March University of Colorado Boulder, Brock University, https://konrad.github.io/2017-03-29-munich/. Read More ›

Announcing the 2017 Steering Committee
Jonah Duckles / 2017-01-30
I’m pleased to announce our new steering committee for 2017. The new steering committee is comprised of Kate Hertweck Rayna Harris Christina Koch Mateusz Kuzak Karin Lagesen Sue McClatchy Belinda Weaver Turnout and Voting Tallies We had 31.6% turnout representing 176 of the 557 eligible voters casting a ballot in this election. Official election results are available from electionbuddy. We thank our outgoing steering committee members I want to thank our outgoing steering committee members for their service. They’ve helped us to grow the impact that Software Carpentry can have in the world in a stable and sustainable way. Jason Williams Bill Mills Raniere Silva Thank you gentlemen! Hope to see you around in subcommittees and at workshops in the future! Read More ›

Carpentries Career Pathways Panel: Raniere Silva, Geneviève Smith, Tiffany Timbers
Lauren Michael / 2017-01-20
Tuesday, January 24, 7am PST / 10am EST / 3pm UTC / 2am AEST (next day) On Tuesday, January 24, the Carpentries will host the first of three Career Pathway Panels, where members of the Carpentry communities can hear from three individuals in careers that leverage teaching experience and Carpentry skills. Anyone who has taught at a Carpentry workshop in the last three months is invited to join, and should register ahead of time in order to be invited to the call. Registration is limited to 20 people per session, so please only commit if you are sure you will attend. Attendees can register for any number of these sessions. Future, monthly, panel sessions will occur on different days and at different times. Each session will last one hour and will feature a different set of panelists. For the first session, we are excited to be joined by the below panelists! Raniere Silva Community Officer at the Software Sustainability Institute, UK. I’m Brazilian, just completed my year living abroad, and my background is applied mathematics. Most of the time I select Python as the tool that I will use to solve my tasks but I’m jealous of those who use RStudio. My dream is that South America host as much Carpentries workshop (Software Carpentry, Data Carpentry, Library Carpentry, …) as US, UK and Australia. Geneviève Smith I’m the Head of Data Science at Insight, where we run training programs for quantitative PhDs who want to move into careers in data science, data engineering, health data, and AI. Prior to joining Insight I did a postdoc and earned my PhD in Ecology, Evolution & Behavior from UT Austin. My research focused on the role of competition in structuring ecological communities of species through a combination of field-based experiments and theoretical modeling. During my time in grad school I participated in multiple Software Carpentry workshops, volunteered at a few, and trained to be an instructor. Those experiences were critical in my development as a coder and helped me gain confidence while building evidence of my computational skills. Tiffany Timbers Tiffany Timbers received her Bachelor of Science in Biology from Carleton University in 2001, following which she completed a Doctorate in Neuroscience at the University of British Columbia in 2012, which focused on the genetic basis of learning and memory. After obtaining her doctorate, Tiffany carried out data-intensive postdoctoral research in behavioural and neural genomics at Simon Fraser University (SFU). During this time, she also gained valuable experience teaching computational skills to students and scientists through her work with Data and Software Carpentry, the SFU scientific programming study group, and teaching a course in computation in Physical Sciences at Quest University. Tiffany began her current teaching role in the University of British Columbia Master of Data Science program in the summer of 2016. Read More ›

South Africa's North-West University Becomes Software and Data Carpentry’s first African Partner
Anelda van der Walt / 2017-01-20
In November 2014 the first large-scale Software Carpentry event was run in South Africa as part of the eResearch Africa conference in Cape Town. Since then 15 more Software, Data, and/or Library Carpentry events were run by the Southern African community across many disciplines and several institutions. The North-West University has been heavily involved in further developing the Southern African Carpentry community. In 2015 NWU led the development of a 12-month proposal that kicked off in April 2016 with the first South African in-person instructor training event. Since 2015 NWU has been involved in four internal Software and Data Carpentry events as well as four events run at other Southern African institutions. The university currently has five qualified instructors as well as two preparing for check-out. Instructors hail from diverse disciplines such as genomics, digital humanities, chemistry, and IT. At the end of 2016 the NWU entered into a gold partnership with Software and Data Carpentry. The partnership marks the beginning of a new phase of capacity development around computing and data at the university, it is the culmination of months of hard work, exciting workshops, and interesting conversations with colleagues from all over the world. The NWU Chief IT Director, Boeta Pretorius, has been the main sponsor for Carpentry activities around the university and hope that the partnership will help to develop and enhance computational research skills amongst NWU researchers and postgraduate students while developing increasing numbers of local instructors. The training events have been run as part of the NWU eResearch Initiative which commenced in 2015. We look forward to continue our collaboration with Software and Data Carpentry and with you, our community! Read More ›

Software Carpentry Steering Committee Candidates 2017
Jonah Duckles / 2017-01-15
2017 Steering Committee elections and January Community Call We are pleased the announce the 2017 Steering Committee elections, which will occur from January 23-27. All members will receive a ballot via email to cast their vote via electionbuddy. Be sure to look at the membership list and let us know if you feel you’ve been left off by mistake; membership details are here. Community Call As a preface to the election, we are using our January Community Call to allow the candidates time to introduce themselves. We have seven outstanding candidates to fill the seven Steering Committee seats. Our governance rules require us to hold the election, albeit uncontested, but we also feel this is a vital way for the community to exhibit commitment to the organizational leadership. Please sign up to attend one of two meetings on January 20 to hear about our candidates’ plans for 2017. What would you like to see the Steering Committee accomplish? What are you excited for Software Carpentry to tackle this year? 2017 Steering Committee Candidate blog posts Linked under each candidates name is their blog post about their plans for Software Carpentry if elected. Kate Hertweck Rayna Harris Christina Koch Mateusz Kuzak Karin Lagesen Sue McClatchy Belinda Weaver Read More ›

1 - 15 January, 2017: CarpentryCon, Steering Committee Elections, Rubic for online Instructor training, TalkPython.
Martin Dreyer / 2017-01-15
##Highlights If you are interested in attending or helping with the planning of CarpentryCon, please sign up! Steering Committee elections will take place on January 23-27, and all members will be receive a ballot via email. Please look at the membership details to ensure you get the email. ##Tweets Have you considered making a donation to Software Carpentry? Talkpython episode #93 Spreading Python through the sciences with Software Carpentry. Huge thank you to the instructors who joined the new mentoring program! 8 best practices to improve your scientific software. Sign up for the Collaborations Workshop 2017. First DTL programmers meeting for 2017 scheduled for January 20 in the Netherlands. ##General We have set out a rubic to rank requests for online instructor training to ensure the spaces are filled. Our executive director Jonah Duckles was interviewed by TalkPython in December 2016, listen to the interview here. Please sign up for the January community call meetings on January 20 to hear the Steering Committee candidate’s plans and visions for 2017. Have a look at the candidate blog post for the 2017 Steering Committee. 12 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: January LCG-Aula 1-2, Centro de Ciencias Genómicas, UNAM, University of Michigan, NERC / The University of Bristol, Langley Research Center, Imperial College London, Neuroscience Research Australia, ResBaz Hobart, Python Stream, ResBaz Hobart, R Stream. February Simon Fraser University, New York Academy of Sciences, University of Toronto, University of Texas at Arlington, AMOS / MSNZ Conference, UF Informatics Institute, University of Auckland, Federal Reserve Bank of Kansas City, Boise State University. Read More ›

Announcing for Lesson Infrastructure Subcommittee
Raniere Silva / 2017-01-13
One of the issues that we have with the styles, lesson-example, and workshop-template repositories is that some issues or pull request just sit around for a long time because of the lack of ownership of those repositories. Going on with the Proposal for Lesson Infrastructure Subcommittee, that will try to solve that issue, we would like to announce that Subcommittee calendar for 2017. Month Activities February Lesson Infrastructure Subcommittee meeting. April Lesson Infrastructure Subcommittee meeting. May Repositories freeze for release. June Lesson release and Lesson Infrastructure Subcommittee meeting. September Lesson Infrastructure Subcommittee meeting. October Repositories freeze for release. November Lesson release and Lesson Infrastructure Subcommittee meeting. If you are the maintainer of a Software Carpentry or Data Carpentry and want to vote on issues or pull request on styles, lesson-example, or workshop-template repositores please email Kate Hertweck or Raniere Silva until January 27th 23:59 Pacific Time. Once we have the list of Lesson Infrastructure Subcommittee members we will find a suitable time for meeting between February 6th and February 10th. We will continue to welcome issues and pull request to styles, lesson-example, and workshop-template and making our lessons a community effort. Read More ›

Software Carpentry on TalkPython
Raniere Silva / 2017-01-05
On January 3rd, 2017 TalkPython published a podcast interview with our Executive Director, Jonah Duckles, that was recorded on December 6th, 2016. If you have friends who are interested to know about Software Carpentry and are fan of listen podcast (or not) the record is a great way for them to discovery what we are and how we operate. In the past, our staffs were interviewed in other podcasts by Open Science Radio and Podcast.init that podcast fans should check out. Read More ›

Announcing the CarpentryCon Proposal
Alix Keener, Rayna Harris, Greg Wilson / 2017-01-04
To date, we have not yet had an opportunity to bring together all the members of our communities. Enter: CarpentryCon! We are proposing a two-and-a-half day conference, tentatively held in May 2017 at the University of Michigan. We envision an event that brings together members of the Carpentry community, including instructors, partners, advocates, and staff, together with people sharing similar interests from around the globe. We will have a “come and learn” format that is different from most conferences with session on topics such as teaching methods, curriculum development, community organization, and leadership skills. Opportunities will be provided for participants to come together informally to share stories about challenges and successes. There will be at least one session where attendees can share how they have incorporated Carpentry techniques into their own research and teaching, and/or how they have grown their local Carpentry community. The final list of sessions will be determined by the program committee in consultation with the community, balancing “who wants to learn what?” with “who’s willing to teach what?”. Interested in attending or getting involved with planning? We’d love to hear from you! Add your name to the list on the etherpad and sign up for one of the planning calls on Monday, January 9. See more details at our working document. Read More ›

Rubric for Open Instructor Training
Greg Wilson / 2017-01-03
The Software Carpentry Foundation’s Steering Committee recently resolved to run four open online instructor training sessions per year in order to help support people whom we otherwise might not be able to reach. Since there are likely to be many more applications than spaces, we have developed a rubric for ranking requests for training. This applies only to people who are applying for spots in open training sessions: people who are receiving training through institutional partnership agreements will continue to be nominated by their institution as before. Note that as a condition of being trained, people must: Abide by our code of conduct, which can be found at http://software-carpentry.org/conduct/ and http://datacarpentry.org/code-of-conduct/. Complete three short tasks after the course in order to complete certification. The tasks are described at http://swcarpentry.github.io/instructor-training/checkout/, and take a total of approximately 8-10 hours. Help teach a Software Carpentry, Data Carpentry, or Library Carpentry workshop within 12 months of the course. Personal (given) name: [________] Family name (surname): [________] Email address: [________] GitHub username: [________] What is your current occupation/career stage? Please choose the one that best describes you. [_] Prefer not to say [_] Undergraduate student [_] Graduate student [_] Post-doctoral researcher [_] Faculty [_] Research staff (including research programmer) [_] Support staff (including technical support) [_] Librarian/archivist [_] Commercial software developer [] Other [_______] Affiliation: [________] Location: [________] [_] This a smaller, remote, or less affluent institution. Software and Data Carpentry strive to make workshops accessible to as many people as possible, in as wide a variety of situations as possible. Award +1 for outside Europe/UK/US/Canada/Australia/New Zealand. or +1 for being in smaller/remote/less affluent institution within EU/UK/US/Can/Aus/NZ. Areas of expertise: [_] Chemistry [_] Civil, mechanical, chemical, or nuclear engineering [_] Computer science/electrical engineering [_] Economics/business [_] Education [_] Genetics, genomics, bioinformatics [_] High performance computing [_] Humanities [_] Library and information science [_] Mathematics/statistics [_] Medicine [_] Organismal biology (ecology, botany, zoology, microbiology) [_] Physics [_] Planetary sciences (geology, climatology, oceanography, etc.) [_] Psychology/neuroscience [_] Social sciences [_] Space sciences Other areas of expertise: [________] Award +1 for being in economics or social sciences, arts, humanities, or library science (domains where we wish to expand). [] I self-identify as a member of a group that is under-represented in research and/or computing, e.g., women, ethnic minorities, LGBTQ, etc. Details: [_______] [] I have been an active contributor to other volunteer or non-profit groups with significant teaching or training components. Data and Software Carpentry. Details: [_______] Optionally award +1 for each response (maximum of +2). How often have you been involved with Software Carpentry or Data Carpentry in the following ways? [_] Helper [_] Instructor [_] Workshop host [_] Learner [_] Workshop organizer [_] Contributed to lesson materials Score +1 for each previous involvement up to a maximum bonus of +3. Previous formal training as a teacher or instructor. [_] None [_] A few hours [_] A workshop [_] A certification or short course [_] A full degree [] Other: [_______] Description of your previous training in teaching: [________] Award +1 for “a certification or short course” or “a full degree” Previous experience in teaching. Please include teaching experience at any level from grade school to post-secondary education. [_] None [_] A few hours [_] A workshop (full day or longer) [_] Teaching assistant for a full course [_] Primary instructor for a full course [] Other: [_______] Description of your previous experience in teaching: [________] Award +1 for “TA for full course” or “primary instructor for full course”. How frequently do you work with the tools that Data Carpentry and Software Carpentry teach, such as R, Python, MATLAB, Perl, SQL, Git, OpenRefine, and the Unix Shell? [_] Every day [_] A few times a week [_] A few times a month [_] A few times a year [_] Never or almost never Award +1 for “every day” or “a few times a week”. How often would you expect to teach on Software or Data Carpentry Workshops after this training? [_] Not at all [_] Once a year [_] Several times a year [] Other: [_______] How frequently would you be able to travel to teach such classes? [_] Not at all [_] Once a year [_] Several times a year [] Other: [_______] Why do you want to attend this training course? [________] What else should we know about you? [________] Award -3 to +3 based on responses to “why do you want to attend” and “what else should we know”. Read More ›

1 - 31 December, 2016: Instructor Training, Community Service Awards, Career paths, Steering Committee Elections.
Martin Dreyer / 2016-12-31
##Highlights We are pleased to announce the first ever Library Carpentry instructor training in 2017. The very first Software Carpentry community service awards have been awarded. Greg Wilson will be taking up a position as Computer Science Educator Lead at Shopify, and will continue to work as a volunteer with the Carpentries. We are exited about the upcoming series of panel discussions on the variety of career paths available for our community members. ##Jobs Department of Physics and Astronomy at UCL (University College London) is looking for a physics teacher with IT skills. ##Tweets Have you considered making a donation to Software Carpentry? 8 best practices to improve your scientific software. A minimum standard for publishing computational results in the Weather and Climate Sciences. How to write a reproducible paper. ##General The 2017 Steering Committee Candidates have shared their stories with us: Sue McClatchy, Rayna Harris, Kate Hertweck, Christina Koch, Mateusz Kuzak, Karin Lagesen, Belinda Weaver. Python is not only for coding serious programs, you can also use it to create art. Communication is the key to any successful foundation, we would like to better our communication between community, staff and Steering Committee. Despite some severe wheather conditions in New Zealand, NIWA had a very succesful workshop. The Steering Committee’s year in review by Rayna Harris. A special thank you to everyone involved in the instructor discussin sessions during the year. Some insight on how SWC and DC can lead you to new and exciting places. 7 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: January 229th AAS Meeting, Oklahoma State University, NERC / The University of Bristol,University of Nebraska - Lincoln, University of Oxford, The University of Washington eScience Institute, Michigan State University, University of California Berkeley, University of Oklahoma, University of Connecticut, Software Carpentry @ UW Madison, LCG-Aula 1-2, Centro de Ciencias Genómicas, UNAM, University of Michigan, NERC / The University of Bristol, Langley Research Center, Imperial College London, Neuroscience Research Australia, ResBaz Hobart, Python Stream, ResBaz Hobart, R Stream. February Simon Fraser University, University of Toronto, University of Texas at Arlington, AMOS / MSNZ Conference, University of Auckland, Federal Reserve Bank of Kansas City. Read More ›

Career Pathways Panel Discussions
Lauren Michael, Christina Koch, Erin Becker / 2016-12-28
The Carpentries are excited to announce an upcoming series of panel discussions designed to help our community members become informed about the variety of career paths available to computationally literate members of their fields. Panel discussions will be held virtually in the months of January, February and March (tentative dates, below) with each session featuring 3-4 senior community members in Carpentry-related professions, including: tenured faculty, communicators/consultants, research software engineers, industry scientists, etc. Panelists will discuss how their career path led them to their current positions, including obstacles or challenges they may have faced and how they overcame those barriers. Audience members will have the opportunity to submit questions for panelists, and time will be reserved for free-form Q&A. To insure that all attendees have the opportunity to participate, attendance will be limited to 20 participants who have attended a debriefing within the last 3 months. To attend, please add your information to this form. We are currently in the process of recruiting panelists and would love to have recommendations from the community! If you know of someone who would be a good panelist, please recommend them here by Monday, January 9. Anyone with questions can send an email to Lauren Michael (organizer) at lauren1.michael-at-gmail-dot-com. Tentative Dates Tuesday, Jan 24 - 7am PST / 10am EST / 3pm UTC / 2am AEST (next day) Wednesday, Feb 22 - 3pm PST / 6pm EST / 11pm UTC / 10am AEST (next day) Tuesday, Mar 21 - 3pm PST / 6pm EST / 11pm UTC / 9am AEST (next day) Read More ›

2017 Election: Belinda Weaver
Belinda Weaver / 2016-12-23
Hello everyone. I am standing again as a candidate for the Steering Committee, having served on it this year for the first time. About me I have been involved with Software Carpentry for about three years. I organised the first workshop in Brisbane in 2014. I certified as an instructor myself in 2015 and taught at two workshops that year. In 2016, I taught at eight workshops, all of which I either organised or helped to organise. During 2016, I and other Queensland instructors have taken Software Carpentry to five cities in Queensland - Brisbane, Townsville, Toowoomba, Gold Coast and Rockhampton - a huge improvement on the number of workshops run in 2015 (three). Instructor training I organised Software Carpentry instructor training in Brisbane in 2016, and have since seen our local community of instructors grow to 16. I certified as an instructor trainer myself a week ago - very exciting! I look forward to training new instructors in 2017. Admin I currently serve as the Software Carpentry admin for half of Australia, with Damien Irving in Hobart taking the other half. This means helping people in other Australian states and territories organise workshops and keeping AMY up to date with what we’ve done. ResBaz I was one of the organisers of the very successful 2016 Brisbane Research Bazaar, (ResBaz) a three-day research festival for graduate students and early career researchers. Software Carpentry workshops in R and Python were taught there. I am currently helping to organise the 2017 Brisbane ResBaz, which promises to be huge and which has already attracted a number of sponsors. I will teach Software Carpentry there. I also helped the ResBaz folks in Arizona with ideas for their inaugural ResBaz. Library Carpentry In June 2016, I organised a sprint to update and extend the Library Carpentry material created by Dr James Baker and others in the UK. This was part of the 2-day Mozilla Science Lab Global Sprint. More than 20 people in six countries worked on updating the material, and added a new SQL lesson to the existing four. More lessons are in the works and this has almost become a third ‘Carpentry’ - interest is burgeoning, and it won the British Library Labs award in November. There have been about a dozen workshops run since the sprint. Find out more here. I have taught two full Library Carpentry workshops this year as well as teaching parts of it at other events. The community is very active, with an ongoing chat room. New members are welcome. Guiding I did some ‘guiding’ this year - mentoring recent Software Carpentry instructor trainees through the final stages of checkout. I tried this approach on attendees at the Brisbane instructor training and it was effective in getting people to finish (I think 17 out of 20 certified). I then assisted Anelda van der Walt’s South African instructor trainee cohort - running lesson discussion and practice teaching sessions to help them finish. I plan to do the same thing to help attendees at the recent online instructor training I taught check out as instructors. Communications My one disappointment this year has been my inability to take forward work I proposed on improving Software Carpentry communications. I was simply swamped by the tsunami of interest in Library Carpentry (16 requests to teach it, and counting) and that ended up gobbling up a lot of my time. I did promote Software Carpentry tirelessly through tweets, but campaigns I hoped to run did not eventuate. I am still interested in taking that work forward and would be interested to hear from others with experience in that area who might like to participate in it. For 2017 I think it is important to have Steering Committee representation from Australia (and the southern hemisphere more generally). Software Carpentry has really taken off here, and I think I have proved to be an effective community builder for it. In 2017, I would like to continue that work, train more instructors, get more partnerships across the line, if possible, and make sure we extend Software Carpentry workshops beyond the capital cities into the regions. I also plan to work in more with colleagues in New Zealand and South Africa on building their communities. I also intend to help Library Carpentry continue to expand, and will be running instructor training for librarians in Portland, Oregon, in May 2017. Read More ›

2017 Election: Karin Lagesen
Karin Lagesen / 2016-12-23
2017 Election: Karin Lagesen I have been a member of the Software Carpentry Steering Committee for two years, first as secretary and then as vice chair. My involvement with the SCF started in 2012, when I attended a workshop in Oslo, Norway. I signed on as an instructor in 2013 and became an instructor trainer this year. I have around 10 workshops, including instructor training, under my belt. As a member of the SC, I have mainly focused on Software Carpentry operations and on the development of instructor training and instructor trainers. In addition to serving on the Steering Committee, I am also a member of the mentoring committee. Although I have not been able to be as active in the mentoring committee this year, I have previously worked on developing programs focusing on integrating new instructors and on helping new instructors teach their first workshop. I have a PhD in bioinformatics from the University of Oslo, and am currently employed at the Norwegian Veterinary Institute and the University of Oslo. My background is in both computer science and molecular biology. Since I have formal training in both fields, I am frequently the one to translate the biological problem into a computational one. I have often been called upon to teach people with little to no training in computer science how to do their bioinformatics analyses. This means introducing them to Unix, to command-line work and to basic programming. Working in such multi-disciplinary situations has made me very aware of how hard it can be to move into a field far removed from your core area of expertise. This makes the values and skills that Software Carpentry teaches particularly important to me. If re-elected, I will focus on building and maintaining cohesiveness, consistency and continuity within Software Carpentry and its committees, as well as with other organizations. Software Carpentry is growing rapidly and is spreading through both new domains and geographic areas, and is facing great changes as a consequence. In addition, the Director of Instructor, the founder of Software Carpentry, Greg Wilson, has decided to leave the employ of the organization. We are also integrating new instructor trainers into Software Carpentry. Such transitions can be challenging, and I will work to provide continuity and consistency to the organization to ensure that things run smoothly. Last, but far from least, we are part of what has become a “Carpentries” ecosystem, and I believe that working together with and towards a common structure for the “Carpentries” would be of great benefit to all parties. Feel free to contact me on Twitter (@karinlag) or by email (karin.lagesen@gmail.com). I occasionally blog at blog.karinlag.no. Read More ›

2017 Election: Mateusz Kuzak
Mateusz Kuzak / 2016-12-23
Hi, I’m standing up for election to the Software Carpentry Steering Committee 2017. Me & Carpentries My background is life science. I currently work at the Netherlands eScience Center in Amsterdam. Apart from being a developer on various research software projects, I’m involved in Center’s training activities and software development best practices. I got sucked into in Software Carpentry world through Elixir Data Carpentry Pilot organised by Aleksandra Pawlik. During hackathon in Helsinki, together with Francois Michonneau and few other people we kickstarted ggplot2 part in R-ecology-lesson. From day one I learned a lot about the mechanics of SC, lesson development and logistics of the workshops. Instructor At the end of 2015, I attended instructor training in Manchester and became certified instructor shortly after. Since then I instructed at 7 SC and DC workshops around Europe and few more eScience Center workshops based on Software or Data Carpentry materials. Currently, I’m learning towards becoming an instructor trainer. Mentoring Recently I started joining instructor discussions as an observer and I’m planning on becoming host next year. I also joined recently announced mentorship program. Library Carpentry With small group of people in Amsterdam we hosted site for Mozilla Science Global Sprint and joined groups around the world in the effort to migrate Data Carpentry lessons to Library Carpentry. I have been contributing to LC materials since then. Netherlands and Europe I see how powerful Carpentries training model is and how important it is to establish Carpentries communities in the Netherlands and Europe. I have been relentlessly promoting SC, from local Research Software Engineers meetings (DTL programmers meetings) to conferences (BioSB). I helped establish eScience Center and Software Carpentry Partnership and work together with SURF (the collaborative ICT organisation for Dutch education and Research) on wider partnerships within the Netherlands. ELIXIR is very close to finalising the partnership with SC/DC and next year multiple SC and DC workshops will be organised for life science researchers in ELIXIR nodes. It has become apparent that there is a need for bioinformatics lesson. Together with other people from other ELIXIR nodes, we are planning to test drive and contribute to Data Carpentry Genomics Workshop through series of hackathons in the Netherlands, Portugal and UK. Plans for Steering Committee I think it’s very important that there is someone on the committee to give the European perspective. The culture differs here from North America. The scale is different too, it easier to connect / partner with other countries and European Union projects. I plan to help establishing the partnership with SURF in the Netherlands and multiple smaller partnerships around the Netherlands. I will also continue connecting various European projects with Carpentries initiative. One example is establishing SC workshops as part of H2020 European Training Programs (ETPs). eScience Center is currently contributing to two of those. I know how important it is to build sustainable local instructor community and realise how low is the instructor certification rate. I hope to contribute to improving it through mentorship program but also local study groups. Read More ›

2017 Election: Christina Koch
Christina Koch / 2016-12-22
To begin, I present: Notable events in Christina’s Software Carpentry career: 2013-April: Graduate from grad school (Masters degree in mathematics). 2013-May: Attend Software Carpentry workshop (and see git and Python for the first time). 2014-January: Teach first Software Carpentry workshop. 2014-March: First time travelling abroad for Software Carpentry. 2014-May: Hear about a job through the Software Carpentry blog. 2014-October: Get the job (which is still my job). 2014-November: Become a lesson maintainer. 2015-December: First time leading an instructor training. 2016-January: Switch roles, from lesson maintainer to mentoring committee chair. 2016-June: Teach first Data Carpentry workshop. To this list, I would like to add: 2016-December: Stand for the Software Carpentry steering committee. And hopefully: 2017-January: Begin serving on the Software Carpentry steering committee. As you can see, Software Carpentry has meant a lot to me over the past 3-4 years. I’ve received so much from the community, and would now like to give back in a new way - as a member of the steering committee. As a member of the steering committee, I would primarily aim to: work together with my fellow committee-members, the Software Carpentry leadership, and the community at large to build a shared vision and direction for Software Carpentry. create policies and structures that enable community members to realize this vision for Software Carpentry, providing both the freedom to try new things, and the necessary oversight to guide their efforts. Personally, some of my visions and goals for Software Carpentry include: Provide clear avenues for supporters and community members to connect with the Software Carpentry organization and with each other. Maintain a pool of high-quality instructors and provide opportunities for instructors to share knowledge and grow in their teaching skills. Initiate opportunities for community members to learn more about topics like accessibility, diversity, and discrimination. However, I am most interested to hear what other members of the community value about Software Carpentry and what their goals would be for the organization and its members. If you read the above timeline carefully, you’ll see that I went from my very first Python script and git repository to teaching other people in under a year. I’d be applying that same “get-started” motivation to my work on the steering committee - learning the ropes as quickly as possible so that I can direct my energy back towards the community right away. If any of this sounds interesting to you, I encourage you to vote for me, or even better, to join me and stand for the steering committee yourself! P.S. For those who are interested in knowing a little more about me, I work as a Research Computing Facilitator for the Center For High Throughput Computing at the University of Wisconsin - Madison. I love to read, have recently gotten into knitting, and this winter, have tried my hand at curling for the first time. You can say hi or follow me on Twitter at @_christinaLK. Read More ›

Instructor Traininig Intercontinental
Aleksandra Pawlik / 2016-12-22
The end of the calendar year is a usual opportunity to make look back at the past 365 days. The summary of mine would be “Instructor Training Intercontinental”. I have always considered myself to be incredibly lucky working with Software and Data Carpentry and certainly in 2016 I hit another jackpot. I run 7 Instructor Training workshops, in 6 countries on 3 continents. But the highlight was, as it has always been with SWC and DC, the people. January 2016 kicked off with Instructor Training for ELIXIR in Switzerland which I ran together with Tracy Teal, Data Carpentry Executive Director. It was a baptism of fire for me, as I taught for the first time without Greg who could step in and save me, in case I would have messed things up. So I am very grateful to Tracy who helped me to get through the Instructor Training in Lausanne without causing any damage to the attendees. In fact, almost all of them have now completed their checkout and ELIXIR’s collaboration with Software and Data Carpentry is growing further. Next, I headed off across the world to Australia and New Zealand. A veeeery long flight and straight from the winter wonderland of Switzerland I found myself in sunny Brisbane surrounded by supporting arms of Belinda Weaver who, little did both of us know, became the co-creator of the guiding programme for a group of trainees which I taught 3 months later. In Australia, at the University of Queensland I learnt that the excitement of sharing what I know about teaching with a group of enthusiastic people effectively helps with the worst jetlag ever (Belinda, thanks again for the sleeping pills!). The excitement and Jetlag carried on over to Melbourne where I taught trainees just as they were getting ready for the Research Bazaar. Alistair Walsh guided me through the best coffee sources on campus and beyond. He also helped presenting the Cognitive Load Theory module during the Instructor Training and talking about “flow state” whilst I was trying to stay awake. Jetlag finally let go when I crossed the Tasman Sea to arrive to Auckland where New Zealand eScience Infrastructure (NeSI) team organised the first in-person Instructor Training in the land of Kiwi bird (and fruit). The participants came from the institutions all over the country and I am now working directly with most of them…see below for details. Whilst I was hovering around the bottom of the map, Anelda van Der Walt was working incredibly hard putting together “A Programme for the Development of Computational and Digital Research Capacity in South Africa and Africa”. A part of her plan was to run the first in-person Instructor Training in South Africa (and in Africa) with myself as the trainer. Meanwhile, I fell in love with New Zealand so deeply that I wanted to live there and so I had to make one of the hardest professional decisions ever: I decided to leave UK and thus my job with the Software Sustainability Institute (SSI) and with the eScience Lab team at the University of Manchester, and join NeSI. I spent 3 years with the SSI and the Manchester team, and they taught me everything I know and more. It was also there where I became a Software and Data Carpentry instructor, a steering committees member and a trainer. But New Zealand is just like on the attached photo and I couldn’t resist it. Fortunately, in my new job I remain connected with the communities and projects I had worked with before. Preparing to move my life to another continent was pretty much full on but Anelda and I really wanted to make the Instructor Training in Africa happen. So in April 2016 I landed in Johannesburg (no jetlag!) and two days later I was with an incredibly inspiring and impressive group of trainees. Most of them were based in South Africa but we also had participants from Kenya and Namibia. We realized that most of them would be Software and Data Carpentry pioneers in their home institutions, or even countries, and thus they needed a lot of support from the Carpentry communities. Long story short, thanks to the leadership of two amazing women, Anelda and Belinda, with engagement from several of others, we saw one of the best outcomes of having an inclusive international community: guiding and supporting the newcomers through the initial stages of them joining the initiative and helping them make their membership sustainable. Right before I left Great Britain, in May 2016, I ran Instructor Training organised by the Software Sustainability Institute for trainees from UK universities as well as organisations such as the Met Office. We hosted in it Edinburgh, the first place I lived in when I moved to the UK in 2008. I co-run the workshop with my SSI colleague, Steve Crouch who recently has just been training up more instructors in the never-saturated-UK-research market. Another SSI-er and the UK SWC and DC Admin, Giacomo Peru was there as well to help and the SSI’s Director, my super-cool boss at the time, Neil Chue-Hong showed up too. Good times. Fast forward, it is December 2016. I am about to hit the road towards the NZ South Island (surrounded by Santas and Christmas trees glowing in the roasting sun…this still doesn’t compute). The intense past months took their toll - I certainly became less effective, erm…significantly less on the ball with my emails and not always managing to keep up with everything that is going on in Software and Data Carpentry (is there anyone who can?). I fell off the grid (which isn’t that difficult in New Zealand). But Software and Data Carpentry is quite a boomerang (see what I did just there?) so I think I am crawling to get back on the track. Wow. It’s been a year. Read More ›

Christmas Instructor Discussion
Raniere Silva / 2016-12-22
On December 20th we hosted our two last Instructor Discussion Session from 2016. We started 2016 with Post-workshop Instructor Debriefing Sessions that run twice (in different times) every two weeks and during the year we change its name to reflect the modifications made to better accomodate their inclusion on the Instructor Training pipeline as well as the increase of offers (twice every week). The Steering Committee is very grateful for all the work from the Mentoring Subcommittee as well all Instructor Discussion Session hosts without help would be impossible to provide all the hours of sharing experience among members of our community. The morning session on December 20th was hosted by me and Marian Schmidt. Markus Ankenbrand and Felipe Ferreira Bocca shared with us the experience of teaching, respectively, at the University of Würzburg, Germany and the University of Campinas, Brazil. Three future instructors attended from Europe and participated on a conversation about our R lesson. One of our future instructors asked us for advices of how to engage advanced learners who attended the workshop. This is, probably, one of the top five advice requests that we receive on the Instructor Discussion Session and, this time, we was gifted with the attendance of Greg Wilson who is the best person to help that future instructor. Shortly, because is impossible to put on paper any conversation that you have with Greg since he is always inspiring you to climb higher, Greg recommended to invite advanced instructors to help their peers on the current workshop and be a co-instructor on the next one. The “watch one, do one, teach one” phylosoph, from Paulo Freire, is what bring us, Software Carpentry, here and we are counting with your help to push it forward. The night session on December 20th was hosted by Kate Hertweck and me. Unlike the morning session, we didn’t have any instructor for debriefing but we have seven motivated future instructors from Europe and the United States. Kate marvellous leaded that session to answer questions about workshop organisation, instructor training checkout procedure, and our lessons. On both sessions we had questions about the challenges on our lessons. We have more challenges than any instructor can conver during the average duration of the workshop. Instructors should select the challenges they will use on the worksop based on the information they have about their learners. If you think that we should drop or replace any challenge, please create a pull request on GitHub or email us. We will return with the Instructor Discussion Sessions in 2017 after a short Christmas and New Year break. If you are looking for the next Instructor Discussion Session to complete your Instructor Training, keep a eye on this blog at the begin of 2017. We will be looking to see you next year in one of the Instructor Discussion Session and for now enjoy the holly season. Merry Christmas and Happy New Year. Read More ›

Rayna Harris's Year in Summary 2016
Rayna Harris / 2016-12-19
A year in review I want to thank you for giving me the prilege to serve on the Software Carpentry Steering Committee. Here is a very brief recap of the year. Click this link to read my 2017 election post. A year ago, I said I would focus my efforts on: integrating data from the mentoring and debriefing sessions with the assessment surveys to understand the degree of workshop effectiveness discussing the above information with lesson maintainers, who can decide if lessons need revision or not integrating the above with instructor-trainers and instructor-mentors to improve lesson delivery and ultimately student success streamlining the above processes so that new trainees can easily be incorporated into these leadership roles Here is my recap of what we as a community have accomplished When subcommittees and subcommunities have an overlapping representation, it facilitates the transfer of ideas, concepts, and data across groups. I like to be in multiple groups so that I can better understand and identify shared challenges and opportunities. I’m excited to see some new and revamped programs for 2017 that are the results of share idea with members of the community. I’m really happy with the mentoring program, the communication revamp, monthly meeting, discussion sessions, newsletter, featured Data Carpentry Blogs. Lesson maintenance has undergone some changes for the better this year. Click here to read the October 2016 summary from Kate Hertweck. I unexpectedly jumped whole heartedly into the effort to integrate insight from the mentoring committee into the instructor trainer curriculum. Shortly after begin elected, I joined the ranks of the 20 instructor trainers. We had a crash course in training trainers and then were launched into teaching. I must say, I can now relate even better to the new instructors our there. I participated in 5 instructor training workshops and hosted about a dozen discussion sessions. The instructor training program is supported by membership agreements and grants, and I’m grateful we have the support and infrastructure to tranform research and education. We have elaborated the means to integrate new members into the community and into leadership roles. The community is always inventing and championing new ways to do what we do better. There are many pathways and vehicles for success in this organization, but sometimes its hard to navigate. We are working on improving all forms of communication, and we appreciate your patience and enthusiastic participation as we have navgated these growing pains. A little more reflection In the instructor training manual, one section compares self-directed learning and instructor guided learning. I believe I am constantly learning through mentored-learning and self-directed learning. I am fortunate to have mentors in this community that guide me with wisdom but also give the with support to explore uncharted territory. I think its important to know what balance of the two styles works for you. You could even make an analogy that our community learns and grows in a similar manner through mentored- and self-guided learning. This year, new staff joined the community to bring expertise and facilite our growth in a mentor-guided fashion. I love that volunteers spearhead many novel activities in this community, but its great to balance this will with the wisdom of colleagues how have experience in the area. I think the Bug BBQ and the Instructor Discussion sessions are two awesome examples where many individuals in the community took leaderships/mentorship roles to enhance our curricula and instructor training program. We’ve are also seeing the great benefit that Data Carpentry staff hires have on our curricula and workshops; their knowledge has really helped us to implement some of the practices we value and preach but were not always successful at implmenting . Communication is important and worth the effort. I’m trying to improve my communication in many ways. I’m glad I’m in good company of hundreds of people who also want to improve their communication, teaching, and research. I like that we can all make progress on this together as a community of geographically diverse members. I like hearing from you, and meeting in real life (IRL) is so awesome! I met Greg, Jonah, Belinda, Jason, Kate, Bill, and Maneesha in Cold Spring Harbour. I met Christina in Annapolis Maryland. Kate and I have used our departmental seminar resources to visit each other in Tyler and Austin, Texas. I met instructor trainees in Texas, Oklahoma, Maryland, Toronto, Washington D.C., Arizona, Seattle. Hopefully I’ll meet more of you in 2017! Check the meetup etherpad and add your travel plans. Thank you! I conclusion, I want to that you, the community, for giving me the opportunity to serve on the steering committee in 2017. Y’all have made significant contributions to my growth as a scientist. I volunteered a liiiiittle more time and mental effort to SWC than I anticipated, but it was so worth it. Either way, I want to take a moment to acknowledge that I am support by a fellowship from the The University of Texas at Austin Graduate School, which gives me considerable flexibility in my schedule to balance research in the Hans Hofmann Lab with volunteering for this amazing organization. Read More ›

2017 Election: Kate Hertweck
Kate Hertweck / 2016-12-19
I am excited to stand for election for the 2017 Software Carpentry Steering Committee (SWC SC). I hope you’ll consider supporting me in this year’s election so I may continue to serve our community. Previous experience with Software Carpentry: Some folks might consider it insanity for a tenure-track assistant professor to volunteer so much energy to the Carpentries, but in reality, the time I’ve spent on the SWC SC has been essential to my development of an effective model of leadership. The following points highlight my contributions to our community: Social media: Last May, I created a Facebook page for the Carpentries and have since posted the majority of content. Mentoring and discussion sessions: My SWC service originally started with the mentoring subcommittee; I’m pleased to have continued this work over the last year primarily by hosting discussion sessions. Lesson maintainers: I spent the early part of 2016 observing and learning about our lesson development and maintenance process. A few months back, I began leading this group through a process of reorganization and am excited to formally submit subcommittee proposals accordingly. Bridge committee and community calls: As part of my SWC SC responsibilities, I served as a liaison to the Bridge committee with Data Carpentry. This group took over organizing community calls in the latter part of the year, and I’ve been pleased to attend and participate in these community interactions. SC resolutions: I am gratified to have led discussions among members of the SC that resulted in what I believe are positive changes for our community. First, I helped the SC devise a policy to assist in continuity of the SC following elections, which was passed via community vote in October. Second, a motion I proposed at the end of November (and was subsequently passed by the SC) will continue availability of open online instructor training for members of our community at institutions that do not currently have access to training through joint organizational memberships. I believe both of these projects ensure stability and continued growth for SWC. Future goals for Software Carpentry: In retrospect, it took a solid six months for me to “hit my stride” as a member of the SC, and I’m eager to capitalize on this interia by continuing for another year. My experiences working with the SC and other committees described above have reaffirmed my commitment to providing strong leadership with the following goals: Clarifying responsibilities in leadership: SWC has matured a great deal since the first SC was elected two years ago. I am keen to solidify the specific roles best filled by not only the SC, but also the Advisory Council, staff, and other community leaders. Communication and community engagement: Our organization faces many challenges in terms of communicating with an intellectually diverse and geographically dispersed community. I want to do a better job of relaying information about choices made at the SC and subcommittee level back to the community, and balancing community input with steady movement towards decision making and progress as an organization. Streamlining operations with Data Carpentry: I am very excited to have worked closely with Data Carpentry staff this year, and am looking forward to continuing to integrate our operations to our mutual benefit. More about me: My current position is Assistant Professor of Biology at the University of Texas at Tyler. I teach plant taxonomy, genomics, and bioinformatics, and also mentor undergraduates and graduate students in independent research. I’m happy to chat about knitting, science, teaching, and faculty life on Twitter or my blog, and you can learn more about my research on GitHub or my research/teaching website.  Read More ›

Software Carpentry workshop in severe conditions
Wolfgang Hayek, Aleksandra Pawlik / 2016-12-19
Usually the main struggles preceding Software and Data Carpentry workshops involve the laptop setup, signposting the room and making sure the washrooms are unlocked. But the recent workshop in New Zealand, held at National Institute of Water and Atmospheric Research (NIWA) was facing much more extreme conditions. The day before the workshop New Zealand was hit by what is now known Kaikoura earthquake. Wellington, where the NIWA offices are, was also affected. Fortunately, NIWA buildings remained safe and the hosts, Fabrice Cantos and Wolfgang Hayek, decided to go forward with the workshop. However, the earthquake turned out to be not the only one force of nature that affected the area. Wellington experienced some extreme weather with gale-force winds and very strong rain that caused flooding in the city. Despite all these issues, the workshop still had almost full attendance and received very good feedback. 23 researchers participated in the event, that included NIWA staff from Wellington and other NIWA branches, as well as 3 external participants from the University of Canterbury The instructors (Andre Geldenhuis of Victoria University Wellington; Alexander Pletzer, Craig Stanton and Wolfgang Hayek, all of NIWA) taught the core Software Carpentry curriculum as well as an added-on introduction to HPC using Fitzroy, the supercomputer operated and maintained by New Zealand eScience Infrastructure. Every participant could use a personalised account on Fitzroy to follow the HPC session. 2 remote participants at NIWA Auckland joined for the Python session. Teaching was done through a video-conference system by sharing the presenter screen as well as room audio and video, which worked well. Despite the sever weather conditions and the overall post-earthquake concerns, the atmosphere was very relaxed, and participants asked numerous questions in all sessions. The workshop will be followed up next year with workshops on programming with C, C++, and Fortran, as well as parallel programming. Read More ›

2017 Election: Rayna Harris
Rayna Harris / 2016-12-19
I am really excited to stand in election for the 2017 Software Carpentry (SWC) Steering Committee so that I can continue to serve this amazing community. ##Software Carpentry Involvement I was first exposed to Software Carpentry by April Wright, who suggested that I attend the Instructor Training Workshop at UC Davis in January 2015. In 2015 I co-taught workshops at UT Arlington and New Mexico State University, I co-organized the Austin-based Instructor/Helper Retreat, served on the the Mentoring and Assessment Subcommittee. In 2016, I was elected to the SWC steering committee and I was certified as an instructor trainer. You can read my year end summary from 2016 here. Without a doubt, my favorite Software Carpentry activity is hosting instructor discussion sessions. I learn so much when you share your experiences, and it has helped me become a better instructor and scientists. More importantly, synthesizing these community-shared experiences gives me an immense amount of energy and inspiration for continuing to engage in community-driven research education. ##Vision for 2017: open science and reproducible research The words “open science” and “reproducible research” occupy most of my headspace these days. In January, I’m going to a curriculum development hackathon for Reproducible Research using Jupyter Notebooks and then to a Moore Foundation Early Career Researcher Symposium to synthesize our ideas about reproducibility. I’m excited to see the progress we make in this area and I look forwards to more discussions on these topics. I have so many ideas in this realm that I’m happy to discuss with anyone who will listen. ##Vision for 2017: championing mentorship Successful research driven education programs find the perfect balance between instructor-guided and self-guided learning. We all fall at different places on the spectrum of self-taught to classroom-taught programmers and teachers. I’m excited that our organizations are championing mentorship programs to enhance and extend our existing training program. This provides multiple pathways to building better educators and scientists. I’m fortunate to have multiple mentors and role models in this community both locally and globally, and I’m looking forward to hearing mentoring success stories. ##Vision for 2017: integration across levels I hear the phrase “integration across levels” every week during seminars, papers, and discussions. I believe the concepts are quite relevant to Software Carpentry today. My continued vision is to promote integration across the organization and community so that we are better aware of the challenges and achievements of each other experiments. We’ve noticed some leaky pipes in our across levels communication, but improving this is a priority. Thanks Thank you for considering me for re-election for the Steering Committee. Software Carpentry has contributed vastly to my growth as an educator and scientist, and I look forward to contributing back to this excellent community in 2017 and beyond! Read More ›

Teaching Support IT Job at UCL Physics and Astronomy
Ben Waugh / 2016-12-15
We’re looking for someone with IT skills, and interests in teaching and physics, to work with us at the Department of Physics and Astronomy at UCL (University College London). This is a system manager job with an emphasis on supporting our teaching, and will involve a wide range of responsibilities, including managing a Linux cluster and interfacing PCs to lab equipment as well as providing first-line support for the university Windows environment. The application deadline is Monday 2nd January 2017. Applicants must already have the right to work in the UK. Duties and Responsibilities A system manager is required to support Teaching and Learning in the Department, and to provide some support to administrative support staff. The balance is likely to be approximately 75% support for teaching and learning, and 25% other support. The Department has over 180 desktop computers in teaching labs. Most of these are installed with the standard UCL Windows Desktop environment, also available to students in other cluster rooms across the University, and permit each student to record their experimental work, analyse data, and engage in e-learning activities while in the lab. Additionally, we have around 30 individual PCs interfacing with lab equipment. We also have a Linux cluster available for student use: this currently has 19 PCs running Scientific Linux, supported by rack-mounted servers in a separate machine room, but this is likely to expand. Programming is an important skill for any scientist, as well as for many graduates who go on to work in other fields, and the computing strand of our degree programmes is continually being reviewed and updated. All Physics undergraduates learn programming in Python in their first term and, depending on their choices, may learn Mathematica, Matlab and Java in subsequent terms. Other courses, not focussed specifically on programming, are also increasingly making use of e-learning technology and some computing to carry out calculations and aid understanding of scientific concepts. These courses all rely on expert technical support to ensure that the relevant software is installed and configured correctly. Professional Services staff in the department use Windows PCs for a variety of administrative tasks using locally installed software and services provided by UCL’s central Key Requirements The successful applicant will have a proven ability to communicate and collaborate effectively with people of varying levels of technical knowledge, a demonstrable interest in and knowledge of physics and education, and excellent technical skills. A deep knowledge of either Linux or Windows is required, along with some experience of the other operating system and the willingness to learn more. Applicants should have knowledge and experience of some of the relevant technologies and tools. These include scientific software, programming, e-learning systems, networking, and deployment and configuration of computing hardware and services. Further Details Click here for full details and application form. Read More ›

Next Steps
Greg Wilson / 2016-12-14
Software Carpentry has accomplished an amazing amount over the past six and a half years, but a new opportunity has come up for me here in Toronto, and after a great deal of thought, I’ve decided to pursue it. At the end of January 2017, I will be taking a position as a Computer Science Education Lead at Shopify, where I will help with their CS education partnerships. I’m excited to have a chance to work for change locally, but also look forward to continuing to be involved in the Carpentries as a volunteer, and to many more discussions of teaching, open science, and how awful Git truly is. It has been a privilege working with you all: watching you turn a handful of lessons into a global organization empowering tens of thousands of researchers has been the best experience of my career. Thank you for everything. Read More ›

Community Service Awards 2016
SCF Steering Committee / 2016-12-13
We are very pleased to announce the recipients of the Software Carpentry Foundation's first community service awards, which are given annually to recognize work that improves the Foundation's fulfillment of its mission and benefits the broader community: After becoming an instructor, Christina Koch immediately started taking on extra responsibilities. She has taught countless workshops, been a lesson maintainer, played a major role in the mentoring committee, and become an instructor trainer.   Adrianna Pinska participated in her first workshop as a helper in November 2014, and then became certified as an instructor. Since then she has organized workshops in conjunction with events like PyConZA, going from four participants in the first to a full house most recently.   Jon Pipitone was our unofficial system administrator from 2010 to 2016. In that time, he managed our servers, took care of backups and mailing lists, and generally kept the lights on. Jon's work was not directly visible to most of our community, but was essential to keeping us afloat. Please join us in congratulating all three! Read More ›

Don't forget to submit your post to stand for the 2017 Steering Committee
Kate Hertweck / 2016-12-12
If you’ve considered running for the 2017 Software Carpentry Steering Committee, please submit your blog post announcing your intentions by December 23. More information about what to include in your post can be found in the original announcement. Read More ›

Feedback on Communications
Tracy Teal, Erin Becker / 2016-12-12
Software and Data Carpentry have at their core a collaboration-driven ethos, and communication is key to that collaboration. We’re reaffirming our commitment to open and transparent communication, because we know we can do better! We want to give community members opportunities to talk to each other, staff and Steering Committees, to get updates on efforts and activities and to generate ideas and participate in discussions. So, first, we want to hear from you! What ideas do you have about communication? What do you want to hear from us? What channels do you like to use for communication? Do you like email lists or forums that include every topic, or ones on particular questions, domains or regions? What do you like about communication now? What don’t you like? We’re going to be working on communication channels and strategies to promote and support these ideas, and continue to make the Carpentries a community that you are excited to be a part of, so please let us know what you think! Please respond as a comment to this post, or in our “conversations” repository on GitHub (we’re considering these our suggestion boxes) if you have particular topics. Thanks for your feedback! To be true to our ethos and effective in our mission, we need to be able to communicate effectively about both aspirations and ongoing efforts so that we can learn from each other, identify critical issues, recover quickly from mistakes, evaluate ideas and commitments, and make strategic decisions. As a community, we communicate in many ways and for different purposes. Community members take initiative to coordinate activities. Staff and committee members seek community input. Staff and committee members report actions and deliver products to the community. We know that we need effective ways for: Community members to propose ideas for new work or directions for ongoing work. Community members to organize work efforts around a particular issue. Community members to stay up-to-date on work going on in the community, including work done by staff members, Steering Committees and subcommittees and unofficial groups of community members. Staff to jointly decide on priorities, form productive collaborations and keep up-to-date on progress of projects. We also know that there may be other communication needs we have as an organization that we haven’t yet considered. We invite anyone who has experience in communications, in building open communities or who simply has thoughts about these issues to contribute as we work to develop an thoughtful, efficient and transparent communications strategy. We envision this blog post and our new “Conversations” repository as a first step in developing this strategy. To take part in the conversation about developing communication strategy - please respond to this post or to the GitHub issue. As we work to develop a communications strategy, Carpentry staff will actively monitor this thread and follow-up on issues. Read More ›

Instructor Training for Library Carpentry
Greg Wilson / 2016-12-08
We are pleased to announce that we are partnering with csv,conf (a community conference for data makers everywhere) to run an instructor training class specifically geared for people interested in Library Carpentry. The class will take place in Portland, Oregon, on May 4-5, 2017; for details, please see the full announcement. Read More ›

Making art with Python: Projects after Software Carpentry
Eleanor Lutz / 2016-12-08
This March I signed up for a Software Carpentry class and learned Python for the first time. I had a great time at the workshop, and I wanted to share one of the first Python projects I completed thanks to Software Carpentry. I originally signed up for the workshop for my PhD research in mosquito behavior. I needed to automate some video analysis tasks, and several friends recommended learning Python. I ended up making the video analysis work (thanks Software Carpentry!), but this blog is actually about a Python art project that I worked on right after finishing the class. One of my Python matplotlib animations, based on the public commons image Arabesques: mosaïques murales XVe. & XVIe. siècles. Coming into the class I had a little coding experience, but not much. I’d taken an introductory Java class four years ago (and barely used it since), and learned GitHub and HTML/CSS while making maps as a designer at Mapbox. Dave Williams and Jes Ford, the Python instructors for my class, did an amazing job of making the class accessible to beginners like me. I particularly appreciated how they took the time to set up their own computers to look exactly like what a beginner would see - no shell aliases or custom installs and appearance settings. In our class we worked on graphing the example “inflammation dataset” using matplotlib. I was impressed by the Seaborn graphics library shown in the class, and I wanted to see how far I could get using vanilla matplotlib for an art project. I needed a practice project to get better at Python, and as a former designer one of my favorite challenges is making art out of limited tools. For my project I wanted to make a browsable color palette website like Adobe Kuler, but with animated examples for every color palette. This was fairly straightforward once I figured out that matplotlib.patches will plot any shape given a list of points. After that I just needed to define a set of shapes and pass their location and size to each frame of the GIF. (I also turned the project into an open source Git repository, for anyone who wants to take a closer look.) Another Python animation, based on the public commons image Mosaik aus der Moschee des Galaon el Alfi auf der Citadelle zu Kairo (Friedrich Hessemer 1842) I learned a lot about Python while making this, so for me it was a really useful practice project. For example, by generating hundreds of figures and unintentionally causing a huge memory leak, I learned that matplotlib doesn’t have automatic garbage collection. It was also useful to carefully decide which parts of the project to write in Python, and which to write in HTML/CSS/Javascript. In the end my final color palette browser website uses a mix of original HTML/CSS/Javascript, automatically generated Javascript written in Python, and GIF images generated in Python. This was a fairly basic coding project, but I wanted to share it with the Software Carpentry community to show that I actually learned something useful from the class. I ended up really enjoying Python, and the structure of the class helped me quickly get a handle on the basics. Finally, I want to acknowledge everyone at Software Carpentry who helped me during the March 2016 workshop: Dave Williams, Jes Ford, Ariel Rokem, Allison Smith, Rick Riehle, Emilia Gan, Bernease Herman, Bryna Hazelton, Chris Suberlak, and Jeremey McGibbon. Thanks for all of your work helping beginners in coding! Read More ›

2017 Election: Sue McClatchy
Sue McClatchy / 2016-12-05
Hi, I’m a bioinformatician at a research lab in rural Maine, U.S.A. My path here has been winding, varied, and fraught with good luck. I had the good fortune to find Software Carpentry some years ago, and in my travels have never found anything quite like it. I’m honored to be part of this community and now want to give back by contributing my experience and expertise. Previous involvement I’ve been a certified Software Carpentry instructor since the spring of 2015. Since then, I’ve organized and taught 6 workshops, and have plans to teach 5 more in early 2017. I serve on the mentoring subcommittee and lead discussion sessions for new and experienced instructors. Presently, I’m working toward becoming an instructor-trainer, and expect to teach instructor training early in 2017 in addition to the 5 aforementioned workshops. This year I secured 4 years of partnership funding between [The Jackson Laboratory] (http://www.jax.org) and the Carpentries. The first year of partnership is funded by an internal grant, with succeeding years funded by a grant from the U.S. National Institutes of Health (NIH). How I can contribute I bring an uncommon perspective from formal teacher training and an 8-year career as a K-12 teacher in the U.S. and Latin America. Diverse abilities and cultures in the classroom are the norm for me, and I have much to share with instructors about how to best meet everyone’s needs - the first thing being a focus on learners’ needs. My training instilled the idea that the learner, not the instructor, is the most important person in the room. A learner-centered approach to instruction responds well to diversity and arms the instructor with tools to adapt instruction to new situations and new people. Many of these tools work equally well with both child and adult learners, and work across cultures and abilities. I entered biomedical research in the early 2000s and have contributed my teaching expertise to the field since then. I’m well-acquainted with the need for improved computing and data analysis skills in research and know that the Carpentry approach promotes greater research productivity and happiness. I’ll bring this understanding to instructor training and mentoring to bolster instructional expertise within the Carpentry community. I will help Software Carpentry to expand its training and instructional footprint into new regions, especially in Latin America, by teaching and by mentoring instructors there. In January 2017 I will teach workshops at the Talleres Internacionales de Bioinformática (International Bioinformatics Workshops) in Cuernavaca, Morelos, México. I intend to follow this with further training in Latin American countries, and to support those already teaching in these countries. I will contribute grant-writing expertise to grow and sustain Software Carpentry by identifying and pursuing new sources of funding from foundations, government grants and institutional partnerships. I’m presently working on a NIH grant proposal and have shared the proposal with key NIH staff. I’m especially interested in pursuing funding that will broaden Software Carpentry into different communities than those it already represents well. My goals are the following: Bolster instructional capacity and expertise by training and mentoring new instructors in all disciplines. Broaden Software Carpentry’s reach into largely untapped regions, especially in Latin America. Build Software Carpentry into a sustainable, well-funded organization that reaches a diverse audience. More about me if you’re so inclined More about me on LinkedIn, Github, and an occasional tweet from @SueMcclatchy. I also have a minimalist instructor training blog. Read More ›

UCSF is Hiring
Ariel Deardorff / 2016-11-30
The UCSF Library’s Data Science Initiative is hiring! We are looking for a biomedical researcher with an entrepreneurial spirit and a passion for programming in R/Python, bioinformatics, data curation, statistics, data visualization (or all of the above) to serve as the Scientific Lead for our Data Science Initiative. We are taking a broad approach to data science, and are looking for someone who will work to identify the data science needs of the UCSF research community, help build a Library-based hub for data science activities, develop programs and events, and teach workshops and classes. To find out more about this position please visit https://aprecruit.ucsf.edu/apply/JPF01144. Read More ›

15 - 30 November, 2016: Instructor Training, UCSF Library, Code of Conduct, Announcement List, Steering Committee minutes.
Martin Dreyer / 2016-11-30
##Highlights We are gratefull that Open Instructor training is going well with participants from all over the world. ##Jobs The UCSF Library’s Data Science Initiative is looking for a biomedical researcher, please visit the UCSF recruit site. ##Tweets Remember to abide by the Code of Conduct. Incase you missed it, the low volume announcements list is up, please sign up. Think of replacing awk with bioawk, you can contibute to the development. ##General Have a look at the Programming with GAP lesson on our website. The Steering Committee has uploaded the minutes of their third quarter to the Software Carpentry Foundation page as well as GitHub. Please contact Ranier Silva with any critics of suggestions. 19 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: December: Instituto Tecnológico de Costa Rica, University of Campinas, Oxford University Department of Biochemistry, University of Victoria, UCSF,University of California, San Francisco, Deakin University. 2017: January 229th AAS Meeting, NERC / The University of Bristol,The University of Washington eScience Institute, LCG-Aula 1-2, Centro de Ciencias Genómicas, UNAM, NERC / The University of Bristol, ResBaz Hobart, Python Stream, ResBaz Hobart, R Stream. February AMOS / MSNZ Conference. Read More ›

Minutes of Steering Committee Meeting
Raniere Silva / 2016-11-21
The Steering Committee informs that the minutes of their third quarter are now linked on the Software Carpentry Foundation page as well on the README of the board GitHub repository. If you have critics and suggestions related to the minutes please send those by email to our Secretary, Raniere Silva, at raniere@rgaics.com. In the forth and last quarter, the Steering Committee will focus to wrap and documenting some procedures to make the transition to the next Steering Committee smoother than this year, something that started with the Amending Steering Committee Election Procedures that you voted last October. We are very excited by all this year achivements from our community, more details will be available later this year on our annual report, and looking for the amazing members from our community that will standing for this election to help shape the future direction of Software Carpentry. Read More ›

Open Instructor Training
Erin Becker, Greg Wilson / 2016-11-19
(Originally posted on the Data Carpentry blog.) After workshops and conferences, we frequently get questions from people who are interested in teaching with the Carpentries. We’re overjoyed by this interest and excited to bring more committed and enthusiastic instructors into our community. Unfortunately, until recently, we haven’t had the resources to open up our instructor training program, and have been holding training events primarily with Partnering institutions. In response to this sustained community interest, Data and Software Carpentry re-opened applications in July for anyone interested in instructor training, regardless of affiliation. This two-day intensive training covers aspects of pedagogy critical for teaching our target audience, including creating useful formative assessments, motivating learners, dealing with cognitive load, and understanding how subject-matter expertise is developed. We also teach signature Carpentry instructional practices, including live coding and the use of sticky notes to track learner progress. Within three weeks of calling for applicants we received 169 applications for 60 available seats. Applications came in from 22 countries spread across all continents except Antarctica. The Carpentry team reviewed applications on the basis of applicant’s previous involvement with the Carpentries, previous teaching experience and/or formal pedagogical training, and commitment to teaching workshops. In addition to these criteria, we looked for applicants from locations outside of our already established communities or with training in domains that are underrepresented among our current instructor pool, such as the social sciences and digital humanities. We were able to make offers to applicants from 13 countries representing the full geographical breadth of those who applied. Two training sessions have now been held, a third is taking place this week, and the fourth is scheduled for the second week of December. The feedback from the first two sessions has been very positive: we have had to adapt some of our exercises to account for the fact that the trainees are participating online rather than being physically co-located, but other than a few web conferencing glitches, things have gone surprisingly smoothly. If you were not selected for this round of instructor training, don’t lose heart: we have kept everyone’s application in queue, and hope to revisit our offerings in the new year. If you also have colleagues who are interested in teaching for the Carpentries, consider asking your institution to Partner with us! Partnering institutions receive multiple benefits, including reserved seats in instructor training events and discounted workshops. We are very grateful to everyone who applied, and hope that you will continue to be involved in the community. We welcome contributions to our lessons, which are all developed collaboratively by our community, and encourage you to help at our host a Carpentry workshop at your institution. Read More ›

Programming with GAP
Alexander Konovalov / 2016-11-18
Software Carpentry is more than just a set of workshops and lessons. It is also a way to develop lessons, one that we have used successfully to create a lesson on Programming with GAP. GAP is an open source system for discrete computational algebra. It provides a programming language with the same name; thousands of functions implementing various algebraic algorithms; and data libraries containing extensive collections of algebraic objects. GAP distribution includes its detailed documentation; even more materials on learning GAP and on using it in teaching a variety of courses are available on GAP homepage here. Throughout the history of GAP, its development has been supported by a number of grants, one of these being the EPSRC project EP/M022641 “CoDiMa (CCP in the area of Computational Discrete Mathematics”. This is a community-building project centred on GAP and another open source mathematical software system, SageMath. CoDiMa activities include annual training schools in computational discrete mathematics, which are primarily intended for PhD students and researchers from UK institutions. A typical school starts with the Software Carpentry workshop covering basic concepts and tools, such as working with the command line, version control and task automation, continued with introductions to GAP and SageMath systems, and followed by the series of lectures and exercise classes on a selection of topics in computational discrete mathematics. This naturally led to the idea of establishing a Software Carpentry lesson on programming with GAP. I started to develop it in 2015 for our first training school in Manchester. Since I have never been at any of the Software Carpentry workshops before and had not yet completed instructor training at that point (it is currently in progress), it was extremely beneficial for me to come as a helper to the first ever Software Carpentry workshop in St Andrews in June 2015, and obtain an insight into the Software Carpentry teaching methodology. I took inspiration from the core Software Carpentry lessons, in particular from those on UNIX shell, Python and R. All of them have a central story which goes through almost every episode. For the GAP lesson, I have imagined a common situation: a research student with no prior experience of working with GAP (and perhaps little or no experience with programming at all) is facing a task to find a way in the huge library of GAP functions in order to study some research problem. Along this way, they start to work with GAP command line to explore algebraic objects interactively; then use the GAP language to write some simple scripts; then create own functions. More advanced topics such as, for example, extending GAP with new methods for existing types of objects, or even new objects, or organising your code in the form of a GAP package, are not so obvious for the beginners, and I have made an attempt to create a lesson which will show the direction in which their skills should be developing, and also to cover the importance of testing their code. I started from picking up a research-like problem which may nicely expose all needed techniques and explain the mindset required to deal with it. A good candidate was the problem of calculating an average order of an element of the group, which once I’ve seen being used by Steve Linton to quickly demonstrate some GAP features to a general scientific audience. I have tried to expand this problem in my talk in Newcastle in May 2015 (see the blog post here), and thus the choice has been made. The resulting lesson leads the learner along the path from working in the GAP command line and exploring algebraic objects interactively to saving the GAP code into files, creating functions and regression tests, and further to performing comprehensive search using one of the data libraries supplied with GAP, and extending the system by adding new attributes. On this path, the learner will became familiar with basic constructions of the GAP programming language; ways to find necessary information in the GAP system; and good design practices to organise GAP code into complex programs (for a more detailed lesson overview, see my blog post here). Of course, it is not possible to cover everything in a several hours long course, but it fits really well into the week-long CoDiMa training school like this. It prepares the audience to hear about more advanced topics during the rest of the week: debugging and profiling; advanced GAP programming; GAP type system; distributed parallel calculations; examples of some algorithms and their implementations, etc. Also, staying for the whole week of the school, everyone has plenty of opportunities to ask further questions to instructors. What next? The lesson on GAP can be seen here, and it has been published via Zenodo here. So far I am only aware that it has been taught twice (by myself) at two annual CoDiMa training schools in computational discrete mathematics. I can surely teach it myself, but is it written clearly enough to be taught by others? Is it possible for the reader to follow it for self-studying? Is there any introductory material missing, or is there an interest in having more advanced lesson(s) on some other aspects of the GAP system? If you would like to contribute to its further development, issues and pull requests to its repository on GitHub are most welcome! Also, we invite collaborators interested in developing a lesson on SageMath: please look at this repository and add a comment to this issue if you’re interested in contributing. Read More ›

Software engineer position at The Jackson Laboratory
Sue McClatchy / 2016-11-15
A scientific software engineer position is available immediately at The Jackson Laboratory in Bar Harbor, ME. This position reports to the Associate Director of Jackson’s Computational Sciences Scientific Computing (CSSC) team that is primarily responsible for developing software applications for scientific research programs. The individual in this position is responsible for developing software applications and systems to support genetics and genomics research including but not limited to web-based technologies and systems. A senior level candidate will lead development of complex projects, from high-level requirements, involving teams that may include other software developers, bioinformatics analysts, statisticians and scientists. The ideal candidate for this position has a BS or higher degree in computer science or bioinformatics and/or significant related job experience in the biomedical field or bioinformatics. Experience in identifying and developing software applications in the biomedical sciences and/or bioinformatics and implementing systems for analyzing large-scale scientific data e.g. Next Generation Sequencing data (NGS) is preferred. Experience with data exploration and visualization is a plus. For more information, please see this [position posting] (https://jax.silkroad.com/epostings/index.cfm?fuseaction=app.jobinfo&jobid=220385&company_id=15987&version=2&source=ONLINE&JobOwner=968882&startflag=1) Read More ›

Systems Biology Postdoc Position with The Jackson Laboratory
Sue McClatchy / 2016-11-04
The [Churchill Lab] (http://churchill-lab.jax.org/website/) at The Jackson Laboratory is seeking a Postdoctoral Fellow in systems biology. Our group applies a systems approach to study the genetics of health and disease. We develop new methods and software to improve the power of quantitative trait locus mapping and high throughput sequence analysis. We are especially interested in the genetics of aging and metabolic disorders. [The Jackson Laboratory] (http://www.jax.org) in Bar Harbor, Maine, USA, is recognized internationally for its excellence in research, unparalleled mouse resources, outstanding training environment characterized by scientific collaboration and exceptional core services - all within a spectacular setting adjacent to Acadia National Park. The Jackson Laboratory was voted among the top 15 “Best Places to Work in Academia” in the United States in a poll conducted by The Scientist magazine. Exceptional postdoctoral candidates will have the opportunity to apply to become a JAX Postdoctoral Scholar, a selective award addressing the national need for research scientists who are accomplished in the broadly defined fields of genetics and genomics. The award includes an independent research budget, travel funds, and a salary above standard postdoctoral scale. Applicants must have a PhD (or equivalent degree) in quantitative biology or another quantitative discipline such as computer science, physics, or applied mathematics. Experience in statistical genetics and gene expression analysis is strongly recommended, and applicants must have a commitment to solving biological problems and good communication skills. Expertise in scientific programming languages including R or Python is recommended. The successful candidate will work on the genetics of aging or metabolic disorders. Please contact Dr. Gary Churchill directly at gary.churchill (at) jax.org using the subject line “SWC postdoc ad”. Read More ›

Research Scientist Position at The Jackson Laboratory
Sue McClatchy / 2016-11-04
The Carter Lab at The Jackson Laboratory is seeking an Associate Research Scientist in the genetics of Alzheimer’s disease. [Our group] (https://www.jax.org/research-and-faculty/research-labs/the-carter-lab) is developing novel computational methods to derive biological models from large-scale genomic data. The strategies we pursue involve combining statistical genetics concepts such as epistasis and pleiotropy to understand how many genetic factors combine to control disease-related processes in neurodegeneration. We are therefore seeking an individual with expertise in epistasis analysis as it pertains to studies of Alzheimer’s genetics in humans. The [Jackson Laboratory] (http://www.jax.org) in Bar Harbor, Maine, USA, is recognized internationally for its excellence in research, unparalleled mouse resources, outstanding training environment characterized by scientific collaboration, and exceptional core services - all within a spectacular setting adjacent to Acadia National Park. The Jackson Laboratory was voted among the top 15 “Best Places to Work in Academia” in the United States in a poll conducted by The Scientist magazine. Broad skills in statistical genetics, the genetics of human disease, and Alzheimer’s etiology are required. Applicants must have a commitment to solving biological problems and communicating these solutions. Applicants should have a PhD. in the computational sciences, and postdoctoral experience related to bioinformatics and computational biology, particularly as it relates to Alzheimer’s disease. Candidates should have a record of scientific achievements including journal publications and conference presentations. Please contact Dr. Greg Carter directly at gregory.carter (at) jax.org using the subject line “SWC research scientist ad”. Read More ›

Computational Genetics Postdoc Position with The Jackson Laboratory
Sue McClatchy / 2016-11-04
The [Carter Lab] (https://www.jax.org/research-and-faculty/research-labs/the-carter-lab) at The Jackson Laboratory is seeking a Postdoctoral Fellow in computational genetics and systems biology. Our group is developing novel computational methods to derive biological models from large-scale genomic data. The strategies we pursue involve combining statistical genetics concepts such as epistasis and pleiotropy to understand how many genetic and environmental factors combine to control disease-related processes in animal models and human studies. We are especially interested in dissecting the genetic complexity of autoimmune disease, neurodegeneration, and cancer. The [Jackson Laboratory] (http://www.jax.org) in Bar Harbor, Maine, USA, is recognized internationally for its excellence in research, unparalleled mouse resources, outstanding training environment characterized by scientific collaboration and exceptional core services - all within a spectacular setting adjacent to Acadia National Park. The Jackson Laboratory was voted among the top 15 “Best Places to Work in Academia” in the United States in a poll conducted by The Scientist magazine. Exceptional postdoctoral candidates will have the opportunity to apply to become a JAX Postdoctoral Scholar, a selective award addressing the national need for research scientists who are accomplished in the broadly defined fields of genetics and genomics. The award includes an independent research budget, travel funds, and a salary above standard postdoctoral scale. Applicants must have a PhD (or equivalent degree) in quantitative biology or another quantitative discipline such as computer science, physics, or applied mathematics. Experience in statistical genetics and gene expression analysis is strongly recommended, and applicants must have a commitment to solving biological problems and good communication skills. Expertise in scientific programming languages including R, C/C++, Ruby, Perl, or Java is recommended. Expertise in cancer genetics, immunology, or neurological disease is desired but not required. Please contact Dr. Greg Carter directly at gregory.carter (at) jax.org using the subject line “SWC postdoc ad”. Read More ›

RStudio Training and Consulting Directory
Greg Wilson / 2016-11-02
RStudio maintains a directory of people who provide training and consulting for R using their flagship product. If you have taught R for Data Carpentry or Software Carpentry, have an established training and/or consulting practice, can provide some positive references from previous clients, please contact Garrett Grolemund about adding your profile. Read More ›

A Reproducibility Reading List
Greg Wilson / 2016-11-01
Prof. Lorena Barba has just posted a reading list for reproducible research that includes ten key papers: Schwab, M., Karrenbach, N., Claerbout, J. (2000) Making scientific computations reproducible, Comp. Sci. Eng. 2(6):61–67, doi: 10.1109/5992.881708 Donoho, D. et al. (2009), Reproducible research in computational harmonic analysis, Comp. Sci. Eng. 11(1):8–18, doi: 10.1109/MCSE.2009.15 Reproducible Research, by the Yale Law School Roundtable on Data and Code Sharing, Comp. Sci. Eng. 12(5): 8–13 (Sept.-Oct. 2010), doi:10.1109/mcse.2010.113 Peng, R. D. (2011), Reproducible research in computational science, Science 334(6060): 1226–1227, doi: 10.1126/science.1213847 Diethelm, Kai (2012) The limits of reproducibility in numerical simulation, Comp. Sci. Eng. 14(1): 64–72, doi: 10.1109/MCSE.2011.21 Setting the default to reproducible (2013), ICERM report of the Workshop on Reproducibility in Computational and Experimental Mathematics (Providence, Dec. 10–14, 2012), Stodden et al. (eds.), https://icerm.brown.edu/tw12-5-rcem/ // report PDF Sandve, G. K. et al. (2013), Ten simple rules for reproducible computational research, PLOS Comp. Bio. (editorial), Vol. 9(10):1–4, doi: 10.1371/journal.pcbi.1003285 Leek, J. and Peng, R (2015), Opinion: Reproducible research can still be wrong: Adopting a prevention approach, PNAS 112(6):1645–1646, doi: 10.1073/pnas.1421412111 M. Liberman, “Replicability vs. reproducibility — or is it the other way around?,” Oct. 2015, http://languagelog.ldc.upenn.edu/nll/?p=21956 Goodman, S. N., Fanelli, D., & Ioannidis, J. P. (2016). What does research reproducibility mean? Science Translational Medicine 8(341), 341ps12–341ps12, doi: 10.1126/scitranslmed.aaf5027 The papers themselves are great, but what really adds value is the way they're ordered, analyzed, and connected. If you're trying to make sense of all this, or trying to help others do so, it's a great place to start. Read More ›

Tracy Teal on Research in Action
Greg Wilson / 2016-11-01
The latest podcast from Research in Action features Dr. Tracy Teal, Executive Director of Data Carpentry. In 33 minutes (plus a couple of bonus clips), Tracy talks about the mission of Data Carpentry, how it came to be, and how people can get involved as learners, instructors, and lesson developers. It’s a great introduction for newcomers, and has a lot of tidbits that long-time participants will find fun and interesting as well. Read More ›

Close Cousins
Greg Wilson / 2016-10-30
Our process for developing and maintaining lessons has grown and changed over time. Simultaneously but separately, an organization called the Programming Historian has crafted a diverse set of open, reusable lessons on computing skills for people working in the digital humanities (DH), and their process is different from ours in some interesting ways. The main elements of our approach are: A first version is created by: someone writing something on their own (or translating something they’ve written before), a group of people getting together at a hackathon to create a roadmap, or someone driving an open design process of the kind used for our new Python lesson or Zack Brym’s new visualization lesson. The lesson is put in a GitHub repository. Everyone is invited to submit enhancements and changes by filing issues and/or submitting pull requests, and to comment on other people’s submissions. This is a doubly-open process: both the submissions and the reviews are tied to the GitHub usernames of their creators, which in turn are usually tied to their actual identities. One or two people act as the lesson’s maintainers (a term we borrowed from open source software projects). Their role is primarily editorial: they either review PRs themselves or make sure that other people review them, and have final say over whether changes are merged or not. We publish our lessons twice a year by tidying them up and then archiving them at Zenodo, which gives each of them a DOI. Everyone whose work has been merged into the lesson is listed as a contributor, and the maintainers are listed as editors (because that’s a role everyone in academia understands). The strengths of this approach are that the community maintains the lessons (we’ve had about 400 distinct contributors in the past three years), while the editor-vs-contributor distinction allows us to recognize people who are doing extra work. Its weaknesses are that big changes are more difficult to make than they would be if there was a single author, and there’s no incentive for people to do reviews: someone’s name doesn’t show up in the bibliographic record for a lesson if “all” they did was craft hundreds of lines of thoughtful feedback. In contrast, the Programming Historian’s model is: A would-be author submits a proposal for a lesson, which is reviewed by two assigned reviewers as well as the general public. If the lesson receives a green light, the author writes it (using PH’s template) and submits it for peer review. The lesson is then reviewed as if it were a research publication. The review is doubly open, but only the original author (or less commonly, authors) make fixes in response. Once the lesson is done, it is published on the PH website. It is also published in the more traditional academic sense: the Programming Historian has status as an online journal, so their lessons are indexed in the usual scholarly way. The strengths of this approach are the review process and the fact that authors get credit in a way that academia finds digestible. Its main weakness is maintenance: while people may submit errata or make other comments, lessons continue to be maintained by their original creators, which can be problematic as other demands on their time grow, or as platforms and APIs change beneath the lesson’s feet. Could we hybridize these approaches to create something with the strengths of both? Could the Programming Historian start accepting updates via pull requests and adding people whose changes have been accepted to the lesson’s byline? And could we start using a more formal review process, either as lessons are being designed or when major changes are proposed? And in parallel, what should we both do about giving people credit for their work? Someone who writes thoughtful, detailed reviews of a lesson deserves to be recognized, but how should we count and weight that? Lots of groups are exploring exactly this question with regard to academic publications, software, and data; which of their answers could and should we borrow? If you’re interested in discussing this, please add your thoughts to this GitHub issue some time in the coming weeks. Read More ›

New Book: Tidy Text Mining with R
Greg Wilson / 2016-10-29
A new online book has recently been published that may be of interest to our community: Tidy Text Mining with R This book provides resources and examples for people who want to use tidy tools from the R ecosystem to approach natural language processing tasks. The intended audience for this book includes people who don’t have extensive backgrounds in computational linguistics but who need or want to analyze unstructured, text-heavy data. Using tidy data principles can make text mining easier, more effective, and consistent with tools already in wide use like dplyr, broom, and ggplot2. Topics covered in the book include how to manipulate, summarize, and visualize the characteristics of text, sentiment analysis, tf-idf, and topic modeling. The authors are still in the writing process and will be actively developing and honing the book in the near future, but it already contains many developed examples of using tidy data principles for text analysis. Julia Silge is a data scientist at Datassist where her work involves analyzing and modeling complex data sets while communicating about technical topics with diverse audiences. She has a Ph.D. in astrophysics, as well as abiding affections for Jane Austen and making beautiful charts. Julia worked in academia and ed tech before moving into data science and discovering R. David Robinson is a data scientist at Stack Overflow. He has a Ph.D. in Quantitative and Computational Biology from Princeton University, where he worked with Professor John Storey. His interests include statistics, data analysis, genomics, education, and programming in R and Python. If you are the author of a book that is related to Software Carpentry or Data Carpentry’s mission, and would like to announce it here, please get in touch. Read More ›

The Rest Is Yet To Come
Greg Wilson / 2016-10-29
I co-taught an instructor training workshop earlier this week, then taught a second one on my own a couple of days later. I made some pretty big mistakes in both: I kept interrupting my co-instructor in the first, while in the second, I told too too many stories, made jokes about hipsters and Javascript programmers when I’d told participants not to belittle people in class, and shut down discussion a couple of times when I had no authority to do so. I have another workshop this week. I’d like to do better, so I’m going to give myself two sets of three sticky notes each day. (Sticky notes are the duct tape of teaching…) Each time I stray from the schedule, I’ll take down one from the first set; each time I tell a story, I’ll take one down from the second. It’s no guarantee that I’ll do better, but not doing something proactively pretty much guarantees that I won’t. It’s never fun to find out that you still have work to do, particularly on something you’ve been working on for years. When it happens, I tell myself the same thing as Ben Orlin: (For more of Ben Orlin’s wonderful work, see Math With Bad Drawings.) Read More ›

What the Carpentries Mean To Me
Daniel Chen / 2016-10-26
October 26 marks my 3rd Github cakeday. It also marks my 3 year anniversary since my first Software Carpentry workshop as a learner. The icing on the cake (haha?) is that it’s also Open Access Week. My first computer science course was in high school. I got though the class with a healthy amount of struggling, but I never thought I’d make it in computer science because some of my fellow classmates got though the class so effortlessly. My rationale at the time was: if this is what it takes to be good at computer science, I’d never make it. I graduated with a BA in psychology/behavioral neuroscience, and minors in biology and computer science. Computer science? Didn’t I just say I would never do this again? Yes. But When I took my first computer science class as a junior in college, I realized that the class itself was relatively effortless for me. Why? I’ve seen all of this before. I’ve learned about conditional statements and loops in high school! The fact that the class used Python and not netlogo/scheme was a matter of syntax. I already knew how to think procedurally. I can make the argument that I was never really going to go into computer science to begin with, medicine and medical school was always my main goal. But, the fact I did not program from sophomore year in high school to junior year in college, could be traced back to my feelings of inadequacy in high school. We experience or see this discouragement all the time, just talk to Greg. Fast forward to October 26, 2013, where Justin Ely and Dave W-F taught my Software-Carpentry Workshop. I had already been dabbling around Linux and Python over the years, and just started using Git for my Master’s thesis, so I opted to take the ‘intermediate’ workshop. I learned bits of new things during the workshop, but my main take away was: “I can teach this too!”. I had my first TA position teaching intro epidemiology and intro biostatistics at the time, and found teaching extremely fun and rewarding. After the workshop, I emailed the admins, booked a bus to Boston, and ‘randomly’ showed up as a helper for a MIT workshop in January 2014 led by Aron Ahmadia and Randy Olsen. I’ve been teaching since then, and I absolutely love it. It didn’t occur to me until after I taught a few workshops, that I realized I was starting to master the topics I was teaching. Each workshop I taught got me more familiar with the material. As a side-effect, it became easier for me to pick up the next new concept to enhance my own knowledge. This ‘new’ knowledge can be conveyed to my own students, or for my own work. Now, 3 years since my first workshop, I look back at how much I’ve grown as a graduate student, an instructor, and person. Everything I know today can be traced back to my first workshop, the same can be said with all of my professional connections, and the great sense of belonging I have when I attend conferences. For that, I’m eternally grateful to the community. That’s what the Carpentries mean to me. Read More ›

Call for Candidates for the 2017 Steering Committee
Kate Hertweck / 2016-10-24
Software Carpentry will hold its annual election for the Steering Committee of The Software Carpentry Foundation on January 23-27, 2017. Please consider standing for this election to help shape the future direction for our commmunity. The roles and responsibilities of members of the Steering Committee are available here. If you are a qualified instructor who has taught at least twice in the past two years, or have done non-teaching work for the community, you can both stand for election and vote. Please visit the list of current members to see who is eligible to stand and vote in our election. If you believe you qualify as a member but are not listed there, please contact us as soon as possible. In order to stand for election we request that you write a blog post that introduces yourself to the community. The post: must be about 500 words can be written in any format (question and answer, paragraph etc.) must be titled “2017 Election: Your Name” must be submitted by December 23, 2016 You can submit your post as a pull request to this repository or by email. In the post, you should explain: your previous involvement with Software Carpentry what you would do as a member of the Steering Committee to contribute to the growth and success of the community Candidates will be given the opportunity to share their thoughts with our community, including ideas for continued involvement, at our two community meetings on January 19, 2017. Read More ›

Programming as Theory Building
Greg Wilson / 2016-10-23
I was recently reminded of a thought-provoking but often-overlooked essay by Peter Naur from 1985 called “Programming as Theory Building” (scan here, plain text here). He suggests that, “…programming properly should be regarded as an activity by which the programmers form or achieve a certain kind of insight, a theory, of the matters at hand. This suggestion is in contrast to what appears to be a more common notion, that programming should be regarded as a production of a program and certain other texts.” His thoughts on what programmers actually do, especially when modifying programs, seem directly relevant to most research software development. In particular, when the Jupyter Notebook and R Markdown are discussed as ways to make research more reproducible, I wonder if part of that is to encourage the programmer to make her theory of what she’s doing explicit. Read More ›

Library Carpentry is One Year Old
Greg Wilson / 2016-10-22
The indefatigable James Baker recently wrote a blog post summarizing what’s happened with Library Carpentry in the past year. It summarizes their lessons, their workshops, how Library Carpentry is managed, and much more. Announcements and initial discussion take place on Gitter, and new members are welcome to join–please check them out. Read More ›

A Comparison of Online and In-person Instructor Training Workshops
Rayna Harris / 2016-10-22
I have co-taught three instructor training workshops this year (one online and one in-person with Christina Koch and one online with Greg Wilson. Overview Too long to read? Here’s an overview in tabular form. Feature In-person Online networking excellent poor to very good Etherpad use poor excellent displayed on screen the web? slides? the instructor webcast view of other learners time commitment prep + class time + travel + paperwork prep + class time private communication in-person Slack & email technical difficulties medium high Networking In-person: I think the most amazing feature of an in-person workshop is the networking. There is something about face to face conversation during activities and over coffee, beer, and dinner that really solidifies personal relations. I became a certified instructor in January 2015 at UC Davis instructor training workshop taught by Greg Wilson, Tracy Teal, Bill Mills, and Aleksandra Pawlik; I consider all four of these people to be close colleagues now, and I’m going to be visiting a handful of other workshop participants in November when I visit California. Also, I regularly talk to SWC/DC instructors on-line, but there is something about meeting them in-person that feels like its the first time we’ve met face-to-face. Online: As for networking in the online workshops, I would say its a mixed bag ranging from poor (for anyone in a room by themselves) to very good (for groups of learners in the same room). The first time I noticed a lack of networking for the online classes was during a debriefing session earlier this week. It wasn’t until 45 minutes into the call that I realized that two of the participants were learners in one of my workshops! I’m glad I finally made the connection, but it made me realize how hard it is to recognize people when you only see a tiny image of them on your screen when you are teaching. On the other hand, I do see that the online workshops help foster cross-disciplinary networking between individuals at the same institution but from different departments, so thats awesome. See link to tweet from the MSU group. What does this mean for next time? I think next time I teach online, I’ll ask each learner to walk up to the camera to introduce themselves during one of the lunch or coffee breaks so I can better associate a name and face and make a more personal connection with each learner. Etherpad Use The great thing about the Etherpad (in my opinion) is that is allows everyone to answer every question. You can put answers in the chat (like a quick yes/no response) or in the main body (like personal experiences or faded examples) rather than just calling on one person to answer. In-person: During the last in-person session with Christina, we often asked students to answer questions out loud rather than using the Etherpad, and one of the comments at the end was that this form meant that a lot of people’s thoughts/opinions were never heard. Online: During the last online session with Greg, we used the Etherpad extensively, so I felt like participation was really high. Also, the extensive note-taking allowed Greg to visualize participation during one of the exercises he had to miss. What does this mean for next time? I think next time I teach in-person, I will use the Etherpad chat a lot more, especially for quick yes/no responses. What is displayed on the big screen? In-person: During the in-person class I taught, I struggled with what to display on the projector. I had to use it, right? I bounced back and forth between various webpages (the Etherpad, the lesson page, fun images, videos), but the whole time I felt like this was ineffective. It made me wish that I either had slides to use or could avoid using it all together. See link to tweet about mistakes as pedagogy. Online: During online workshops, the big screen projector is used for the webcast so that learners can see the instructor and the learners at other sites. I setup a whiteboard right behind my chair for drawing concept maps and other illustrations. Each student has their laptop open to the Etherpad, and they can easily open links to webpages or videos that we give them. Since the student never see anything projected except for my face and my white board, maybe this means that I can do the in-person classes without using the projector…. What does this mean for next time? Next time I teach in person, I’m going to try not using the projector at all on Day 1 and will encourage Etherpad notetaking, and then I’ll only use the projector on Day 2 only for live coding. For online workshops, I’ll highly recommend using a white board if you can write clear enough that it can be read. Time Commitment In-person: Even though I really enjoy traveling, saying yes to teaching a workshop in a different city is a huge time commitment. Instead of just saying yes to teaching from 9-4, I’m saying yes to being in a different city for 24 hours a day. I also have to devote a lot of additional time to planning the travel, traveling, and getting reimbursed for expenses. Online: When I teach online, I really only have to commit time to prep for the lessons and to teach them. I can make breakfast in my own home, eat dinner with friends, and and even make it to meetings and lab meetings that happen on the same day in the same building. See link to instagram photo from one of Rayna’s teaching rooms. What does this mean for next time? All things considered equal, this factor alone makes me much more willing to say yes to co-teaching online rather than in-person workshops. Private Communication In-person: When co-teaching in-person, you can easily communicate privately with your co-instructor during the lesson and during the breaks. You never have to worry about wether you are muted or not or if the learners can hear you, and making decisions about wether or not to change the lesson plan on the fly is pretty easy Online: When co-teaching online, you have to have yet another application open on your computer for private communication. I like Slack a lot for communicating, but it was a little odd when I was screen sharing and some slack notifications came on the screen. Email also works, but then I can get distracted by other emails, so this is not ideal. Technical Difficulties In-person: I would rate potential for technical difficulties in the classroom as medium. There’s always a chance that the projector system isn’t optimal or that the internet connection is poor, but usually an expert in the room can come up with a solution or temporary fix on the fly. Online: This is a real pain and can eat into your teaching time. I’ve encountered all sorts of issues including bad sound, bad video, poor Etherpad accessibility, inability to screen share, among other things. I don’t have an answer for this. What does this mean for next time? I can’t help but wonder if we should cut 15 minutes of material from the syllabus for online workshops in anticipation of these technical difficulties Summary All in all, each format has its pros and cons. The data has shown slightly better success from the in-person workshops, but online workshops are successful! I like teaching both, so I’m gonna keep teaching both in-person and online courses. Read More ›

Ten Simple Rules for Digital Data Storage
Greg Wilson / 2016-10-20
We are pleased to announce the publication of a new paper whose author list includes several members of our community: Edmund M. Hart, Pauline Barmby, David LeBauer, François Michonneau, Sarah Mount, Patrick Mulrooney, Timothée Poisot, Kara H. Woo, Naupaka B. Zimmerman, and Jeffrey W. Hollister: “Ten Simple Rules for Digital Data Storage”. PLOS Computational Biology, Oct 20, 2016, http://dx.doi.org/10.1371/journal.pcbi.1005097. Their ten rules are: Anticipate How Your Data Will Be Used Know Your Use Case Keep Raw Data Raw Store Data in Open Formats Data Should Be Structured for Analysis Data Should Be Uniquely Identifiable Link Relevant Metadata Adopt the Proper Privacy Protocols Have a Systematic Backup Scheme The Location and Method of Data Storage Depend on How Much Data You Have We hope you find it useful, and encourage you to follow in their footsteps and write down what you know so that others can learn from your experience. As always, we are smarter together. Read More ›

Community Call on Assessment
Kari L. Jordan / 2016-10-20
Discussion of our workshop survey results Read More ›

Cambridge Instructor Training 19-20 September 2016
Steve Crouch, Laurent Gatto, Karin Lagesen, Greg Wilson / 2016-10-20
Last month, Steve and Karin taught an instructor training workshop at the University of Cambridge, sponsored by the R Consortium. The event was organized by Laurent Gatto, a Software Sustainability Institute Fellow, with help from Paul Judge and Gabriella Rustici from the University of Cambridge Bioinformatics Training facility. 25 trainees from a diverse set of backgrounds spent two days getting to know each other and learning how to teach, and several have already completed the checkout process. You can read a full write-up on the SSI website, and we hope to be able to organize a repeat in the new year. Read More ›

Software Carpentry at Oklahoma State
Jamie Hadwin / 2016-10-19
I recently instructed Git for the third time at a self-organized workshop on the Oklahoma State University main campus. I enjoy instructing and helping with the Software Carpentry workshops (and hopefully will get to do a Data Carpentry soon) and each workshop is always different from the last, so I was excited to participate again. Because of a scheduling conflict, we only had the lab for five hours on Day One. In five hours (with two 15-minute breaks), we went through the entire bash shell lesson without many hiccups. One thing we did create for the bash shell lessons was a series of three-question quizzes we launched live on Socrative before each break. The learners had good feedback about this and felt it was a good way to break up the lessons and provided a good review of concepts they had just learned. On Day Two, we started Python, but because of some delays, we started behind. Once we got started, lesson went well (not very many typos!) and we were able to get through a few episodes in the Python lesson, but we weren’t able to get through much of the material we had hoped to teach. We also decided not to issue the Python quizzes because we were behind. However, at this point, the learners seemed satisifed with their progress thus far! The coffee and donuts may have helped, too! Side note: many of the learners wanted more experience in Python. This was also reflected in the surveys. We are going to take this into account with future workshops in that we should plan to be more Python-heavy. Because we weren’t able to get to a lot of the material, we are offering an additional afternoon Python workshop to everyone who was at the Python session within the next two weeks. Luckily, all of our learners were local. After lunch, we started on Git - my lesson! For the third time teaching Git at a SWC workshop, it went the best it has ever gone! I was enthusiastic to get started. I had typed up my own notes and had a PowerPoint slide of images I wanted to use to demonstrate Git concepts. I even had some Git jokes up my sleeve to keep the class on its toes. I’ve found that with each time I teach Git I get more and more comfortable to the point that I can go “off script” and throw in extra jokes, tidbits of information, etc. What really helped the Git lesson go smoothly is that I had a Git “partner-in-crime” who has been helping me with the collaboration portion of the lesson since I first began teaching Git. If you break the class into pairs and are using two instructors to go through the local and remote steps, I find it helps to spend a minute or so making sure each member of each pair knows which instructor they are supposed to follow. We did this by writing “Partner A” and my name and the word “local” on the whiteboard. We also wrote “Partner B”, my partner’s name and “remote” on the board. I told the pairs that all the people sitting to my left (holding up my left hand) was a “Partner A”, and all those sitting on my right was a “Partner B.” Then I had all the “Partner A” learners raise their hands when I asked who was to follow me. Then my partner had all the “Partner B” learners raise their hands when she asked who was to follow her. Side note: I had also frequently used the word “local” in the lesson leading up to this point to describe our repositories on our own computers, so I think this helped establish the difference between “local” and “remote” well before we got to the Github/remote repository portion of the lesson. We started the Git lesson at 1:05 p.m. and ended the conflict portion of the lesson at 3:45 p.m. This gave us 15 minutes to briefly go over things like open science, licensing, citing & hosting as well as to encourage the learners to take the post-workshop survey while we answered questions and ended the day on an uplifting note. At the end, everyone was happy the workshop was over, but I think ending the workshop on Git is a good idea because the material is less “type-heavy” and more interactive. And again, the jokes! Find some Git jokes here If you’re interested in what happened leading up to the workshop, you can continue reading below. I want to mention that SWC and DC probably operate a little differently at OSU than most other institutions. Over the past year, we’ve built a solid “Carpentry team” consisting of six certified instructors, a plethora of helpers and a list of students, faculty & staff who want to become certified in the near future. We all meet monthly, and because of this, my experiences with planning, coordinating and instructing this workshop will probably be a little different than most. Planning: When the team met up at the beginning of the academic year in August, we knew we wanted to host a workshop fairly quickly. After looking over several dates, we decided on October 13-14 because classes were cancelled on the 14th for OSU’s fall break. We thought this might give students, faculty & staff an opportunity to attend the workshop all day on Friday. However, when we went to go book the computer lab we normally use for the workshops, it wasn’t available until noon on the 13th. After a little bit of discussing, we decided to go ahead and do a five-hour session for Day One, and then do the normal 9am-4pm schedule for Day Two. Coordinating: Because I’ve coordinated one of our local self-organized workshops, I helped a team member who was going to be more active with the coordination duties get this workshop set up. Once he filled out the SWC workshop request form, I helped him get an EventBrite registration page set up and recorded registrant information in a shared spreadsheet, while he worked on building the workshop webpage and Etherpad and communicated with Maneesha Sane at SWC. Pre-workshop: About a week before the workshop, all the instructors and several of the helpers met up to go over the gameplan for the workshop. The instructors discussed how we were going to prepare our lessons and what material to make sure to include and what we could leave out if we were running short on time. In previous workshops, we had one to two learners who fell behind the class and sometimes slowed the pace down to ask questions, so we picked a few more experienced helpers who said they were willing to help with any learners who might be falling behind. We suggested that helpers focus in on a section that way they wouldn’t be running into each other going from one side of the room to the other. Finally, we set some “expectations” for instructors and helpers, i.e., it is ok for the helpers to let the instructor know if they need to slow down/speed up based on their observations of the pace of the class. At this time, we also looked at our list of registrants from our EventBrite site to determine what fields of study or departments they were coming from and to gauge their experience levels and what type of data they might be working with. I would definitely suggest putting a few demographic questions in with your EventBrite registration. If you made it this far, I hope this was all helpful advice if you’re getting ready to coordinate your own workshop! Read More ›

Machine Learning with Python
Greg Wilson / 2016-10-17
A new book has recently been published that may be of interest to our community: Introduction to Machine Learning with Python Data driven approaches have taken over many empirical sciences and many business application. Machine learning algorithms are one of the most important tools for extracting knowledge and making decision based on complex datasets. This book takes a practical approach to machine learning, using Python and the scikit-learn library. Starting from the basics, it explains how and when to use machine learning, discusses common methods and points out pitfalls for beginners. Every method and example comes with code in the form of Jupyter notebooks. The book requires a basic understanding of the Python programming language and some familiarity with NumPy. Experience with matplotlib is helpful to gain a better understanding of the visualizations. Andreas Müller received his PhD in machine learning from the University of Bonn. After working on computer vision applications at Amazon for a year, he joined the Center for Data Science at New York University. He is a maintainer of and core contributor to scikit-learn, and has authored and contributed to several other widely used machine learning packages. Sarah Guido is a data scientist who has spent a lot of time working in start-ups. She loves Python, machine learning, large quantities of data, and the tech world. An accomplished conference speaker, Sarah attended the University of Michigan for grad school and currently resides in New York City. If you are the author of a book that is related to Software Carpentry or Data Carpentry’s mission, and would like to announce it here, please get in touch. Read More ›

October 2016 Maintainers' Meeting
Kate Hertweck / 2016-10-13
This week’s meeting of our lesson maintainers made some great progress in streamlining our decision-making process, and we hope to begin implementing some of the changes discussed in the next few weeks. The major highlights are: Creation of a developers’ subcommittee: We’re creating a new subcommittee that will be in charge of decision-making for template and style changes common to all lessons. Each maintainer will still be responsible for PRs/issues specific to their lesson. I will contact folks who indicated interest in participating, and am pleased we have folks from both SWC and DC; if anyone not currently acting as a maintainer would like to take part, please contact Kate Hertweck. Instructor notes: Quite a few of us are supportive of the proposed template for standardizing instructor notes; these headings will be added to the example lesson this week, and we’ll begin implementing across our core lessons over the next few weeks. I’ll engage the mentoring subcommittee to see if there are folks interested in these conversions, since they’ve spent a lot of time talking to new instructors and can offer some great insight. Minor changes to styles/lessons/workshop-template: There were no objections to a few outstanding changes, so these will be merged. Greg and François will wrap up the unresolved issue of inconsistency in paths to data files. Support for additional human languages: We still don’t have a workable solution for supporting lessons in languages other than English. At the very least, it would be nice to have a statement somewhere indicating our feelings on the matter, as we receive queries about this every few months. This will be one of the first items tackled by the new developers subcommittee. Defining core lessons: Quite a few folks were enthusiastic about moving from the inflammation R and Python lessons to lessons based on the gapminder data. The consensus was that quite a bit more work would be required before this could be an “official” decision. This is another issue that will be discussed by the developers, but will obviously require more communication with the lesson maintainers. As always, we’re grateful to the lesson maintainers for everything they do, and we hope these changes result in less email and more productivity. Please let me know if you have any questions or concerns. Read More ›

In Memoriam: Hans Petter Langtangen
Greg Wilson / 2016-10-11
Hans Petter Langtangen’s books Python Scripting for Computational Science and A Primer on Scientific Programming with Python taught many of us how to do numerical computing with Python. He passed away yesterday after a long struggle with cancer; while I only had the privilege of meeting him in person twice, we corresponded frequently during Software Carpentry’s early years, and he was always helpful, insightful, and enthusiastic. He will be missed. Read More ›

Vote Next Week to Amend Steering Committee Election Procedures
Kate Hertweck / 2016-10-10
Last month, the Steering Committee announced a special election to amend the procedure for Steering Committee elections. The election itself will take place next week (Oct 17-21, 2016). All members will receive a ballot via email to cast their vote regarding this revision via electionbuddy. Please take a moment to check the current membership list and contact us by email to let us know of any omissions. As per our bylaws, our membership includes any certified instructor who has taught at least twice in the past two years (i.e., since October 2014) or has made other significant contributions to Software Carpentry in the opinion of the Steering Committee. Read More ›

Beth Duckles on the Practice of Measuring
Greg Wilson / 2016-10-10
Dr. Beth Duckles, who did a valuable study of our instructor community earlier this year, gave a talk at the recent Measuring the Impact of Workshops workshop titled “The Practice of Measuring”. It’s a very useful 50 minutes, particularly for those of us who have backgrounds in the physical rather than social sciences. Read More ›

Request for Review: ESIP's Software Guidelines
Greg Wilson / 2016-10-05
ESIP (the Federation of Earth Science Information Partners) has been developing research code/software guidelines for the earth observation and geosciences communities, and would appreciate feedback on the current draft before the end of October. If you have suggestions or feedback for: Interoperability Jupyter notebooks as code or documentation The proposed progression model Sustainability or adoption/reuse please chime in. (Look in the right margin of the browser page for the hypothes.is controls that will let you add and view comments.) As a taste of what they’re doing, here’s a table of their stakeholders’ user cases and desired outcomes: Stakeholder Use Case Desired Outcome Funder As a funding agency, we're interested in evaluating the software projects we fund. A functional evaluation system based on accepted metrics. Project Manager, Principal Investigator (manager in practice) As a manager, I'm interested in using the rubric/progression as a learning tool to help improve the development practices in my research group. A checklist or other informal assessment to help the research group meet funder's expectations and to determine the next steps for training or related activities in the research group. Principal Investigator As a PI, I would like a tool to assess our progress and to ensure we're meeting our funder's expectations for a software project based on the readiness level stated in the original proposal and as defined by the funder. A checklist or other informal assessment to help the research group meet funder's expectations, and to determine the next steps for training or related activities in the research group. This informal assessment would also provide aid for formal reviews. Science Software Developer, Researcher who codes As a science software developer, I'm interested in using the recommended practices to improve my own workflow and skillsets. A checklist or mentoring activity to help guide me towards training options to meet my research and skillset goals. Developer </td> As a developer, I would like community-supported guidelines to support requests to change our current dev team practices. A checklist or informal assessment to encourage my manager or PI to allow the development team to adopt appropriate practices. </tr> Grad Student, Post-Doc, Researcher interested in continuing code education </td> I've taken the introductory courses and want to continue to improve my skills but don't know what steps to take next, and I'd like guidance based on my skillset. A checklist or mentoring activity to help guide me towards training options to meet my research and skillset goals. Research Community We want to provide educational materials or other support for community members to meet their goals regarding research software implementation and career growth. A set of guidelines for technology assessment, and the framework for using those guidelines as educational tools. Read More ›

Python as a Second Language
Greg Wilson / 2016-10-04
Donny Winston, Joey Montoya, and I taught a one-day class for Lawrence Berkeley National Laboratory on Python as a Second Language last week. As its introductory blurb says, “This lesson is an introduction to programming in Python for people who are already comfortable in some other language such as Perl or MATLAB.” The notes are still very much under development, but having delivered it twice, we’re pretty confident that it can actually be delivered in one day. We would be very grateful for feedback: please file issues in the GitHub repository to let us know what you think, to add more exercises and bullet points, or anything else. As well as delivering new(ish) material, we experimented with having one of the instructors teach via video conferencing with local helpers in the morning, while on-site instructors taught in the afternoon. Some of the feedback included: Positive On-line with local help worked very well. Mixed mode worked well for the first section because the material was easier, might have been more difficult for second half. Easy to follow, well written exercises. I thought remote instructor was great…having local instructors was a big part of that though. Plotting super helpful. Etherpad being read-only may have helped, so people didn’t mess it up. Cool, dense content, helpers are very knowledgeable. Negative Sometimes fast. Typing is hard to follow as it scrolls off screen. Pytest can’t install. For online instructor, dual screens may be useful, I’d like to see the Notebook longer. A bit fast at times, particularly due to the auto scrolling of the screen. Confusing if you fell behind for a second and the teachers would overwrite, rather than start new cell. I would have liked to see how python is more typically used, such as IDEs, command line, etc. Tell people that terminal functionality is needed in advance. A bit rushed through matplotlib, would have liked more practice plotting. Based on this feedback and what we heard in the previous round, we have moved the material on command-line scripts into the “Extras” section: there wasn’t time to get to it, and it requires yet another install for Windows users. Read More ›

Congratulations to Our New Instructor Trainers
Greg Wilson / 2016-10-04
We are very pleased to welcome Karin Lagesen and Anelda van der Walt to our team of instructor trainers. Karin and Anelda have been very active in all of our activities–Karin is now in her second year on the Steering Committee, and Anelda has been the driving force behind our growth in South Africa–and we are very grateful that they are willing to give even more to our community. Read More ›

And Now There Are Three
Greg Wilson / 2016-10-04
A new book has just been published that covers much of the same material as Software Carpentry, and a great deal more: Paarsch and Golyaev’s A Gentle Introduction to Effective Computing in Quantitative Research: What Every Research Assistant Should Know. It covers almost everything I would want to see in a one-semester course for new research students: the Unix shell, data organization, the basics of Python, data analysis, “geek stuff” (including hardware and algorithm analysis), numerical analysis, some worked examples, Python extensions, and preparing manuscripts with LaTeX. By trying to cover so much, this book necessarily spreads itself thin: I don’t think anyone who isn’t already familiar with Make or Git would be able to use them after these brief introductions. That said, this book deserves a place alongside Haddock and Dunn’s Practical Computing for Biologists and Scopatz and Huff’s Effective Computation in Physics, and I think anyone contemplating a graduate-level computing course would do well to explore it. Read More ›

Two Studies of Online Communities
Greg Wilson / 2016-09-30
Two recent papers may be of interest to this community. The first is from Adam Crymble at The Programming Historian a distributed group of digital humanities scholars that has built some excellent tutorials on software tools. Its title is Identifying and Removing Gender Barriers in Open Learning Communities, and its abstract reads: Open online learning communities are susceptible to gender barriers if not carefully constructed. Gender barriers were identified in The Programming Historian, through an open online discussion, which informed an anonymous user survey. The initial discussion pointed towards two barriers in particular: a technically challenging submission system and open peer review, as factors that needed consideration. Findings are put in context of the literature on gender and online communication, abuse, and online learning communities. The evidence suggests that open online learning communities such as The Programming Historian should work actively to promote a civil environment, and should listen to their communities about technical and social barriers to participation. Whenever possible, barriers should be removed entirely, but when that is not feasible due to financial or technical constraints, alternatives should be offered. Its findings are that the tools they use—that we use—may be a significant barrier to contribution: “Initial comments in the open conversation made it clear that the choice of venue (Github) was a gender-barrier, as Github is associated with male geek coding culture.” On the other hand, “…both men and women were overwhelmingly positive about open peer review (29 like, 6 neutral, 3 dislike, 9 skipped - no gender difference), with the caveat that moderating by an editor who stepped in to prevent ‘nastiness’ was crucial to a successful system of open peer review.” The second paper, by Ford, Smith, Guo, and Parnin, is “Paradise Unplugged: Identifying Barriers for Female Participation on Stack Overflow”: It is no secret that females engage less in programming fields than males. However, in online communities, such as Stack Overflow, this gender gap is even more extreme: only 5.8% of contributors are female. In this paper, we use a mixed-methods approach to identify contribution barriers females face in online communities. Through 22 semi-structured interviews with a spectrum of female users ranging from non-contributors to a top 100 ranked user of all time, we identified 14 barriers preventing them from contributing to Stack Overflow. We then conducted a survey with 1470 female and male developers to confirm which barriers are gender related or general problems for everyone. Females ranked five barriers significantly higher than males. A few of these include doubts in the level of expertise needed to contribute, feeling overwhelmed when competing with a large number of users, and limited awareness of site features. Still, there were other barriers that equally impacted all Stack Overflow users or affected particular groups, such as industry programmers. Finally, we describe several implications that may encourage increased participation in the Stack Overflow community across genders and other demographics. It found five barriers to contribution that are seen as significantly more problematic by women than by men: lack of awareness of site features feeling unqualified to answer questions intimidating community size discomfort interacting with or relying on strangers perception that they shouldn’t be “slacking” Surprisingly, “fear of negative feedback” didn’t quite make this list, but would have been the next one added if the authors weren’t quite so strict about their statistical cutoffs. The authors are careful to say, “…we are not suggesting that only females are affected by these barriers, or that these barriers are primarily due to gender, but rather that five barriers were seen as significantly more problematic by females than by males.” Read More ›

Perth Software Carpentry - A Tale of Three Trainers
Andrew Rohl, Matthias Liffers, Andrea Bedini / 2016-09-30
Andrew Perth’s journey into Software Carpentry began when Andrew Rohl attended eResearchNZ in 2014, for which he has to thank Nick Jones of NeSI for financial support. There he met the director of the Mozilla Science Lab, Kaitlin Thaney, and learned about the Software Carpentry movement. Fast forward to the end of the year and David Flanders was arranging a “Train the Trainer” Software Carpentry course in Melbourne and he even had funds to cover travel costs for those selected to attend! Andrew convinced Raffaella Demichelis, a fellow computational chemist, to also apply and they were both fortunate enough to be chosen. They enjoyed the training in February 2015, followed by the first Research Bazaar conference and returned to Perth enthused. Then the reality that they were now expected to teach Western Australia’s first Software Carpentry course hit! With only two instructors in WA and unaware of any other people who had even attended a Software Carpentry workshop, they searched for helpers and found Rachel Lappan and Chris Bording. Rachel had just attended a Software Carpentry workshop in Queensland as part of the UQ Winter School and Chris had started Software Carpentry training. Andrew and Raffaella convinced two other computational chemists to help: Bernhard Reischl and Marco De La Pierre. With the team now sorted, the first Software Carpentry workshop in WA was held on July 20 and 21, 2015 and was a big success. With 24 attendees the workshop proved itself popular but the team knew they could aim higher. They decided to sign up for ResBaz 2016 and to accommodate 80 registrants, running both R and Python streams concurrently. They desperately needed more instructors and helpers! Out of the blue, Lukas Weber, an Australian from WA who is studying in Switzerland, got in touch and agreed to come over as an instructor. Chris Bording had also finished his training and so was able to teach. But the team still wasn’t big enough! Matthias Matthias Liffers had been working in research data management for a couple of years and thought that something was missing in the training offered to researchers. It was all well and good to provide fancy eResearch facilities, but the learning curve to move from spreadsheets to processing huge datasets on supercomputers was just too steep. Matthias learned about the Software Carpentry movement by word-of-mouth and thought it was an excellent way for researchers to start learning these computing skills. He attended eResearch Australasia in late 2015 and discovered from Belinda Weaver and David Flanders that not only had Software Carpentry already been run in Western Australia, but that this Andrew Rohl chap was already planning a ResBaz in Perth! Amusingly, Matthias had already worked with Andrew but the topic of researcher training had never come up. Matthias then got in touch with him, offered his assistance in running ResBaz, and quickly found himself whisked to Melbourne to attend the Software Carpentry instructor training with Aleksandra Pawlik. As an experienced librarian, Matthias already had a good decade of training experience, but the discussions on pedagogy really changed the way he thought about the training he had already delivered. Another concept Matthias learned about at eResearch Australasia was HackyHour - an informal get-together that served the dual purpose of networking and providing post-training support to SWC/ResBaz attendees. It was in getting HackyHour off the ground that Matthias met Andrew’s new team of research computation specialists. Andrea Andrea Bedini’s journey started when he was a postdoc at the School of Mathematics and Statistics at the University of Melbourne, where he would spend his days giving lectures and coding Monte-Carlo simulations. Andrea strongly supports the idea that science should be open and reproducible and found himself spending perhaps more time than he should thinking on how to put those concepts into practice. Around mid 2014, one of his students, Noon Silk, decided to organise an Open Science Workshop where students/researchers could learn everything about GitHub, iPython notebooks and SageMathCloud. Andrea didn’t hesitate to give a hand! The workshop was just awesome. While organising the workshop, Andrea and Noon got introduced to a group of people at Melbourne Uni who were working on a similar initiative, Software Carpentry. In this way Andrea met David Flanders, Damien Irving, and Fiona Tweedie. They had been running HackyHours at a local bar for a while and they were all very busy organising the first Research Bazaar conference planned for February 2015. Just before the conference, the group had organised for Bill Mills (then Community Manager for Mozilla Science Lab) to come over from Toronto to run a Software Carpentry instructor training course. Andrea attended both the instructor course and the conference, also helping Alberto Pepe and Nathan Jenkins with the classes on Authorea (a collaborative paper-writing tool, which is also awesome - check it out). Raffaella and Andrew also attended the training and ResBaz 2015 in Melbourne - that was a missed connection! Andrea was feeling he wasn’t enjoying his postdoc position any more and his wife suggested he look for a career change in her hometown, Perth. Little did he know that, at the same time, at Curtin University in Perth, Andrew Rohl was hiring a team of computational specialists with the hope they would support his efforts in increasing the presence of Software Carpentry in WA. The rest, as they say, is history… Read More ›

Software Carpentry Workshop Attendance: a New Zealand Perspective
Tom Kelly, Mik Black, Sung Bae, Wolfgang Hayek, Aleksandra Pawlik / 2016-09-28
Having taught and helped at a series of workshop over the past few months Tom Kelly, PhD Candidate in Genetics at the University of Otago, wrote up some of his reflections on the issues related to workshop attendance. This spurred further discussion via email among the New Zealand instructors. We decided to put these thoughts together in hope that this could help other sites struggling with the attendance problems. Please note that these are the authors’ views and thus they should not be treated as representative for their home institutions. Tom based his opinions after having taught at various workshops in Australia and in New Zealand, including Research Bazaar 2015 at the University of Melbourne, Research Bazzar 2016 at the University of Otago, University of Otago, University of Canterbury, and NeSI. There have been several other workshops in New Zealand facilitated by NeSI, in Auckland, Wellington, and Palmerston North over the past year. Main point Over the course of several workshops we’ve had relatively minor problems with “no-shows” (people signing up and not attending) or “drop-offs” (people not returning for future days or sessions). However, in the case of the oversubscribed workshops it was still somewhat frustrating. This has led to discussions about how we may address the issues related to the attendance to ensure that others who would have attended for the entire workshop, but ended up on the waiting list, do not miss out on places. Issue 1: No-shows At our most recent workshop in the University of Otago we had 21/25 attendees who signed up attending. At previous workshops this had also been a bit of an issue, being as high as 25% of no-shows in Christchurch in February 2015. I know that this issue is not specific to these sites or to New Zealand itself. Shortly after I got involved in Software Carpentry, I had a chance to talk to Bill Mills who was visiting from Canada to help boot-up the workshops and train some instructors. Bill did say that they usually have 25-30% no show in US/Canada so our attendance figures are not too bad compared to other free Software Carpentry events. Issue 2: Departures over time A larger concern to me is the number of participants who attend for the beginning of a multi-day workshop and do not return for the final sessions. Some participants may be leaving midway because it just doesn’t work for them (thankfully, this is rare). Some will be interested only in a particular session, such as biologists who may attend only for the R module, even if we are encouraging them to attend the full course. With others it may be difficult to address, particularly if they don’t leave any feedback on reasons why they left. Though, we can assume that some participants may have to leave early due to other committments such as running lab experiments or childcare responsibilities. So at our recent workshop at the University of Otago we tried splitting it into 3 shorter days, rather than 2 full ones. Approach 1: Registration Fee We discussed further no-shows with Bill Mills when we were doing ResBaz/SWC in Melbourne and Christchurch. He mentioned a solution suggested by Software Carpentry of applying a small registration fee to make sure those who register actually attend or cancel giving the organisers some notice. Based on the experiences of several hosts accross this usually results in no-show numbers dropping to below 5%. Whilst this is certainly an option to consider, in many local contexts this would not be possible. There are complications with the university local regulations. Some universities charge venue fees unless the event is free, run at cost, or for the benefit of staff and students. Another problem with charged events (even with a small fee) is that it may create disparity between research groups where some are funded from the lab and others need to foot the bill themselves due to financial or adminstrative constraints. Eventbrite makes it easier for the hosts in terms of handling payments and registrations but within the University system it would create issues for labs that want to pay (through Eventbrite) for their members to attend - not insurmountable, but just extra hassle. There are also some cultural aspects. For example, New Zealand may differ to other places where ticketed events have been tried. We don’t have a tipping culture, one of the largest home-supplies supermarket chains has the slogan “Where Everyone Gets a Bargain”, and another grocery supermarket chain proudly announces that it has “NZ’s lowest prices”. These stores are widely successful. It can be said that many of us see this as a good deal rather than appearing cheap, particularly among the university student population. Many people here view a bargain or freebie positively, so I don’t think the event is under-valued being free. However, it would be interesting to see if any other NZ sites have tried a paid ticketed event to boost attendance rates and how this compares to other countries. Approach 2: Catering Another suggestion to raise numbers is providing catering to boost numbers (possibly registration fees can be used for that) which we tried at Dunedin Research Bazaar last February. However, we had issues with overcatering for those did not stay for lunch and we still had dwindling numbers by the last day. I think the “come back for day 3” rate was higher in our most recent Otago workshop due to combined Git+Bash sessions on days 1 and 3. Unfortunately some participants did still give the impression of only wanting to attend the R session (or Python) but most seemed to give the rest a shot. And even the catering was not enough of an attraction. Dwindling numbers seems to be a bigger problem with longer (3 day) events but there are higher costs for catering an event this long. Reducing the length of each day was another approach we’ve tried as discussed here. Approach 3: Blacklist Another approach could be the hosts checking the actual attendance and keeping a record of people who habitually don’t show up without giving notice. They are then only able to sign up if there are places left right before the event. At the recent University of Otago workshops no one missed out due to no shows. Generally, we manage to let most of our waiting list in with cancellations anyway. It would be interesting to know if particular people (groups, or institutions) are signing up and not coming recurrently, but a blacklist (as some SWC sites have done) may be overreacting. This appears to be a rather drastic solution and thus needs to be treated with care. There are many other understandable reasons why a participant may not be able to attend at the last minute which would be difficult to monitor, such as illness or bereavement. There may be students who choose (or feel pressured) to prioritise their experimental research over the workshop on the day. It’s likely preaching to the choir to even mention how counterproductive this lack of training can be in the long-run. However, a punitive approach such as a blacklist is not an appropriate way to encourage engagement in our workshops over research activities. We consider a blacklist a last resort over the current first-come-first-served sign up system to consider only if people are repetively missing out. Perhaps a whitelist of people who missed out last time would be less punitive? We could either bump them up to the top of the waiting list or email them about the workshop in advance of public announcement. This would give potential participants more incentive to sign up even if the current workshop is full and may give a better indication of how much interest there would be in a future workshop. Approach 4: Overbooking This approach is notoriously used by some airlines. Many of you might have experienced a frustrating time at the gate when it has turned out that you actually don’t have a seat even though you do have the ticket. Then it gets to an exciting action when the airline tries to bribe the passengers with the allocated seat to give it up (for cash) and take one of the subsequent flight (possibly next day). Neither Software nor Data Carpentry are aiming to go that way but it may be tempting for hosts to allow for a high number of sign ups (say 45) with an assumption that there will be 20-30% no-show rate, particularly if a larger venue and additional helpers are available. In larger (parallel session) events, such as ResBaz, feedback has been overwhelmingly positive for the inclusion of ‘helpers’. They can somewhat mitigate issues with a larger group offering one-on-one assitance when needed and getting participants back on track so they can follow along after falling behind of technical problems. We encourage helpers to be proactive at larger events, or those covering more advanced content, checking on participants when they get withdrawn or quiet rather than waiting for the sticky notes. The larger a group, the wider the range of pace and learning styles will be there. If participants have raced ahead of the content this is also a good opportunity to encourage them to work with their neighbours, try out extension challenge questions, or discuss how the tools involved could be applied to their work. However, one problem that Wolfgang Hayek, NZ Instructor based at NIWA and NeSI, has seen, is that venues get very crowded if turnout is large, with attendees complaining accordingly in their feedback. Sticking to the recommended number of attendees is definitely a good idea. For example, in Wolfgang’s experience, the Wellington Victoria University ResBaz was a very relaxed event, at least partly due to its lower attendance. The Git session that Wolfgang has taught there was a lot more interactive than sessions that he had taught at other events, which made it quite enjoyable for everyone (many questions were asked and issues discussed, attendees participated more in the hands-on sections). While it is clear that we want to maximise efficiency of these events, there is also a positive side of having lower attendance, too. Approach 5: Establishing rapport with the participants Another alternative to the carrot and the stick is trying to establish close communication with the participants. Mik Black of the University of Otago said that him being a very hands-on person also helped with attendance numbers: particularly when co-ordinating the larger ResBaz event with parallel sessions. He sent repeated emails to registrants with reminders to tell the hosts if they couldn’t come as there was a waiting list. That was somewhat effective but there were still had no-shows (plus drop-offs after the first day). It also worked at the time because Mik needed to email about other ResBaz details at the same time (venue, schedule, laptop setup, etc) - he wasn’t just spamming them with “are you still coming?” every two days. Sung Bae of the University of Canterbury (and previously NeSI) who has hosted and taught at a number of workshops across New Zealand developed a habit of going around the participants with the guest list and making them a name tag on the spot (and checking the attendance at the same time). Sung found it was helpful to build up personal connections with them (that helped him to remember their names too) and he also produced attendance lists from events he led. It possibly could help mitigate the number of drop-offs on the subsequent days of the workshop. We recognise that there is no silver bullet to help us sort out the attendance issues. However, there may be various ways these problems can be mitigated. The experiences from Software and Data Carpentry workshops can also possibly translate to other training that many members of this community run. Read More ›

SWC: First Impressions
Leo Browning / 2016-09-28
This post is a simple telling of the beginning of my experience with SWC and hopefully first of many encounters with SWC as a community as well as a learning experience. I attended a session a couple of months previously and was very impressed by my experience. I had a chat to the other attendees and found that their experience as complete beginners was as positive as someone who had some experience in python, git and shell as I did. I have always held a firm belief that digital literacy in research and education is both vital and sadly lacking, my own experience is entirely self taught throughout a university education, so it is no surprise that myself and my fellow attendees were drawn to the SWC workshop to fill that gap. SWC addressed the digital gap in research, and had me so hooked that I just had to stay involved. Over the next couple of months I looked for any opportunity; I incorporated just the python novice material into an independent workshop that I ran on Python for data pipelines, and now I have just instructed my first SWC session. The more involved I get the more I feel like SWC is something that I want to be involved in, because it addresses an important need in research, and because it does so in a way that is accessible and tailored by its community. I think my experience with SWC is not unique, and that hundreds of people around the globe have been in the same boat as I was. In fact I am sure it is not unique, as every contact I have seems to be with people as interested as I am. Some of my favorite examples of “of the people, by the people, for the people” places on the internet are Stackexchanges, reddit maker communities and wikipedia. And without fail, when I have gotten involved with these communities they are all underpinned by a strong sense of community purpose tailored to a specific need. Although SWC seems to me to be a mix of online and in person community, I look forward to it being added to my list of the best of the best as I continue to be involved. I would love to hear particularly interesting or inspiring first experiences of other new or long time members, I am sure that there are many! Read More ›

Teaching Programming to the Blind
Greg Wilson / 2016-09-23
Andreas Stefik (who discusses what we know about the usability of programming languages in this entertaining podcast) has worked extensively on computing education and programming tools for the visually impaired. When asked earlier this week how to teach programming to the blind, he sent the response below. We’re grateful for his comments, and for Evan Williamson’s recent pull request to improve the accessibility of our lessons. If you are making any presentations, be sure to provide the powerpoints to the blind individual in advance if you can. Powerpoint is the “most” accessible, but if you have any images, you need to manually specify “alts” inside the presentation. It’s not hard, but most people don’t realize powerpoint has this feature. When actually presenting material, for any kind of diagrams, I find it helpful (if my audience is blind) to practice oral description of the images ahead of time. This is sometimes tricky in code, especially for things like linked structures or trees. So, if you are explaining those kinds of concepts, just be aware that it might take some practice. I’ve practiced this for years in my own presentations, but still find it challenging sometimes for highly visual content (e.g., we taught 3D gaming to blind people this summer, which was a real challenge). Same goes with code. If the person doesn’t read code coming in, screen readers don’t even output all of the special characters without special modes turned on (e.g., verbosity mode in JAWS). For example, if I have: a = a - b it might say “a equals a b” (notice the missing minus). Point being, depending on the experience level of the person coming in, and how comfortable they are with their screen reader, they might need some help getting used to the quirks. When presenting, you sometimes have to actually say the special characters or they won’t know they need to be typed. If you are using tools for programming, a great many out there don’t work for the blind. The best you can do here is make sure you get them to the person in advance if you know they work. If you don’t, you can either ask or at least have a fallback. A basic text editor and the console usually works on most systems, although that doesn’t mean that kind of setup is easy to use. We have some stuff that might help, but it depends on what you are teaching and your specific needs. Different languages can cause major issues for blind individuals. I could go into detail, but imagine things like white space in Python. Or, imagine hearing statements like, “for left paren int i equals semicolon i less than ten semicolon i plus plus right paren left brace” in C. Both can cause headaches for various reasons. Find out about their specific needs beforehand if you can and if they are willing to tell you. If they just need magnification and large print materials, this stuff is a lot easier. If they are a total, then braille can be helpful. But, crucially, you need to know whether they know Braille, and if so, which kind. Braille standards have changed in recent years and it matters for computer code because of the special characters. I’m not a Braille expert, but if this is an issue on your end, I can get you info from some experts. Finally, one thing I almost always recommend to do before hand, just to make sure you have a little bit of context, is to download a screen reader and give it a shot. On Windows, grab NVDA, or on Mac, just press APPLE F5. Even spending an hour going over a tutorial can help give you a little of context. Spending an hour programming blind on your own won’t make you an expert, but it’s such a different way of programming that it might help give a glimpse into that world. Read More ›

Teaching at the Board
Chris Hamm / 2016-09-20
This post originally appeared on Chris Hamm’s personal blog. Software Carpentry is a non-profit organization that teaches basic computer skills. The lessons for these courses assume no prior knowledge among the learners. I am a certified instructor for Software Carpentry and its sister organization, Data Carpentry. I have taught two Software Carpentry workshops at the Federal Reserve Board in Washington, DC and they were very different from one another. Both workshops were successful but for very different reasons. This post explores the reasons why (I think) they were so different. The first course was held in late June and the learners were all relatively new employees and the level of lessons (shell, R, git, and more R) was appropriate for their skill level. The students were engaged, followed the materials, and it was an excellent workshop. The second course was held in late August and the learners for this workshop were all seasoned employees that had worked at the Fed for 2-3 years. After only 30 minutes into my R lesson I could tell that I did not have the students. I’ve taught this lesson ~10 times for Software Carpentry, I know the material very well and consider myself a good teacher. This was the first time I did not have any questions or learners in need of assistance. Something was up. I called an audible. I paused the lesson and started a discussion with the students to understand why the lesson was falling flat. The learners conveyed that they were all experienced with R and that this material we far too simple for them. Yet, their level of expertise was above that of Software Carpentry lessons. My co-instructor and I decided to alter the lessons so the learners could get something out of the course. I ditched the basic R lesson and went into more data manipulation, installing packages from source, interfacing R and SQLite, using the ProjectTemplate package and how RStudio integrates with git. My co-instructor changed her materials to focus more on data manipulation via the shell. We were lucky to be able to make adjustments and come up with new lessons, but this is not and should not be the standard for Software Carpentry lessons. It is important for potential leaners to recognize that we teach basic computer skills and to read workshop descriptions before signing up. Sticky notes (the learners write something that we could improve on and something that worked well for them) from my lessons are below: Intro to R Worked well: Thanks for noticing & adjusting to the level of the class: interested in for tomorrow: call stack, tidyr, split-apply-combine, vectorization I really enjoyed the small SQLite tutorial / everything was very clearly explained awesome explanation and super fun problem solving good changes at end loved interactive instruction I really benefited from doing exercises. It’s helpful to try things out yourself. Needs work: Too basic at first (but got better!) Git Worked well: Really liked going through ProjectTemplate w/git. I’m at the point in code, etc., where I’m thinking a lot more about organization etc. Although it was a little bumpy it wasn’t bad at all. On your own you run into errors and it was valuable to learn how to remedy them. Thanks for coming. I liked the shell parts & git Overall, I’m very glad I took the course. I’ll definitely adopt the RStudio, git, ProjectTemplate workflow. Great interaction / response to feedback from Day 1. very useful. having never used git, step by step Good git stuff, found it very helpful explanation of git basics were great, the repetition of commands was nice the git / unix classes are great. Very helpful. Needs work: Git demo became repetitive in the middle I might start with git and RStudio, then move to git in Linux because there are more visual clues to whats going on in RStudio More of a “Fed Board” problem but it would’ve been cool to work with the repositories already created in my section Why can’t we start at 9 Dimming the lights might make it easier to see the big screen. Thank you. Slow down the lecture please No complaints Read More ›

Systems Biology Postdoc Position with The Jackson Laboratory
Sue McClatchy / 2016-09-19
The Carter Lab at The Jackson Laboratory is seeking a Postdoctoral Fellow in computational genetics and systems biology. Our group is developing novel computational methods to derive biological models from large-scale genomic data. The strategies we pursue involve combining statistical genetics concepts such as epistasis and pleiotropy to understand how many genetic and environmental factors combine to control disease-related processes in animal models and human studies. We are especially interested in dissecting the genetic complexity of autoimmune disease, neurodegeneration, and cancer. The Jackson Laboratory in Bar Harbor, Maine, USA, is recognized internationally for its excellence in research, unparalleled mouse resources, outstanding training environment characterized by scientific collaboration and exceptional core services - all within a spectacular setting adjacent to Acadia National Park. The Jackson Laboratory was voted among the top 15 “Best Places to Work in Academia” in the United States in a poll conducted by The Scientist magazine. Exceptional postdoctoral candidates will have the opportunity to apply to become a JAX Postdoctoral Scholar, a selective award addressing the national need for research scientists who are accomplished in the broadly defined fields of genetics and genomics. The award includes an independent research budget, travel funds, and a salary above standard postdoctoral scale. Applicants for both positions must have a PhD (or equivalent degree) in quantitative biology or another quantitative discipline such as computer science, physics, or applied mathematics. Experience in statistical genetics and gene expression analysis is strongly recommended, and applicants must have a commitment to solving biological problems and good communication skills. Expertise in scientific programming languages including R, C/C++, Ruby, Perl, or Java is recommended. Expertise in cancer genetics, immunology, or neurological disease is desired but not required. Read More ›

Show Me Your Model
Greg Wilson / 2016-09-18
As far as I can tell, there are no published studies showing that version control is better than mailing files around or sticking them in shared drives. I believe it is–I wouldn’t work on a project that didn’t use version control–but nobody’s ever gathered data, compared it to a model, and published the result. One reason, I think, is that we don’t know how to measure the productivity of programmers. “Lines of code per hour” clearly isn’t right: good programmers often write less code, or spend their time on the parts of problems that have the highest thinking-to-coding ratio. Without some operationalization of “better” and “worse”, it’s hard to rank or compare alternatives. This problem came up again when I tweeted, “If anyone has data showing Excel is more error-prone than MATLAB/Python/R once you normalize for hours spent learning it, plz post.” It’s clear from the responses that most people on Twitter believe this, but I’m not really sure what “this” is: There are more errors in published results created with Excel than in results created with scripting languages like MATLAB, Python, and R. OK, but given that many more people use Excel, that’s like saying that people in China have more heart attacks than people in Luxembourg. Results calculated with Excel are more likely to be wrong than results calculated with scripting languages. This is what I had in mind when I tweeted, and I don’t think the answer is obvious. Yes, there are lots of examples of people botching spreadsheets, but there’s also a lot of buggy code out there. (Flon’s Axiom states, “There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code.”) And even if this claim is true, correlation isn’t causation. I think that people who do stats programmatically have probably invested more time in mastering their tools than people who use spreadsheets. The (hypothesized) differences in error rates could easily be due to differences in time spent in reflective practice. People who are equally proficient in Excel and scripting langauges are more likely to make mistakes in Excel. This formulation corrects the flaw identified above, but is nonsensical, since the only meaningful definition of “equally proficient” is “use equally well”. Spreadsheets are intrinsically more error-prone than scripting languages because they don’t show errors as clearly, they’re harder to test, it’s harder to figure out what calculations are actualy being done, or they themselves are buggier than scripting languages’ math libraries. These are all plausible, but may all be red herrings. Yes, it’s hard to write unit tests for spreadsheets, but it’s possible: Felienne Hermans found that 8% of spreadsheets included tests like if(A1<>5, "ERROR", "OK"). I’d be surprised if more than 8% of people who do statistics in Python or R regularly write unit tests for their scripts, so the fact that they could is irrelevant. To be clear, I’m not defending or recommending spreadsheets. But if programming really is a better way to do science than using spreadsheets, surely we ought to be able to use science to prove it and to figure out why. What I’m really hoping is that if we figure out how to answer an “obvious” question like this, we will then have the tools we need to tackle harder ones. Was the switch to Python3 worth making? Will Julia be better enough than the languages we’re using now to justify the hundreds or thousands of programmer-years it will take to build a comparable ecosystem? What about requiring people to do code reviews when they review papers–is that a better place for them to spend their time than having them pair-program as they’re developing their own code? We make decisions like this all the time, but victory seems to go to the loud and the lucky more often than to the righteous. Leslie Lamport once said, “Writing is nature’s way of letting you know how sloppy your thinking is.” Experimental design has the same effect: it forces you to clarify what questions you’re asking and how you’re answering them. So instead of asking if anyone has data comparing Excel to programming languages, I should have asked, “What experiment would you run to decide whether spreadsheets are more or less error prone than programs?” Answers to that would be very welcome. Read More ›

The Discussion Book
Greg Wilson / 2016-09-10
Hot on the heels of Small Teaching (which we reviewed last week) comes Brookfield and Preskill’s The Discussion Book. Its subtitle is “50 great ways to get people talking”, and that’s exactly what it delivers: one succinct description after another of techniques you can use in classes or meetings to get everyone talking productively. Each one is covered in three or four pages with the headings “Purposes”, “How It Works”, “Where and When It Works Well”, “What Users Appreciate”, “What to Watch Out For”, and “Questions Suited to This Technique”. I’ve used some of these before, like Circular Response, Think-Pair-Share, and Justifiable Pressure. Others seem less practical to me, but given how incisive everything else in this book is, I’m probably mistaken. Overall, it reminded me of Lemov’s Teach Like a Champion, and I think it deserves to be just as widely read. Read More ›

Community Service Awards
Greg Wilson / 2016-09-10
The Software Carpentry Foundation relies on volunteer efforts to achieve many of its goals. It is now inaugurating a Community Service Award as a way for its Steering Committee to recognize work which, in its opinion, significantly improves the Foundation’s fulfillment of its mission and benefits the broader community. Details are available on this page; nominations are welcome at any time, and we will make the first awards before the end of this year. Read More ›

September Carpentries Community Call
Tracy Teal, Kate Hertweck / 2016-09-09
Our next Carpentries Community Call (formerly called Lab Meeting or Town Hall meeting) will be Thursday, September 15 (September 16 Aus/NZ). These meetings will now be monthly on the third Thursday of every month. It would be great to see instructors there! These calls are a great chance to connect with other Carpentry instructors and get updates and information on important and interesting topics for the community. Times: 7am Pacific / 10am Eastern / 2pm UTC / 12am (Sept 16th) Sydney 4pm Pacific / 7pm Eastern / 11pm UTC / 9am (Sept 16th) Sydney Topics this month will include: New lesson template Policy committee and update on CoC IRB approval and updates on assessment Highlighting manuscripts from our community Election on rules for Software Carpentry Steering Committee Head over to the etherpad to let us know you’ll be attending one of the two sessions. Read More ›

17 August-12 September, 2016: Steering Committee, Google Summer of Code, rOpenSci, Small Teaching, Ten Simple rules.
Martin Dreyer / 2016-09-09
##Highlights We are amending the steering committee election procedures. Some members of our community co-authored research papers, and would appreciate some feedback. A very succesful Google Summer of Code 2016 has come to an end. Openness can still lead to a frustrating situation. You can now log in to the etherpad to let us know if you will be attending the monthly Carpentries Community Call. ##Tweets Excel might be to blame for your conversion mistakes. Software Sustainability Institute fellowship programme 2017 applications now open. Learn how to make your research analysis better and reproducible at PyConZA 2016. Read more about Academic archetypes. What would you like to have at the Brisbane Research Bazaar (ResBaz)? A good read on how to be a Modern Scientist. If you have innovative ideas for open science the arnold foundation may be the place for you. ##Vacancies rOpenSci is looking to employ a postdoctoral scholar to help with grant research. ##General For our Instructor Training Course, we would like to put together ten simple rules on how not to engage your students when instructing. University of California, San Diego’s first Library Carpentry workshop was recently run, and it was a huge success. Small Teachings as suggested by James Lang may make a big difference in your teaching. The Discussion Book can be a helpful tool to get people tlking productively. 17 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: September: University of Colorado,McGill University, Griffith University, University of Chicago, University of Waterloo, Scripps Institution of Oceanography, UCSD, European Molecular Biology Laboratory, University of British Columbia - EOAS, University of Southern Queensland, James Cook University, Townsville, Nathan Campus, Griffith University, University Of British Columbia. October: Simon Fraser University, Aristotle University of Thessaloniki, Simon Fraser University, The River Club, Queensland Brain Institute, University of Colorado Boulder, UW Madison, University of Würzburg. 2017: AMOS / MSNZ Conference. Read More ›

Post-doc Position with rOpenSci
Karthik Ram / 2016-09-07
The rOpenSci project based at the University of California, Berkeley seeks to hire a postdoctoral scholar to work on the research activities funded by the grant titled “Fostering the next generation of sustainable software and reproducible research practices in the scientific community”. The project develops open source software to promote reproducible research practices in the scientific community. The postdoctoral scholar will focus on a research topic aligned with their own interests in order to better understand and improve scientific software practices. Possible topics include but are not limited to: Defining and evaluating sustainability for research software Improving the development process that leads to new, sustainable, reusable, and impactful software Developing recommendations for the support and maintenance of existing software: engineering best practices, transparency, governance, business and sustainability Building large and engaged user communities Understanding and recommending policy changes to software credit, attribution, incentive, and reward; issues related to multiple organizations and multiple countries, such as intellectual property, licensing, and mechanisms and venues for publishing software, and the role of publishers Improving education and training Studying careers and profession institutional changes to support sustainable software such as promotion and tenure metrics, job categories and career paths We expect the postdoc will disseminate their findings in the form of blog posts, technical reports, workshop and conference talks and papers, journal papers or software products, as appropriate for the work and the applicant’s own career goals. While experience in developing academic software may be helpful, many projects in the areas above need not require software development experience. The candidate can expect to work closely with mentors from the rOpenSci project aligned with their interests, such as Dr. Karthik Ram and Dr. Carl Boettiger (UC Berkeley), Dr. Jenny Bryan (University of British Columbia), and Dr. Daniel S. Katz (University of Illinois), as well as other members from the rOpenSci and UC Berkeley communities. This position will be based at UC Berkeley, but arrangements for working remotely may be available. This research is funded by the rOpenSci project through a grant from the Helmsely Trust. The initial appointment will be for 1 year, full-time (100%), renewable for another year based on adequate progress made in the first year. The position comes with a competitive postdoc salary plus benefits, as well as a generous yearly allowance for computing equipment, conference travel, and other research expenses. Expected start date is November 2016. Please contact Dr. Karthik Ram karthik.ram@berkeley.edu with any informal questions about the position before applying. Qualifications: Applicants must possess a PhD or equivalent degree by their start date (more details in the full job ad linked below). Applicants from natural or social sciences, computer science, statistics or related disciplines are all welcome. To apply, submit the following items online at https://aprecruit.berkeley.edu/apply/JPF01132. Read More ›

We Still Can't Have Nice Things Together
Greg Wilson / 2016-09-05
Last year I used YAML and Norway to explain why why we can’t have nice things. We’ve just stumbled over a problem that has forced us to re-do some of the work we did to publish our lessons a couple of months ago, and which illustrates how openness can still be frustrating to actually do. Are you sitting comfortably? Then let’s begin. GitHub can publish repositories as website. If the user’s ID is gloom, and the project’s name is despair, then the GitHub repository’s URL is http://github.com/gloom/despair. If that repository has a branch called gh-pages, GitHub automatically creates a website at http://gloom.github.io/despair. You will never find a more wretched hive of scum and villainy than the web. As a result, sites and browsers need to take precautions, some of which affect us. Many sites (including GitHub) encourage people to use HTTPS (which is secure) rather than HTTP (which is not). In particular, newly-created repositories on GitHub will only serve GitHub Pages websites over HTTPS, and older sites are being pushed to switch over as well. This is often done using redirection: if you go to http://whatever (insecure HTTP), the website automatically redirects you to https://whatever (secure HTTPS). If a browser loads a page using HTTPS (secure), and that page then tries to load CSS stylesheets or Javascript files using plain old HTTP (insecure), the browser won’t do it. GitHub uses Jekyll to convert Markdown and HTML to published pages. If Markdown or HTML files in the gh-pages branch have the right kind of header, GitHub doesn’t publish them as-is. Instead, it uses a tool called Jekyll to translate them. Jekyll reads variables from a file in the project’s root directory called _config.yml and makes it available to pages as they’re being translated. For example, if the configuration file defines a variable called title, pages can refer to site.title. This lets people avoid repeatedly repeating information repeatedly. Our web pages need to know where to find their CSS and Javascript. Our lesson pages and workshop website pages have to refer to the CSS and Javascript we use to style them. The simplest way to do this is to use absolute references from the root like this: <link rel="stylesheet" type="text/css" href="/css/pretty.css" /> The only part of this that matters for present purposes is the href URL. It looks like an absolute path (i.e., it starts with a slash), so web browsers will automatically put the name of the website’s domain in front of it. For example, if the website is http://woe.com, and the page is http://woe.com/misery.html, then the browser will convert /css/pretty.css to http://woe.com/css/pretty.css. But wait: if the GitHub repository’s URL is http://github.com/gloom/despair. its website is published at http://gloom.github.io/despair. The last part of that URL — despair — isn’t part of the domain name, so the browser cuts it out when following absolute references. For example, imagine that the GitHub Pages website contains a page called index.html, and that page has the CSS link above to pretty.css. The browser will convert the URL to http://gloom.github.io/css/pretty.css, which is wrong, because the despair part of the path has been chopped out. Oops. OK, let’s just add the domain name. One way to solve this is to use full URLs for resources instead of absolute paths. For example, instead of loading /css/pretty.css, our web page could explicitly refer to http://gloom.github.io/despair/css/pretty.css. That’s easy… …except we want to share page templates between many different websites, each of which has a different base URL. More specifically, we want to have a single HTML file (let’s call it _layouts/page.html) that specifies our pages’ fonts and color scheme, places the logo in the right place, and so on. We don’t want to have to edit that page for each website, because then we’d have to re-do all our edits each time we wanted to make a style change that affected all our sites. Variables to the rescue. We’re not the first people to run into this problem, so GitHub provides some help. When GitHub runs Jekyll to convert our pages, it gives Jekyll all the variables we define in our repository’s _config.yml file, and another bunch of variables that GitHub automatically defines for us. One of these is called site.github.url, and its value is exactly the URL we want: the sub-domain with the base URL of our website. In our running example, the value of site.github.url is http://gloom.github.io/despair. Our layout can then use: <link rel="stylesheet" type="text/css" href="{{site.github.url}}/css/pretty.css" /> to refer to things. The double curly braces tell Jekyll to insert the variable’s value, so the link here becomes what we want. Or not. Unfortunately, GitHub always sets site.github.url to be the HTTP version of the site’s URL, rather than the HTTPS version. Boom: if the page is loaded via HTTPS (secure), the URL for the CSS is just HTTP (insecure), so the browser refuses to load it, and the page appears without any styling. It gets worse. There’s another problem here. We don’t want our pages to have URLs that start with gloom.github.io — we want them to start with optimism.org, because that’s the name of our website. GitHub lets us do this using something called a CNAME. In brief, we can tell GitHub that we want gloom.github.io to pretend to be optimism.org, so that: If someone goes to http://gloom.github.io, they are automatically redirected to http://optimism.org. If someone goes to http://optimism.org, the pages are served from http://gloom.github.io, but the URL still appears to be http://optimism.org. Oops: if Jekyll used the variable site.github.url when creating the web pages, all the URLs for CSS and Javascript in those pages will have http://gloom.github.io/despair as their URL. If the browser thinks it’s going to https://optimism.org (with secure HTTPS), then it has two reasons to refuse to load the CSS: those files are coming from insecure URLs (HTTP instead of HTTPS), and they’re coming from a completely different domain. Let’s load the styles from a fixed domain. But hang on: there’s nothing wrong per se with loading files from another domain. Why don’t we do something like this for our CSS: <link rel="stylesheet" type="text/css" href="https://content.org/css/pretty.css" /> The difference here is that the URL always refers to a fixed site (in this case, content.org) and always uses HTTPS. As long as that site has a valid certificate for HTTPS, the browser will quite happily load this file. And since the URL is independent of which website is hosting the page, the configuration file can define a variable like site.content_url to be a fixed value, and everything can refer to that and it will all just work and we can go home. But suppose we want to do some more work on the subway ride home. We make a change to a page, run Jekyll to convert the page to HTML, open it in the browser—and the CSS doesn’t load, because we’re offline. This isn’t a big problem for people who are creating workshop websites (which is by far the most common use of our templates). It is a problem for people who want to contribute to lessons, though, since they will often want to preview their changes locally, and may well be doing that work on a plane or while otherwise disconnected. Let’s define our own variable. All right, let’s try another approach. Suppose each of our websites defines a variable called site.baseurl in its configuration file to be the name of the project with a leading /. All of our web pages can then refer to things using: <link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/pretty.css" /> which Jekyll expands to something like: <link rel="stylesheet" type="text/css" href="/despair/css/pretty.css" /> If we access the page using HTTPS (secure), everything is fine, because this now looks like an absolute path below the name of the domain. If we access the page using HTTP (insecure) and are redirected to HTTPS, this is still fine (same reasons). And if we are using a CNAME, and have mapped http://gloom.github.io to http://optimism.org, then: http://optimism.org/despair/index.html is mapped to http://gloom.github.io/despair/index.html. The browser translates the reference inside that page from /despair/css/pretty.css to http://optimism.org/despair/css/pretty.css. The web then finds that file at https://gloom.github.io/despair/css/pretty.css, which is exactly what we want. Yay! We’re done! We can— Wait. What about offline work? When we run Jekyll locally to preview pages, it starts up a little web server at http://localhost:4000, and tells you “please go to this URL to preview your pages”. That URL is wrong if we are using this site.baseurl trick: we actually need to go to http://localhost:4000/despair to get everything. Interlude: What’s standard may not be right for everyone. Defining site.baseurl is the standard workaround for the problem we’re trying to solve, but it’s not a good solution for us. First, many of our users are newcomers to HTML templating, web servers, and pretty much everything else we’ve been discussing. If we rely on site.baseurl, people will (quite reasonably) follow Jekyll’s instructions to go to http://localhost:4000, get a “page not found” error, and wonder what they’ve done wrong. (This is not speculation.) Second, if we rely on site.baseurl, then everyone who creates a new workshop website will have to edit that site’s _config.yml file as well as its index.html file. Given what we’ve seen in instructor training workshops, that will significantly increase people’s frustration quotient. Overriding variables. Here’s another approach. When Jekyll runs on GitHub, it reads its configuration from _config.yml, and only from _config.yml. When we run it on our desktops, though, we can tell Jekyll to read several configuration files, each of which can re-set variables set in previous files. We can therefore create a second configuration file called _config_local.yml (or any other name we choose) and have it define site.baseurl to be the empty string. When we want to preview locally, we pass Jekyll extra parameters to tell it to read this configuration file, and all the URLs are then correct for a local build. This works — until someone just runs jekyll serve on the command line as they would normally do (and as all the online documentation tells them to). Boom: the CSS isn’t loaded. Again, this isn’t speculation (though it probably affects fewer people). Let’s use relative URLs. What if we don’t use absolute URLs at all? What if we use relative URLs everywhere? If a page is in the root directory of our website, it can refer to the CSS files using: <link rel="stylesheet" type="text/css" href="./css/pretty.css" /> If a page is in a sub-directory, it can use: <link rel="stylesheet" type="text/css" href="../css/pretty.css" /> i.e., use .. instead of . as the first part of the path to the CSS file. That will always work; the trick is to get the path to the root directory of the website into each page. A sensible system would automatically give us a variable with the path to the project’s root directory. Jekyll doesn’t, but we can define a variable for ourselves in each page’s header. If the page is in the root directory, page.root is .; if it’s a level down, page.root is .., and so on. The layout pages can then link to the CSS using: <link rel="stylesheet" type="text/css" href="{{page.root}}/css/pretty.css" /> Requiring every single page to define a particular variable when almost all of those pages will give it the same value feels like sloppy programming practice. Luckily for us, Jekyll provides a way to set a default. If we add this: defaults: - values: root: .. to _config.yml, then every page gets a variable called root with the value ... This almost does what we want: when we compile the Markdown file melancholy.md, we are creating a page melancholy/index.html in the output directory, so that its URL is http://gloom.github.io/despair/melancholy/. (By convention, a URL that ends with a slash / is assumed to refer to a directory, and the file we actually want is the index.html file in that directory.) Thus, all of our pages are one level below the root directory in the output directory, so they all want page.root to be .. But there’s one exception: the home page of the lesson itself. This page is ./index.html, i.e., it’s the index.html file in the root directory of the whole lesson, so its page.root needs to be . rather than .. We can handle that by explicitly defining page.root in index.md, which overrides the default set in _config.yml. Once we’ve done that, our pages, layouts, and included HTML fragments can all use {{page.root}}/this/that to refer to whatever they want. It’s not ideal — we’ll have to explain it to people who’ve used Jekyll before, and if we ever create deeper directory hierarchies, it will quickly become as complicated as the alternatives we’ve discarded — but it’s good enough for now. How this got into production. The new template that we deployed in June 2016 uses site.github.url. We recognized the problem with HTTP vs. HTTPS early on, so the standard layouts shared by all the lessons do this: <link rel="stylesheet" type="text/css" href="{{ site.github.url | replace_first: 'http:', 'https:' }}/css/pretty.css" /> i.e., they convert the http prefix given in site.github.url into https. That solved the problem for pages served from github.io domains, but not for domains using CNAME: GitHub even says that they don’t support HTTPS and CNAME domains (paragraph 3). I didn’t spot this because I didn’t think to test pages on CNAME’d domains: once it worked for HTTPS on GitHub, I assumed it would work everywhere. I should have known better. Hacks like turning http into https always break, and if one of my GSoC students had tried to put something like this into production, I would have told them to think again. The real lesson from this episode is that we still can’t have nice things — or rather, we can’t have them all at once. GitHub Pages are a great way for people to build simple little web sites. Templating tools like Jekyll are great too, and HTTPS is essential, but when you try to combine them, you wind up with this. If we really want people to do open research, we have to make openness a lot less frustrating. Read More ›

Small Teaching
Greg Wilson / 2016-09-05
Elizabeth Green’s Building a Better Teacher changed how I think about teaching, and sparked some good discussion in our community. Therese Huston’s Teaching What You Don’t Know had a similar impact a few years earlier, and now there is James Lang’s Small Teaching. As its title suggests, Lang’s book focuses on little things that teachers can do right now to improve their teaching, rather than on big, systemic changes that might have larger impact, but which require larger effort (and probably buy-in from other people). To be included, a practice had to: have some foundation in the learning sciences, have been shown to have impact in real-world situation, and have been used or observed by the author. His suggestions are all either: brief (5-10 minute) classroom or online learning activities, one-time interventions in a course, or small modifications in course design or communication with students. Most importantly, they require minimal preparation and grading. Frequent low-stakes quizzes to prompt recall, interleaving different material, having students write a one-minute thesis or draw a concept map, making the assessment criteria clear, setting aside time for self-explanation and peer explanation—none of these should be new to anyone who has been through our instructor training course, but Lang does an excellent job of organizing them and connecting them back to research and theory. We do less than half of what Lang recommends in our workshops. I’m going to start suggesting Small Teaching as an auxiliary text in our training, and I hope that a year from now, some of our instructors will be able to tell us how these techniques have worked for them. Read More ›

Google Summer of Code 2016 ended
Raniere Silva / 2016-09-05
As announced in April, we had some Google Summer of Code Students working with us this year. Manage workflow for Software Carpentry and Data Carpentry instructor training Chris Medrela, under the mentoring of Greg Wilson and Piotr Banaszkiewicz, worked on AMY implementing instructor training workflow that is already in use as we reopened instructor trining. Result-aggregation server for the installation-test scripts for Software Carpentry and Data Carpentry Prerit Garg, under the mentoring of Piotr Banaszkiewicz and Raniere Silva, worked on a web server that receive and store information provided by the installation script. Other projects under NumFOCUS umbrella This year our projects were under NumFOCUS umbrella. We thanks NumFOCUS for their support and we want to highlight their other Google Summer of Code projects. Dynamic Topic Models for Gensim Bhargav Srinivasa, under the mentoring of Lev Konstantinovskiy, Radim Rehurek and Devasena Inupakutika, worked on Gensim that now supports Dynamic Topic Model. Upgrade to datapackage.json standard for EcoData Retriever Akash Goel, under the mentoring of Henry Senyondo and Ethan White, worked on EcoData Retriever that now is compatible with Datapackage.JSON standard when saving the scripts that retrieved the data requested by the user. Also, now EcoData Retriever works with Python 3. Improving the state of Optim.jl for JuliaOpt Patrick Kofod Mogensen, under the mentoring of Miles Lubin, worked on JuliaOpt that now has a faster implementation of Simulated Annealing solver. Also, now JuliaOpt’s documentation includes tons of examples. Presolve Routines for LP and SDP within Convex.jl for JuliaOpt Ramchandran Muthukumar, under the mentoring of Madeleine Udell, worked on JuliaOpt MathProgBase that provides high-level one-shot functions for linear and mixed-integer programming. Ramchandran’s work focus on the presolving the linear and mixed-integer programming problems, a important step to improve benchmarks. Categorical Axis for matplotlib Hannah Aizenman, under the mentoring of Michael Droettboom and Thomas Caswell, worked on matplotlib to reduce the code that users need to write when working with categorical data. Read More ›

Feedback Sought on Two Papers
Greg Wilson / 2016-09-02
We would be very grateful for feedback on two papers co-authored by members of our community: Taschuk & Wilson: “Ten Simple Rules for Making Research Software More Robust”. Wilson, Bryan, Cranston, Kitzes, Nederbragt, & Teal: “Good Enough Practices for Scientific Computing”. Each paper has a link at the top to send us email; we look forward to hearing from you. Read More ›

Election Announcement: Amending Steering Committee election procedures
Kate Hertweck / 2016-09-01
The Steering Committee will be holding a special election on October 10-14 regarding the following amendment to Steering Committee elections: “Following an election, the new Steering Committee will meet jointly with the previous Steering Committee for no less than 60 days. For meetings during the first 30 first days, the new SC will not have voting privileges. After 30 days, voting privileges are transferred to the new SC.” We believe this amendment is necessary to provide continuity in leadership following elections as the Steering Committee transitions to its new members. We envision the timeline as follows: November: Elections announced (90 days prior) January: Candidate applications due; lab meeting to discuss candidates February: Elections, first joint meeting, new committee nominates officers March: Second joint meeting, new committee elects officers, old committee attends meeting but no longer has voting rights April: New committee continues normal operations An elected member, therefore, is obligated from the February in which they are elected through March of the following year. This amendment does not change the time period during which an elected Steering Committee has voting privileges. To see how this amendment fits into existing governance rules, please go here. If you have questions regarding this amendment, you are welcome to add them to this pull request. Given that the current Steering Committee is only the second to be elected by the community, we are committed to continue developing procedures and guidelines to best serve our community. Please stay tuned for information on how to vote! Read More ›

Ten Ways to Turn Off Learners
Greg Wilson / 2016-08-19
PLOS has published a very useful set of articles called Ten Simple Rules that covers everything from effective statistical practice to winning a Nobel Prize. I’m just as interested in what not to do and what mistakes to avoid, so as part of our instructor training course, I’d like to put together a list of ten simple ways you can turn off your learners. My first five are listed below; if you’d like to add your own, comments would be very welcome. Sneer at what they’re doing right now by saying things like, “OMG, you’re using a spreadsheet!?” or, “If it isn’t open, it isn’t real science.” Most scientists have been doing first-rate work for decades with their existing tools and practices; we may think we now have better ones, but telling them they’ve been wrong all these years isn’t likely to make them listen. Trivialize their difficulties by saying things like, “Oh, it’s easy, you just fire up a VM on Amazon, install this variant of Debian, and rewrite your application in a pure functional language.” This stuff is genuinely hard; talking as if it’s not (and implying along the way that they must be stupid if they don’t get it right away) isn’t going to motivate them. Choose exciting technology. “There’s this cool new language I’ve been meaning to try…” should send the listener running: “new” usually means “rapidly changing” and “poorly documented”, and while that may be fun for the 5-15% who like computing for its own sake, it’s just an extra load for the majority. (See also Dan McKinley’s talk Choose Boring Technology.) Insist on doing everything the right way. You don’t draw architectural blueprints before you paint a wall. Similarly, you don’t need a cross-referenced design document (with appendices) for a twenty-line script that merges two bibliographies. Insist that people use a different operating system or package because it’s more convenient for you. They have to deal with the intrinsic cognitive load of the actual lesson material; don’t also impose the extraneous load of new keyboard shortcuts and unfamiliar menus. Read More ›

Teaching Library Carpentry to Librarians at UCSD
Juliane Schneider / 2016-08-17
I sort of knew what I was getting into. I’d done the excellent instructor training in February at UC Davis, which is a good thing, because I didn’t know the first thing about instruction. I didn’t know the first thing about organizing workshops, either, but I figured what the hell; my colleague and partner-in-crime Tim Dennis had reserved the big conference room in our library, which is really hard to get. If you’re in academia you know the first rule, which is never waste a reserved prime conference room. With lots of prompts and help from my colleague Tim Dennis, we put together a Library Carpentry workshop at UC San Diego. Since the instructors were all from the institution (UC San Diego), the host/instructor issue wasn’t much of an issue. The workshop website was https://ucsdlib.github.io/2016-07-18-UCSD/ The workshop ran from July 18-22, and because some library staff would be unable to attend the entire workshop, I allowed people to register by the day. The schedule ran: Day one: Fundamentals/Regex Day two: Bash/shell/command line Day three: Git/Github Day four: Open Refine Day five: Office hours There were 40-50 people on days one and four, and about 30-40 on days two and three. We had five or six people come to office hours for help with Open Refine after the workshop. I taught the Foundation/Regex and Open Refine, Tim Dennis and Reid Otsuji taught Bash/Shell, and Matt Critchlow taught Git/Github. We had at least two helpers per day who were indeed very helpful. What We Learned While Preparing It takes a lot of time to think through what you need as far as room setup, materials, refreshments, and publicity. I wish I’d made a list for what we needed each day, as requirements differed throughout the week (the first day needed pens and paper, for example). You can rarely overestimate the amount of coffee needed when librarians and coding meet. Also, savory snacks are a hit, although I think someone lost a hand in the scramble for Babybel cheese. What We Learned While Instructing Etherpad, etherpad etherpad! Mention the etherpad! There were a few obstacles to getting our attendees to collaboratively note-take. First of all, I think that the fact that our helpers were taking notes gave them an ‘official’ air that we didn’t mean to give. Secondly, especially during the Bash class, people were saying that with the Bash, Notepad, browser and etherpad open, it was too much. I think that next time, we’ll make sure to have a second screen with the etherpad on it, so that people can see that others are taking notes and they can reference it without having it on their screen if inconvenient. The helpers shouldn’t huddle together in one spot in the room. Scatter them around the room so that they spend their time interacting with the students, not each other. Audience Things The audience was very engaged, helping each other and answering questions. From some of the comments, though, I think we may have erred on the side of caution in the Open Refine lesson by pausing too long to let everyone catch up. Next time, I’m going to try to strike a better balance in the speed of the lesson and more actively encourage students to help each other (and encourage the practice of staying off of peripheral devices and suspension of Pokemon play during the class). Particular Things In the Open Refine session, I am going to try to create some exercises in order to break up the demo. I think that three hours of demo is hard for an audience to take in even if they’re following along in the tool, so perhaps creating a second, ‘test’ dataset that can be used for exercises will drive home the concepts while allowing some hands-on expermentation and thought processes/co-learner discussion about the tool’s context and use once outside the class. The librarians who made up the workshop participants struggled to find context for the Bash/Shell and Git tools in their work. Matt made the excellent observation that while librarians are great at using tools, they don’t really know how or have experience in how to use a computer. I think this lack of experience of using computers ‘as computers’, so to speak, makes it more difficult to understand how Bash and Shell can be used in their current tasks. Git, on the other hand, has the interesting problem of being a tool for collaboration, which usually takes two people, or maybe one person and their doppleganger. Learning the steps in setting up a repository took so much time that the application of the space was not able to be effectively examined. My thought was that if we taught it again, especially within the library, we could find people interested in the setup, and have Matt hold a pre-class to set up a repository for each department. Then, in the class proper, we could concentrate on the collaborative aspect of Git/Github and then let them all work with their department-specific repositories as departments in the class. This will emphasize the collaborative uses of the tool and perhaps uncover use cases for the various departments. Of course, this would only work with a workshop that was institution-centered. We’d rounded up a bunch of whiteboards for the classes to use, but we never really incorporated them. If, like us, you find yourself unable to get a second screen up for the etherpad, encourage the groups of students to use the whiteboards. They can be used to work out errors or roadblocks, write down commands, and record ideas which can then be transferred to the etherpad. Also, remind students that if they get an error message while working with a tool during an exercise or challenge, you can do a search for that error message and find solutions which they can then record on the etherpad or whiteboard. Giving Back to the Community Things After the workshop, all of us were inspired to improve current lessons, and create new ones. We sat down together the week after the workshop and Matt led us through the approved Software Carpentry method of adding materials to the Library Carpentry repository via Git. Some of the suggested new lessons are R for Librarians and an advanced Open Refine class concentrating on using Regex and GREL. We also want to work on the Git/Github lesson and the Open Refine lessons that currently exist. The Grand and Glorious Conclusion We had a great time teaching the workshop! There were no brawls, nor were we pelted with muffins or laptops, so the students seemed to find it useful, which was reinforced by the comments and sticky-note feedback we received. We got several inquiries about when we were going to hold another one, so ongoing Library Carpentry instruction is something that is definitely a need for UC San Diego. Note: The original Library Carpentry repository created by Dr James Baker is here. Reworked and updated lessons from the recent global sprint are here. They are the lessons prefixed with ‘library’. Read More ›

1 -16 August, 2016: Assessment Deputy Director, Policy Subcommittee, Code of Conduct, Workshop Resources, Bug BBQ, and Vacancies.
Martin Dreyer / 2016-08-15
##Highlights Dr. Kari L. Jordan has been appointed as Data Carpentry’s new Deputy Director of Assessment. Join the Policy Subcommittee and/or provide feedback on the Reporting Guide for handling potential Code of Conduct Violations. Data Carpentry has put together a terrific resource for workshop organisation. Read about our recent Bug BBQ that was held in the lead up to publishing our lessons. ##Vacancies NCSA at the University of Illinois are looking for applicants for the position of Training Coordinator. NumFOCUS is looking for a full-time Projects Director. ##Tweets @CISTIB is now hiring research software engineers. Find the Carpentries on Facebook. High Energy Physics software training for the 21st century inspired by the principles of Software Carpentry. You can now also order Software Carpentry apparel and accessories from Cafe Press. ##General Could we used the principles discussed in Michael Kölling and Fraser McKay’s Heuristic Evaluation for Novice Programming Systems to create an evaluation system for our lessons? How well do you understand open source licenses? A survey has been set up to investigate. Did you know that the skills you learn from Software Carpentry might be able to help you change careers. James Cook University’s first Library Carpentry workshop was recently run by two newly qualified instructors. The University of Toronto Libraries also recently hosted a Library Carpentry workshop. Seymour Papert - one of the inspirations for Software Carpentry - recently passed away. 14 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: August: Colorado State University, Michigan State University, Western Sydney University, University of Oklahoma, Vanderbilt University Medical Center, Interacting Minds Centre & Cognition and Behavior Lab, Aarhus University, Johns Hopkins University, Department of Earth and Planetary Sciences, University of Namibia, University of North Texas, Federal Reserve Board, University of Tasmania, University of Wisconsin, Madison. September: Griffith University, University of Chicago, European Molecular Biology Laboratory, University of Southern Queensland, James Cook University, Townsville, University Of British Columbia. October: Simon Fraser University, Aristotle University of Thessaloniki, The River Club, University of Colorado Boulder, University of Würzburg. 2017: AMOS / MSNZ Conference. Read More ›

2016 Bug BBQ Summary
Tiffany Timbers / 2016-08-15
At the beginning of the summer, the Software Carpentry community joined forces hold their first ever Bug BBQ. The goal of this event was to squash as many bugs in our core lessons as possible before we published and shipped the new version (2016.06) of the lessons. In addition to the goal of getting a large amount of work done as quickly as possible, we also aimed to use this event to engage and connect with our world-wide community. In anticipation of the event, we worked with the lesson maintainers to identify and create specific milestones (issues and pull requests) that needed to be resolved before we could publish the new lesson versions. On the day of the event, our community worked hard to address these milestones, as well as to proofread and bugtest the lessons. The Software Carpentry community embraced the Bug BBQ event. We had 7 local sites spread across North America and Europe, as well as many many people participating remotely across the globe. On the day of the Bug BBQ alone, we observed a tremendous increase in the number of submitted, merged and rejected pull requests per day compared to the previous month. Analysis courtesy of Bill Mills. The new version (2016.06) of the lessons have now been published, and details about who contributed, and citations can be found here. We would like to thank all who contributed to the new versions of the lessons, including those who participated before, during, and after the Bug BBQ. Our materials are far from perfect, but we’re very proud of what our community has built. The Bug BBQ was organized by the Software Carpentry Mentoring Sub-Committee. The committee welcomes feedback and ideas for future Bug BBQs and other community events. To get in touch with us, please email us at mentoring@lists.software-carpentry.org. Read More ›

Training Coordinator Position at NCSA
Greg Wilson / 2016-08-10
The Computational Science and Engineering program and the National Center for Supercomputing Applications at the University of Illinois at Urbana-Champaign seek applicants for the position of Training Coordinator. This position will report jointly to the Director, CSE and the Assistant Director for Scientific Software and Applications at NCSA. The Training Coordinator will enable cutting-edge research involving the use and/or development of advanced digital software and hardware across all disciplines by delivering, coordinating, and administrating training programs for students and researchers at the University of Illinois and area institutions, including industry. The individual in this position will play a key role in the research life of the campus, identifying important computational and data science skills and technologies and demonstrating how they can be used to solve problems in computational science and engineering and other disciplines. For details, please see the full job posting. Read More ›

Resources for Running Workshops
Erin Becker / 2016-08-08
A successful workshop is the result of coordinated effort among many different types of participants, including instructors, helpers, hosts, learners and staff. Software and Data Carpentry offer two types of workshops: self-organized and centrally-organized. These workshop types differ in terms of instructor training requirements, fee structures, and participant responsibilities, with local hosts and instructors at self-organized workshops taking on administrative responsibilities normally handled by Carpentry staff. Instructors (both new and experienced) and workshop hosts often have questions about their roles in workshops logistics, especially with how their responsibilities differ between self-organized and centrally-organized workshops. To help clarify the roles played by the different participants, and the differences between self- and centrally-organized workshops, we’ve put together some resources to guide participants through the workshop organizational process. These resources are available on Data Carpentry’s “Host a Workshop” and “Self-organized Workshops” pages and include: Checklists for: instructors hosts for centrally-organized workshops hosts/lead instructors for self-organized workshops and lead instructors for centrally-organized workshops Email templates for communicating with co-instructors, helpers, and learners An accessibility checklist A list of necessary equipment and A troubleshooting page We want these resources to be as useful as possible to our instructor, helper, and workshop host community. If you find that anything is unclear, incomplete, or would like to suggest an additional resource, please email ebecker@datacarpentry.org. Read More ›

Code of Conduct and Call for Volunteers for Policy Subcommittee
Erin Becker / 2016-08-08
The Carpentries are proud to share a common Code of Conduct (CoC), which outlines acceptable standards of behavior for our community members and those interacting with the Carpentries at in-person events and online spaces. Historically, however, we have not had an official process for reporting potential Code of Conduct violations or for adjudication and resolution of reported incidents. Thanks to input from our community, we recognize that defining these procedures is an important step in ensuring that any such issues are dealt with transparently in order to keep our community welcoming and safe for all. Members of the Carpentry Steering Committees and staff have been working on defining these policies, and have put together a Reporting Guide and Enforcement Manual for handling potential CoC violations. These documents are based on valuable insights gained from previous community discussions of this issue (especially here and here). While we have made every effort to represent the views voiced in these discussions, ultimately, the CoC impacts every member of our community. To ensure that these policies meet the community’s needs, we would like your input. The Carpentries are convening a joint Policy Subcommittee. Members of this group will be responsible for serving as advocates for the CoC, moderating Carpentry listservs, adjudicating reported CoC violations and developing and enforcing related policy as needed. If you are interested in serving the Carpentry community as a Policy Subcommittee member, please use this form to tell us about yourself, your involvement with the Carpentry community, and what valuable skills and perspectives you would bring to the Policy group. Applications will be open until Monday, August 15th at 5pm Pacific (Monday midnight UTC). Regardless of your interest in joining the Policy Subcommittee, we invite all of our community members to give us feedback on the CoC Reporting Guide and Enforcement Manual. These documents can be found here as a Google Doc. The finalized policy will take into account community comments, so please add your voice to the discussion! If, for any reason, you would be more comfortable communicating your comments privately, please feel free to email DC’s Associate Director Erin Becker (ebecker@datacarpentry.org) and I will ensure that your voice is represented in the discussion. The upcoming Lab Meeting will include a discussion of these issues. We encourage all community members to attend and share your thoughts. The Lab Meeting will be held Tuesday, August 16th at 1pm UTC and 10pm UTC. We greatly appreciate the diverse insights our community members have brought to this discussion so far and look forward to hearing more from you as we continue to engage on this important topic. Read More ›

Seymour Papert 1928-2016
Greg Wilson / 2016-08-02
Seymour Papert passed away on Sunday at the age of 88. I never had the privilege of meeting him, but Software Carpentry would probably never have existed if I hadn’t stumbled across his inspirational book Mindstorms. You can read more about his life and work here; when you’re done, please go and help someone learn something—I think he’d have liked that. Read More ›

NumFOCUS Project Director
Greg Wilson / 2016-08-02
NumFOCUS (the organization which shelters Software Carpentry, Data Carpentry, and several other open science projects) is seeking to hire a full-time Projects Director to develop and run a sustainability incubator program for NumFOCUS fiscally sponsored open source projects. This is the first program of its kind, with opportunity for enormous impact on the open source ecosystem. The learnings from this program will be public, meaning it has the potential to change how all open source projects are managed. For more information, please see the job posting. Read More ›

How Well Do Developers Understand Open Source Licenses?
Greg Wilson / 2016-08-02
You are invited to participate in a survey on software licensing designed to investigate how well software developers understand common open source software licenses. We are looking for software developers that have built or are currently building on open source software in their projects (and I am personally interested in hearing from people building open source software for research). The study is being conducted by Prof. Gail Murphy (murphy@cs.ubc.ca) and graduate student Daniel Almeida (daa@cs.ubc.ca); participating in the anonymous online survey will take approximately 30 minutes. If you are interested in participating, please go to: https://survey.ubc.ca/surveys/danielalmeida/software-licensing-survey/ If you have any questions, please contact us at daa@cs.ubc.ca. Read More ›

Heuristic Evaluation for Novice Programming Systems
Greg Wilson / 2016-08-02
I have recently been reading and enjoying a new paper by Michael Kölling and Fraser McKay titled “Heuristic Evaluation for Novice Programming Systems”. In it, the authors say: With the proliferation of competing systems [for novices], the problem [of evaluation ] has become more complicated. Not only should we ask the question whether such kinds of tools are helpful at all (which many instructors strongly believe them to be, even in the absence of hard evidence), but we need to decide which of a significant number of competing systems is “better” for a given task in a given context. Educators have to make choices, not only between using an educational IDE or not, but between a number of direct competitors. Studies evaluating the actual learning benefit of the use of a specific system are rare. This is not for lack of interest or realisation of the usefulness of such studies, but because they are difficult to conduct with a high degree of scientific reliability… Running two groups (experiment group and control group) in parallel is usually difficult to resource: the teacher almost doubles the workload and has to avoid bias. It also introduces an ethical problem: If we expect one variant to be superior, and the setting is an actual examined part of a student’s education, then we would knowingly disadvantage a group of students. However, if we run the two trials sequentially, it becomes very difficult to compensate for possible other factors influencing the outcome, such as difference in teachers or populations. They then propose 13 heuristic criteria by which programming systems presented to novices can be evaluated: Engagement: The system should engage and motivate the intended audience of learners. It should stimulate learners’ interest or sense of fun. Non-threatening: The system should not appear threatening in its appearance or behaviour. Users should feel safe in the knowledge that they can experiment without breaking the system, or losing data. Minimal language redundancy: The programming language should minimise redundancy in its language constructs and libraries. Learner-appropriate abstractions: The system should use abstractions that are at the appropriate level for the learner and task. Abstractions should be driven by pedagogy, not by the underlying machine. Consistency: The model, language and interface presentation should be consistent – internally, and with each other. Concepts used in the programming model should be represented in the system interface consistently. Visibility: The user should always be aware of system status and progress. It should be simple to navigate to parts of the system displaying other relevant data, such as other parts of a program under development. Secondary notations: The system should automatically provide secondary notations where this is helpful, and users should be allowed to add their own secondary notations where practical. Clarity: The presentation should maintain simplicity and clarity, avoiding visual distractions. This applies to the programming language and to other interface elements of the environment. Human-centric syntax: The program notation should use human-centric syntax. Syntactic elements should be easily readable, avoiding terminology obscure to the target audience. Edit-order freedom: The interface should allow the user freedom in the order they choose to work. Users should be able to leave tasks partially finished, and come back to them later. Minimal viscosity: The system should minimise viscosity in program entry and manipulation. Making common changes to program text should be as easy as possible. Error-avoidance: Preference should be given to preventing errors over reporting them. If the system can prevent, or work around an error, it should. Feedback: The system should provide timely and constructive feedback. The feedback should indicate the source of a problem and offer solutions. The full explanation of each criterion runs to half a page or more, and includes references to the research literature to clarify and justify it. As I read through these, a few things struck me: Most of the tools we teach in Software Carpentry score very poorly on these criteria. The Unix shell and Git, for example, are not engaging, are definitely threatening (in the sense that users quite reasonably fear the consequences of making a mistake), do not present level-appropriate abstractions or make system status clearly visible, (definitely) do not have human-centric syntax, and so on. (They do well, however, on edit-order freedom: both tools encourage tinkering and allow users to leave tasks partially finished and return to them later. On the other hand, Excel and OpenRefine score quite well: they’re engaging, there’s little redundancy, they present tabular data as tables (which programming languages could have started doing thirty years ago—but that’s a rant I’ll save for some other time), they make system status very visible, support edit-order freedom, and so on. Together, #1 and #2 make me think that there should be another couple of heuristics: authenticity (i.e., do practitioners use it in their daily work) and upper bound (i.e., how far can you go with the tool before you have to switch to something else). Git and the Unix shell score highly on both, as does OpenRefine, but Excel does less well. Tools like Scratch come up short on both counts: while it’s a wonderful way to teach programming to newcomers of all ages, most people quickly outgrow it. Having invented two more heuristics, though, I can’t help but wonder whether doing so is actually rationalization. I’ve said many times that if you can’t win, you should change the rules: it’s entirely possible that if (for example) Git had scored highly on Kölling and McKay’s heuristics, I wouldn’t have thought to suggest others. It’s interesting to compare RStudio and the Jupyter Notebook using these heuristics. In both cases, I think that when they do poorly it’s because they are containers for a purely-textual programming language: for example, neither does particularly well on the “human-centric syntax” heuristic, but that’s not their fault. I think RStudio does better than the Notebook overall, primarily because of its interactive debugger and continuous redisplay of the state of the workspace. One final thought: it would be really interesting to have a similar set of heuristics for evaluating lessons. Some criteria would transfer directly (e.g., engagement, being non-threatening), but others are thought-provoking: what’s are the equivalents of error avoidance and edit-order freedom for teaching materials? If anyone knows of a rubric like this, I’d be grateful for a pointer. See also this post from Mark Guzdial that identifies five principles for selecting a programming language for learners: Connect to what learners know Keep cognitive load low Be honest Be generative and productive Test, don’t trust Michael Kölling and Fraser McKay: “Heuristic Evaluation for Novice Programming Systems”. ACM Transactions on Computing Education, 16(3), June 2016, 10.1145/2872521. Read More ›

Data Carpentry's New Deputy Director of Assessment
Greg Wilson / 2016-08-02
Data Carpentry has just announced that Dr. Kari L. Jordan will be joining them as the Deputy Director of Assessment. Kari holds a PhD in STEM Education from Ohio State University, and has worked most recently at Embry-Riddle Aeronautical University in Florida, where her postdoctoral research focused on understanding factors that influence faculty adoption of evidence-based instructional practices. To learn more, please see the post on the Data Carpentry website or follow Kari as @drkariljordan on Twitter. Read More ›

Library Carpentry in Toronto
Greg Wilson / 2016-07-30
On July 28-29, a group of volunteers from the University of Toronto’s libraries ran a two-day workshop for thirty-five of their fellow librarians. People came from as far away as Sudbury, Ottawa, New York City, and even Oregon to spend two days learning about: regular expressions, XPath and XQuery, OpenRefine, programming in Python, and scraping data off the web. While there were inevitably some hiccups getting software installed on learners’ machines, everything ran pretty much on schedule, and the instructors got through most of the material they had planned to cover. What was particularly nice was the way the modules fit together: the Python lesson closed by showing people how to write programs using regular expressions, while the scraping lesson referred back to the XPath material. Kim Pham, Leanne Trimble, Nicholas Worby, Thomas Guignard, and a large roster of helpers did a great job organizing and delivering this event. The best part was the email that arrived an hour after it finished: Hey Kim (and the rest of the Software Carpentry Team), I just wanted to let you know that straight after the workshop, I went back to my office, scraped data off of a website and into OpenRefine and solved a problem that’s been plaguing me for a month. THANK YOU for such a great workshop, it’s already useful!! Read More ›

Library Carpentry workshop at James Cook University, Townsville
Jay van Schyndel / 2016-07-29
We held a two-day Library Carpentry workshop at James Cook University, Townsville on 14–15 July, 2016. The workshop was a first on several fronts - the first course run by Software Carpentry trainers Jay van Schyndel and Daniel Baird from the JCU eResearch Centre and the first Library Carpentry course run at JCU. Collin Storlie, the local QCIF eResearch Analyst, agreed to help out too. How was the workshop proposed? Clair Meade from the JCU Library contacted Jay van Schyndel (eResearch Centre) enquiring about Library Carpentry. After some discussion Clair quickly found 12 interested librarians. With encouragement from Belinda Weaver at QCIF, Jay and Clair organised the workshop. Given the-mid semester break, finding an empty room proved difficult, but luckily we found two empty rooms. With the rooms booked, dates sorted, it was time to create the workshop web page and start advertising. Very quickly we received 17 attendees. Excitement was building!! Day 1 of the workshop Jay van Schyndel, Collin Storlie and Clair Meade started early setting up the room. Jay and Collin quickly learnt that librarians are great at organising morning tea. The trolley came with tea, coffee, hot water urn, biscuits, cheeses, dried fruit. Great start to the day, thanks to Clair for organising the morning and afternoon tea. Very quickly the librarians arrived and started setting up their laptops. The morning started well with the jargon busting session being a good ice breaker. The section on Data Structures was covered quickly as librarians already understand the importance of well-organised and -structured data. This gave Jay more time to focus on Regular Expressions. Some feedback received on the session: “exercises were really useful in reinforcing the ideas we are learning :)” “Enjoyed the exercises it helped understand the different regexes. Struggling to connect the information we are learning and how I will be able to use it.” “Cheat sheet in the hand would be nice. Love the interesting websites and good exercises.” After lunch we started on Shell. Most people were using GitBash with a few people using Terminal in OS X. Some feedback received from this session: “awesome power of grep/pipe - shame some people had to leave because the ‘finale’ was great but people were also tired.” “very powerful!! So much to learn!” “playing with the program was great. Next time do a bit of a demo of what’s happening first, then get us to play along.” We did run over time to try to cover everything. It’s a fine line between covering the material but also ensuring the audience can keep up. Jay was very appreciative for the assistance provided by Collin and Clair during teaching day 1. Day 2, New Room This was actually much better as there were screens spread around the room and everyone sat at smaller tables. Daniel Baird presented the session on Git. Here is some of the feedback. “Git session: very useful + lots learnt. Blog session: not relevant for me, maybe too basic.” “Github: Good, able to follow, starting to make a bit of sense. Git: ditto, starting to make sense can see benefits.” “Good foundation of what it is and how it works. How can we use it in the library?” The last session was OpenRefine presented by Collin Storlie. The librarians quickly saw the usefulness of this tool. Here is some feedback received: “Great workshop!! Well explained and paced. Good to leave the window open so that we can see the steps taken. (and not open another window and tab to the other)” “Found this tool very interesting and keen to test out back in the office. Pace and delivery of the lesson was great and easy to follow.” “sessions structured well and very useful stuff included :) Open refine looks great!” In summary, Library Carpentry was well received at JCU. After reviewing the feedback, it is plain most people found the training beneficial in gaining new skills to assist in their daily tasks. We will happily run another course in the future. Jay and Daniel are now planning to run their first Software Carpentry course at JCU since qualifying as instructors. Collin will assist. A previous Software Carpentry R workshop was taught at JCU in 2015 by fly-in trainers Sam Hames and Paula Martinez from Brisbane. Read More ›

1 - 28 July, 2016: Lesson Publication, Instructor Training Open, Creating New Material, Revamped Lesson Template, and Instructor Testimonial.
Martin Dreyer / 2016-07-28
##Highlights Congradulations and thanks to everyone who contributed to Version 2016.06 of the Software Carpentry lessons which have just been published. You can now partner with Software and/or Data Carpentry to develop new lessons. Get in touch to discuss your ideas. Please take note of our new lesson template. ##Intstructor Training Apply now for online instructor training. Some frequently asked questions about the reopening of the Instructor training have been addressed. Why attend a Software & Data Carpentry instructor training workshop? About ten hours is all you will need to qualify as an instructor after the initial training event. ##General University of Otago held a three day workshop which allowed attendees to also have some “productive” hours afterwards. Robin Wilson suggested some changes one could show during teaching in order not to confuse and bombard students with too much information. Universtiy of Auckland held a succesfull two day Genomics R workshop despite some random challenges. Universtiy of Auckland also held a Python-based winter bootcamp and received overwhelmingly positive feedback. Full house attendance taught by newly qualified Australian instructors under the guidance of Belinda Weaver. Read about the suggested inclusion of real-world challenges. Three workshops took place in Brazil in Florianópolis,Campinas, and São Paulo. The feedback was postive, attendees learned a lot. Currently they are looking for sponsors to promote the First Brazilian Software Carpentry workshop for Women in Science and Engineering. 17 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: July: Colorado State University. August: RDA-CODATA Research Data Science Summer School, Universidade Federal do Paraná, Dept of Science, Information Technology & Innovation, Federal Reserve Board, University of Tasmania, Compute Ontario Summer School - University of Ottawa, Colorado State University, Cornell University, Vanderbilt University Medical Center, Stony Brook University, Interacting Minds Centre & Cognition and Behavior Lab, Aarhus University, University of Edinburgh, University of Namibia, University of Rhode Island, Coastal Institute. September: European Molecular Biology Laboratory. October: Aristotle University of Thessaloniki, The River Club, University of Colorado Boulder Read More ›

How Software Carpentry can help you switch careers
Marco Fahmi / 2016-07-27
You’ve heard how Software Carpentry is important not only to get your research done but also to make it better and thus more likely to be published. It might even get you a job in your favourite field of research. But, for those of us who do not like to do the same thing forever, Software Carpentry skills can help you switch to another career. But, first, let’s start from the beginning and look at what Software Carpentry is meant to do. Software Carpentry is primarily meant to teach you important analytical skills to think computationally: to break down research activities into simple steps, define how often to repeat certain tasks (and conditions to start and stop them) and how to deal with special cases. In addition, Software Carpentry introduces you to a suite of tools and languages that allow you to quickly and easily translate these activities into software code that you can run on your computer, run on the cloud, share with others, or even publish. However, none of this learning is specific to research and researchers. Anybody can benefit from a Software Carpentry course, except, perhaps a computer scientist … ;-) One can easily imagine educators using Software Carpentry to better analyse the performance of students in their schools. Journalists can use the skills to analyse data for investigative articles. Non-profit organisations can use them to crunch data on how well they serve their clients. In fact, a large number of fields and professionals are increasingly depending on empirical data in ways that are only now possible due to the increased ability to collect data electronically, the availability of volumes of open data through the Internet, and an increased emphasis on quantitative measurement of such things as performance and effectiveness. Some of these fields, such as the financial services industry, have long been leading in this domain for obvious reasons (Money!) For the rest, this is all still very new and those responsible for making quantitative evaluations often lack even rudimentary programming and coding skills. This is a great opportunity for anyone who does Software Carpentry to explore new ways to put their Software Carpentry skills to good use. Not only do they have the know-how to apply these skills to another industry, they also have the hands-on experience (from applying skills to their own research) to provide expert advice on what tools to use, how to use them and the pitfalls one needs to avoid. Are you a Software Carpentry instructor? Even better. Perhaps you could organise carpentry sessions for people in other industries. Just like in research, the point is not to turn learners in those industries into computer programmers (and the instructor is not meant to be a software guru). The purpose is to provide the necessary programming literacy to produce better and more reliable outcomes. Marco Fahmi is a Brisbane-based data scientist and former research project manager, with a strong interest in open data and data journalism. He tweets as dataronin. Read More ›

More on Instructor Training
Greg Wilson / 2016-07-26
Since we announced yesterday that we are re-opening applications for instructor training, several questions have come in by email and on Twitter. We’ve answered the general ones below, and will update this post as others arrive. Why are you running open-enrollment classes? Our primary goal is to increase our reach: many geographic regions and research disciplines are sparsely represented in our instructor pool, or not represented at all, and we are always conscious of the need to maintain and improve diversity. How does this relate to instructor training for partner organizations? Partner organizations are guaranteed a certain number of instructor training slots as part of their agreement with us, and those trainings are given priority over open-enrollment offerings. How many classes are being offered, and how many spaces are available? We are currently planning to run two classes, each for about 30 participants. Where will the training take place? These two classes will take place online, and will run over two full days. We will choose dates and times to accommodate as many people as possible. How are participants going to be selected? We will select participants based on previous involvement with Software and Data Carpentry, location, research discipline, previous teaching experience, ability to commit time to teaching and mentorship, and all of the other factors in the application form. When will selections be made? We will start notifying people in a few weeks (i.e., the second half of August). In what time zones will classes take place? We haven’t decided yet, but they will be aimed at different timezones so that we can accommodate the widest possible range of participants. Will you offer more open-enrollment classes in future? Yes. Wil people have to re-apply to take part? No: we will keep all applications, and contact people as spots become available to see if they’re still interested. Read More ›

Software Carpentry at Curtin
Matthias Liffers, Andrea Bedini / 2016-07-26
The first Software Carpentry workshop to be held at Curtin University (and the third so far in WA) started on Monday 18 July. We decided early to experiment with the timetable and spread the course over four half days. Monday was for the Unix Shell, Tuesday and Wednesday for Programming with Python and Thursday for Version Control with Git. We offered 40 places, and it was already fully booked with a couple of weeks to go. Most participants were from Curtin University, but there were also some attendees from CSIRO and other places. Matthias, Andrea, Philipp Bayer and Andrew Rohl took turns to instruct with a large group of friendly and enthusiastic helpers (thank you David, Janice, Kevin, Rebecca, Rob, Stef & Vicky). More thanks go to Shiv and Rebecca, who staffed the software installation help-desk on the Friday before. We find the software installation helpdesk to be an important part of a Software Carpentry workshop to help people with any problems. However, we found that only a few people take the opportunity to come along to a helpdesk organised before the main workshop. In light of some of the problems we had – on the first day we found out nano was not working on some Windows installations, and on the second day, we had some Python installation problems – we will move the helpdesk from a pre-workshop timeslot and make it part of the first day instead. The next Software Carpentry workshop held at Curtin will have an ‘installation party’ to kick off the workshop, helping us to figure out problems early on and ensuring the smooth running of the following lessons. Despite some minor hiccups with sticky notes that didn’t want to stick and some misbehaving software, everything went smoothly. We look forward to seeing some SWC graduates at CU Hacky Hour next week! The workshop was a collaboration between the Curtin Institute for Computation and the Curtin University Library. It couldn’t have taken place without volunteers from Curtin University and the University of Western Australia. Read More ›

Reopening Instructor Training
Greg Wilson / 2016-07-25
For the last ten months, the Software Carpentry Foundation has worked toward three goals for its instructor training program: Make the content more relevant. Increase the number of people able to deliver instructor training. Find a format that meets everyone’s needs in a sustainable way. We have made a lot of progress on all three, and are therefore now able to offer instructor training once again to people who aren’t affiliated with our partner organizations, but would like to teach Software Carpentry, Data Carpentry, or both (as the course is shared by both organizations). If you wish to apply to take part in one of the two open-enrollment classes we will offer this fall, please fill in the form at: https://amy.software-carpentry.org/workshops/request_training/ to tell us about yourself, what excites you about teaching, and how Software and Data Carpentry can help in your community. We will notify applicants as spaces become available. If you have any questions, please mail training@software-carpentry.org. If you would like to accelerate the process, check out our Partnership program. Organizational partners make ongoing commitments to supporting our organization and are prioritized for instructor training. If you need help making the case at your organization, feel free to contact us at partnerships@software-carpentry.org: we’d be happy to help. Please note that as a condition of taking this training, you must: abide by our code of conduct, which can be found at http://software-carpentry.org/conduct/ and http://datacarpentry.org/code-of-conduct/, agree to teach at a Software Carpentry or Data Carpentry workshop within 12 months of the course, and complete three short tasks after the course in order to complete certification. The tasks take a total of approximately 8-10 hours, and are described at http://swcarpentry.github.io/instructor-training/checkout/. For more information on Software and Data Carpentry instructor training, please see the course material at: http://swcarpentry.github.io/instructor-training Please also see this additional post, which answers some frequently-asked questions about this training. Read More ›

Showing Changes When Teaching
Robin Wilson / 2016-07-25
A key - but challenging - part of learning to program is moving from writing technically-correct code “that works” to writing high-quality code that is sensibly decomposed into functions, generically-applicable and generally “good”. Indeed, you could say that this is exactly what Software Carpentry is about - taking you from someone bodging together a few bits of wood in the shed, to a skilled carpenter. As well as being challenging to learn, this is also challenging to teach: how should you show the progression from “working” to “good” code in a teaching context? I’ve been struggling with this recently as part of some small-group programming teaching I’ve been doing. Simply showing the “before” and “after” ends up bombarding the students with too many changes at once: they can’t see how you get from one to the other, so I want some way to show the development of code over time as things are gradually done to it (for example, moving this code into a separate function, adding an extra argument to that function to make it more generic, renaming these variables and so on). Obviously when teaching face-to-face I can go through this interactively with the students - but some changes to real-world code are too large to do live - and students often seem to find these sorts of discussions a bit overwhelming, and want to refer back to the changes and reasoning later (or they may want to look at other examples I’ve given them). Therefore, I want some way to annotate these changes to give the explanation (to show why we’re moving that bit of code into a separate function, but not some other bit of code), but to still show them in context. Exactly what code should be used for these examples is another discussion: I’ve used real-world code from other projects, code I’ve written specifically for demonstration, code I’ve written myself in the past and sometimes code that the students themselves have written. So far, I’ve tried the following approaches for showing these changes with annotation: Making all of the changes to the code and providing a separate document with an ordered list of what I’ve changed and why. (Simple and low-tech, but often difficult for the students to visualise each change) The same as above but committing between each entry in the list. (Allows them to step through git commits if they want, and to get back to how the code was after each individual change - but many of the students struggle to do this effectively in git, and it adds a huge technological barrier…particularly with Git’s ‘interesting’ user-interface) The same as above, but using Github’s line comments feature to put comments at specific locations in the code. (Allows annotations at specific locations in the code, but rather clunky to step through the full diff view of commits in order using Github’s UI) I suspect any solution will involve some sort of version control system used in some way (although I’m not sure that standard diffs are quite the best way to represent changes for this particular use-case), but possibly with a different interface on it. Is this a problem anyone else has faced in their teaching? Can you suggest any tools or approaches that might make this easier - for both the teacher and students? Read More ›

Genomics R Software Carpentry workshop at the University of Auckland, New Zealand
Dan Jones, Vicky Fan / 2016-07-25
A two day Software Carpentry workshop with R was held at the University of Auckland Winter Bootcamp on 11-12 July. After a brief battle with the projector in the room, Day 1 consisted of an eventful morning session on Unix Shell, the spontaneous explosion of a glass door, followed by an introduction to programing with R. Dan Jones on Unix Shell. Dan’s talk on Unix Shell shatters the automatic door in the corridor. Day 2 consisted of the Git session, which was extremely relevant to our later bioinformatics-specific workshops, since these are also Git repositories. After the Git session, we had an open Q&A session where all the attendees could ask questions about any of the topics that we covered. The days 1 & 2 made for a great build up to the bioinformatics sessions that were run later in the week. As most bioinformatics-related software are optimised to run in the command line, the Software Carpentry sessions enabled researchers to build confidence with using a Unix terminal and R. The Genome Assembly, Annotation and Visualisation started with Dan Jones’ declaration, "I'm expecting everything go horribly wrong at setup" while setting up Virtual Box on the attendees laptops. Thankfully Dan’s prediction was completely incorrect. The workshop consisted of a virtualbox OVA file with Ubuntu 16.04 LTS, test data, and preinstalled bioinformatics programs. Pro tip: Some intel chips on some computers will completely block all virtualisation in the BIOS! Once the participants had their shiny new virtual machine set up, we went through the process of assembling and annotating a new Eukaryotic genome from scratch. We made all the workshop materials available on GitHub. The associated virtual machine is available on request. Day 3 was a workshop on Transcriptomics, again using the virtual machine we have constructed. As before, this was a workshop delivered as a Git repository, using the Git wiki as the workshop material. It’s based (and forked from) the excellent workshop produced by the Griffith Lab, but was modified to allow us to make it a 1-day workshop, and to add handling of ERCC spike-in controls and to simplify some of the code. Again, the materials are on GitHub. Our excellent Metabarcoding workshop was run on day 5, with the objective being to take raw sequence data from the machine and produce from that a table of OTUs, with associated taxonomy. This workshop used a virtual machine and a set of premade scripts to work through the different steps required to take raw sequence data and transform it into a useable form for downstream analysis. We used QIIME and vsearch, which are two different sets of software for metabarcoding analysis, to do this. A big thanks to all the presenters and helpers who made this series of workshops run so smoothly: Dan Jones, Luke Boyle, Vicky Fan, Alex Stuckey and Nooriyah Lohani. Note: transcriptomics tutorial heavily modified from: Malachi Griffith*, Jason R. Walker, Nicholas C. Spies, Benjamin J. Ainscough, Obi L. Griffith*. 2015. Informatics for RNA-seq: A web resource for analysis on the cloud. 11(8):e1004393. *To whom correspondence should be addressed: E-mail: mgriffit[AT]genome.wustl.edu, ogriffit[AT]genome.wustl.edu Read More ›

A Tale of Two Workshops
Belinda Weaver / 2016-07-22
Brisbane and Toowoomba are 125 km apart in Queensland. Software Carpentry workshops were held in both cities a week apart (11-12 July and 18-19 July). I taught at both. The Brisbane R workshop was held at The University of Queensland. This was a tie-in workshop for the annual UQ Winter School in Mathematical and Computational Biology. Attendees are generally very keen to learn as they want to emulate the amazing computational work they have seen demonstrated during the week by the stellar speaker line-up at the Winter School. We had no trouble filling a workshop with 40 places, and no-one left the workshop. It was one of the best workshops I have organised - the buzz in the room was palpable and the feedback was overwhemingly positive. It was also our first workshop where women attendees outnumbered men. There were four female instructors as well. We were very lucky with our helpers - we had some R experts there, and Othmar Korn from Stemformatics even wrote a script in response to a problem one of the attendees posted in the etherpad. We will probably do that again - call for specific problems to be posted as attendees always want ‘real life’ solutions to consolidate what they have learned. The University of Southern Queensland hosted the Toowoomba Python workshop - their first ever Software Carpentry workshop. They have already requested a subsequent workshop on R. Again, the feedback was very positive. Newly minted instructor Francis Gacenga taught part of Git for the first time, while Leah Roberts taught Python for the first time, having taught her first session of Git at the Brisbane workshop a week before. Apart from Leah, the instructors for the Brisbane workshop were a mixture of experienced trainers - Areej Al-Sheikh, Paula Martinez, and me, with one newbie, Joshua Thia, who certified as an instructor this week, having trained in the same January cohort as Leah and Francis under the expert eye of Aleksandra Pawlik. At both workshops, we used a mixture of cloud - the DIT4C setup - and local laptops which caused a bit of confusion, especially in downloading the data to the right place for the shell and Python exercises in Toowoomba. The DIT4C cloud option does simplify matters for people who have struggled to get the software installed, or who find they can’t cut and paste easily from their Windows command line. But it is always difficult to cater for the different systems, so next time, we will print out the different data set up instructions for Mac, Windows and cloud and have those on tap. (Linux is never a problem.) Our other gotcha was the eduroam wireless we use for workshops. We had quite a few connection issues in Toowoomba, and my own wireless connection dropped out just as I tried to do a git push at the Brisbane workshop. The only way I could reconnect was to reboot the machine, which delayed things at a crucial point. I was wiser in Toowoomba, rebooting my laptop just before I had to teach the second part of Git. Git push still took three goes as the repository I was pushing to had not yet granted the necessary permissions. But it all worked out in the end, and people said they enjoyed the session. To help people keep up, we had the lesson open on one of the projector screens in the room, while the instructor live-coded on another. This really helped people stay on track and not get lost. We could not do this in Brisbane as we had only one screen to work with, but where there are multiple screens available, this can work really well. Toowoomba was the fifth city in Queensland where Software Carpentry has been taught since we ran our first-ever workshop here in 2014. We hope to clock up a sixth town with a workshop at the University of the Sunshine Coast later this year. Read More ›

Software Carpentry workshop at the University of Auckland - Winter bootcamp, New Zealand
Juliana Osorio-Jaramillo, Teererai Marange, Chen Wang, Kaitlin Logie / 2016-07-20
A two day Software Carpentry Workshop wiht Python was held at the University of Auckland 11-12th July as part of Winter Bootcamp. For myself,it was the first time helping with Software Carpentry training. It was a great experience to assist as a collaborator, helping others resolving problems with software installation and hands-on exercises, but also learning from all the unexpected situations that could happen with different people around the room, with different laptops, configurations, and different sets of skills. We happily managed to start training at 9:00 on 11th of July. The first topic covered was Unix Shell, presented by Sina Masoud-Ansari. We warmed up with some useful exercises for real life research or work. In the afternoon the Python session appeared to show its magic to assistants with Prashant Gupta as the presenter. On 12th July we start the day with the presentation of Cameron McLean on Git or “the lifesaver” as Cam himself defined it ;). During the afternoon participants were consulted about which topic they desire to go deeper. Python was the winner of the survey, and as a consequence we enjoyed another great afternoon in its company. Additional to SWC sessions, on Wednesday 13th of July a session on Research Data Management was held by Cam, with a different audience, and a more theoretical approach. In general the participants had some experience with the topic, which made for an engaged group, generating some discussions and more knowledge to share among all. An invitation to hacky-hour on Thursdays was extended to the participants of all the workshops and happily it was a totally success! To finish, I should say that was a very gratifying experience be part of this event, helping, empowering, learning and motivating others to be part of this exciting world of software development in research environments where world transformation could start! Some remarkable facts: Software Carpentry training was held in the context of the Winter Bootcamp at the University of Auckland. 75% of participants didn’t have any experience with programming or just basic skills, however they managed to go smoothly in all sessions. Approximately 40 assistants during three days. Some assistants were so excited learning new skills that they decided to start new online courses using websites as codeacademy and coursera. On Thursday 14th after the workshops, hacky-hour was packed, we needed to join three more tables than as usual to bring some space to all the new participants. Helpers around the room (we were 4 and sometimes 5) were essential to maintain the pace of the sessions. All the problems with not working exercises and software were addressed by ourselves allowing the presenter to focus in the topic and manage better the time. The learners were very active, asking questions and excited with the new knowledge seen in action :) We are thinking to include next time, an exercise that could cover all the topics solving a real life problem and finish the workshops with an example that is useful for later consultation of the participants. The last but not the least...we receive some great feedback from participants which inspires us to keep improving and running future sessions. Here is one of them: "...I found it extremely stimulating and very helpful as an introduction to effective methods and resources for coding in python. Have to say that I was impressed by the skill, humour, good nature and patience of all the eResearch team..." We hope to start soon on more exciting, empowering activities and workshops. :) Read More ›

Publishing Our Lessons, Version 2016.06
Greg Wilson / 2016-07-19
We are very pleased to announce the publication of Version 2016.06 of the Software Carpentry lessons. Thanks to a lot of hard work by their maintainers and Rémi Emonet (who has acted as release manager), we have: removed the need to build and commit HTML (everything except our R lessons is now pure Markdown); updated the appearance of the templates (including a top menu, a nicer color scheme, and previous/next links); and merged over 3100 pull requests from over 200 people. Our materials are far from perfect, but we're very proud of what our community has built. Please see the releases page for links to the archived release, and the main lessons page for links to the updated lessons. Publication Records Daisie Huang and Ivan Gonzalez (eds): "Software Carpentry: Version Control with Git." Version 2016.06, June 2016, https://github.com/swcarpentry/git-novice/tree/2016.06, 10.5281/zenodo.57467. Doug Latornell (ed): "Software Carpentry: Version Control with Mercurial." Version 2016.06, June 2016, https://github.com/swcarpentry/hg-novice/tree/2016.06, 10.5281/zenodo.57469. Christina Koch and Greg Wilson (eds): "Software Carpentry: Instructor Training." Version 2016.06, May 2016, https://github.com/swcarpentry/instructor-training/tree/2016.06, 10.5281/zenodo.57571. Greg Wilson (ed.): "Software Carpentry: Lesson Example." Version 2016.06, June 2016, https://github.com/swcarpentry/lesson-example/tree/2016.06, 10.5281/zenodo.58153. Mike Jackson (ed.): "Software Carpentry: Automation and Make." Version 2016.06, June 2016, https://github.com/swcarpentry/make-novice/tree/2016.06, 10.5281/zenodo.57473. Ashwin Srinath and Isabell Kiral-Kornek (eds): "Software Carpentry: Programming with MATLAB." Version 2016.06, June 2016, https://github.com/swcarpentry/matlab-novice-inflammation/tree/2016.06, 10.5281/zenodo.57573. Azalee Bostroem, Trevor Bekolay, and Valentina Staneva (eds): "Software Carpentry: Programming with Python." Version 2016.06, June 2016, https://github.com/swcarpentry/python-novice-inflammation/tree/2016.06, 10.5281/zenodo.57492. Thomas Wright and Naupaka Zimmerman (eds): "Software Carpentry: R for Reproducible Scientific Analysis." Version 2016.06, June 2016, https://github.com/swcarpentry/r-novice-gapminder/tree/2016.06, 10.5281/zenodo.57520. John Blischak, Daniel Chen, Harriet Dashnow, and Denis Haine (eds): "Software Carpentry: Programming with R." Version 2016.06, June 2016, https://github.com/swcarpentry/r-novice-inflammation/tree/2016.06, 10.5281/zenodo.57541. Gabriel Devenyi, Christina Koch, and Ashwin Srinath (eds): "Software Carpentry: The Unix Shell." Version 2016.06, June 2016, https://github.com/swcarpentry/shell-novice/tree/2016.06, 10.5281/zenodo.57544. Abigail Cabunoc and Sheldon McKay (eds): "Software Carpentry: Using Databases and SQL." Version 2016.06, June 2016, https://github.com/swcarpentry/sql-novice-survey/tree/2016.06, 10.5281/zenodo.57551. Greg Wilson (ed): "Software Carpentry: Workshop Template." Version 2016.06, June 2016, https://github.com/swcarpentry/workshop-template/tree/2016.06, 10.5281/zenodo.58156. Contributors Hakim Achterberg James Adams Joshua Adelman Aron Ahmadia Matthew Aiello-Lammens Joshua Ainsley Inigo Aldazabal Mensa Phillip Alderman Harriet Alexander James Allen Areej Alsheikh-Hussain Paula Andrea Alison Appling Jeffrey Arnold Sean Aubin Pete Bachant Sung Bae Daniel Baird Alex Bajcz Piotr Banaszkiewicz Pauline Barmby Diego Barneche Ewan Barr Greg Bass Radovan Bast Berenice Batut Rob Beagrie Erin Becker David Beitey Trevor Bekolay Evgenij Belikov Jason Bell Jared Berghold Mik Black Kai Blin John Blischak Simon Boardman Maxime Boissonneault Jessica Bonnie Madeleine Bonsma Jon Borrelli Azalee Bostroem Olga Botvinnik Andy Boughton Daina Bouquin Amy Boyle Ry4an Brase Rudi Brauning Erik Bray Matthew Brett Karl Broman Amy Brown Kyler Brown C. Titus Brown Eric Bruger Dana Brunson Orion Buske Abigail Cabunoc Mayes Gerard Capes Greg Caporaso Scott Chamberlain Jane Charlesworth Billy Charlton John Chase Kyriakos Chatzidimitriou Daniel Chen Jin Choi Garret Christensen Kathy Chung Richard Clare Liam Clark Sarah Clayton Peter Cock Ruth Collings Matthew Collins John D. Corless Marianne Corvellec Thomas Coudrat Steve Crouch Mike Croucher Remi Daigle Ryan Dale Harriet Dashnow Matt Davis Neal Davis Andrew Davison Harrison Dekker Raffaella Demichelis James A. Desjardins Gabriel A. Devenyi Catherine Devlin Matt Dickenson Deborah Digges Emily Dolson David Dotson Alastair Droop Laurent Duchesne Jonah Duckles Susan Duncan Stevan Earl Dirk Eddelbuettel Rémi Emonet K. Arthur Endsley Loïc Estève David Eyers Sean Farley Emmanouil Farsarakis Bennet Fauber Nicolas Fauchereau Noel Faux Filipe Fernandes Hugues Fontenelle Marianna Foos Talitha Ford Félix-Antoine Fortin Anne Fouilloux Auriel Fournier David Fredman Konrad Förstner Francis Gacenga Javier García-Algarra Stuart Geiger Noushin Ghaffari Heather Gibling Matthew Gidden Ivan Gonzalez Jan Gosmann John Gosset Alistair Grant Jeremy Gray Norman Gray Bastian Greshake Pip Griffin Marisa Guarinello Thomas Guignard Jessica Guo Jordi Gutiérrez Hermoso Jonathan Guyer Melissa Guzman Jamie Hadwin Ryan Hagenson Varda F. Hagh Denis Haine Mary Haley Sam Hames Chris Hamm Jessica B. Hamrick Nicholas Hannah Michael Hansen David J. Harris Rayna Harris Emelie Harstad Ian Hawke Fabian Held Donna Henderson Felix Henninger Martin Heroux Kate Hertweck James Hiebert Konrad Hinsen Johan Hjelm Xavier Ho Amy Hodge Toby Hodges Jeff Hollister Derek Howard Adina Howe Daisie Huang Fatma Imamoglu Liz Ing-Simmons Luiz Irber Damien Irving Yuandra Ismiraldi Michael Jackson Mike Jackson Christian Jacobs Elsie Jacobson Nick James Seb James Dorota Jarecka Michael Jennings Ben Jolly Luke W. Johnston Dan Jones David Jones Nick Jones Blake Joyce Zbigniew Jędrzejewski-Szmek Alix Keener Kristopher Keipert Tom Kelly David Ketcheson Jan T. Kim W. Trevor King Isabell Kiral-Kornek Justin Kitzes Sigrid Klerke Thomas Kluyver Christina Koch Alexander Konovalov Bernhard Konrad Alex Kotliarskyi Andrew Kubiak Avishek Kumar Mateusz Kuzak Kathleen Labrie Sherry Lake Benjamin Laken Hilmar Lapp Doug Latornell Mark Laufersweiler David LeBauer Kate Lee Joona Lehtomäki Michael Levy Jean-Christophe Leyder Peter Li Matthias Liffers Philip Lijnzaad Johnny Lin Gang Liu Tom Liversidge Andrew Lonsdale Catrina Loucks Julia Stewart Lowndes Eric Ma Keith Ma Andrew MacDonald Joshua Madin Mark Mandel Alexandre Manhaes Savio Camille Marini Carlos Martinez Kunal Marwaha Ben Marwick Sergey Mashchenko Fernando Mayer Dan Mazur Sue McClatchy Sheldon McKay Emily Jane McTavish Lauren Michael François Michonneau James Mickley Ryan Middleson Jackie Milhans Eric Milliman Bill Mills Amanda Miotto Nora Mitchell Jason K. Moore Kim Moir Tim Moore John R. Moreau Joaquin Moris Elise Morrison Sarah Mount Andreas Mueller Zakariyya Mughal VP Nagraj Joshua Nahum Hani Nakhoul Narayanan Fran Navarro Lex Nederbragt Ryan Neufeld Daiva Nielsen Matthias Nilsson Juan Nunez-Iglesias Adam Obeng Brenna O'Brien Aaron O'Leary Jeffrey Oliver Randy Olson Catherine Olsson Adam Orr Jeramia Ory Natalia Osiecka Nina Overgard Therkildsen Braden Owsley Kirill Palamartchouk Elizabeth Patitsas Aleksandra Pawlik Chris Pawsey John Pearson Frank Pennekamp Sam Penrose Fernando Perez Adam Perry Stefan Pfenninger Raissa Philibert Jon Pipitone Adrianna Pińska Timothée Poisot Pawel Pomorski Hossein Pourreza Timothy Povall Paul Preney Leighton Pritchard Andrey Prokopenko Diego Rabatone Oliveira Louis Ranjard Florian Rathgeber Joey Reid Timothy Rice Adam Richie-Halford Kristina Riemer Janet Riley David Rio Deiros Scott Ritchie Natalie Robinson Andrew Rohl Ariel Rokem Noam Ross Marjorie Roswell Halfdan Rydbeck Michael Sachs Mahdi Sadjadi Elliott Sales de Andrade Maneesha Sane Michael Sarahan Pat Schloss Sebastian Schmeier Hartmut Schmider Peter Schmiedeskamp Henry Senyondo Bertie Seyffert Genevieve Shattow Leigh Sheneman Jason Sherman Arron Shiffer Ardita Shkurti Beth Signal Raniere Silva Sarah Simpkin Gavin Simpson John Simpson Clare Sloggett Luc Small Arfon Smith Byron Smith Brendan Smithyman Nicola Soranzo Donald Speer Erik Spence Ashwin Srinath Karthik Srinivasan Joseph Stachelek Mark Stacy Daniel Standage Valentina Staneva Jim Stapleton Meg Staton Peter Steinbach Sarah Stevens Marcel Stimberg Brian Stucky Michael Sumner Sarah Supp Marc Sze Scott Talafuse Morgan Taschuk Cody Taylor Tracy Teal Bartosz Telenczuk Andy Teucher Florian Thoele Adam Thomas Ian Thomas Brian Thorne Tiffany Timbers Chris Tomlinson Giovanni Torres Danielle Traphagen Tim Tröndle Daniel Turek Stephen Turner Fiona Tweedie Drew Tyre Olav Vahtras Giulio Valentino Dalla Riva Roman Valls Guimera Thea Van Rossum Jay van Schyndel Edwin van der Helm Anelda van der Walt Ioan Vancea Steve Vandervalk Jill-Jênn Vie David Vollmer Philipp Von Bieberstein Jens von der Linden Andrew Walker Jordan Walker Alistair Walsh Josh Waterfall Ben Waugh Belinda Weaver Lukas Weber Derek Weitzel Daniel Wheeler Mark Wheelhouse Ethan White Tyson Whitehead Chandler Wilkerson Jason Williams Carol Willing Frank Willmore Greg Wilson Donny Winston Kara Woo Tom Wright Steven Wu Lynn Young Nick Young Lee Zamparo Qingpeng Zhang Naupaka Zimmerman Andrea Zonca Read More ›

Lesson Incubation
Greg Wilson / 2016-07-19
The Data Carpentry and Software Carpentry Steering Committees recently approved [a process for supporting the incubation of new lessons. The goal is to provide a clear path for creating new material and getting it into the hands of people who can teach it while taking into account the resources we have available and the need to maintain lessons as well as create them. If you would like to build something substantial for either of the Carpentries, we’d enjoy hearing from you. (Please also see the announcement on the Data Carpentry site.) Read More ›

Using RMarkdown with the new lesson template
François Michonneau / 2016-07-08
Our lesson template is getting a face-lift. Actually, it is a lot more than that: all the internal mechanics are also affected. What’s new with the template? The lesson maintainers have developed a new template that comes with features that have been repeatedly requested such as an easy way to navigate among episodes within a lesson: there are now “previous” and “next” arrows in each episode. This new template does not require having to use pandoc. Currently, the lessons are written in Markdown, and converted into HTML by our lesson maintainers using a wonderful piece of software called pandoc. Instead, the new template uses jekyll to take care of the conversion from Markdown into HTML. Lesson maintainers will still need to have jekyll installed to check that the website gets generated correctly, but the conversion from Markdown to HTML for our online lessons will be handled directly by jekyll on the GitHub servers. This means less work for our lesson maintainers and contributors, as they will only to change to the markdown files. It also means that we will not have to put the generated HTML files in the repository, which removes another common source of error and frustration. What does it mean for the lessons written in RMarkdown? For the lessons covering R, we still need to keep in the repository both the RMarkdown files and the Markdown files. We write our lessons in RMarkdown to ensure that all the code included in the lessons works correctly. Because of the organization of the files with the new template, a few details had to be adjusted but for the most part, writing lessons in RMarkdown with the new template should not be too different from the current template. Contributors to the lessons should edit the Rmd files, and the lesson maintainers will run make lesson-md to generate the corresponding Markdown files using knitr, before pushing these changes to the lesson repository. The Rmd files live in the ./_episodes_rmd folder, and their respective Markdown files live in ./_episodes. The Makefile takes care of calling knitr::knit() on each Rmd files in ./_episodes_rmd and writing the output in ./_episodes. It is possible to have Markdown files in ./_episodes that don’t have their counterparts in ./_episodes_rmd as long as their names are different. The required preamble Each episode needs to start with a chunk that includes: source("../bin/chunk-options.R") knitr_fig_path("01-") The first line ensures that all the knitr options required to make the output compatible with the template are set correctly. The second line adds the episode number in front of each figure file. Here I used 01- but it should be adjusted to the correct episode number. We can’t use the knitr function opts_chunk$set(fig.path="01-") here as it would place the figures in a folder that wouldn’t make them accessible to the template by overwriting the global definition of this variable. As currently configured, all figures generated by code included in the episodes will be prefixed with rmd-, such that figures generated by the first episodes will all start with rmd-01-, making it easy to identify the origin of each figure in the ./fig folder. Data files If the code in one of your episodes relies on data files (or other files), they will need to be placed in a sub-folder (e.g., ./_episodes_rmd/data). This allows contributors to work interactively with each episode, and the code included in the episode looks like how we ask learners to get setup. The new template in the wild If you want to see examples of the new template in action, you can check out: the rendered lesson-example episode about using RMarkdown and its source the r-novice-gapminder and its source that I converted to the new template Read More ›

Why attend a Software & Data Carpentry instructor training workshop?
Carrie Andrew / 2016-07-06
Note: the following post was written by Carrie Andrew, University of Oslo, after a request to write a testimonial of her participation in a Software/Data Carpentry instructor training workshop. The SWC/DC initiative is a cutting-edge program that promotes computer and data skills to those who need the greatest help, but are often the most put-out to learn: beginners. It is taught by an ever-increasing, diverse assemblage of people across private and public, academic and non-academic, research institutions. The common denominator is that all have an interest and motivation to promote computer and data skills within STEM organizations. Even more interesting: The program is designed to be self-destructing. Once educational and research organizations are globally saturated with keen, well-trained individuals who can stand-in as the SWC/DC person(s) for their institutions, the initiative promises to end. When the need is met, it self-destructs, thus promoting change from the bottom-up, a grass-roots initiative for our futures! SWC/DC are built on a volunteer network. This promotes a welcoming and positive atmosphere throughout the entire hierarchy, from teachers to students. People understand the need for computer and data skills. Meaning: anyone with even a novice skill set can contribute in teaching activities (from blogs, course content and rubric, helping and even being instructors)! The only stipulation, beyond interest and motivation, is that all who contribute in teaching must take an instructor training course. Wait. A course?! For the teachers?! Yeah… uhm… ….[sigh; glance away; tapping foot]….I’m kind of busy…. No, no, the SWC/DC instructor training course is highly worthwhile to take! At first it could seem like a potential barrier to building a volunteer network, who by definition are already volunteering time from their jobs for the inititive, and maybe have already taught. It’s not a barrier, however. It’s a bridge. Or a helping hand. Or a community that helps, so many helping hands. And, to remind, they are all so nice and positive, because they are volunteers. Nice, positive, helpful hands. Isn’t that what education should be? As you could learn in the workshop, they think so. There are many reasons to attend an SWC/DC training course: The instructional training is quality, to the point that it would be worthwhile to attend irrespective of future contributions to SWC/DC (but we all hope you do contribute). It opens discussion on pedagogy, teaching-types, technological advances, equality and stereotypes, and provides a wealth of reference material to continue the thoughts beyond the two-day workshop limits. Second, it is also a training course to become an instructor for the SWC/DC initiative. Want to contribute? Then attend the workshop! Third, it builds a network of computer and data people, from across institutions, and with as open and positive an atmosphere as possible. The instructor training course begins with a crash-course in pedagogy before gently corralling students towards the diving board of instructional experiences, teaching, with video-recording exercises. These exercises are stressful for most, but are designed to help elucidate good points, point out blemishes, and recommend new methods — all before standing in front of the classroom. What better way to find out you pull your hair whenever you are not sure about an answer? Or that your voice raises two octaves? Do you know your ‘tell’? Just think, you could learn about this in a safe, open atmosphere (as with the instructor training course), or you can wait for your next job, which might be teaching to undergrads who really don’t want to take the class. And you have to design the course. A little guidance would be nice in that situation, and this instructor workshop extends beyond the SWC/DC goals by providing that. And if you already have teaching experience, bring that with, discuss and learn how to tackle those issues that always bothered you! People seem constantly leave the instructor workshops satisfied, open to discussion and better equipped to converse and investigate teaching further. The final reason to take it: it’s free. You could easily pay for the same education elsewhere, but with more competitive and less-nice people. Just make sure to help out those who helped you, and contribute to the initiative after! Read More ›

Instructor Training Completion Times
Greg Wilson / 2016-07-05
How long does it take to complete instructor training once the class itself is done? Two dozen people who recently qualified told us this: Reading Lesson(s)Writing ExerciseDiscussion SessionLesson DemoTotal 1.00.52.00.54.0 5.01.02.01.09.0 5.03.02.03.513.5 2.00.51.01.04.5 10.03.01.05.019.0 5.02.01.03.011.0 1.02.51.010.014.5 16.04.04.08.032.0 1.01.01.01.54.5 2.01.02.02.07.0 1.00.51.50.53.5 5.02.02.01.010.0 7.02.02.01.012.0 3.00.52.01.57.0 3.51.01.02.58.0 1.01.02.03.57.5 6.01.02.03.012.0 2.51.01.02.06.5 5.51.02.53.012.0 2.02.01.52.07.5 10.02.53.01.517.0 5.01.04.01.511.5 5.03.02.00.510.5 6.02.01.51.010.5 2.53.52.05.013.0 1.50.50.82.55.3 Min1.00.50.80.53.5 Ave4.41.71.82.610.5 Median4.31.02.02.010.3 Max16.04.04.010.032.0 There are a few outliers (which may be due to different interpretations of what time should be assigned where), but overall these numbers are pretty consistent, and will be shared with future training course participants. Read More ›

Software Carpentry workshop at the University of Otago, New Zealand
Mik Black, Tom Kelly, Murray Cadzow / 2016-07-04
A three day Software Carpentry workshop was held at the University of Otago from June 29 - July 1. The instructors for the course were Mik Black, Nick Burns, Murray Cadzow, David Eyers, Tanya Flynn and Tom Kelly, with Anthony Shaw and Riku Takei providing additional assistance as helpers. This was Tanya’s and Nick’s first time teaching at a SWC workshop, so it was great to add them to our Otago carpentry team. For the three day format, we reduced the number of contact hours per day so that we ran from 9am to 2:30pm - this gave our attendees with family commitments the ability to experience the whole workshop, and also meant that attendees with other work demands were still able to clock up some “productive hours” after the workshop finished each day. To better fit the three day format we also adjusted the order of our material a little - rather than teaching Unix shell, R and Git as discrete modules, we split the Shell and Git lessons into two, and gave an intro to these topics on day 1, then spent all of day 2 on R, then returned to Shell and Git on day 3, finishing with R functions at the very end. The goal was to show how all of the topics could link together as part of a single workflow - we didn’t quite get it right (next time we’ll use a single example that runs through all the modules), but it has definitely given us “food for thought” for our next Software Carpentry offering. The feedback overall was very positive, and there was certainly an improvement over our previous workshops, in particular with regards to pace, delivery and dealing with technical issues. We had a surplus of helpers so Tom became more involved in the “sharing” part working on the training materials, including a git lesson on branches and several pull requests to the Software Carpentry lessons repositories. It would be interesting so see whether others have had issues with the material where we did. It was valuable to have extra helpers avaiable at times (with technical issues springing up across the room). Favourite moments of Software Carpentry: Sitting with a learner helping her to find the errors in her code, and hearing her exclaim (something like): “Yes, it works! Now I mustn’t delete that. Wait, I’ll back it up with Git!” We’ll call that a victory for SWC. :) Scanning the Eventbrite bar codes with my iPhone. So fun! Having one of our learners adhere so closely to the “bring your own computer” requirement that she arrived with her 27 inch iMac desktop each day (admittedly she only had to carry it downstairs to the venue, but it demonstrated wonderful enthusiasm!) Having great gender ratios: 13 of our 19 learners were female, which is exciting given the traditional male-skew that we see in many computational fields. At the end of our final session we promoted ResBaz 2017 (it’s never too early to start spreading the word!), and our Otago Mozilla Study Group - many of our learners expressed interest in joining our regular informal training sessions, so hopefully our local community will continue to grow. Read More ›

Three workshops in Brazil
Raniere Silva / 2016-07-01
In Brazil, like in many other countries that we are starting to run workshops, there are many open questions that we need to answer such as how do we advertize our workshops? do we charge a registration fee? If yes, how much do we charge? how do we create a local community after the workshop? how do we get new partners after create a local community? Thanks to the work of many instructors like Anelda van der Walt, Belinda Weaver, Bill Mills, Lex Nederbragt, Selene L. Fernandez-Valverde, and Tiffany Timbers we are getting some hypothesis to the questions above across the world. In terms of Brazil, the three workshops that we ran in May added more data to help answering the questions. Workshop in Florianópolis This was the second workshop that we run in Florianópolis with more than one year between each. Our 20 seats sold out in a few days (we didn’t charge anything) but only four students attended all the sessions making this the workshop in Brazil with the smallest number of attendees. The low number of attendees can be due our workshop running at the same time as others activities of SciPy Latin America 2016 but I believe that the main reason was the missing of a local champion to motivate people to attend the workshop (in 2014 we had Diego Barneche Rosado). Workshop in Campinas This was the second workshop that we run in Campinas. The first one was an remote workshop last year. We had 40 seats available but we sold less than 20. At this workshop we charged R$100.00 (that at the time was something around US$25.00) per seat. A friend complained that the ticket was expensive but the workshops aren’t free of costs and if the host isn’t covering the costs we need to charge the attendees. Not having a full room helped a lot when we needed to find another one since the reserved room wasn’t available due an strike promoted by the Student Union. Workshop in São Paulo This was our forth workshop in São Paulo in the last three years making the place in Brazil with most workshops so far. All this four workshops had the support of The FLOSS Competence Center and I hope they will continue to support us. The 18 seats for this workshop sold out in a few days and we had a full room on all the sessions. This probably happend because our history of workshop lots of positive feedbacks. At previous events we had a waiting list filled to double the capacity, this time we did not because of less advertisement and the workshop was scheduled during a holiday. Learners feedback The feedback that we received on all three workshops were similar. The learners loved the friendly and welcoming learning environment that we provided, acquired and improved skills but also commented that the workshop could be longer than two days and be offer more times over the year. Pedagogical exchange In all three workshops we had a amazing team of instructors and helpers. Felipe Bocca, Diego Rabatone Oliveira, Filipe Pires Alvarenga Fernandes, Francisco Palm, Haydee Svab, Kally Chung, Monique Oliveira, Yuri Teixeira mentioned to learn something during the workshop that will help them when teaching the next one. We are seeking financial sponsors to promote the First Brazilian Software Carpentry workshop for Women in Science and Engineering to be delivery by Kally Chung, Haydee Svab and Monique Chung. We will be grateful for introductions to possible sponsors. Answers Coming back to the questions at the begin of this post, some possible answers: how do we advertize our workshops? Direct email to people on previous waiting lists works (and they say ‘thanks’ when attending the workshop) and asking help of local champions to invite learners is 100% effective. Messages on social networks can get you more learners. Ask your local host to put some flyers since this is the best way to reach out. do we charge a registration fee? If yes, how much do we charge? This is a case by case scenario. Having a basket of biscuits and some coffee and tea outside the room right before the breaks facilitate new collaborations and local community building so if you don’t have a sponsor I suggested that you charge for the cathering. how do we create a local community after the workshop? I don’t have a answer for this one yet. how do we get new partners after create a local community? I also don’t have a answer for this one yet. And the lack of funding on the current year budget makes this more challenge. But keep in mind that the Software Carpentry Foundation can provide you with letter of support for grant opportunities. Acknowledge I’m grateful for the support provided by the Software Sustainability Institute, Centro de Informática e Automação do Estado de Santa Catarina S.A., Espaco de Apoio ao Ensino e Aprendizagem, and FLOSS Competence Center to the workshops. Read More ›

1 - 30 June, 2016: Efficacy and Usefulness, Minutes, Discussions, Onboarding Documents, Teaching Undergraduates, and Library Carpentry Material
Bianca Peterson / 2016-06-30
##Highlights Have you previously attended a Software Carpentry workshop? Get involved with the follow-up study on “The Efficacy and Usefulness of Software Carpentry Training” by completing a survey. Feedback on your experience will be greatly appreciated! Minutes of the Steering Committee Meeting is available - suggestions to modify the workflow of the minutes are welcome! ##Discussions Please add your comments to the topics in ongoing discussions. There is a discussion on the mailing list about “onboarding” documents for laboratories or small research groups. Also see Lab Carpentry. Mexican/Spanish speaking instructors are needed for a Software Carpentry workshop later in the year. Please let us know if you’re interested to teach. Read about approaches and experiences on teaching python to undergraduate geoscientists. ##Other Huge progress was made on updating Library Carpentry material during the Mozilla Science Lab Global Sprint. Kally Chung wrote about their recent workshop with Raniere Silva in Brazil. Another successful Software Carpentry workshop was hosted in Palmerston North (New Zealand), also including a session on HPC. Belinda Weaver recently ran a Library Carpentry at the University of Queensland using the new materials. Call for submissions for the 4th Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4) are open. The third Software Carpentry workshop were run at the University of Canterbury, New Zealand in June. 41 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: June: University of Otago & NeSI, Federal Reserve Board July: Pacific Northwest National Laboratory, University of Auckland and NeSI - Winter Bootcamp - SWC with Python, University of Auckland and NeSI - Winter Bootcamp - SWC with R, R workshop - The University of Queensland, SciPy 2016, University of Oxford, The Jackson Laboratory, University of Southern Queensland, University of Zurich, Curtin University, South Florida Water Management District, Philippines August: Colorado State University September: European Molecular Biology Laboratory October: Aristotle University of Thessaloniki Read More ›

Software Carpentry workshop at the University of Canterbury, New Zealand
Richard Clare, Paul Gardner, Constantine Zakkaroff / 2016-06-30
A two day Software Carpentry course was hosted at the University of Canterbury (UC) the 22nd and 23rd of June. The instructors, all of whom are from UC and are certified Software Carpentry instructors, were Paul Gardner (School of Biological Sciences), Richard Clare (QuakeCoRE), and Constantine Zakkaroff (Accounting & Information Systems). They were aided by three helpers: Christopher Thomson, Viktor Polak and Michael Gauland. Organising the event was greatly assisted by Sung Bae of the New Zealand eScience Institute (NeSI). NeSI also sponsored the refreshments for the coffee breaks during the workshop. The three courses taught were the Unix shell (Gardner), Python (Clare) and version control with git (Zakkaroff). The fourth session was used as an open discussion session. We had a total of 30 attendees, which was somewhat disappointing given that 40 had signed up and the event was listed as ‘sold out’ for the week prior to the workshop. The feedback from those that did attend was very positive of both the lessons and the instructors. The room we used (Kirkwood KE04), which has two independent projectors and can seat 40, was ideal. This was the third workshop at the University of Canterbury which also hosted the very first Software Carpentry in New Zealand back in 2013. We are looking forward to training more researchers in NZ and growing the community in the whole country. Read More ›

Minutes of Steering Committee Meeting
Raniere Silva / 2016-06-23
The Steering Committee informs that the minutes of their last meeting held last week are now available on GitHub. As the Secretary, I’m sorry for the delay to release the minutes of the meetings due some experiments on the workflow to write the minutes. Now I’m happy with the workflow that we have in place that will assign one ID for all our motions making easy for us to refer them. I still want to make a few improvements on the workflow to make the minutes more machine redable. If you critics and suggestions related to the minutes please send those by email to me at raniere@rgaics.com. Read More ›

Workshop Satisfaction Survey
Belinda Weaver / 2016-06-22
Calling all Software Carpentry workshop attendees! I’d like 10 minutes of your time to complete a survey about the Software Carpentry workshop you attended. Why should you bother? The data will be useful for Software Carpentry in the future planning of workshops. While individual Software Carpentry workshops are assessed at the time of delivery, no long term follow-up study has been done on the efficacy of the training delivered, nor of any impact the training might have had on attendees’ work practices, further skills acquisition, or subsequent career paths. I am now proposing to do that follow-up for an MPhil project at The University of Queensland entitled “The Efficacy and Usefulness of Software Carpentry Training”. The survey is the first phase of a two-phase study. All Software Carpentry workshop attendees are invited to complete it. It should take no more than 10 minutes to answer. It will capture information about workshops as well as demographic information (confidentiality is assured, and people don’t have to identify themselves if they don’t want to). Space is provided for attendees to write at length (if they want to) about their experiences, both good and bad. The second phase will involve in-depth interviews with people prepared to talk further about their experiences of Software Carpentry training. If that is you, I would love to hear from you. You can contact me directly at thesiscarpentry AT gmail.com Thank you in advance ! About me I am a certified Software Carpentry and Data Carpentry instructor, based in Brisbane Australia. I was recently elected to the Software Carpentry Steering Committee, and have served on the Mentorship Committee. I am really hoping this research will provide useful insights into what Software Carpentry does well, and where it could improve. I tweet as cloudaus. Read More ›

Teaching Library Carpentry
Belinda Weaver / 2016-06-22
Teaching Library Carpentry I ran a two-day ‘Library Carpentry’ workshop for librarians at The University of Queensland on 13-14 June. The class covered jargon-busting and data structures writing and using regular expressions command line tools to find data in files version control OpenRefine for data cleanup Eighteen people from six organisations attended, out of a pool of 26 who intially expressed interest. (In the small lab I was using, I only had room for 18.) Because of my wish to spread these skills far and wide, people were only welcome to attend if they agreed to teach the material to others within 12 months – to teach some of it at least. Despite some degree of trepidation among attendees, pretty much everyone signed up for that. Though I am a certified Software Carpentry instructor, this was my first time teaching the full Library Carpentry curriculum, so I was learning it myself as I went along. The material was developed by Dr James Baker, Owen Stephens and Daniel van Strien. This material was updated by a team during the recent Mozilla Global Sprint - see blog post, so there are updated lesson repositories sitting on GitHub under data-lessons as well (which made preparing for the workshop tricky). Teaching someone else’s material is always a challenge, and I made many blunders, but this helped people relax about their own mistakes. In the end, my lack of familiarity did not prevent my teaching at least some of the material efectively, which is worth noting. A little knowledge can be useful! I did warn attendees that the material would be challenging. If you have never used the command line before, it can seem an unforgiving place. I likened it to learning to drive, where nothing is familiar or intuitive, and you have to remember to do complicated things in the right sequence. Some people loved that section and could see uses for both grep and sed, which I covered in detail. People also enjoyed the jargon busting and regular expressions challenges from the first session. The most popular session was definitely OpenRefine. This tool was the one most attendees said they would use after the workshop. Some of the suggested uses included: Tidying up EndNote libraries by identifying where data is missing Wrangling data for bibliometric benchmarking exercises Cleaning up and standardising free text fields from surveys Anonymising sensitive data Turning messy, unstructured data into categorised data Using regular expressions to locate specific words or concepts within messy data Combining course feedback from different courses The Git session was run only through the Web interface. People created a blog using JekyllNow, and also created files to for a repository we set up at the workshop. This gave them the opportunity to fork and branch repositories and do pull requests in a visual-friendly environment. I was very fortunate to have the assistance of Marco Fahmi at the workshop. He knew regex backwards and came up with lots of good ideas to encourage greater involvement and input by attendees, and to use the tools later. He also helped people who got stuck at different points, not least me! He dug me out of the many holes I got into because of my inexperience with the material. Would I do it differently next time? I would. I learned it is vitally important, up front, to establish how people will use the different tools post-workshop. While we did brainstorm ideas for this in the workshop, it would help to have more ready-made examples at the start. Certainly the ideas for OpenRefine will be incorporated into the updated lessons, as will other examples from the workshop. But my key message really is : Just do it! Even if you are not an expert, you can teach this material, or learn it with others as a group. The full curriculum is available, including notes, handouts, challenges, scripts, quizzes and slides. Skills like these will only become widespread if people take responibility for sharing them. Have a go. If you want to be part of developing and refining the material, or if you just want to be in touch with others in this area, join our chatroom. I hope I’ll see you in there. Read More ›

Ongoing Discussions
Greg Wilson / 2016-06-20
We've been using GitHub issues to manage discussions for the last eighteen months or so. It's working pretty well: when something on the main mailing list looks like it's going to run for a while, we push the conversation over to GitHub so that people who want to go into more detail can do so without flooding other people's mailboxes. I've being going through those discussion issues while tidying up our lessons for their next release, and found a few that are still relevant, but which never reached a resolution. If you have thoughts on any of these, please go ahead add your comments—if your ideas don't get folded into the lessons this time, they will next. Debug in notebook Managing data analysis pipelines Adding prompt with CSS Get rid of humandate How to motivate use of licenses Citing studies of open access Storing instructors' notes online Read More ›

Teaching Python to undergraduate geoscientists: A summary of our approaches and experiences over the years
Christian T. Jacobs, Gerard J. Gorman, Huw E. Rees, Lorraine E. Craig / 2016-06-18
In 2010, a new course commenced at Imperial College London that aimed to teach undergraduate geoscience students how to program in Python. Over the course of five years (2010 to 2014 inclusive) our teaching methodology evolved significantly in response to student feedback and examination performance. The course lecturers (Gerard Gorman and myself, Christian Jacobs) along with several of our Teaching Assistants also undertook Software Carpentry instructor training which offered a fantastic pedagogical insight into how to effectively teach novices how to program. As a result, many of our teaching techniques were influenced by this which helped to greatly improve our course. In this blog post we summarise what we changed throughout the five years and why, in the hope that this will benefit other instructors currently offering, or planning to offer, an undergraduate computer programming course. To give a bit of context, each class normally comprised about 80-90 geoscience undergraduates, most of whom had no prior knowledge of computing. All teaching took place in a computer lab during a 3-hour time slot each week, for a total of 8 weeks. Initially we decided to adopt a traditional ‘talk and chalk’ lecturing style in 2010, spending most of the 3 hours describing theoretical concepts with very little time for practical exercises. The formal, summative feedback from the students at the end of the course (rating both the lecturer and the content via an online form) indicated a high level of student satisfaction. This was most likely because the traditional lecturing style was what the students were used to. Surprisingly, the examination marks painted a very different picture; a low mean mark of 50.5% in the final exam indicated that the learning outcomes were poor, despite the positive feedback. We quickly realised that, since programming is a practical skill, just like learning to ride a bike or learning how to swim, more time must be allocated for practice. The main change in 2011 was therefore to introduce an additional 3-hour practical workshop. Significantly more positive comments were received from the students regarding the quality and quantity of support on offer, and the overall high score from the summative feedback was maintained. However, while the mean examination mark of 68.9% was a significant improvement over the previous year, the amount of extra time allocated was unsustainable for future years; this highlighted a common problem of trying to fit in more computing into an already full curriculum (a point that was also noted by Greg Wilson in his SciPy 2014 talk). Furthermore, the trending issue indicated by the students’ comments was that of the pace being too fast. In 2012 we moved away from traditional lecturing and instead introduced online YouTube videos to deliver the course content. This successfully addressed the aforementioned issue of pace by allowing students to work at their own speed and watch the videos again if necessary. Yet in the summative feedback at the end of the course we realised that the students did not feel supported by this unfamiliar method of content delivery. The students gave the content and lecturer a considerably lower score this year, and largely negative comments were received along the lines of ‘the lecturer is not lecturing us’. It also became clear from the mean mark of 60.3% that this approach offered no benefit to learning outcomes. After taking Software Carpentry instructor training we became aware of the flipped classroom approach, which we implemented in 2013. This is a type of blended learning in which a brief lecture is given to establish context, followed by a much longer practical session in which the students tackled exercises within IPython Notebooks. The learning outcomes were significantly improved, with examination marks (74.5% mean) being greatly skewed towards the positive end of the scale. Positive summative feedback was received with respect to both support and pace. On the other hand, the majority of the negative feedback was about lecturing style, which once again did not match student expectations. In light of the success of blended learning we continued to use this approach in 2014, but justified the approach to students and emphasised the benefits throughout. Students felt reassured, resulting in only positive comments regarding lecturing style. We also implemented several other changes: Rather than having one long practical session, we split up the workshop into ‘bitesize chunks’. This mixed short lectures (10-15 minutes) with multiple, in-class exercise sessions (30-40 minutes) so that students did not become exhausted. We introduced the use of ‘sticky notes’, a technique frequently used by Software Carpentry workshops. Students were given one red and one green sticky note at start of class. Each student posts the green note on top of their computer monitor when they complete a particular exercise, which acts as a visual indicator of progress. The student posts the red note if they require assistance; this alerts the lecturer and TAs, and allows the student to continue working without keeping their hand raised, thereby improving productivity. Both the green and red notes were also used to provide positive and negative feedback at the end of each workshop. Once again the exam marks were positively skewed in 2014, and most students did very well in meeting learning outcomes. Overall, we feel that we have converged on an effective teaching methodology involving blended learning and formative student feedback. We hope to conduct a more formal, quasi-experimental pedagogical study in the future using a planned method of data collection from the outset, unlike the present study which was more retrospective in nature. All of our teaching material is available on GitHub (https://github.com/ggorman/Introduction-to-programming-for-geoscientists) under a Creative Commons Attribution 3.0 Unported (CC-BY 3.0) licence. Feel free to adopt/tailor it to your needs! Further details, including additional student and course data, can be found in our paper that has been accepted for publication in the Journal of Geoscience Education: C. T. Jacobs, G. J. Gorman, H. E. Rees, L. E. Craig (In Press). Experiences with efficient methodologies for teaching computer programming to geoscientists. Journal of Geoscience Education. Pre-print: http://arxiv.org/abs/1505.05425 Read More ›

Software Carpentry and HPC class hits Palmerston North (New Zealand)
Ben Jolly, Hannes Calitz, Markus Mueller, Wolfgang Hayek / 2016-06-16
On 7th and 8th June 2016 we gave a Software Carpentry training consisting of four blocks. We started with bash (presented by Markus, Landcare Research Hamilton), Python (Ben, Landcare Research Palmerston North), went on to git (Hannes, Massey University) and finally had a session around using High Performance Computing (HPC) as it is offered by the NeSI, the New Zealand eScience Infrastructure (Wolfgang, NIWA Wellington and NeSI). This last session is not one of the official SWC modules, but was taylor-made and rounded up the training very well, as it used the skills acquired during the preceding three sessions. It included hands-on training, working remotely on the NeSI Pan cluster in Auckland; all attendees managed to log on and submit jobs to the SLURM scheduler successfully. This was a very successful workshop with almost 40 attendants, organised and presented by a mixed team of new and more experienced instructors. The participants were very responsive and there was a lot of learning happening for the attendees and for instructors. The feedback was mostly positive and the negative feedback was very constructive. An aspect mentioned by several participants was that the number of attendees was probably too large, possibly with respect to the venue size - something we have to consider in the future. The logistical support with refreshments, received from the Massey in the person of Colleen Blair, was behind the scenes, but timely and well prepared. So we had a hydrated group, and a lot of fun was had by all. The new friendships made will hopefully lead to more cooperation between colleagues. Hannes’ favourite critique was: “It is impossible to listen and type as well!” – Note to self :) Many attendees were very positive about the tools and approaches presented, seeing applications for them in their current work or study. We received very good feedback about the number of instructors and helpers and their attited towards teaching and helping participants; most smaller and larger problems that people had could be sorted out relatively quickly. A number also expressed interest in on-going engagement through the likes of ‘hacky-hour’ type weekly meetups. Read More ›

Workshop at Unicamp
Kally Chung / 2016-06-13
A Software Carpentry workshop took place at Unicamp (State University of Campinas, Brazil) on May 23rd and 24th. Raniere Costa was the host and lead instructor, while Felipe Bocca, Monique Oliveira, and I completed the instructor’s team. Day 1: Although we had issues with the first booked classroom due to the student’s strike against budget cuts in public university education, Renato Santos gave the Unix shell lesson without problems. To solve the complication with facilities, we found an available computational lab to continue the workshop with the help of professor Doctor Francisco de Assis Magalhães Gomes Neto, IMECC’s director. After lunch, Felipe Bocca taught some R and then Raniere Costa taught RMarkdown. Day 2: We had the pleasure of welcoming Jonah Duckles, executive director of the Software Carpentry Foundation. I gave the first lesson on Git, and after lunch Raniere Costa continued with the lesson. A final lesson on R—the last of the workshop—was given by Felipe Bocca. To finish, Jonah Duckles encouraged the students to continue the learning started in the workshop and also spoke about how to contribute and participate in the Software Carpentry community. Conclusion: Despite of the initial facility problem, we managed to settle in and continue the workshop without loss in quality. All of the instructors did their best to attend the student’s needs and expectations. The feedback received from them was positive and most of them were interested in the Data Carpentry workshops. Read More ›

Updating Library Carpentry
Belinda Weaver / 2016-06-06
A global team worked to update the Library Carpentry curriculum and lesson material at this year’s Mozilla Science Lab Global sprint. The work kicked off in Brisbane, where Clinton Roy, Natasha Simons and I worked with Carmi Cronje in Sydney to start the ball rolling. Matthias Liffers came online in Perth two hours later. At 5.30 pm our time, we handed over to teams in South Africa, the Netherlands, and the UK, led by Anelda van der Walt, Mateusz Kuzak, and James Baker respectively. James, with his colleagues Owen Stephens and Daniel van Strien, were the original developers of the Library Carpentry material. During the sprint, James developed a new regex quiz, while Owen helped update and migrate the OpenRefine material. Jez Cope volunteered as a maintainer for the git lesson. Canadian and US teams began work as the sun moved around the globe. These included Juliane Schneider from UCSD working on OpenRefine and Gail Clement from Caltech, working on Author Carpentry. Laurel Narizny and Robert Doiel also signed on from Caltech. Cam Macdonell seemed to be up all hours and was a key driver for getting the material migrated into gh-pages and the new lesson templates. The original four-module lesson (covering shell, regular expressions, git, and OpenRefine) has now become seven, with a new SQL module (based on the Data Carpentry lesson) being added, along with others for persistent identifiers and computational thinking. Draft learning objectives were created for most of the main lessons which are linked from here. Material for five modules was migrated to the new Data Carpentry lesson template. Library-based datasets were swapped in to make the lessons more relevant to librarians. During the sprint, all the Library Carpentry action was co-ordinated through a dedicated chat room and via daily evening Hangouts where the day’s work was reported, before being handed over to the incoming team, rather like a baton being passed in a relay race. We hope to continue the conversation through the chat room as we continue to develop the material. This was a really great experience, and I thank all the amazing people who dedicated their time to the project, and who have volunteered as maintainers into the future. There is still a lot of work to be done, but we made huge progress. I hope Anelda, Cam, James, Mateusz and some of the other participants will also chime in with their own stories and achievements. My take is only partial. Please also correct any errors I have made. Thanks again all - what a fantastic effort. Read More ›

9 - 31 May, 2016: The First Bimonthly Report, Instructor Data Analysis, R Instructor Training, Measuring the Right Stuff, RSE Conference, and a Bug Barbeque
Bianca Peterson, Anelda van der Walt / 2016-05-31
##Highlights The 2016 Steering Committee’s first bimonthly report provides an overview on happenings in the community in the past two months. The joint partnership agreement with Data Carpentry is now available, together with a written version of the instructor training model, a call for subcommittees and task forces, and an official space on Facebook. Make sure to read the Code of Conduct in support of our welcoming, friendly, and diverse community. ##Instructor training The results from the first analysis of instructor training data is now available. Also see the discussion on the discuss mailing list. If you have a suggestion for further analysis, please share your thoughts! Applications for R instructor training in Cambridge, UK, are now open. Beth Duckles have recently published two reports on Software Carpentry instructors’ experiences and views. In a more recent blog she’s asking whether we are measuring the things that we actually care about. ##Events Are you a Research Software Engineer? Apply to attend the First Conference of Research Sofware Engineers. Reminder: the bug BBQ is coming up on 13 June. ##Other The Brisbane Software Carpentry community has expanded over the past few years and invite all newcomers to upcoming events. For an interesting take on Software Carpentry Workshops, see Christopher Lortie’s Common Sense Review. Attendees can make or break a workshop. Read about Paula Andrea Martinez’s experience of the First Data Carpentry workshop in Darwin, Australia. Read Cathy Chung’s post on what digital humanists do if you are curious about real-life digital humanities projects. Want to run a workshop for Women in Science and Engineering? These tips and tricks by Aleksandra Pawlik might help you! Still not sure what is good and not-so-good practices when teaching workshops? Watch these videos by Lex Nederbragt for demonstrations. David Andersen posted a great summary of how to apply what he has learned in Google’s Visiting Faculty program in academia. 25 workshops were run over the past 22 days. For more information about past workshops, please visit our website. Upcoming Workhshops: May: Central Queensland University (CQU), University of Puerto Rico Mayagüez June: McGill University, University of Wisconsin - Madison, Federal Reserve Board, Berkeley Institute for Data Science, Great Plains Network, Université Bishop’s, Massey University Albany & NeSI, Massey University, Palmerston North, University of Cincinnati, Elizabeth City State University, LANGEBIO-Cinvestav, Online, Online, University of Wisconsin - Madison, National Institutes of Health - FAES, Cornell University Statistical Consulting Unit (CSCU), University of Washington - Seattle, SRRC, USDA-ARS, New Orleans, LA, The University of Leeds, iHub, SIB @ University of Lausanne, University College London, University Library Basel, The University of Leeds, Materials Physics Center - University of the Basque Country, NERC / The University of Leeds, NERC / The University of Leeds July: Pacific Northwest National Laboratory, R workshop - The University of Queensland, SciPy 2016, University of Southern Queensland, Philippines August: Colorado State University September: European Molecular Biology Laboratory October: UC San Diego Read More ›

Further Analysis of Instructor Training Data
Greg Wilson / 2016-05-31
Following Erin Becker’s analysis of our instructor training data, Byron Smith has done another analysis using survival statistics. The three key figures are: Long story short, about half of instructors teach within 200 days of certifying, and about half of those teach again with 100 days. If anyone has similar stats from other volunteer teaching organizations, we’d be grateful for pointers. Read More ›

What Digital Humanists Also Do
Kathy Chung / 2016-05-30
Following up on an earlier post, here are two more user stories from digital humanists to help us figure out what they need and how we can help. Gamma Gamma is a senior scholar working on two projects. The first looks at communities of workers and architects in the Medieval and Renaissance eras, and relies on records of specific buildings, diaries of artisans, sketches, and building plans (some of which are very large: the width of a sidewalk, and the length of a city block). The end goal is to learn about the people who created the buildings, who they did the work with, the processes they used, what they were paid, and so on, and more broadly to understand the social network of people involved in creating the great buildings of the time. Gamma spends a lot of time in archives, copying and studying various original manuscripts (many of which have never been digitized). Since many of the buildings are still standing, they can also take photographs (which they have to do for mason’s marks, which can’t be represented in any existing font). There’s a lot of textual description to keep track of, and a lot of linkages between items as well. Delta Delta studies metalwork objects used to store religious relics. The research questions center around the designs, which can be used to identify regions and creators. Who saw the objects? Who used them? What was their sphere of influence (i.e., how far did they travel)? What influence did they have on the design of other things (like buildings)? This work also involves storing and managing lots of images and the relationships between them. There’s also a lot of map work: with 4000 objects in one collection and 5000 in another, finding out what was where, when, can help determine what might have influenced what. There are a few useful databases for this, but mostly Gamma has documents (containing text, images, and citations) in various folders on a hard drive. Epsilon Epsilon started the interview by saying, “I am hopeless with technology,” and like many people, has stuck to out-of-date versions of software rather than risk breaking anything. Their dissertation topic is the pictorial tradition for illustraing the late Medieval story “The Three Living and the Three Dead”, which was recorded in a number of languages by different poets. Their goal was not a comprehensive catalog of every image, but to characterize how the image was understood in continental Europe, and when and why differences arose between northern and southern Europe. 13th and 14th Century images tend to come with a copy of the poem; by the 15th Century the images took on religious meanings of their own. A growing number of these images available in Google search, and smaller libraries are also beginning to digitize their collections, but collecting images was still hard work, and costly (so much so that Epsilon eventually restricted the search to France, Germany, and the Low Countries). It was also hit and miss: institutions might commission more detailed descriptions of items in their collections, and even digital reproductions, but if no textual description from an archive or museum said “three living and three dead”, those images might never turn up. At the same time, while it’s easy enough now to take pictures with a phone, managing those is difficult, since there’s no easy way to add annotations directly on the phone. There is FADIS (the Fine Arts Digital Imaging System), but it can’t use it for personal research on a personal computer. Read More ›

What Digital Humanists Do
Kathy Chung / 2016-05-25
I have started gathering user stories from humanists to give us a better sense of what they do and how (or whether) our kind of skills training might help. Two of these are summarized below; there’s a lot to think about, but the most important observation is that DH really is different in important ways from what Software and Data Carpentry have been doing so far. Alpha Alpha is studying the meeting of cultures in a text which mixes vernacular (Judaeo-Provençal) and Hebrew. The text’s author was a physician, and says in the introduction that the vernacular was for women and children, while the Hebrew was for men. The text exists in only one hand-written manuscript from 1401, which is based on the book of Esther used in the Purim holiday. The original is at the Bodlein Library in Oxford, but is available on microfilm, and weighs in at about 22 folio pages. (Alpha heard that there was another copy in Italy, and obtained digitized copy, but the original was in such bad shape that they can’t even tell if it’s the same manuscript.) There are also two 18th Century handwritten copies, and a much later 19th Century copy from the Balkans, all of which have variations from the original. The first task was to transcribe the document, which meant learning the quirks of the scribe’s handwriting. (The good news is, those quirks can help to date the manuscript.) Once it was transcribed, the next step was to track down and record the sources of its Biblical quotations. Luckily, there’s already a database of Biblical and other religious texts from different periods, so this can be done with keyword searches. Determining the significance of the choices of quotations is a harder task, but necessary for writing a scholarly edition of the work. This obviously relies on the Medievalist’s expertise, but good bibliography management tools are essential. Step three was to translate the whole document for personal use, then do a better translation of the bits actually used in the Medievalist’s dissertation. The end product was based on the 1401 version, but included variants in an appendix; those variants were also used to fill in gaps in the original. (The author of the original documen wrote a colophon as an acrostic, which probably doesn’t matter from a software skills point of view, but is still pretty cool.) Alpha’s data management challenges mostly revolve around tracking different formats: microfilm, digitized images, PDF versions of a microfilm, and so on. Each page is a different image, so this has to be done page by page. The other major component is the critical analysis, which requires linking discussion of the literary, cultural, religious, and medical context of the work back to the original. Beta Beta has already used some computer tools in their MA research (described below), and tried to take a Software Carpentry workshop but was unable to schedule it. A friend introduced them to Markdown and Pandoc and they use it to write all their work now. They also uses Zotero. Their MA research revolved around everyday use of vernacular medical manuscripts in late Medieval England. These contain a lot of text about everyday small-time medieval practices, but not much about everyday life. Their starting point was a single manuscript made up of several booklets which are full of marginalia. The first task was to transcribe all the marginalia with important metadata (the folio, the marginalia’s location, the color of the ink, the date, the hand it was written in, the beginning of the associated medical recipe, etc.). The result was 700 lines of marginalia data, which they ended up analyzing using a pivot table in Excel. The analysis revolved around classifying and grouping comments; 700 records is a manageable number, but obviously doing this with a computer is a lot faster. (It turns out, by the way, that the most common subject was headaches, but this was probably influenced by the content of the main text.) Beta is now working with several other people on a content management system for DH projects. This relies on the International Image Interoperability Format, which they explained as “like DOIs but for images”. It links metadata to images so that you can open any image with an IIIF-compliant viewer, then add more metadata, and the original image holder can decide if they want to incorporate the new data or not. Their main goal is to help people produce authoritative scholarly editions of manuscripts. Lots of people will be involved in editing and annotating, and these will be used in many ways that the original creators cannot anticipate. One interesting challenge is how to handle variants: if there are 25 slightly different versions of a text, what do you print and how? And how much of the original appearance do you try to preserve? As noted in Alpha’s story, the handwriting can be as important as the actual text, and in Beta’s MA research, the physical location or ink color of comments mattered too. Read More ›

Darwin Data Carpentry at Charles Darwin University
Paula Andrea Martinez / 2016-05-23
##First Data Carpentry workshop in Darwin Australia## The COMBINE Data Carpentry R workshop at Charles Darwin University was filled with joy, enthusiastic attendees and extra degrees of warm. This was a self-organised workshop led by COMBINE with help of local organisers mainly from the Menzies School of Health Research. After some emailing back and forth, three months before the workshop, we planned to have an R data carpentry workshop based on the answers of a custom-made survey (prepared by Steven). Then, two COMBINE instructors were called, so Westa and I volunteered for this workshop and started with preps. The workshop was capped for 30 people with a nominal fee to cover for catering ($50 AUD). People were well-disposed and a good sign was that 45 days before the workshop the registration reached its limits. Later on, there were 2 dropouts and we were able to add 2 people from the waiting list. ##The workshop## Westa and I arrived to warm Darwin at around midnight and saw an amazing starry sky. It was going to be our first workshop together, coming from two different institutions (University of Sydney and The University of Queensland. We had COMBINE in common and a few prep chats. On the first day, we arrived 45 min earlier to the location and found Amar and Zuli organising morning tea and setting up the Menzies seminar room at Charles Darwin University. People started to arrive and everyone came in with friendly smiles. We had close to zero installation problems, on day one. Attendees actually did install all the software and this must be highlighted as most of them used Windows laptops. Our schedule was focused on teaching R in RStudio, with a bit of data management and version control. From the 30 registered attendees, there was a 50-50 ratio between females and males. About half of the attendees were from Menzies, the other half from other CDU schools. We had a group of mostly PhD candidates, but also masters and undergraduate students, one third were Drs (PhDs), with one Associate Professor and one Professor. All very smart people. Also, a bit less than one-third of the attendees were already using R. It was definitely one of the best workshops I’ve taught at and participated in. Why was that? Well, because of the group. You guys made it work out by asking questions, by being creative with the answers to challenges, and by sharing with your neighbours. In summary, by enthusiastically interacting, which is the essence of a Software/Data Carpentry workshop. Another thing I really appreciated with this group of people was the constant feedback. We had comments during the lesson, breaks, and after the workshop. This only showed how involved everyone was and how much they were enjoying the new learning. The first day, we did not finish just because the workshop did. Although we gave them voluntary exercises for the next day, we also invited them for the first COMBINE meetup in Darwin! We had some nibbles and refreshments from COMBINE and Sam/Beachfront. It ended up being a very bonding experience - I got to ask about their projects and about Darwin. I discovered that many people actually do not come from there, that there are crocs everywhere, and that we were in the best season weather of the year! At the end everyone was happy to say: “see you guys tomorrow!” The second day, we did some plotting and it was nice to hear all those “WOWs”, “That’s beautiful”, “Ahhhhs” and so on, and so on. I think, and from the feedback I can say that everyone had a good time plotting and finished with a thirst for more! Our last part of the workshop involved interacting with Git. We had some trouble connecting Git with RStudio, although everyone had it installed. Windows laptops were very troublesome - at the end probably about 4 people were not able to link these two due to administrative restrictions on their laptops. Finally, we showed them how to use Git from the command line and from RStudio. Also we managed to produce the first version of the R scripts they wrote during the workshop. We tried to uplift the motivation with a few individual examples and then shortly afterwards, we wrapped up the workshop. I loved that crowd and I will be happy to return (wink), also I have unmet expectations of visiting Kakadu (wink, wink). ##Acknowledgements## Funding from the Australasian Genomic Technologies Association (AGTA) through a COMBINE workshop development scheme. To COMBINE former and current presidents: Harriet Dashnow and Jane Hawkey for setting this up, and Westa Domanova as co-instructor in this workshop. To Menzies School organiser and helper [Amar Aziz] (https://twitter.com/s_lump). To everyone who helped with organising locally - Steve, Jess, Jess, Linda, Erin, Zuli and Sam. To all awesome attendees, you made this a real success!!! ##Highlights## This workshop was included as part of the Charles Darwin University Research Enhancement Program (REP), from which PhD students benefit - they need to attend a number of these workshops during their candidature. The first day of the workshop May 12, we had the first Darwin COMBINE meetup, where all attendees were welcomed plus all other interested in Bioinformatics/Computational Biology. It was a great night, with high chances to be repeated. # I hope you enjoyed this experience as much as I did. Read More ›

First Analysis of Instructor Training Data
Greg Wilson / 2016-05-20
Following up on Wednesday’s post about instructor training stats, Erin Becker (Data Carpentry’s new Associate Director) has posted an analysis. I was very surprised to discover that less than 20% of people trained over a year ago haven’t taught yet: I believed the number to be much higher. 51% of those trained in the last 12 months haven’t taught yet, but that’s less surprising, since in many cases there simply hasn’t been time. Overall, we seem to be doing pretty well… Read More ›

Looking for a Model
Greg Wilson / 2016-05-18
Updated: this CSV file has information on who taught when. The three columns are the person's unique identifier, the date on which they first qualified, and the dates on which they taught. (If someone has taught multiple times, there is one record for each teaching event.) People who haven't taught at all are at the bottom with empty values in the third column. Erin Becker's analysis of this data is posted on the Data Carpentry blog and discussed here. We rebooted instructor training in October 2015, and things have been going pretty well since then. If we average over all 23 new-style classes, it looks like two thirds of people who take part actually qualify as instructors within four months of finishing the class: Date Site(s) Days Since Participants Completed Percentage Cum. Participants Cum. Completed Cum. %age 2015-10-15 online 170 48 30 62.5% 48 30 62.5% 2015-12-07 Paris 162 7 7 100.0% 55 37 67.2% 2015-12-07 Potsdam 162 5 5 100.0% 60 42 70.0% 2015-12-07 Thessaloniki 162 4 4 100.0% 64 46 71.8% 2015-12-07 Arlington 162 10 4 40.0% 74 50 67.5% 2015-12-07 Vancouver 162 5 4 80.0% 79 54 68.3% 2015-12-07 Wisconsin 162 7 5 71.4% 86 59 68.6% 2015-12-07 Australia 162 3 2 66.6% 89 61 68.5% 2015-12-07 Curitiba 162 3 3 100.0% 92 64 69.5% 2015-12-07 Toronto 162 14 12 85.7% 106 76 71.7% 2016-01-05 Oklahoma 133 19 5 26.3% 125 81 64.8% 2016-01-13 Lausanne 125 20 16 80.0% 145 97 66.9% 2016-01-18 Brisbane 120 20 14 70.0% 165 111 67.2% 2016-01-21 Melbourne 117 27 6 22.2% 192 117 60.9% 2016-01-21 Florida 117 25 8 32.0% 217 125 57.6% 2016-01-28 Auckland 111 20 7 35.0% 237 132 55.7% 2016-02-16 Online 91 26 8 30.7% 263 140 53.2% 2016-02-22 UC Davis 85 23 9 39.1% 286 149 52.1% 2016-03-09 U Washington 69 14 2 14.2% 300 151 50.3% 2016-04-13 online 34 33 1 3.0% 333 152 45.6% 2016-04-17 North West U 31 23 0 0.0% 356 152 42.7% 2016-05-04 Edinburgh 13 15 0 0.0% 371 152 40.9% 2016-05-11 Toronto 6 27 0 0.0% 398 152 38.1% One of our goals for this year is to lower the majority completion time from four months to three; another is to increase the throughput from two thirds to three quarters. What I'd really like, though, is some help figuring out what statistical model to use for the other important aspect of our training and mentoring: how many of the people we train go on to actually teach workshops, and how quickly. The data we have includes the following for each person: unique personal identifier (we can easy anonymize individuals) date(s) of the instructor training courses they took (someone may enroll, drop out, enroll again, and so on) date(s) on which they were certified (they may have qualified for Software Carpentry and Data Carpentry at different times) the date on which they taught their first workshop (if any) "Mean time to teach first workshop" isn't a good metric, since roughly 1/3 of the people we've trained haven't taught yet. Should we use an inverted half-life measure, i.e., how long until the odds of someone having taught hit 50%? Or would something else give us more insight? Whatever we choose needs to be robust in the face of a big spike in our data in January 2016, when we retroactively certified a big batch of Data Carpentry instructors. If you have suggestions, comments on this post would be very welcome. Read More ›

A Common Sense Review of a Software Carpentry Workshop
Christopher Lortie / 2016-05-18
Re-posted with permission from the author's blog. Rationale This Fall, I am teaching graduate-level biostatistics. I have not had the good fortune of teaching many graduate-level offerings, and I am really excited to do so. A team of top-notch big data scientists are hosted at NCEAS. They have recently formed a really exciting collaborative-learning collective entitled ecodatascience. I was also aware of the mission of Software Carpentry but had not reviewed the materials. The ecodatascience collective recently hosted a carpentry workshop, and I attended. I am a parent and use common sense media as a tool to decide on appropriate content. As a tribute to that tool and the efforts of the ecodatascience instructors, here is a brief common sense review. ecodatascience software carpentry workshop Spring 2016 What You Need to Know You need to know that the materials, approach, and teaching provided through software carpentry are a perfect example of contemporary, pragmatic, practice-what-you-teach instruction. Basic coding skills, common tools, workflows, and the culture of open science were clearly communicated throughout the two days of instruction and discussion, and this is a clear 5/5 rating. Contemporary ecology should be collaborative, transparent, and reproducible. It is not always easy to embody this. The use of GitHub and RStudio facilitated a very clear signal of collaboration and documented workflows. All instructors were positive role models, and both men and women participated in direct instruction and facilitation on both days. This is also a perfect rating. Contemporary ecology is not about fixed scientific products nor an elite, limited-diversity set of participants within the scientific process. This workshop was a refreshing look at how teaching and collaboration have changed. There were also no slide decks. Instructors worked directly from RStudio, GitHub Desktop app, the web, and gh-pages pushed to the browser. It worked perfectly. I think this would be an ideal approach to teaching biostatistics. Statistics are not the same as data wrangling or coding. However, data science (wrangling & manipulation, workflows, meta-data, open data, & collaborative analysis tools) should be clearly explained and differentiated from statistical analyses in every statistics course and at least primer level instruction provided in data science. I have witnessed significant confusion from established, senior scientists on the difference between data science/management and statistics, and it is thus critical that we communicate to students the importance and relationship between both now if we want to promote data literacy within society. There was no sex, drinking, or violence during the course :). Language was an appropriate mix of technical and colloquial so I gave it a positive rating, i.e. I view 1 star as positive as you want some colloquial but not too much in teaching precise data science or statistics. Finally, I rated consumerism at 3/5, and I view this an excellent rating. The instructors did not overstate the value of these open science tools – but they could have and I wanted them to! It would be fantastic to encourage everyone to adopt these tools, but I recognize the challenges to making them work in all contexts including teaching at the undergraduate or even graduate level in some scientific domains. Bottom line for me – no slide decks for biostats course, I will use GitHub and push content out, and I will share repo with students. We will spend one third of the course on data science and how this connects to statistics, one third on connecting data to basic analyses and documented workflows, and the final component will include several advanced statistical analyses that the graduate students identify as critical to their respective thesis research projects. I would strongly recommend that you attend a workshop model similar to the work of Software Carpentry and the ecodatascience collective. I think the best learning happens in these contexts. The more closely that advanced, smaller courses emulate the workshop model, the more likely that students will engage in active research similarly. I am also keen to start one of these collectives within my department, but I suspect that it is better lead by more junior scientists. Net rating of workshop is 5 stars. Age at 14+ (kind of a joke), but it is a proxy for competency needed. This workshop model is best pitched to those that can follow and read instructions well and are comfortable with a little drift in being lead through steps without a simplified slide deck. Read More ›

R Instructor Training Applications Open
Greg Wilson, Laurent Gatto / 2016-05-16
Thanks to generous sponsorship from the R Consortium, Software Carpentry is running a two-day R instructor training class in Cambridge, UK, on September 19-20, 2016. If you are active in the R and/or Software and Data Carpentry communities, and wish to take part in this training, please fill in this application form. We will select applicants, and notify everyone who applied, by June 30, 2016; those who are selected will be responsible for their own travel and accommodation. If you have any questions, please mail training@software-carpentry.org. Please note that as a condition of taking this training: You are required to abide by our code of conduct, which can be found at http://software-carpentry.org/conduct/. You must complete three short tasks after the course in order to complete certification. The tasks are described at http://swcarpentry.github.io/instructor-training/checkout/, and take a total of approximately 2 hours. You are expected to teach at a Software Carpentry or Data Carpentry workshop within 12 months of the course. For more information on Software and Data Carpentry instructor training, please see http://swcarpentry.github.io/instructor-training. Read More ›

Software Carpentry in Brisbane
Belinda Weaver / 2016-05-14
Brisbane Software Carpentry sputtered into life some time in 2014 when scattered local supporters finally met and began to form a group. Having heard about the initiative via Twitter, I managed to contact Nathan Watson-Haigh who got me on to the Aus/NZ mailing list. Then I met Philipp Bayer (now in Perth) and we started planning our first workshop at The University of Queensland. PyCon Australia was coming up in Brisbane and we were able to get Damien Irving from Melbourne and Tim McNamara from New Zealand to teach for us as they were in town for that. So we ran our first ever Software Carpentry workshop with Python at UQ in July 2014. Helpers included Nick Coghlan and Dan Callaghan from RedHat, and Kaitao Lai and Michal Lorenc from Dave Edwards’ bioinformatics group. In February 2015, five Brisbaneites – Amanda Miotto, Sam Hames, Areej Al-Sheikh, Mitch Stanton-Cook and Paula Andrea Martinez - went to Software Carpentry instructor training in Melbourne. Areej had been an attendee at the July 2014 workshop, along with Darya Vanichkina. Both were keen to train as instructors. Darya and I trained online with Greg Wilson during early 2015, so Brisbane was suddenly rich in instructors. Areej, Mitch, Paula, Sam and I ran a Python bootcamp in July 2015, and there was a second one in late September. Paula and Sam flew to Townsville in Queensland later that same week to run an inaugural R bootcamp there, and four attendees there registered interest in instructor training. We were lucky to have the services of Python wizard Caleb Hattingh at both the July and September workshops. Heidi Perrett and Kim Keogh from Griffith University helped at the September workshop, and liked it so much they decided to train as instructors. Aleksandra Pawlik ran instructor training for 20 people in Brisbane in January 2016, so our instructor pool has grown a little bigger, though not by 20. Many of the attendees were from other states (NSW, ACT) – and one, Selene Fernandez Valverde, has gone on to trailblaze Software Carpentry in Mexico. However, in addition to Heidi and Kim, we now have Leah Roberts, Nouri Ben Zakour and Anup Shah, though we will lose Nouri to a research job in Sydney soon (boo hoo). We have already said goodbye to Darya who has moved to Sydney for a job. Sam, Paula and I taught an R bootcamp at the Translational Research Institute late last year, and then ran concurrent Python and R bootcamps at the fabulously successful Brisbane Research Bazaar in February, where many of our new instructors got their first chance to teach. Amanda, Kim and I taught an R bootcamp in April for Queensland government staff in the Department of Science, IT and Innovation. A week later, the first ever Software Carpentry bootcamp was run at Griffith University. Our next scheduled workshop is the R bootcamp on 11-12 July, a tie-in for the UQ Winter School in Mathematical and Computational Biology. Areej Al-Sheikh taught Software Carpentry in Bali last year, and Mitch Stanton-Cook taught Software Carpentry in Nanning in China. Sam taught five workshops in his first year since certifying as an instructor, flying to Adelaide and other places to spread the word. Paula is off to Darwin next to run a Data Carpentry class, since she, Sam and I have all certified as Data Carpentry instructors as well. Tim Dettrick has been a great supporter for Brisbane Software Carpentry, letting us use his DIT4C cloud option for workshops. This gets around knotty installation problems which really helps when many attendees bring Windows laptops over which they have no admin rights. Hacky Hours, informal get togethers where people can brush up on skills, or follow up on questions after Software Carpentry workshops, are held weekly at both UQ and Griffith University. We hope to extend these to other universities soon, just as we plan to run Software Carpentry workshops at other Queensland universities. Workshops are a fertile recruiting ground for new instructors and helpers. Four people expressed interest in instructor training after the July 2015 workshop, while six wanted to train after September’s workshop. The Brisbane Software Carpentry community welcomes newcomers. Please get in touch if you want to come to a workshop, or find out about upcoming events. Or come to a Hacky Hour. Our next get together will probably be a welcome for Steering Committee member Kate Hertweck, in town for a fortnight with Sugar Research Australia. Watch Twitter for details of her talk on 17 May. Read More ›

First bimonthly report from 2016 Steering Committee
Raniere Silva / 2016-05-11
On May 8th and 9th the Steering Committee had an in-person meeting at Cold Spring Harbour Laboratory to conclude the discussions during the first two months and make plans for the next ten months of activities. In the following weeks we will write more about the results of the in-person meeting on the blog but for now we want to give you an overview. Partnerships Our Executive Director is doing an amazing job increasing the number of Software Carpentry partners. Last year, we were asked to provide a join partnership agreement with Data Carpentry and after months of work this agreement is now available. Instructor Training Last year we tried several models for Instructor Training that now are more stable and are available here thanks to the work of our Instructor Trainers. We will continue improving our Instructor Training programme and increasing our capacity to high demand. Subcommittees and Task Forces Last year we accomplished many things only because of our amazing community. This year we can help you, including financially, to shape Software Carpentry and for that we opened a call for subcommittees and task forces. Communication Communication is our greatest weakness and we are going to work really hard to improve it. (This post is part of this goal.) Something that we decided during the in-person meeting was provide an official space on Facebook because on some countries and some audiences this is the first place that they will look for us. We will also create an Instagram account to display and share photographs from Software Carpentry workshops and activities. Diversity We will continue to support a diverse community and healthy spaces for communication. We have a Code of Conduct to help with that. Future Directions We will continue to work close with other communities that are aligned with our vision and mission. Read More ›

First Conference of Research Software Engineers: Call for Participation
Simon Hettrick / 2016-05-10
The RSE Conference on September 15-16, 2016, in Manchester will be the first conference to focus exclusively on the issues that affect people who write and use software in research. We’re looking for submissions that will investigate and communicate ideas and expertise from the RSE community. This is not a standard academic conference! We welcome researchers, but we also want to hear from people who may not typically attend conferences. From running a workshop, sharing your ideas or simply attending, there are many ways in which you can participate. We want to hear from you about the new technologies and techniques that help you in your work. We want your opinions on what will make the conference even more useful. And, of course, we want you to attend! For more information, please see the full announcement. What is a Research Software Engineer? Are you employed to develop software for research? Are you spending more time developing software than conducting research? Are you employed as a postdoctoral researcher, even though you predominantly work on software development? Are you the person who does computers in your research group? Are you sometimes not named on research papers despite playing a fundamental part in developing the software used to create them? Do you lack the metrics needed to progress your academic career, like papers and conference presentations, despite having made a significant contribution through software? If you answered ‘yes’ to many of these questions, you may be an RSE. To learn more, visit http://www.rse.ac.uk/. Read More ›

24 April - 4 May, 2016: Subcommittees and Task Forces, Partnerships, Instructor Training, A Vacancy, Lab Meeting, Bug Barbeque, Discuss, and New Videos and a Book
Bianca Peterson, Anelda van der Walt / 2016-05-09
##Highlights The 2016 Steering Committee invites you to help organize and develop resources and activities to support our community members by proposing new initiatives in the form of subcommittees and task forces. Full instructions on the proposal process can be found here. The Steering Committee will gladly help! Also check out the subcommittee listing for information on existing and past subcommittees. Joint partnerships are now offered by Data Carpentry and Software Carpentry! Read the partnership information on how to become a partner and get in touch. ##Vacancy Data Carpentry is hiring a Deputy Director of Assessment. Visit the Data Carpentry jobs page for a full job description and application procedure. ##Events Tune in to the Software Carpentry Lab Meeting on May 10th to discuss what’s new and upcoming in the community. Check out the Lab Meeting Etherpad for the schedule and connection details. Join the worldwide Software Carpentry Bug Barbeque on June 13 to help fix bugs in Version 5.4 of Software Carpentry lessons before publication. All contributors will receive credit for your hard work with a citable object. ##Conversations A recent conversation on the discuss mailing list prompted the creation of two new issues open for discussion in GitHub: How should we deal with high-volume discussions on the mailing list? Is the Code of Conduct saying what the community want/need it to say and how should it be enforced? ##Videos and Books Greg Wilson published a video of “things not to do while teaching”. The material is great to use during instructor training to demonstrate to instructor trainees what we’re trying to avoid when teaching and is based on suggestions made in this discussion on GitHub. Support Data Carpentry by buying the book How to Be a Modern Scientist written by Jeff Leek. The book includes guides for reviewing papers, reading papers, career planning, and giving talks. Iñigo Aldazabal Mensa (CSIC-UPV/EHU) provided a video of him explaining Software Carpentry in great detail at the 2016 HPC Knowledge Portal Conference - Software Carpentry: teaching computing skills to researchers. ##Other Did you recently participate in a Software Carpentry workshop and had questions that weren’t answered by the lessons? Do you teach workshops and hear questions from participants that can’t be addressed by the existing materials? Please add these questions to this post. What have we learned from our lesson discussion sessions so far? We welcome all new instructors to provide feedback about their experience of the sessions by commenting on the post. Aleksandra Pawlik recently blogged about her experience when she visited South Africa for the first face-to-face Software and Data Carpentry Instructor Training in Africa. Planning on running a Software Carpentry workshop with R? Read how three sticky notes and chocolates helped participants in the Sotware Carpentry workshop at Griffith University. Staff members from iDigBio gave their perspective on attending a Software Carpentry workshop. They encourage all researchers who’d like to work with the iDigBio datasets to particpipate in a workshop near them or request one at their own institution. 16 workshops were run over the past 16 days. For more information about past workshops, please visit our website. Upcoming Workhshops May: University of Toronto, Bancroft Building - University of Toronto, Charles Darwin University, University of British Columbia, University of Cambridge, CSDMS Annual Meeting, Royal Holloway - University of London, SciPy Latin America, UBC Koerner Library, University of British Columbia, National Institute of Standards and Technology, Oklahoma State University, Universidade Estadual de Campinas, McMaster University - Kenneth Taylor Hall (KTH) B121, Colorado Special Libraries Association @ CU Boulder, Lund University, National Institutes of Health, National Institute of Standards and Technology, South Florida Water Management District, University of Toronto, Centro de Competência em Software Livre June: University of Wisconsin - Madison, University of Puerto Rico Mayagüez, Université Bishop’s, University of Cincinnati, NeSI-Massey Albany Software Carpentry, LANGEBIO-Cinvestav, University of Wisconsin - Madison, SIB @ University of Lausanne, University Library Basel, Materials Physics Center - University of the Basque Country, NERC / The University of Leeds, NERC / The University of Leeds July: R workshop - The University of Queensland, Philippines October: UC San Diego Read More ›

Our Code of Conduct
Jonah Duckles, Tracy Teal / 2016-05-09
The amazing Software and Data Carpentry community of instructors and learners is the foundation of our organizations. We have more than 500 instructors from 30 countries and have had over 20,000 learners in our workshops. Software and Data Carpentry are community driven organizations. We value the involvement of everyone in this community - learners, instructors, hosts, developers, steering committee members, and staff. We are committed to creating a friendly and respectful place for learning, teaching and contributing. All participants in Software and Data Carpentry events or communications are expected to show respect and courtesy to others. Core to our organizations is creating a friendly and welcoming community. Therefore, we would like to reiterate that anyone participating in Software and Data Carpentry activities must comply with our Code of Conduct. This code of conduct applies to all spaces managed by Software and Data Carpentry, including, but not limited to, workshops, email lists, and online forums. We are so fortunate to have such a strong and supportive community of contributors, instructors, and learners and we are committed to supporting and maintaining that community! Read More ›

Software Carpentry with R at Griffith University
Amanda Miotto / 2016-05-04
We had 27 people register to attend, with 22 attending the first day. We offered these workshops free of charge so we had been cautious about drop-out numbers. I had 2 who had previously mentioned they were only coming to partial sessions and one dropped out the next day. We accepted everyone who registered and attempted the software install (our capacity was 30). The attendees were quite interactive and attentive and seemed to pick it up quite well - even by the end of the second day. We had one or two hurdles - mostly in the way of French keyboards which turns out are quite tricky to code on. Two students had firewall issues with eduroam but had been quite prepared and downloaded all the programs and data so it didn’t slow them down until the Git tutorial. We trialled a few new things this workshop: Firstly, we used three sticky notes instead of two - ‘I’m going okay’, ‘please go slower’, ‘help’. We had the thought afterwards that we should have gone green, orange and red for these respectively (similar to traffic lights). Secondly, we bribed them with chocolates. We used Freddo frogs as prizes for those who got answers correct or had really good questions. This was extremely popular. Towards the afternoons as well we were quite generous with the chocolates in the thought that a sugar kick was probably quite welcome. Thirdly, we ended up skipping the etherpad and just including all links and links to data in the workshop page. I included all direct data links for our pages and how to unpack the zips for the data, and the direct link for the lessons for each section. I also included the link to the Resbaz cloud that we used as a back up. That way, everything was in the one place that was going to stay online for a while. Fourthly, I created a registration page via Google Docs that asked them what class they were attending, whether they were a staff/student or had eduroam and what operating system they were using, then presented them with customised install instructions. These custom instructions were then emailed to them along with a confirmation, location for the class, pre-workshop survey and the github information page. This gave us a final number of attendees and helped us gauge how people went with the initial install, and made the start of class a bit speedier. I’m more than happy for anyone to steal the code for this - It’s just done up in a Google form. As a follow-up, the attendees were emailed with the post-workshop survey and links to Hacky Hours and the HPC/data storage services (as these seem to be often the high priority with those researchers who are learning to code). Some quick fun stats: 2 attendees were UQ, the rest from Griffith Uni 57% hadn’t attempted to code in R before the workshop 71% hadn’t attempted to code in Bash before the workshop 89% hadn’t attempted to code in Git before the workshop Read More ›

Software Carpentry Bug BBQ
Bill Mills, Tiffany Timbers / 2016-05-04
Software Carpentry is having a Bug BBQ on June 13th Software Carpentry is aiming to ship a new version (5.4) of the Software Carpentry lessons by the end of June. To help get us over the finish line we are having a Bug BBQ on June 13th to squash as many bugs as we can before we publish the lessons. The June 13th Bug BBQ is also an opportunity for you to engage with our world-wide community. For more info about the event, read-on and visit our Bug BBQ website. How can you participate? We’re asking you, members of the Software Carpentry community, to spend a few hours on June 13th to wrap up outstanding tasks to improve the lessons. Ahead of the event, the lesson maintainers will be creating milestones to identify all the issues and pull requests that need to be resolved we wrap up version 5.4. In addition to specific fixes laid out in the milestones, we also need help to proofread and bugtest the lessons. Where will this be? Join in from where you are: No need to go anywhere - if you’d like to participate remotely, start by having a look at the milestones on the website to see what tasks are still open, and send a pull request with your ideas to the corresponding repo. If you’d like to get together with other people working on these lessons live, we have created this map for live sites that are being organized. And if there’s no site listed near you, organize one yourself and let us know you are doing that here so that we can add your site to the map! The Bug BBQ is going to be a great chance to get the community together, get our latest lessons over the finish line, and wrap up a product that gives you and all our contributors credit for your hard work with a citable object - we will be minting a DOI for this on publication. Read More ›

Save the Date: Software Carpentry Lab Meeting May 10
Bill Mills / 2016-05-03
Software Carpentry’s next Lab Meeting calls will be at 14:00 UTC and 23:00 UTC, May 10th; all are welcome to join in to discuss what’s new and upcoming in the Software Carpentry community. Connection details are on the Lab Meeting Etherpad. Our first feature for the month is the new Subcommittee and Task Force program, recently announced by the 2016 Steering Committee. Following on the success of our subcommittees in 2015, the Steering Committee has decided to open up the process of proposing and running projects and committees that advance Software Carpentry’s mission and enrich our community to all of our community members. More details on the proposal process can be found here; tune into the Lab Meeting to here more comments and ask questions from the program designers. Also this month, we’re excited to announce Software Carpentry’s first ever Bug Barbeque, coming up worldwide on June 13. It’s almost time to publish Version 5.4 of all the Software Carpentry lessons listed here, and we need your help to polish up all the details. We’ll be getting together or working remotely worldwide on June 13 to get ready for publication; after version 5.4 is finished, we will be minting a DOI so that all contributors get a citable reference to add to their CVs. Watch this space for a blog post coming shortly, or see more details on the Bug BBQ Website. Check out the schedule on the etherpad and add your name if you will be attending. Feel free to add points of interest and goings-on you’d like to mention to the community under the non-verbal updates section there, too. We hope you’ll join us! Read More ›

New Joint Partnerships with Data Carpentry
Tracy Teal, Jonah Duckles / 2016-05-02
We’ve been hearing of the interest of organizations to build local capacity for training and to be able run both Data and Software Carpentry workshops. We are excited to announce that Data Carpentry and Software Carpentry are now offering joint partnerships! These partnerships will give member organizations the benefits of running workshops from either the Software Carpentry or Data Carpentry community. At the Silver and above tiers there will also be instructor training and capacity building services provided. Partnership Information There are four tiers of Partnerships: Bronze, Silver, Gold and Platinum. We wanted to provide opportunities for organizations to run multiple workshops, but who aren’t currently planning to train instructors (Bronze) and help organizations build local capacity with instructor training, coordinated workshops and self-organized workshops (Silver, Gold). There is also a flexible tier for organizations who are advancing beyond just capacity building and on to sustainment and wide adoption of our methods across disciplines (Platinum). In all Partnerships, some coordinated workshops are included, so that organizations are freely able (with a small travel budget) to bring in outside instructors to help mentor new instructors and continue to encourage cross-connections of instructors across organizational boundaries. Also, all Partner organizations can run as many self-organized workshops as they like. All currently in-place partnerships with the Software Carpentry Foundation will be grandfathered into a joint partnership consistent with their current contract until the current partnership expires, at which time they can select to have a joint partnership or a standalone Software Carpentry or Data Carpentry partnership as they choose. Interested in a partnership or want more information, please get in touch! Read More ›

Buy This Book and Support Data Carpentry
Jeff Leek / 2016-04-29
Thanks to the efforts of Len Epp at Leanpub and Tracy Teal at Data Carpentry, 50% of the royalties from the book How to Be a Modern Scientist will be donated to Data Carpentry. The book is pay what you want with a suggested price of $10. I am very excited to help support the efforts of Data Carpentry since I believe data science education is a fundamental need in the modern scientific era. About the book: The face of academia is changing. It is no longer sufficient to just publish or perish; we are now in an era where Twitter, Github, Figshare, and Alt Metrics are regular parts of the scientific workflow. Here I give high level advice about which tools to use, how to use them, and what to look out for. This book is appropriate for scientists at all levels who want to stay on top of the current technological developments affecting modern scientific careers. The book is based in part on the author’s popular guides including guides for Reviewing papers Reading papers Career planning Giving talks The book is probably most suited to graduate students and postdocs in the sciences, but may be of interest to others who want to adapt their scientific process to use modern tools. About the author: Jeff Leek is an Associate Professor of Biostatistics at the Johns Hopkins Bloomberg School of Public Health. He is a co-founder and co-director of the Johns Hopkins Data Science Specialization on Coursera that has enrolled over 3 million aspiring data scientists. His research has helped contributed to our understanding of the genomic basis of brain development, blunt force trauma, and cancer. He is blogs at Simply Statistics and can be found on Twitter at @jtleek and @simplystats. Read More ›

Summarizing Our Lesson Discussion Sessions
Greg Wilson / 2016-04-29
For the first four months of this year, we ran hour-long lesson discussion sessions to give people going through instructor training a chance to ask questions of people who had taught our material several times. Trainees told us they were useful for getting information and as a way to meet more of the community. We have now decided to merge those sessions with our weekly workshop debriefing sessions in order to turn up the volume on both aspects, so this seems like a good time to summarize what we’ve learned so far ourselves. It was helpful to frame the session as a confidence building exercise rather than a test. Equally, conveying enthusiasm and answering basic questions seemed really useful, which has us asking yet again if we should record some model workshops. Aleksandra Pawlik’s guidelines were very helpful, and have now been folded into the instructor training course’s guidelines. Organizing things through an Etherpad is easy but error-prone. We are responding to this by building support for the instructor training process into AMY. The breadth of questions asked was challenging. Some people had many very specific points about certain challenge questions or pieces of demo code, while others wanted more general information about teaching, and it was sometimes difficult to satisfy both sets of needs in a single session. (Ironically, many participants’ primary concern was how to handle workshops when learners have diverse backgrounds.) The intermittent demand meant these sessions often weren’t an efficient use of instructors’ time. In particular, people often hosted sessions with only one or two people, or tried to host a session only to have scheduling issues with the one attendee who needed a host. We’re addressing this by setting a regular weekly time, which in turn makes it feasible for us to have more than one host. Despite these problems, some attendees were very happy to have one-on-one attention where they felt comfortable asking questions they feared others might find too basic. It was good to know that these new instructors weren’t falling through the cracks. Some instructors wound up fielding questions about lessons they had never taught themselves, or even ones they had never seen taught. When this happened, they tempered their advice with comments along the lines of, “You’ll come to own the lesson after you’ve taught it a couple of times.” Some instructors found that people have a somewhat passive attitute to the material, i.e., they see themselves as a vehicle for delivering set material rather than as innovators and interpreters. Most importantly, some trainees had low awareness of what actually goes on in a workshop. For example, people asked questions like whether or not people would have their own laptops, whether they were supposed to ask the challenge problems in class, and so on. This was surprising, given that most trainees are now workshop alumni, but clearly signals that we need to spend more time covering nuts and bolts in the training course. Timezones make events difficult to schedule, while daylight savings time may be the most egregiously stupid idea our species has ever implemented (and I say this as a professional programmer). My thanks to Kate Hertweck, Bill Mills, Neal Davis, Naupaka Zimmerman, Sue McClatchy, Harriet Dashnow, April Wright, Karin Lagesen, and everyone else who helped make these sessions possible. Comments from new instructors who participated in these sessions would be very welcome. Read More ›

Data Carpentry is Hiring a Deputy Director of Assessment
Greg Wilson / 2016-04-24
Data Carpentry is hiring! Data Carpentry seeks to hire a full-time staff member to direct its assessment activities. This person will design, implement, monitor, analyse, and report on a comprehensive system of metrics to help the Data Carpentry project and its sibling organization, Software Carpentry, evaluate the impact and effectiveness of the training they offer, to both learners and instructors. As the Deputy Director of Assessment, you will have primary responsibility for developing methods and standards for the evaluation of all aspects of Data Carpentry’s training including relevance of curriculum, learning experience, long-term adoption of tools and skills and impact on productivity and reproducibility. You will also work with the Software Carpentry Foundation to build evaluation of the instructor development program, including effectiveness of instructor training and mentorship and the longer term impacts of instructor training on career development for instructors. You will also have the opportunity to collaborate with the training coordinators from related organizations to coordinate strategies and initiatives. For details, including a full job description and the application procedure, please see the Data Carpentry jobs page. Read More ›

Call for Software Carpentry Foundation Subcommittees and Task Forces
The 2016 Steering Committee / 2016-04-24
Purpose and Rationale Software Carpentry is volunteer-powered organization that is rapidly growing. One of the greatest things about Software Carpentry is the huge diversity of people that have come together to collaborate, teach, and share ideas and resources. Your contributions to the community have made Software Carpentry a huge success! To meet the needs of our growing community, the 2015 Steering Committee Launched the first Subcommittee program to allow groups of members to organize and develop resources and activities that support our members. The 2016 Steering Committee would like to encourage and invite the community to propose new initiatives in the form of subcommittees (a standing group for ongoing activities) and task forces (an ad hoc group focused on a finite task). Read on to learn more about existing initiatives and for information about how to propose a new initiatives that will shape our community. Current Subcommittees and Task Forces For information on existing and past subcommittees, please visit the subcommittee listing. How to Propose a New Subcommittee or Task Force Do you have an idea for an activity or service that would make Software Carpentry even more awesome to participate in for its instructors or students? Is there a project, tool or document that would benefit you and your community? We are very excited to hear and support your ideas! However, we do need to read and review all proposals. To propose a new subcommittee or task force, please read the information here. The key elements of a proposal that the Steering Committee will be looking for (and which we will help you with!) are: Specificity: do you have a specific goal, with a plan and timeline to achieve it? Nothing has to be cast in stone at this point, but the more specific your plan, the easier it will be for you to put it into action. Resources: have you anticipated what you’ll need, in terms of personnel, tools, external support and budget? Modest budgets will be available to support Subcommittee and Task Force activities, to be approved on a per-item basis by the Steering Committee; we will be looking for realistic (but non-binding) predictions of what you’ll need to succeed. Community Fit: is there clear vision for how your project will advance Software Carpentry’s mission, or enrich our community? The Steering Committee will be coordinating all these groups by making sure we all work together effectively; understanding how your project fits into the bigger picture is an important first step. More details are in the full instructions; if you have any questions or anything is unclear, don’t hesitate to ask! The most important step is to let us know your ideas, so after reading the link above, open an issue and let us know what you’re thinking, even if you don’t yet know how to answer all the points above; the Steering Committee will happily help you craft a great proposal. Concluding Remarks The Software Carpentry community is full of tremendous people (that’s you!) doing great things; the Steering Committee hopes that our new, more open-ended Subcommittee and Task Force program will amplify your awesome work even further. We can’t wait to hear from you! Read More ›

Questions, Answers, and Lessons
Greg Wilson / 2016-04-24
While working on an outline of a new lesson on Python, I began thinking about the overall coherence of what we teach. In particular, I started to worry that we might be teaching some things because we teach them, i.e., that the curriculum might lose its connection to researchers' actual issues. One method for keeping things grounded in the other field I still occasionally work in (empirical software engineering) is called Goal, Question, Metric. As the name suggests, it defines three questions: what are you trying achieve, what questions do you need answered in order to achieve it, and what metrics will you accept as answers to those questions. An educational equivalent is Question, Answer, Lesson: what questions do novices have, what answers do competent practitioners give them, and what lessons are needed to teach those answers. (The "do novices have" modifier is crucial: in order for our workshops to be appealing, they must answer the questions that novices actually have, not the ones we wish they would ask.) Here's what I've come up with so far: Questions Answers Lessons How can I choose what tool to use? How can I get help/fix this? How can I get started? How can I work in a team? How can I make my software more useful? How can I get my software to do more? How can I make my work reproducible? How can I get the right answer? How can I understand the project I've inherited? Automate tasks and analyses. Avoid duplication. Be welcoming. Choose the right visualization. Program defensively. Document intention not implementation. Use the experimental method. Modularize software. Normalize data. Be open by default. Organize projects consistently. Do pre-commit reviews. Publish software and data. Reduce, re-use, recycle. Create re-runnable tests. Search the web. Store raw data as it arrived. Tune programs. Understand data formats. Understand error messages. Understand how programs run. Use checklists and to-do lists. Use configuration files. Use more hardware. Use version control. Collaboration Data Management Make Managing Software Performance Programming Authoring and Publishing Quality Assurance Unix Shell Version Control Visualization But by themselves, these three lists aren't very useful. What really matters is the connections between them: which answers address which questions, and which lessons teach the ideas used in those answers? The obvious way to represent this is as a graph, since both relationships are many-to-many. So far, though, I haven't produced anything better than this: (You can click on the image to see the full thing, or look here for the GraphViz source: run dot -Tsvg design-01.gv > design-01.svg to regenerate the SVG. Note that I've added a fourth column to the graph to show the half-day modules within each lesson, primarily to give a sense of how much time would be devoted to what.) Drawing up these lists has already helped me figure out what we might teach in a two-week Carpentry-style class (a long-standing dream of mine), but: I'm pretty sure these still aren't the questions novices actually have, and as presently drawn, the graph is unreadable. The first is more important right now than the second, so I would be grateful for feedback to go with that I've already received from Jackie Kazil, Noam Ross, Karen Cranston, and Andromeda Yelton. Please add comments to this post about which questions you'd add, delete, or change, and what you think the answers should be. Read More ›

Welcome to Google Summer of Code Students
Raniere Silva / 2016-04-23
Thanks to a lot of hard work from some members of our community and members of others open source scientific projects we are happy to welcome the students and mentors that will participate on Google Summer of Code this year under NumFOCUS umbrela. Student Project Mentors Bhargav Srinivasa Dynamic Topic Models for Gensim Lev Konstantinovskiy, Radim Rehurek and Devasena Inupakutika Chris Medrela Manage workflow for Software Carpentry and Data Carpentry instructor training Greg Wilson and Piotr Banaszkiewicz Akash Goel Upgrade to datapackage.json standard for EcoData Retriever Henry Senyondo and Ethan White Patrick Kofod Mogensen Improving the state of Optim.jl for JuliaOpt Miles Lubin Prerit Garg Result-aggregation server for the installation-test scripts for Software Carpentry and Data Carpentry Piotr Banaszkiewicz and Raniere Silva Ramchandran Muthukumar Presolve Routines for LP and SDP within Convex.jl for JuliaOpt Madeleine Udell Hannah Aizenman Categorical Axis for matplotlib Michael Droettboom and Thomas Caswell This is the second year that NumFOCUS participate on Google Summer of Code and they have more than the double of slots from last year. Selecting the students was very difficult due the high quality of the proposals that are archived on GitHub. As last year, we suggested that possible students use GitHub to communicate with possible mentors and use pull requests if they want to have feedback on their drafts. After the application deadline we talked with some students and they mention be afraid to work in the open with their proposal at the begin but they received valuables suggestions what is an reasonable trade-off. In terms of Software and Data Carpentry communities, Piotr Banaszkiewicz, our student last year, will be one of our mentors this year aside Ethan While, Henry Senyondo, Greg Wilson and I. We also welcome the students and mentors from some of our friends: Python Software Foundation, Open Astronomy, R Project, Julia, GitHub, BioJS, CERN and Mozilla. Read More ›

Instructor Training in South Africa
Aleksandra Pawlik / 2016-04-21
Thanks a lot of hard work from Anelda van der Walt and the support from the North-West University, University of Cape Town and Talarify we were able to run the first face-to-face instructor training in South Africa. We trained 23 new instructors from South Africa, Namibia, Zimbabwe and Kenya. The event was a great success and we are looking forward to expansion on Software and Data Carpentry workshops South Africa and other African countries. Anelda has been developing Software and Data Carpentry in South Africa for a while now and her efforts led to this first face-to-face Instructor Training. We started off on Sunday, 17th April . evening with a short ice-breaking session of lightning talks during which the participants talked about “The coolest thing about their job” for 2 minutes. Everyone had something interesting to say. What was even more impressive, nobody ran over time, which is not the usual case. On Monday we introduced the participants to the Mozilla Science Lab Study Groups. The goal of this session was to create foundations for collaborative, peer-to-peer environments in which researchers can share their knowledge and skills. All participants, split into groups of 4, came up with possible topics for their study groups. Then they discussed who they would like to see attending these sessions. (Photo: Wille du Plessis) After lunch on Monday we started off with the Instructor Training curriculum. Since the participants already had a chance to meet each other during the previous sessions, they felt very comfortable working on the interactive exercises, giving each other feedback and discussing the task outcomes. One of the most memorable moments was the conversation we had about the motivation and demotivation in educational setting. Many attendees openly shared their experiences from their school or study years. We also discussed students’ approaches to learning and the difficulties faced by the teachers who need to deal with demotivated and discouraged learners. The organisation was absolutely perfect. We were hosted by the North-West University where we had not only a nice venue allowing us to run interactive sessions but we also had very comfortable accommodation at the Sports Village. We closed the workshop on Wednesday lunchtime. During the last session, the participants practiced their demo teaching lessons. Then we discussed the next steps needed to complete become certified instructors. Everyone is very keen to become certified and run workshops at their home institutions. It would be fantastic to see the existing Software and Data Carpentry community provide mentorship and guidance support to these newly trained instructors. Many of them will be the first ones advocating for this type of training in their institutions. It will require persistence and they will need help from those of us who already have the experience in organising and teaching at workshops. So if you can and want help, please step in and fill in this form. Thank you! Read More ›

10 tips and tricks for instructing and teaching by means of live coding
Lex Nederbragt / 2016-04-20
One of the key teaching practices used at Software and Data Carpentry workshops 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. Learning how to teach using live-coding is best done in practice, with feedback from peers (this is why it is included in instructor training). Nonetheless, this post lists ten tips and tricks to help you get started. This text (re)uses, and expands on, elements from the Software and Data Carpentry instructor training materials. 1. Be seen and heard If you are physically able to stand up for a couple of hours, do it while you are teaching. When you sit down, you are hiding yourself behind others for those sitting in the back rows. Make sure to notify the workshop organisers of your wish to stand up and, ask them to arrange a high table/standing desk or lectern. Regardless of whether you are standing or sitting, make sure to move around as much as reasonable. You can for example go to the screen to point something out, or draw something on the white/blackboard (see below). Moving around makes the teaching more lively, less monotonous. It draws the learners’ attention away from their screens, to you, which helps getting the point you are making across. Even though you may have a good voice and know how to use it well, it may be an idea to use a microphone, especially if the workshop room is equipped with one. Your voice will be less tired, and you increase the chance of people with hearing difficulties being able to follow the workshop. 2. Take it slow 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 not only slows you down, it allows learners who are following along to copy what you do, or to catch up, even when they are looking at their screen while doing it. If the output of your command or code makes what you just typed disappear from view, scroll back up so learners can see it again - this is especially needed for the Unix shell lesson. Other possibilities are to execute the same command a second time, or copy and paste the last command(s) into the workshop Etherpad. 3. Mirror your learner’s environment as much as possible You may have set up your environment to your liking, with a very simple or rather fancy Unix prompt, colour schemes for your development environment, keyboard shortcuts etc. Your learners usually won’t have all of this. Try to create an environment that mirrors what your learners have, and avoid using keyboard shortcuts. Some instructors create a separate ‘bare-bone’ user (login) account on their laptop, or a separate ‘teaching-only’ account on the service being taught (e.g. Github). 4. Use the screen - or screens - wisely Use a big font, and maximise 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. If you can get a second screen, use it! It will usually require its own PC or laptop, so you may need to ask a helper to control it. You could use the second screen to show the Etherpad content, or the lesson material, or illustrations. Pay attention to the lighting (not too dark, no lights directly on/above the presenter’s screen) and if needed, reposition the tables so all learners can see the screen, and helpers can easily reach all learners. 5. Use illustrations, or even better, draw them Most lesson material comes with illustrations, and these may help learners to understand the stages of the lesson and to organise the material. What can work really well is when you as instructor generate the illustrations on the white/blackboard 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 (you’ll have to move between your laptop and the blackboard) and gathers the learners’ attention to you as well. 6. Avoid being disturbed Turn off any notifications you may use on your laptop, such as those from social media, email, etc. Seeing notifications flash by on the screen distracts you as well as the learners - and may even result in awkward situations when a message pops up you’d rather not have others see. 7. Stick to the lesson material The core Software and Data Carpentry lessons are developed collaboratively by many instructors and tried and tested at many workshops. This means they are very streamlined - which is great when you start teaching them for the first time. It may be tempting to deviate from the material because you would like to show a neat trick, or demonstrate some alternative way of doing something. Don’t do this, since there is a fair chance you’ll run into something unexpected that you then have to explain. 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. This seems to be more reliable than displaying one virtual desktop while flipping back and forth to another. 8. Leave no learner behind Give each learner two sticky notes of different colours, e.g., red and green. These can be held up for voting, but their real use is as status flags. If someone has completed an exercise and wants it checked, they put the green sticky note on their laptop; if they run into a problem and need help, the put up the red one. This is better than having people raise their hands because: it’s more discreet (which means they’re more likely to actually do it), they can keep working while their flag is raised, and the instructor can quickly see from the front of the room what state the class is in. Sometimes a red sticky involves a technical problem that takes a bit more time to solve. To prevent this issue to slow 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. 9. Embrace mistakes No matter how well prepared you are, you will be making mistakes. Typo’s are hard to avoid, you may overlook something from the lesson instructions, etc. This is OK! It allows learners to see instructors’ mistakes and how to diagnose and correct them. Some mistakes are actually an opportunity to point something out, or reflect back on something covered earlier. Novices are going to spend most of their time making the same and other mistakes, but how to deal with the is left out of most textbooks. The typos are the pedagogy - Dana Brunson 10. Have fun Teaching is performance art and can be rather serious business. On the one hand, don’t let this scare you - it is much easier than performing Hamlet. You have an excellent script at your disposal, after all! On the other hand, it is OK to add an element of ‘play’, i.e. use humor and improvisation to liven up the workshop. How much you are able and willing to do this is really a matter of personality and taste - as well as experience. It becomes easier when you are more familiar with the material, allowing you to relax more. Choose your words and actions wisely, though. Remember that we want the learners to have a welcoming experience and a positive learning environment - a misplaced joke can ruin this in an instance. Start small, even just saying ‘that was fun’ after something worked well is a good start. Ask your co-instructors and helpers for feedback when you are unsure of the effect you behaviour has on the workshop. Teaching is theater not cinema - Neal Davis (Thanks to Neil Davis, Rayna Harris and Greg Wilson for feedback on an earlier version of this post) Read More ›

So You Want to Make a Screencast
Caleb Hattingh / 2016-04-13
I am the author of Learning Cython, a new series of videos teaching Cython. There are over 70 videos, making up around five and a half hours of content. If you’re involved in education, you may have considered making a screencast like these and I’d like to give a short overview of what that entails. Publisher You may be happy to self-produce and self-host, and I would be too except that I was approached by a publisher and made an offer to produce the videos for distribution on their site. How this happened is interesting: in 2015, on a whim, I decided to submit a Cython talk proposal for PyCon AU. My talk got accepted, and a few weeks before the conference the publisher contacted me and made the offer. You don’t need a publisher to make some videos, but I saw several advantages: Expertise: the publisher is likely to have experience with producing content, and is likely to be able to assist with quality control and direction when required. As it turns out, my publisher had a ready repository of “author training” material that I could refer to for a precise idea of what was expected in terms of layout, flow, production quality, and so on. Marketing: the publisher already has a distribution platform in place for making the content available. Without a platform, I’d have to do that work myself. Credibility: if the publisher is well-known and respected, and in particular has a reputation for producing quality content, then my own credibility would be enhanced by working with that publisher. Deadlines: having someone such as a publisher holding you to account for meeting deadlines is extremely valuable for making sure your content really does see the light of day. Having accepted the offer, I was immediately asked to provide a table of contents (TOC) and a timeline. In hindsight, the most important thing you can do in the entire process is give your TOC a great deal of thought and planning. The titles for my first half of videos were meticulously planned in the TOC, and the second half to a lesser extent, and I found that I had to spend much more time making the second half. Your ability to plan lessons upfront, before you start with content generation, is probably the best predictor of your time-efficiency; at least this was the case for me. The deadlines were arranged in three stages: 25%, 50% and 100%, as a proportion of the number of videos included in the TOC. If you self-produce your own screencast videos without the aid of a publisher, it would be a great idea to impose deadlines on yourself. My productivity during the week before each deadline was greater than any other period in the entire process. Equipment To do the actual recording, you’re going to need a few extra things. My publisher provided the screencast software Camtasia to record the videos. For my first video, Camtasia was new to me but by the time I completed the last one, I was an editing pro. The sooner you can get comfortable with your recording and editing software, the better. It is liberating to know that you can easily fix a small section of video, or change a small part of the audio very easily. More on that later. My publisher offered to send me a microphone, but I already had some audio equipment with professional-grade microphones set up so I used that. The publisher wanted to send me a headset microphone because with these, the distance between the mic and your mouth is always the same. The concern with stand-mounted microphones, like mine, was that authors have a tendency to move their head around while speaking and recording, which changes the distance between the mic and your mouth, and therefore the volume. I only had to re-record one section of a single video because of this, and I got better at it over time. Still, I’d recommend that you just use a headset microphone. And make sure you get a noise-cancelling or noise-resistant mic! The best thing about my microphone is that it was a stage mic (Shure SM58), and therefore intended for use in noisy environments. This meant that I could record videos even in a noisy place like my home during school holidays! My basic setup at home is with a Macbook Pro and a second, generic Samsung HD monitor. My publisher insisted on videos being 1280x720 (720p) resolution, insisting even that I had to record them that way. My dual-monitor setup made this easy, thankfully, and I set up my second Samsung LCD monitor at that resolution. It is also worth mentioning that I created a separate user account on my Macbook, exclusively for these videos. A separate account made it very easy to keep things isolated between my normal user account and the screencast account, and things like custom video resolution settings are included in that: I could log into my normal user account, and the second monitor goes to 1080p, but in my screencast user account the resolution changes back to 720p. If you make the changes manually and forget to set it before a video, it would require a re-record so it’s a fairly important setting to have automatically managed. In addition, the desktop wallpaper was set to middle gray (in accordance with the publisher’s recommendations), and all desktop icons were removed in the “screencast” user account. The time display, as well as most of the dock and taskbar icons were also disabled, primarily to reduce opportunities for distraction for the viewer. What do you show on the screen? The topic of my course is Cython and so what the viewer is going to be expecting to see is tons of Cython; however, what do we specifically want to show? My text editor? Slides? This is where good planning makes a world of difference to your authoring experience. When I started, I wasn’t sure, but after a few videos I settled on a presentation pattern that worked very well for the rest: First show simple/clean/colorful slides Then show how to use the info from the slides Slides, as a medium, allow you to hide irrelevant details, and this allows the viewer, and you, to focus on crucial points. I used this a great deal to explain complex topics. Video also allows the viewer to pause and rewind, which I hope contributes further to the elevated focus. Hopefully, when the viewer moves on from the slides to the how to use section, the emphasized details also carry over. Some videos did show me entering code into a text editor, and then running or compiling code in a terminal window, but the vast majority of teaching videos were made using the Jupyter Notebook which is not only an excellent, all-round development tool for Python and a huge and growing list of other languages, but it has very good support for Cython. For teaching Cython, the Notebook interface conceals the C/C++ compilation and command-line steps, as well as re-importing the changed binary object making it much, much easier to focus on the important information. If you’re going to be making screencasts for almost anything in the Python space, the Jupyter Notebook interface is hard to ignore. In addition to visual appeal, it also allows your viewers to run the code from your lessons in exactly the same way. So in terms of presentation of new information, those videos are made up of Slides. I used Keynote, a Powerpoint-like tool from Apple, the Jupyter Notebook, and some interaction with the Vim text editor and the Terminal (command-line) application. I heavily used clipboard copy/paste to move code from my text editor into the slides. My blog gives a brief description of the tricks I used to convert copied code into a Rich Text Format to apply basic syntax highlighting in the slides. It is low-level, and possibly too esoteric but the steps fit in well with all the other parts of my workflow. Once I had set up a keyboard shortcut to both copy and convert code text into a rich text onto my system clipboard, syntax highlighting in slides was never an issue. I found it very difficult to keep a shell-based interface clean in an on-screen sense: output from previous commands still shows above your prompt which is likely to be distracting to the viewer. It also makes it difficult to make surgical edits in the video afterwards, since there is no seamless cut point if you have to redo commands. I artificially created these by running clear after explaining the output of each command. This makes it easy to replace a section of video with something else, or remove it entirely. Lesson Preparation My brief required videos of around five minutes in length, and no fewer than three nor more than ten. If you’ve done any prepared speaking, for instance at a conference, you would be well aware that five minutes is an extremely short amount of time in which to convey a self-contained chunk of information. With complex information it can be even more restricting. It required a great deal of preparation to make sure that each lesson could work inside such small time limits; c.f. Blaise Pascal, Provincial Letters: I would have written a shorter letter but I did not have the time. I was compelled to make short videos and therefore, I discovered, I would have to put in quite a lot of time! My initial plan was to sketch out a few high-level bullet points for each video, and then discuss them with a light and easy, “conversational” and unrehearsed-sounding tone. This plan was so laughably inadequate that I failed to complete even the first video recording this way. I eventually found that my most efficient method was to write out the entire script for a video, word-for-word, in the same way as one might expect a movie script to be written. During recording, I would read from script, but with (hopefully!) liveliness and expression. If I practised the script a few times before the recording, it became that much easier to focus on the performance aspects, such as timing, pacing and emphasis. Indeed, merely practising the scripts helped to spot sections in need of correction or improvement. In the second half of videos, I would even begin to script scroll-actions, typed (on the keyboard) sections, and where to put the mouse, and so on. I found that every detail captured in the script allowed me to think less about that, and focus on the pacing, sound of my voice and so on. I don’t know how other presenters do it, but my script preparation was the most important (and time-saving) aspect of my preparation. Whether I avoided sounding overly rehearsed, or worse, lifeless, is something that viewers will have to judge, but I could not have recorded the videos any other way. As far as the technical aspects of preparation go, I am very comfortable with the material and even though I did have to research a few specific details that I had not yet had experience with, this was a minor headache. How Cython works was never a problem: the real headaches were all about how to explain pitfalls on different operating systems, or dealing with differences between Python versions, or how to create packages; basically, the same things that all beginners in Python find difficult. The most difficult balancing act was trying to decide what to mention, and what to leave out. I imagine this is the same for every lesson creator. By planning each video in great detail, it was a lot easier to maintain more of a “big picture” view for each lesson. Habits In my first few videos, my unthinking approach was similar to how one might approach giving a live talk. I would try very hard to speak correctly and clearly, and I would immediately be disappointed when I made a mistake, knowing that I would have to go back into the video afterwards and edit out or perhaps even re-record a section. This will sound very naive if you have experience in making screencasts, or recording in general, but I mention it for the benefit of other first-timers. For at least the first three videos I would sigh loudly every time I made a mistake! Once you’ve edited a few videos though, you immediately realise that there is zero cost to mistakes in recording, as long as you simply repeat without the error. If I stumbled at the middle of a sentence, I realised that I could simply restart the sentence and cut the error out later. Sometimes, in a particularly tricky sequence of words, I would get tongue-tied over and over again. You eventually learn to just stop speaking, compose yourself, take a few breaths, look out the window, check your notes, and then try again, all the while the video is still recording. The dead time doesn’t matter, and it takes less than a second to remove during video editing. All that matters is getting the best “take” that you can, but you can try over and over in a single recording, and then afterwards choose the best one during editing. Therefore, the first high-level habit is this: get used to making mistakes, and then keeping speaking through the same section over and over until you get it right, because it is trivially easy to remove the errors and the multiple attempts during editing. During recording of my last few videos, I was so used to it that upon making a mistake, I’d automatically wait a second (to make the cut during editing easier) and immediately repeat the sentence. This becomes quite automatic. I used this even to rephrase sentences, or toy with moving the emphasis to different parts of the same sentence, just to see what the effect might be like during editing when you get to pick the version you want to keep. Mouse manners In the author training videos supplied by my publisher, the management of the mouse cursor was strongly emphasized: it can be very distracting for viewers to see the mouse cursor jump from one position to another on the screen; a common occurrence if there are frequent edits and cut points. The advice given was to place something on your computer screen like a small piece of sticky tape, or similar, to use as a visual marker of where to place your mouse cursor when not in use. The idea is that if cuts or edits are required, the mouse cursor will always be in the same position on the screen, and so edits can be made seamless. In my situation I have two screens: one on my Macbook, and an external display. I found it much more convenient to simply move my cursor off the presentation screen entirely between actions or when not in use. When using the Jupyter Notebook, scrolling becomes an important part of moving through the content because of the document-based design of the notebook interface. My guiding principle for how to scroll was based on whether my actions might be distracting from the content; this principle was promoted heavily by the author training videos. All of my mouse movements or scroll actions were made in the best way to diminish distracting actions. I would even frequently announce that I would be scrolling down to the next cell before doing so. Sometimes, during editing, I would find that such announcements were unnecessary or were implied in the context of the surrounding speech. In these situations, I would edit them out. In others, however, it seemed to me a useful cue to the viewer that context was being changed in the video. I also learned to scroll slowly, knowing that I could easily speed up the scrolling later in editing if required. Time manipulation While on the subject of speeding up and slowing down, many things become possible in editing. Initially, I was nervous about my typing speed, but again, it is so easy, trivial really, to speed up bits of typing that it becomes a non-issue. Even typing mistakes are easily dealt with in editing. It is slightly more annoying to cut a section of video than it is to apply a speedup, so once I became experienced, I would concentrate on making sure I typed accurately rather than fast, and then during editing I would apply a 200-400% speedup to typed sections. This sounds very rapid, but as a viewer, watching normal typing speed can be painfully slow. In most situations I would use the video editing tools to speed things up; however, during editing I found some instances where a few extra seconds’ lingering on the output of an especially complex command was likely to be useful to viewers. In these situations, I added some dead time in the video; basically, a stop-and-think moment that I had failed to provide during the original recording. The point is that time management and pacing can easily be manipulated after recording. It is up to you or your editing team to make decisions about what to speed up and what to slow down. And once you realise this, it is quite liberating: it allows you to relax about those issues while recording. Just focus on your content and the key points you want to drive home. Take any pauses as you need, and feel free to repeat sections as often as you like: it all comes together during editing. Content The topic of my course is Cython. This is a tool that allows you to write code that looks very similar to, but is not exactly Python, but then allows you to compile that code into a native binary module. The primary use case of the tool is for speeding up Python code, although what is really happening behind the scenes is that you’re generating C code and compiling that with a C compiler. The main attraction of Cython as a technology is that you can re-use your Python knowledge while optimizing for speed. As you might imagine then, Cython is useful in a space where the person writing the code may not have had training with C/C++. From the point of view of developers with a background in computer science, this is very hard to understand, because training or at least exposure to C/C++ is nearly mandatory in computer science schools in most countries. However, there is a class of people who sometimes need to write code that do not have formal training in computer science: scientists and (non-electrical!) engineers. And ironically, it is this group that also frequently requires code to do number crunching at speed which is a feature that raw Python lacks. It is for this group that Cython is especially compelling: mostly the same, easy-to-understand Python syntax but with the speed of native numerical code. This is interesting from the point of view of someone who wants to teach this topic. What do you focus on? Is your time better spent on the code generation aspects of C/C++, i.e., explaining what your nearly-Python code gets converted into? Alternatively, is it better to focus on using Cython and focusing on applications from the Python side of things? Do you prefer How it works, or instead, How to use it, or some mixture of the two? For these questions, I relied on my experience working as a chemical engineer. Professionally, when using software tools I was generally focused on trying to achieve a domain objective; that means trying to solve some real-world problem at work. This is the approach I used in my videos. I decided to avoid discussing the internals about how C/C++ works, such as the linker and assembler and the rest of the compiler toolchain, and rather focus on the features that Cython provides from a Python perspective. I tried, perhaps too aggressively, to use examples and case studies that were not scientific in nature. The problem with using scientific examples is that it is too easy to exclude people. Different scientists are not necessarily experts in each other’s fields, so using a bioinformatics case study risks alienating the neuroscience folks, and vice versa, while using math examples alientates everyone! So I tried to find case studies that would have the most broad appeal. In one case study, I showed how to speed up a large-scale personal tax calculation. In another, I showed how to load and process data from a history file of Soccer World Cup matches. In yet another I showed basic image processing by changing the RGB color of red chillies to blue. Whether this approach works for Cython remains to be seen, but my gamble is that by using examples that are likely to appeal to, or at least to be merely understandable by the largest number of people, will improve the odds that the lessons will be conveyed successfully. I found Cython quite difficult to teach. Python itself is fairly easy to teach, but Cython, even conceptually, begins to touch on many other disparate issues that are not specifically related to Python. It requires a C compiler, which is installed differently on different operating systems. The compiler doesn’t even work the same on different OSs, making the OpenMP case study disconcertingly compiler-specific. Explaining the Cython type declarations threatens to pull in further discussion about whether a long means 32 or 64 bit; whether a char is a string; and whether that answer changes on Python 2 or Python 3. These are just the most high-level issues. Once you begin to sink your teeth into the meat of the subject, the complexity only increases further. How do you package your Cython module? Do you explain how Python’s distutils works? Oops, I meant setuptools? Do you explain how wheels work? The list goes on and on! My goal eventually became to provide just enough information to allow the average developer to be able to get something working on Cython with a significant speed-up, but not necessarily understanding all the low-level machinery. A complete treatment was unrealistic: the reality is that both my time, and the viewer’s available time doesn’t allow for it. I am proud of the set of videos I did manage to produce though: I think the content strikes a good balance between high-level topics, and just enough hinting at low-level topics to suggest further learning paths. General Advice It is best to get feedback on your videos as often as possible, especially in the beginning. The feedback is not about whether your content is accurate. The main thing is to get feedback about whether the visuals are clear and easy to understand, and whether your speaking pace is clear. My publisher pushed very hard for reviewing demos as well as my first few videos so in that sense I was fortunate. If you plan to self-publish I would strongly urge you to ask friends to critique your first few videos. Even before you spend any time on actual content, make a two-minute demo that you can get feedback on. It makes a world of difference to fix things early. The second piece of advice: the only thing that really matters is whether your content is useful for viewers. It is of no use to rush to complete your videos, only to discover later that few people understood the material. The quality of instruction is more important than how quickly you finish your videos. If you must obsess about something, let it be the success of knowledge transfer. There were two videos in particular that I took forever to complete. Each turned out to be, after editing, around 11 minutes, but my preparation time for each was over 20 hours. These were to do with wrapping C/C++ libraries with Cython, one for Mac and one for Windows. The extensive preparation time was spent on finding a way to convey the most important concepts without getting bogged down in the noise. I kept trying different C libraries from github, and different ways of performing the command-line actions until I found a sequence that was both understandable and useful to a viewer who may perhaps lack significant Python experience. I am especially interested in feedback about these two videos: many years of experience went into their production! The final piece of advice is: if you’re preparing a screencast, aim to do a little every day. I failed to do this, which resulted in large backlogs beset with looming deadlines. I succeeded in meeting my deadlines, but the process would have been much smoother if I had spread out the work more. I hope to make more screencasts in the future, and I’d love to get feedback on Learning Cython to improve the next one! Read More ›

Carpentry week 2016 at the University of Oslo
Lex Nederbragt / 2016-04-12
Cross-posted from the author’s blog. In March 14-18 2016 we organised the first Carpentry week at the University of Oslo. After a mini-Seminar on Open Data Skills, there was a Software Carpentry workshop, two Data Carpentry workshops and a workshop on Reproducible Science as well as a ‘beta’ Library Carpentry workshop. The Software and Data Carpentry effort at the University of Oslo, aka ‘Carpentry@UiO’, really started in 2012 when I invited Software Carpentry to give a workshop at the university. The then director, Greg Wilson, came himself and gave an inspirational workshop – recruiting Karin Lagesen and I to become workshop instructors in the process. Karin and I graduated from instructor training spring 2013 and have been giving a couple of workshops in Oslo and elsewhere. In the fall of 2014 we partnered with the UiO Science Library (Realfagsbiblioteket) with the goal of giving regular workshops and to recruit more people as helpers and instructors. Before Carpentry Week, we have held 4 workshops, and 10 helpers and instructors became involved. In connection with the 4th birthday of the Science Library, we together came up with the plan to organize a mini-workshop on Open Data Skills (the video recording is here), followed by four days with five workshops with a total of 90 participants. We were very fortunate to have three international instructors coming all the way to Oslo for these events: Tracy Teal, executive director Data Carpentry; Leah Wasser, supervising scientist at The National Ecological Observatory Network (NEON); and Titus Brown, assistant professor at UC Davis. Tracy, Leah and Titus, thanks for coming! The workshops we offered were: A Software Carpentry workshop teaching automating tasks with the Unix shell, collaborative code development through version control with git and github, and modular code design with python, with 10 participants; this workshop was taught by Halfdan Rydbeck, Hugues Fontenelle, Arvind Sundaram and Axel Rosén A Data Carpentry workshop for GeoSciences and others, focussing on spatio-temporal data, the use of shell for data exploration and data analysis and visualization using R, with 10 participants, taught by Leah Wasser, Michael Heeremans and Anne Fouilloux A Data Carpentry workshop for Biosciences/Genomics teaching about metadata, use of the shell and cloud computing, and data analysis and visualisation using R, with 29 participants, taught by Tracy Teal, Carrie Andrew and Lex Nederbragt A ‘beta’ version of a Library Carpentry workshop teaching about version control with Git and GitHub, tech jargon, working with plain text formats using Sublime Text, APIs, regular expressions, use of the shell, and data cleaning using OpenRefine with 28 participants, taught by Leon du Toit, Elin Stangeland, Live Kvale, Kyrre T. Låberg, Ahmed Abdi Mohammed, Mari Lundevall, Stian Lågstad and Dan Michael O. Heggø. A one-day workshop teaching technologies such as make, Jupyter Notebooks, Docker, myBinder and RMarkdown/Knitr for making computational analysis more reproducible, with 13 participants, taught by Titus Brown and Tracy Teal Carpentry Week gave a real push to the effort at UiO, generating a lot of attention and allowing us to recruit several new helpers and people interested in becoming instructors. At the Mini-Seminar, we proudly announced that the University of Oslo joins the Software Carpentry Foundation as an affiliate. Affiliate status enables us to strengthen the effort at UiO, help grow the Foundation, and gives us easier access to instructor training. For me personally, the Carpentry Week was a fantastic experience. It was very satisfying to see so many undergraduate and graduate students, postdocs and other staff coming to the workshops – we clearly are addressing a need for this kind of skills training. This was the first time I experienced – and instructed at – a Data Carpentry workshop. As I suspected, many researchers I interact with need the kind of training these workshops offer – perhaps even more so than what Software Carpentry offers. I don’t have many possibilities to teach with experienced instructors not from UiO, so witnessing both Tracy Teal and Titus Brown gave me a excellent opportunity to reflect (positively) on my own teaching. Finally, Software and Data Carpentry attract a fantastically open, warm and welcome community of scientists and students, and we see the same happening at UiO. Instructors and helpers are a great bunch of people to work with! The Carpentry@UiO initiative wants to thank the Science Library, whose excellent organizational skills made putting together so many workshops a breeze. The Library provided the indispensable organizing efforts that such events require, as well as coffee and tea, fruit during the workshops, and lunch for everyone participating each day. Live Rasmussen and coworkers, you are fantastic! Let’s do this again next year… Upcoming workshops at UiO: Software Carpentry and Data Carpentry. (Thanks also to the Carpentry@UiO instructors who gave feedback to earlier drafts of this post.) Read More ›

Installation Video Tutorials
Sarah Stevens / 2016-04-12
I recently created videos for installing the software needed for most Software Carpentry workshops. Links for these videos are now added to the lessons template for a workshop and listed below. Windows: Git Bash and SWC installer Python R/Rstudio Mac: Shell, git and nano Python R/Rstudio So far, we only have Windows and Mac videos. If anyone wants to make Linux versions, I’m happy to answer any questions. Or if you want to make the recordings and not the voiceover, I’m willing to narrate. Acknowledgments The idea for installation videos was proposed by UW-Madison instructors and helpers during one of our local meetings. I recorded all the Windows videos, Christina Koch recorded all the Mac videos, and I did narration for all of them. Read More ›

Changes on Mentoring Subcommittee
Raniere Silva / 2016-04-11
The first quarter of 2016 is almost over and so far the Mentoring Subcommittee have been very quiet although we have continued hosting the post workshop debriefing sessions and the pre-workshop helping session. We have been quiet because we were busy with the Steering Committee election and reorganization of the volunteer hours from our members since six of them (Belinda Weaver, Bill Mills, Karin Lagesen, Kate Hertweck, Rayna M Harris and I) were elected as Steering Committee members. In addition to this some members had to temporarily reduce their volunteer hours for various reasons but are now back to help us. In the upcoming weeks you will hear more news from the Mentoring Subcommittee but for now I want to ask you to welcome Christina Koch as the new chair of the Subcommittee. Christina will replace me on this position and I can say that the Subcommittee couldn’t be in better hands. For those that don’t know Christina, she is one of our instructors working at the University of Wisconsin-Madison, last year she was one of the maintainers of our Shell lesson and is now part of our Instructor Trainer team. Christina is interested to hear from you about ideas for the mentoring committee. She may be asking for more feedback (and volunteers!) over the next few months, but for now, would appreciate receiving your thoughts via this form. Read More ›

Designing a New Novice Python Lesson
Greg Wilson / 2016-04-10
Last November, I volunteered to pull together a new full-day lesson on Python suitable for people with no previous programming experience. It has taken longer to come together than I expected, but that’s partly because I saw it as an opportunity to create a full-length example of the “backward” lesson design method we teach in the instructor training class. What we have so far is in this GitHub repository, which is rendered at this site. We would be very grateful for input: if you think crucial topics have been left out, please say so, while if there’s stuff that could be removed or re-ordered, please say that as well. The most important part of this lesson right now is the design page, which describes the process used to date, the assumptions, the desired results, and the learning plan (with time estimates); please read this before diving into anything else. This is an experiment. In the past, the Carpentries have created new lessons by taking something written primarily by one person and polishing it, or by convening a hackathon to thrash out the “what” and “how”. We would like to see whether creating a skeleton with an explicit design rationale, crowdsourcing its refinement, and then putting prose on its bones can be a useful complement to those methods. To keep us all pulling in the same direction while we figure that out, please: Give feedback via issues or pull requests, not on this mailing list. (See this thread for example of such a discussion.) Check to see if someone has already started an issue or pull request about a topic before creating a new one. (Feel free to edit the titles of existing issues and PRs to make them more descriptive if need be.) Stick to one topic per issue or PR; if the discussion wanders onto a new subject, feel free to create a new issue and link to it. Please also feel free to replace one heterogeneous issue with several more focused ones. Remember that nothing is free: everything takes times to teach, and the total time we have for the lesson and exercises is fixed, so if you want to add something, you must tell us how long you think it will take and what you would remove to make room. (“We’ll just add a bit of X to Y” is cheating…) Do a better job than I have of relating exercises back to the gapminder data set. Thanks to everyone who has contributed so far, and thanks in advance to everyone else for their help. Read More ›

Maintaining a Lesson
John Blischak / 2016-04-04
After two years as a Software Carpentry lesson maintainer of r-novice-inflammation, I am stepping down so that I can spend more time on my research (this thesis appears unwilling to write itself) and with my family. This therefore seems like a good time to summarize what’s happened and what I’ve learned for the benefit of anyone planning to become a maintainer. A Bit of Background Software Carpentry really started growing the number of workshops and instructors in 2012. At the time, there were two main sets of lessons in place: the version 4 SWC lessons written by Greg Wilson and others in 2010-11, and a set developed by The Hacker Within, a student group at the University of Wisconsin - Madison. (These were referred to as the THW lessons, and can be found in the old boot-camps repository.) Two problems arose as the number of workshops and instructors increased: Because no official lesson set was enforced, a workshop could be taught using the Version 4 lessons, the THW lessons, and/or lessons that an instructor put together the week before. Because the workshops were reaching a wider audience, many attendees had never programmed before, but the lessons were written for people who had at least some previous experience. To address these problems, the curriculum was reorganized to create an official set of lessons to be taught in all workshops. As part of this, we aimed to create one set of lessons for complete beginners with no previous programming experience (“novice”) and one for self-taught programmers (“intermediate”). Of these, the novice versions received much more attention and development than the intermediate. Both sets were stored in a single bc repository (“bc” was short for “bootcamp”, which is what we used to call workshops), and the Python and SQL lessons were both written as Jupyter notebooks. By late 2014, storing all the lessons in one central repository had become unmanageable, so we split the bc repo into separate repositories for each lesson. At the same time, we adoped a lesson-template to ensure that all the lessons would have the same structure. This gave us the lessons as they are today. Enter r-novice-inflammation As SWC grew, there was lots of interest in hosting R-based workshops. While some instructors (myself included) experimented with custom R lessons, there was no official set of R lessons: the reorganization seemed like the perfect time to fix this. It also seemed like a good time to experiment with collaboratively developing lesson material (see for example these blog posts by Greg Wilson in 2011 and Justin Kitzes in 2014 — this was also the time that the r-discuss list was created). Inspired by these ideas, we tried to make the lesson development process as similar to open source software development as possible. Our options for creating a new R lesson were to merge the already existing lesson sets, to translate the novice Python lesson to R, or to start from scratch. In our initial discussion, we decided it would be most straightforward to translate the novice Python lessons that used some fake “inflammation” data (now python-novice-inflammation). Six months later, we announced the completion of r-novice-inflammation, which was subsequently migrated to the lesson template. The strengths of r-novice-inflammation are that it focuses on language-agnostic programming principles and parallels the standard Python lesson. Its main weakness is that many of our R instructors are enthusiastic about their favorite language, and preferred to have a lesson focus on how it, in combination with packages like dplyr, could be used for data analysis. After much discussion, we decided that the best way to resolve this was to support a second R lesson, r-novice-gapminder, that focuses more on R specifics for data analysis and visualization. Mechanics of the Lesson Template The mechanics of our lessons have gone through almost as many changes as their content, and are set to go through more in the coming months. At present, the core of the lesson template resides in the lesson-template repo. This repo is purposely very minimal because it is repeatedly merged into the repos for specific lessons. For example, it does not contain a README file, because if it did, that file would create conflicts with the lesson’s own README file at each merge. An example of the lesson template is contained in lesson-example. This repo contains the documentation for writing lessons using the template, the most important of which is LAYOUT.md, which describes all the files a lesson should contain and how they should be structured. As is often the case, these instructions are an ideal, and not necessarily how the repositories are maintained in practice: for example, LAYOUT.md states that solutions to challenges are supposed to be contained in the file instructors.md, but this is inconsistently implemented across the SWC lesson repos. Here is how the template works in general. Content is written in Markdown and converted to HTML using pandoc. This process is automated using a Makefile, so that running the command make preview builds the site. All content, including generated HTML files and figures, are committed to the gh-pages branch of the repository. When pushed to GitHub, the HTML files are automatically served online. The template’s maintainers usually merge changes to the lesson template into the downstream repositories, but the lesson maintainers can also do this. For example, the commands below pull changes from lesson-template into r-novice-inflammation: git clone git@github.com:swcarpentry/r-novice-inflammation.git cd r-novice-inflammation/ git remote add template git@github.com:swcarpentry/lesson-template.git git pull template gh-pages git push origin gh-pages They’re All Special Cases The R lessons are the only ones that still contain executable code—the Python and SQL lessons switched from the Jupyter Notebook to plain Markdown because the former’s JSON format made merges complicated. Support for R Markdown files is included in the lesson-template: the Makefile converts files with the Rmd file extension to md using knit from the knitr package. (We do not need to use render from the rmarkdown package because the pandoc formatting is already done by the template.) Furthermore, there is a file called chunk-options.R in the subdirectory tools/ that: Sends all output figures to the directory fig/. formats the code and output chunks so that they conform to the lesson template (check out one of the Markdown files in r-novice-inflammation to see what this looks like). This is why all the Rmd files start with the chunk shown below to load this file. Also note that this chunk overrides the default fig.path: in addition to writing to fig, we add the basename of the file to make managing the figures much easier. Some of these details are documented in a section called Writing lessons with R Markdown. # Code at the beginning of each lesson. We use chunk option `include = FALSE` to # hide this from the rendered file. source("tools/chunk-options.R") opts_chunk$set(fig.path = "fig/01-starting-with-data-") Current Challenges for the Lesson Template If you become a maintainer, you will be added to the mailing list maintainers, which is where discussion and votes happen. One of your responsibilities will be to help decide on changes to the template. For example, we recently voted on a proposal for making it easier to find and use the setup instructions, and are currently voting on a proposal to manage lesson versioning. On the horizon, we need to decide where challenges and their solutions should go. When there were only a few challenges per topic, it made sense to embed them in the same file as the lesson content. As more exercises have been contributed by trainee instructors, this has grown unmanageable: We have discussed having separate files for extra challenges and their solutions, but have yet to make a decision (see this thread). We also need to revisit the question of using pandoc for turning Markdown into HTML, or switching to Jekyll (the tool that GitHub uses): see this thread and Issues issue-279 and issue-280. A more big picture challenge is the target audience of the SWC lessons. During the reorganization, the goal was to create separate lessons for novice and intermediate learners. However, only the novice versions of the lessons were developed and appear on the lessons page. Despite this, instructors wishing to teach intermediate learners have also developed and used these lessons in workshops. Thus we are back at the original situation, where we have one sets of lessons and two different audiences. In recognition of this, we have started working on a new novice Python lesson (which will hopefully also serve as an example for the instructor training course of how to design a lesson systematically). A Final Thought Perhaps the toughest part of being a maintainer is monitoring all the different places where important discussions take place. I currently watch: r-novice-inflammation r-discuss maintainers discuss (it is high volume, so I just skim it) lesson-template r-novice-gapminder Each one of these has a useful role, but collectively they are simply too much. Going forward, I think the lesson maintainers’ biggest task is to find ways to make the flood of information more manageable, so that more people can play an effective part in curating and improving our content. Read More ›

AMY release v1.5.1
Piotr Banaszkiewicz / 2016-04-03
We’re very pleased to announce the newest (v1.5.1) release of AMY, our workshop management tool. This release is special because: it contains more bugfixes than new features we had a number of submissions from prospective Google Summer of Code 2016 (GSoC) students. GSoC students that submitted fixes or new features to AMY: Shubham Singh added “Notes” field to instructor profile update form Nikhil Verma found and fixed “List duplicates” page error when no duplicates existed Shubham Singh added new tag “hackaton” Chris Medrela found and fixed 404 page for revisions that didn’t exist Additionally Nikhil Verma is working on getting certificates to generate from within AMY, but this will probably land in v1.5.2. Apart from GSoC students we’ve had a number of contributions from our very own Maneesha Sane, Greg Wilson and Piotr Banaszkiewicz. If you want to read more about changes introduced in v1.5.1, here’s the changelog. Thanks to all new contributors! Read More ›

rOpenSci is Looking for a Community Manager
Greg Wilson / 2016-03-29
Thanks to their recent funding, rOpenSci is now looking for a community manager. Their mission is to expand access to scientific data and promote a culture of reproducible research and sustainable research software; to aid that, the community manager’s job will be to broaden the understanding and reach of rOpenSci to the researcher community. For details, please see the full announcement. Read More ›

An R-based Instructor Training Sponsored by the R Consortium
Laurent Gatto / 2016-03-28
The R consortium Infrastructure Steering Committee awards have been officially announced and we are happy to confirm that our proposal to organise an R-based instructor training was successful. We will organise an in-person instructor training that will focus on R. While the content of the training will not change as such, code-related exercises and examples that the participants will be working with will be focused on R, and will be made available to the R instructor community to help them improve their teaching. The full proposal is available here. We are now waiting for all the paperwork to be finalised. The next step is to decide where to organise the training—see this issue for requirements and share your suggestions. If you would like to participate, please register your interest here by sending a pull request. We thank the R consortium for their support and look forward to organising our R-based instructor training. Read More ›

Hello, Spatio-temporal Data Carpentry
Leah Wasser / 2016-03-28
Data Carpentry have just announced the availability of an introductory lesson on working with geospatial data developed in conjunction with NEON (the National Ecological Observatory Network). For details, please see the full announcement on Data Carpentry’s blog. Read More ›

Announcing the Open Science Grid User School 2016
Christina Koch / 2016-03-28
If you could access hundreds or thousands of computers for your scholarly work, what could you do? How could it transform your work? What discoveries might you make? We are seeking applicants for the 2016 Open Science Grid (OSG) User School, which takes place 25–29 July at the beautiful University of Wisconsin in Madison. Participants will learn to use high throughput computing (HTC) to harness vast amounts of computing power for research, applicable to nearly any field of study (e.g., physics, chemistry, engineering, life sciences, earth sciences, agricultural and animal sciences, economics, social sciences, medicine, and more). Using lectures, discussions, roleplays, and lots of hands-on work with OSG experts in HTC, participants will learn how HTC systems work, how to run and manage many jobs and huge datasets to implement a full scientific computing workflow, and where to turn for help and more info. Successful applicants will receive financial support to attend the OSG School, covering all basic travel, hotel, and food costs. Ideal candidates are graduate students whose research involves or could involve large-scale computing — work that cannot be done on one laptop or a handful of computers. We also accept post-doctoral students, faculty, staff, and advanced undergraduates, so make a good case for yourself! Important Dates Application Period (OPEN NOW): 14 March – 15 April 2016 OSG User School: 25–29 July 2016 More Information and Applications Website and brief application: http://www.opensciencegrid.org/UserSchool Email: user-school (at) opensciencegrid (dot) org Facebook / Twitter Please forward this announcement to help us reach potential participants, and consider posting our flyer where appropriate. Link to flyer Read More ›

2015 Annual Report
Adina Howe / 2016-03-23
We’re pleased to announce the publication of the first SCF annual report summarizing what we have done this year to to further our goals of promoting reproducibility and reliability in all branches of science, and helping researchers be more productive. You can download the annual report here. Read More ›

Python Education Summit at PyCon 2016
Andrea Zonca / 2016-03-23
The Python Education Summit is a gathering of educators from all venues (school, colleges, universities, community workshops, online courses, government) that share interest and passion in teaching Python. It is an interesting opportunity for Software Carpentry instructors to get inspiration and tips from educators in completely different contexts. Schedule The Summit will take place at the Oregon Convention Center, same site of PyCon, on Sunday, May 29th, the 2nd day of the tutorials and the day before the main conference starts. It will run from 9am to 4:30pm. Format Many 30 min talks Lightning talks with registration on-site 30 min unconference session at the end Registration and more information You need to be already registered to PyCon Remember to register on Eventbrite, space is limited! Blog post on the Pycon blog Talk schedule Read More ›

4 - 18 March, 2016: Instructor Trainee Mentoring, Debriefing vs Lesson Sessions, Version Control, Big Data in Biology Summer School, New Lessons
Anelda van der Walt, Bianca Peterson / 2016-03-18
##Instructor Training How can we help instructor trainees complete their training? Belinda Weaver is working hard to support new instructors in Australia. Do you have any other ideas? Several opportunities are now available for new and experienced instructors to join the conversations about workshops. Should we be combining various sessions to better integrate new and old instructors and give more options for participation? You can also read about the abovementioned discussions in the latest summary of instructor debriefing rounds 4 and 5. ##Conversations Over the last few weeks a very interesting discussion took place on our discuss mailing list about version control beyond git and svn. The conversation was prompted by an initial post by Arjun Raj. Arjun summarised his view on the discussion in a follow-up post titled: From over-reproducibility to a reproducibility wish-list. ##New A new Data Carpentry Genomics lesson and Defensive Programming with Python lesson were discussed during round 4 & 5 of instructor training debriefing. Please read their post and visit the repos for more information. There are also many other cool tools and tips for new and experienced instructors in this post. ##Events The 3rd Annual Big Data in Biology Summer School will take place at the University of Texas at Austin from 23-26 May 2016. 11 courses will be scheduled over four half-days each and include topics such as basic computational skills, Genomics, and Proteomics. ##Other The DataOne Webinar with Greg Wilson titled Research Computing Skills for Scientists: Lessons, Challenges, and Opportunities from Software Carpentry is now available online. What is the difference between commercial and scientific software? Please share your thoughts. Byron Smith built on the Software Carpentry Make lessons to develop a Make tutorial for Titus Brown’s week-long Bioinformatics Workshop at UC Davis’s Bodega Marine Laboratory in February, 2016. Aleksandra Pawlik recently spoke about Supporting Research Software Community Through Training at the eResearch New Zealand conference. The talk focused on the development of Software and Data Carpentry in the UK. 15 workshops were run over the past 15 days. For more information about past workshops, please visit our website Upcoming Workhshops March: University of Oklahoma, Brock University, University of Connecticut, Imperial College London, University of Florida Informatics Institute, University of Miami, UNIC Gif-sur-Yvette, University of Washington - Seattle April: University of Texas at Arlington, UNC Chapel Hill, Online, University of California, Santa Barbara, North-West University May: Bancroft Building, University of Toronto, CSDMS Annual Meeting, Online, Colorado Special Libraries Association @ CU Boulder, National Institutes of Health June: University of Cincinnati July: R workshop - The University of Queensland Read More ›

Software and Data Carpentry Instructor Training Comes to Africa
Anelda van der Walt, Aleksandra Pawlik / 2016-03-18
North-West University eResearch, UCT eResearch, and Talarify are excited to announce that a Software & Data Carpentry Instructor Training event will take place in Potchefstroom, North-West Province, South Africa from 17 - 20 April 2016. Our lead trainer will be Aleksandra Pawlik and several of the more experienced South African instructors will also join the workshop to work with the trainee instructors. In line with a previous post from Belinda Weaver about helping new instructors through the pipeline, this workshop will form part of a larger 12-month programme to help new instructors truly integrate into the community. The programme, an initiative of the three hosting organisations and currently under development, will include supporting instructor trainees to: complete the training after the workshop; run their first workshop at their home institution; and set up and run a user group or Mozilla Science Study Group to support participants from their workshop after the event In 2017 we aim to bring newly qualified instructors as well as the two or three most active community members from their study groups together again to share experiences and develop proposals for future initiatives. Our instructor training workshop will run over two and a half days. The last day will be used to introduce the concept of user groups and communities and expose participants to the Mozilla Science Lab Study Group Handbook and other useful resources that could be used to help set up and run these community events. We will also have feedback from Maia Lesosky who started the Cape R User Group and members of the NWU Genomics Hacky Hour Study Group to provide real life anecdotes. To ensure a transparent process is followed for selection of candidates we have developed a rubric which will be used to score applications based on requirements set out in the original advertisement. We also have an independent selection committee consisting of two international Software/Data Carpentry community members and four South African instructors. We hope to attract at least 50% women and other gender participants for the event. For more information about the workshop please visit the NWU eResearch website. If you’d like to learn more about the extended 12 month programme, please contact Anelda van der Walt Read More ›

New Maintainers
Greg Wilson / 2016-03-17
We are pleased to announce that Harriet Dashnow and Daniel Chen have agreed to take over maintenance of the R inflammation lesson. Our thanks to them for volunteering, and to John Blischak and Denis Haine for all their hard work over the past year and more. We are also grateful to Erik Bray, who has volunteered to take over maintenance of our Windows installer. As we have grown, we have come to depend on our community to do more than just teach (and yes, I just said “just”). If you would like to get involved in maintaining lessons, mentoring new instructors, or other non-teaching tasks, please give us a shout. Read More ›

2016 Post-Workshop Instructor Debriefings, Rounds 04 and 05
Rayna Harris, Sheldon McKay, Raniere Silva, Tiffany Timbers, Belinda Weaver / 2016-03-10
On February 23, Rayna Harris, Sheldon McKay, and Tiffany Timbers ran the 4th round of post-workshop instructor debriefing. On March 8th, Rayna Harris, Raniere Silva, and Belinda Weaver ran the 5th round of post-workshop instructor debriefing. New lesson materials Data Carpentry Genomics Lesson. Greg Wilson recently sent out an email about updating the lesson maintainer roles for Software Carpentry to jump-start finalizing the Ecology and Genomic lessons. These aren’t final yet, but the Iowa State University instructors spent about considerable time putting together a genomic lesson. You can view the Git repository with their lessons here. Defensive Programming with Python. On Day 2 of the University of Pennsylvania workshop, Byron adapted the Python materials to teach defensive programing, testing, and other tools that were applicable to the audience and could be incorporated immediately into the learner’s research programs. Rayna encouraged Byron to contribute with the new Python Novice Gapminder lesson. What worked well Amazon Web Service EC2. Data Carpentry workshops used Amazon’s instance for cloud computing. For instructions on using EC2 in your workshop, see this lesson. Split screen Git. At our Brisbane workshop, Selene Fernandez Valverde used a split screen to simulate two different collaborators when pushing and pulling with Git and it worked really well. It helped people see what was going on. What could have gone better Picking and choosing parts of the lesson. A common thing instructors struggle with is deciding exactly what pieces of a lesson to teach given the time constraints and the skill level of the learners. For instance, Byron reflected that he might could have spent less time on relative/fixed paths in favor of more time spent on scripting. As a newbie, Leah found working off the script made it difficult to flow through the material as she was unsure how much she could divert from the lesson. We all struggle with this and have different solutions. April Wright gets a lot of useful comments, feedback, and suggestions when she tweets or blogs about her lesson. So, good communication is key. Also, a repository of lesson flow charts would be nice, but I don’t think that resource exists yet. Windows and gitbash. In the Brisbane Python lesson, we had problems with copy and paste on gitbash on the Windows laptops. This made it hard using wget and curl as people had to manually type in the download link for data, and were unable to copy and paste other material. Installation problems Some students had problems installing Python and accessing Jupyter notebooks from Opera and Internet Explorer. Git is not on the default Data Carpentry Instances. This is not an issue, per se, but the instructors did have to stop and retool during the Git lesson because of it. ICYMI: Thoughts On Combining Debriefing Sessions with Instructor Checkout Belinda Weaver wrote a nice post on helping instructor trainees finish their training. Then Greg Wilson suggested combining the lesson discussion with the debriefings. Kate Hertweck agreed and suggested merging the lesson discussion with the pre-workshop help session. Instructor training is a valuable and critical part of our community, and we value your opinion on these matters. If you haven’t already, take a look at these posts and share your thoughts. Thanks! We are very grateful to the instructors who attended these debriefing sessions. By taking the time to reflect on their teaching experiences, they are helping to strengthen our community. Jeff Stafford and Robert Colautti, 2016-02-17-queens Pat Schloss, 2016-02-29-UMichigan April Wright, 2016-02-22-ISU Byron Smith, 2016-02-22-upenn Leah Roberts, 2016-02-01-BrisbaneResBaz Read More ›

Should We Combine Debriefing and Lesson Discussion?
Greg Wilson / 2016-03-08
Belinda Weaver recently posted a proposal for helping instructor trainees finish. While reading her post and writing out the current instructor training workflow for the benefit of GSoC students, I started wondering if it might also make sense to combine the workshop debriefing sessions with the trainee mentoring sessions: a couple of regularly-scheduled slots each week (times chosen to accommodate all comers) would be easier to wrangle, and trainees would get to meet more existing instructors and hear about their in-class experiences. We’d still need some sort of sign-up mechanism to keep numbers manageable, and we’d need someone to report back on which trainees had asked well-informed questions, and it would mean less coupling between the discussion and the specific lesson(s) trainees were working on, but the first two aren’t new work (we’re doing them already) and the third might actually be a good thing, particularly if we follow up on another suggestion and have people attend a discussion before submitting their lesson change. Please add comments to this blog post to let us know what you think of the idea, and to Belinda’s to give her feedback as well. Read More ›

A Proposal for Helping Instructor Trainees Finish
Belinda Weaver / 2016-03-08
Instructor training is one way we grow our community worldwide. Yet many people who go through instructor training never go on to teach at a Software Carpentry workshop. Can that be fixed? I suggest that shepherding people though the final stages might help with completion rates. When the idea of running instructor training in Brisbane was originally mooted, I set up a survey, very early on, to record expressions of interest from people who might want to train. I tweeted that several times in the months leading up to the training. The survey captured name, email address, institution, discipline and how each applicant had heard about the survey. I wish now I had also asked ‘why do you want to train’ or ‘why do you deserve a place over someone else?’ as that would have helped me sift through the candidates. Nearer the workshop time, I put that survey info into a spreadsheet and got my local Software Carpentry crew to help me whittle the more than 55 responses down to 20. We were mindful of a few things: having a spread of disciplines, if possible training people from a range of universities, if possible training people from outside Brisbane, e.g. from regional universities, or from cities not offering instructor training in this round training groups rather than individuals (to help foster activity later) how likely the person was to actually teach. This last was a bit tricky but attendance at a workshop or having helped at a workshop was evidence of at least some commitment to Software Carpentry. I think one big problem is that while people like the idea of Software Carpentry workshops, and like being part of that vibe, that community, that doesn’t necessarily translate into a willingness on their part to actually teach. So evidence of previous participation helps identify instructor trainees who have already put in time to make workshops possible – whether by helping organise them, helping out on the day, getting funding to run them, and so on. But it doesn’t hurt to do some hard questioning beforehand as to whether people can realistically see themselves teaching at workshops, and if so, how often? If someone is a PhD student in the writing-up phase, for example, it’s unlikely they will have much time to commit. By doing that kind of questioning, I was able to eliminate quite a few people from the people who originally volunteered to come. The 20 people I ended up with were what I considered the best 20. To get a place, they had to complete the prerequisite activities by a deadline, or lose the spot - which is one good way to tell whether or not people are serious. If applicants aren’t prepared to complete tasks, or if they’re sloppy about deadlines, chances are they won’t teach workshops either. My 20 all did the prep, they turned up on the day, they stuck it out with no falling by the wayside. After the workshop, we were lucky we had the big Research Bazaar (ResBaz) event coming up at which we offered parallel Software Carpentry workshops in both R and Python. Several fledgling instructors got a chance to teach there while being assisted (and observed) by more experienced instructors. After ResBaz, I organised a Hangout practice session for seven of those recent instructor trainees. During that session, they all taught to the group and they all critiqued one another face to face and via an etherpad. I have since done a second practice teaching session with two other trainees (and walked them both through the pull request requirement) and am planning a third with more trainees from Townsville. I have also followed up twice via email with the rest who attended from Sydney and Canberra. I think my follow ups have helped people complete, and my ability to get a lot of trainees teaching soon after the training ended focused them on the importance of getting through the final stages. I think having a local ‘shepherd’ can really help get people over the line. But the shepherd could be anywhere - it’s more just having someone specific to whom trainees feel accountable - someone who follows up with them, chases them up, and actually cares that they get the final bits done and qualify as instructors. Maybe if there is no-one local who could play that role, this could be a job for the mentoring committee to handle - it really is a mentoring task. The ideal would be to have the instructor trainer hand the class over to the mentor as part of the final session of the training, and for the mentor to check in with trainees regularly from then on – maybe by running teaching practice sessions, handholding, or talking them through the final tasks, getting them over their nerves about actually getting up and teaching (the practice sessions help with that). I think there also needs to be some contribution pathway for people who’ve completed instructor training but have discovered - belatedly! - that teaching is not for them. In order not to waste their training, they could become an organiser/cheerleader. We could always use more of those! Read More ›

3rd Annual Big Data in Biology Summer School
Rayna Harris / 2016-03-08
The Center for Computational Biology and Bioinformatics at The University of Texas at Austin is hosting the 3rd Annual Big Data in Biology Summer School May 23–26, 2016. The 2016 Summer School offers eleven intensive courses that span general programming, high throughput DNA and RNA sequencing analysis, proteomics, and computational modeling. These courses provides a unique hands-on opportunity to acquire valuable skills directly from experts in the field. Each course will meet for three hours a day for four days (either in the morning or in the afternoon) for a total of twelve hours. **Click here for more details or to register! ** Great introductory courses: Introduction to Core Next Generation Sequencing (NGS) Tools Introduction to Proteomics Introduction to Python Introduction to RNA-seq Bioinformatic courses: Bash Beyond Basics Genome Variant Analysis Machine Learning Methods for Gene Expression Profiling Analysis Medical Genomics Metagenomic Analysis of Microbial Communities Computational Modeling: Computational Modeling to Study Evolution in Action Protein Modeling Using Rosetta New in 2016: Bash Beyond Basics: This course will focus on being more productive in the Bash shell. We will learn about regular expressions, Unix utilities like cut/sort/join, awk, advanced piping, process substitution, string manipulation, and Bash scripting. Learn to love the command line and increase your productivity with rapid manipulation of bioinformatic data! Metagenomic Analysis of Microbial Communities: This course surveys the Python software ecosystem and familiarizes participants with cutting-edge data science tools. Topics include interactive computing basics; data preprocessing and cleaning; exploratory data analysis and visualization; and machine learning and predictive modeling. Clinical Genomics: This course will introduce a selection of genomics methodologies in a clinical and medical context. We will cover genomics data processing and interpretation, quantitative genetics, association between variants and clinical outcomes, cancer genomics, and the ethics/regulatory considerations of developing medical genomics tools for clinicians. The course will have an optional lab component where participants will have the opportunity to explore datasets and learn basic genomics and clinical data analysis. Computational Modeling to Study Evolution in Action: This course is about the study of evolution using computational model systems. We will use two different systems for digital evolution: Avida and “Markov Gate Networks” exploring many different possibilities of using computational systems for evolution research. Participants will gain a hands-on introduction to the Avida Digital Evolution Research Platform, a popular artificial life system for biological research and the Markov Gate Network modeling framework to study questions pertaining to neuro-evolution, behavior, and artificial intelligence. **Click here for more details or to register! ** Read More ›

Complexity vs. Subtlety
Greg Wilson / 2016-03-05
I gave a lightning talk on Software Carpentry for the OICR yesterday, and in discussion afterward, Jonathan Dursi made an observation that I’ve been thinking about since. He wondered whether the key difference between commercial software and scientific software is complexity versus subtlety. For example, the software that manages workplace insurance payouts for the province of Ontario is complex because it has to handle every regulatory change since the mid-1920s. None of the its rules and exceptions are intellectually taxing, but by the time you turn them into a service, provide a dozen different interfaces for different business roles, and make the whole thing fault tolerant, the software is incredibly tangled. A lot of scientific software is relatively straightforward by comparison, so long all you look at is the control flow. It’s the specific calculations that are hard: what differencing scheme or statistical test to use, what convergence criteria or significance measure to apply, and so on. And yes, there are a lot of fiendishly tricky algorithms in science, but they’re often hidden in libraries built and maintained by specialists who work and think like software engineers. All of this brings me back to the issue of testing. (I’ll pause a moment to let long-time readers groan, “Oh no, not this again.”) A lot of tools and techniques for testing mainstream software are really about managing its complexity: some of the most useful books I know about making software right are good precisely because they makes this explicit. Offhand, I can’t think of any good books about managing subtlety—about picking the right calculation to perform rather than handling badly-formatted input data and corner cases in control flow. I suspect this is because subtlety is inherently domain-specific, which means many fewer people know enough to write about any particular bit. In response to an early draft of this post, Jonathan added, “This distinction is especially important in the early experimental stage of developing a tool: if something is successful enough and widely applicable enough that it becomes ‘hardened’ or ‘productized’ or the like, then the complexity naturally grows to be robust and to handle a wider range of cases.” This is why I enjoy Software Carpentry so much: someone always has new insights. As always, we’d be grateful for yours. Read More ›

16 February - 3 March, 2016: New Steering Committee, Software Carpentry Value Proposition, Webinar, Vacancies, Community Building, Instructor Training, and Modern Scientific Authoring
Anelda van der Walt / 2016-03-03
##Highlights Our new steering committee has been elected. Congratulations to Rayna Harris, Kate Hertweck, Karin Lagesen, Bill Mills, Raniere Silva, Belinda Weaver, and Jason Williams! Looking for a good model to show potentially interested stakeholders what value Software Carpentry brings? Jonah Duckles, our executive director, shared his views. Let us know how we can improve on this? ##Webinars DataONE is hosting Greg Wilson for a webinar titled Research Computing Skills for Scientists: Lessons, Challenges, and Opportunities from Software Carpentry on 8 March 2016 at 9am Pacific Time. ##New Over the past three years the rOpenSci community have learnt some interesting lessons about community building and open software. Their paper describing these lessons learnt are now published and may provide some valuable insights to others on similar journeys. The new instructor training pipeline is starting to ramp up. Five people are now qualified to train instructors while the next round of instructor trainer training is already underway. We’re currently in the lesson building phase for Modern Scientific Authoring. Comments and contributions are very welcome. ##Vacancies The Bioinformatics Training Facility of the School of Biological Sciences, University of Cambridge is looking for a Training Impact Co-ordinator. ##Other Did you realise that collaborative tools such as the etherpad could be tremendously useful for learners with (even slight) disabilities? We recently published some statistics on gender representation in the Software Carpentry community in response to a new paper on gender bias in open source. The paper has since received strong critique, but our stats remain. The first six ELIXIR Software and Data Carpentry instructors recently received their instructor certification. Read more about ELIXR Software and Data Carpentry activities. 18 workshops were run over the past 16 days. For more information about past workshops, please visit our website Upcoming Workhshops March: Boston College Libraries, National Networks of Libraries of Medicine, New England Region, Alaska Fisheries Science Center / National Marine Fisheries Service, Calcul Québec, Université Laval, UC Berkeley, Notre Dame, University of Connecticut, The Genome Analysis Centre (TGAC), EPSRC & MRC Centre for Doctoral Training in Regenerative Medicine, University of Manchester, Politechnika Krakowska, University of Miami, University of British Columbia, Brock University, University of Connecticut, University of Miami, UNIC Gif-sur-Yvette, University of Washington - Seattle April: Online, UNC Chapel Hill, University of California, Santa Barbara May: CSDMS Annual Meeting, Colorado Special Libraries Association @ CU Boulder, National Institutes of Health July: R workshop - The University of Queensland Read More ›

Communities: The Foundation of Impactful Workshops
Jonah Duckles / 2016-03-01
I spend a good deal of my time trying to communicate with member organizations about what it is that the Software Carpentry Foundation can do to help them meet their own goals. It is part of my job to showcase to them the return on investment that they’ll see in various areas. The three areas in which this is most apparent are impacts on skills transfer to learners who attend workshops, the lesson material that is publicly available and built by the community, and the capacity building that comes from mentoring instructors who are thinking about impactful instruction in short workshops. In order to better arrange my ideas I decided to draw a Venn Diagram with circles for Lessons, Learners and Instructors. I’ve tried to use this diagram to build my own mental model for how what we do in terms of core activities can scale and grow. Through this process I’ve come to think of the structure in this diagram as podular (made of semi-autonomous pods), or a fractal element that repeats at various community scales such as university, research network, nation, or worldwide. At each of our partner organizations we may have lessons, instructors and learners with their own unique and local perspectives, working toward impactful workshops that are appropriate for their own community. Internationally, we are working toward spreading consensus lessons and ethos of using open source tools for open and collaborative science to scientific communities via our workshops while using evidence based teaching methods. These workshops sit at the nexus of the diagram and showcase, in a focused event, what it is that we stand for. They reflect the impacts we would like to have on changing how science is thought about in the context of computation. The brands “Software Carpentry” and “Data Carpentry” reflect a particular set of opinionated lessons arranged to have specific impacts on learners. This is why we work so hard to make sure that a workshop called “Software Carpentry” or “Data Carpentry” is being taught using our methods (the instructor is “badged”) and with instructors who have studied the community-developed lessons. Locally when we deliver a workshop we’re working to bring together lessons, learners, and instructors that can deliver impactful workshops. To be prepared for this we strive to convince learners that spending two days with these lessons and our instructors will be impactful and helpful to how they work. When you put this all together, we’re not just developing training and delivering workshops, we as a community collectively own the lessons and are advancing, testing and refining the evidence based teaching best practices that we share with others and reinforce through our instructor training. Outside of our core lessons and flagship workshops, you are strongly encouraged to duplicate this structure and apply it at smaller scales toward the specific needs of your own communities. This is how we grow and test new ideas and lessons. As you do this we want to know what you’ve learned, we want to hear your success stories, we want to hear about your spectacular failures. Overall, we want the Carpentries together to be a community where the most broadly applicable lessons pertaining to the tools and best practices needed to do modern research can come to be curated and improved together. At the same time, we have thriving global conversations about what gaps there are in our lessons, in our teaching methods, and how can we address those gaps and have more impact on the practice of research supported by computational tools. One area that this diagram pointed out to me that we could do better at is supporting and helping our learners in their self study. We do know from our website analytics that browsing our lessons is one of the most popular activities among website visitors. We also know, through our instructor survey, that we have many instructors that came to be a part of our community from self study of the lessons online over the years. I would welcome ideas and efforts towards our lessons and our community being more supportive of our learners who are interested in self study. As it is, our lessons are mostly meant to be instructor notes, but if we could find ways to make them more useful for self study, I think that would be fantastic. What are your thoughts and ideas on this diagram, are there any ways to enhance it or improve it that you see? It has really helped me to organize a jumble of ideas I’ve been dancing around in conversations with partners over the past several months. Read More ›

Applications due March 1st: 2016 eScience Data Science for Social Good summer program
Ariel Rokem / 2016-02-26
The University of Washington eScience Institute, in collaboration with Urban@UW and Microsoft, is excited to announce the 2016 Data Science for Social Good (DSSG) summer program. The program brings together data and domain scientists to work on focused, collaborative projects that are designed to impact public policy for social benefit. Modeled after similar programs at the University of Chicago and Georgia Tech, with elements from our own Data Science Incubator, sixteen DSSG Student Fellows will be selected to work with academic researchers, data scientists, and public stakeholder groups on data-intensive research projects. Graduate students and advanced undergraduates are eligible for these paid positions. This year’s projects will focus on Urban Science, aiming to understand and extract valuable, actionable information out of data from urban environments across topic areas including public health, sustainable urban planning, crime prevention, education, transportation, and social justice. For more program details and application information visit: http://escience.washington.edu/get-involved/incubator-programs/data-science-for-social-good/ Read More ›

Bioinformatics Training Impact Coordinator
Greg Wilson / 2016-02-22
The Bioinformatics Training Facility of the School of Biological Sciences, University of Cambridge is looking for a Training Impact Co-ordinator. The post-holder will develop (building on existing work), implement, monitor, analyse and report on a comprehensive system of training metrics/key performance indicators across the portfolio of ELIXIR and EXCELERATE bioinformatics training activities. For more information, please see the full ad. Read More ›

Welcome to the 2016 Steering Committee!
Jonah Duckles / 2016-02-20
The results are in. Your 2016 steering committee, in alphabetical order by last name is: Rayna Harris Kate Hertweck Karin Lagesen Bill Mills Raniere Silva Belinda Weaver Jason Williams Thank you to all of the candidates for standing for election. We look forward to an exciting year of the new committee’s contribution and leadership. For those interested, the raw results are available here. Read More ›

More of a Difference Than You Realize
Greg Wilson / 2016-02-19
We received this after an online instructor training workshop earlier this week, which reminded me that small differences for some people can be large ones for others: Thanks for a great workshop the last two days… I wanted to share a separate positive comment that I should have included on the Etherpad: I’m profoundly/severely hard-of-hearing in both ears, and depend quite a bit on lip-reading when listening to people. As such, I have great difficulty with online material if the audio is bad, the speaker is not well lit, or the speaker is simply not on video. This was the first online course I’ve taken where there were several sites participating, and there was the use of software (Etherpad) for collaborative interaction. I have to admit I was dubious at first at how well this would all work for me with you in one corner, the audience in another, and stuff happening on the etherpad. In the end, I think it was fantastic. Having everybody collaboratively take notes worked out really well, because then if I didn’t quite get something, I could wait and see if somebody else typed up the information or I could ask about it in the chat window. I did have trouble hearing the audio from some of the other sites, but it wasn’t critical. Thanks again for a great class. Read More ›

Building Software, Building Community: Lessons from the rOpenSci Project
Greg Wilson / 2016-02-17
Carl Boettiger, Scott Chamberlain, Ted Hart, and Karthik Ram have just published a paper titled “Building Software, Building Community: Lessons from the rOpenSci Project”, in which they describe what they’ve learned by growing the rOpenSci project There are a lot of great ideas here that other groups could borrow, and of course you can keep up with their news by following their blog. Read More ›

2 - 16 February, 2016: Election Week, University Courses, New Lessons and a Shell Co-Maintainer, An Interview, and Teaching Strategies
Anelda van der Walt / 2016-02-16
##Highlights The 2016 Software Carpentry Foundation Steering Committee election is on this week. Questions regarding the elections can be addressed to election@software-carpentry.org. Daniel Chen has written up a fantasticly informative interview-style post about the challenges and opportunities associated with running Software Carpentry lessons as university course. The post is well-worth the read as there are many different views and ideas that might be relevant in your own context. ##Collaborate Great feedback about our collaboratively designed introductory Python lesson has shaped much of what the lesson will look like. How should we proceed with actual development of the lesson? Let us know? Alex Konovalov and his colleagues are now developing a Software Carpentry-style lesson on SageMath. If you’re interested to collaborate, please get in touch. ##New Ashwin Srinath, a Ph.D. candidate in Mechanical Engineering at Clemson University, is joining Gabriel Devenyi as co-maintainer of the Unix Shell lessons. A big thanks to Christina and all the best to Ashwin! A lesson on the computational algebra system GAP has been developed and taught by Alex Konovalov and his colleague A recent interview with Greg Wilson by Matthias Fromm and Konrad Förstner is now available as part of their Open Science Radio podcasts. ##Instructor training How well is Software Carpentry doing in conveying evidence-based teaching practices, specifically when measured against the six core teaching strategies published in 2007? ##Other Ian Hawke from the Centre for Doctoral Training in Next Generation Computational Modelling wrote about his experience in providing context through the use of authentic examples during a recent numerical methods workshop. The second/blog/2016/02/instructor-debriefing-round-02.html) and third instructor debriefing session for 2016 covered topics such as finding solutions for installation challenges, a collaborative blog writing excercise for git, wifi challenges, integration of SQL and Python lessons, and using real-world examples to encourage learning. We’re comparing stats from online versus in-person instructor training from the last few years. Do you have any suggestions for correlations we could be looking at? The Kellogg Biological Station at Michigan State University is running a two-week course on next generation sequencing data analysis for biologists on August 8-19, 2016. If you’d like to know how many workshops we’ve similtaneously ran on one day across the world you can now access the raw data or visualise our activity over the last few years. What do we know about usability and programming language design? Andreas Stefik and his colleagues have developed a two-pager summarising the knowledge that’s out there. 16 workshops were run over the past 15 days. For more information about past workshops, please visit our website Upcoming Workhshops February: University of Edinburgh (EPCC), National Institutes of Health, Online, University of Alberta, University College London, Queen’s University, Sir John A. MacDonald Hall Room 2, ACC Cyfronet AGH, University of Calgary, Iowa State University, University of Miami, University of British Columbia Okanagan, UC Davis, Tulane University, University of Pennsylvania, University of Illinois March: Calcul Québec, Université Laval, Alaska Fisheries Science Center / National Marine Fisheries Service, Boston College Libraries, National Networks of Libraries of Medicine, New England Region, Notre Dame, University of Connecticut, EPSRC & MRC Centre for Doctoral Training in Regenerative Medicine, University of Manchester, University of Miami, University of British Columbia, Brock University, University of Connecticut, UNIC Gif-sur-Yvette, University of Washington - Seattle April: Online May: CSDMS Annual Meeting Read More ›

Our New Instructor Pipeline
Greg Wilson / 2016-02-16
Last fall, we decided to reboot our instructor training course. We’ve tried a lot of things since then, and one of the biggest successes has been our new checkout procedure. In brief: After completing the instructor training course, the trainee picks one of the core lessons from each of the Carpentries she wants to teach and submit a new exercise for that lesson. She then takes part in an hour-long group discussion of that lesson led by an experienced instructor. She is expected to have gone through the lesson before this session so that she can ask lots of pointed questions during that hour. If the mentor leading the session feels that she is unprepared, she may be asked to do some more work and try again. She then does a demonstration lesson via screen sharing. In it, she is asked to teach a five-minute segment of her lesson chosen by the person running the session. Since she does not know in advance which five-minute segment she will be asked to teach, she must be ready to teach any part of the lesson. If the examiner feels that she needs to do more work, she will be given feedback and asked to try again, but if all goes well, she will get her badge. (Note that people don’t have to qualify separately for different topics: if you show that you’ve mastered one, we’ll trust that you’ll master others as needed.) A dozen experienced instructors have run discussion sessions so far, and feedback has been very positive—everyone (both leaders and trainees) have found the sessions really useful. What’s more, trainers other than myself are now running the final demonstration lessons and deciding whether people are ready to teach for us. By mid-year, our rule will be that trainees are always examined by someone other than the person who ran their training course, for the same reason that PhD committees usually include external examiners. It’s starting to look like a sustainable, scalable process, but there’s still lots of work to do: We need to do a better job of telling trainees and discussion leaders what’s expected of them. For example, trainees need to know that they’re responsible for mastering the whole of their chosen lesson, and that they need to check out separately for Data Carpentry and Software Carpentry. We need to automate scheduling and signup for discussion sessions and checkouts instead of using a pile of Etherpads and a flurry of emails. I expect we will do this via AMY, though I’m still leery of opening it up to hundreds of people. We need to make our expectations of trainees clearer. If someone signs up for a session, doesn’t show, then shows up late for another session they haven’t signed up for and asks the leader to wait while they read through the lesson, the discussion leader should know to hand them back to a trainer for a full and frank discussion of our reputation and their reliability. Equally, we need to cut infrequently taught material from our lessons so that trainees know what to focus on. For example, the material on building R packages is too advanced for most novice workshops; we should either move that material to a separate advanced lesson or mark it somehow. We need to set a time limit on completion, let everyone know what it is, and enforce it. Our current thought is to give trainees 90 days to wrap up, while being generous with waivers for extenuating circumstances. We need to follow up with the teams who took part in December 2015’s training and make sure they run the workshops that they promised to. I’m sure lots of other things will come up, but we’re making progress. And it really is “we”: Steve Crouch, Christina Koch, Aleksandra Pawlik, and Tracy Teal are now certified instructor trainers, Ariel Rokem is in training to become one, and we are about add six more: Neal Davis, Rayna Harris, Lex Nederbragt, Anelda van der Walt, Belinda Weaver, and Jason Williams. By August, we may finally have the capacity to help all the people who come to us wanting to help their colleagues. Read More ›

A Counterpoint to Collaborative Lesson Design
Greg Wilson / 2016-02-16
Discussion of our proposed lesson on on modern scientific authoring is an instructive counterpoint to our previous post extolling the virtues of collaborative lesson development. The aim of the lesson is to show researchers how to write and publish in the early 21st Century—or more honestly, to persuade them to stop mailing each other copies of Microsoft Word files and start using something else. After a long-winded opening (which I’ll cut substantially), the current introduction summarizes the strengths and weaknesses of six options: WYSIWYG on the desktop (Microsoft Word). WYSIWYG on the web (Google Docs). Desktop typesetting (LaTeX). Web-based typesetting hybrids (Authorea, Overleaf). HTML. Markdown. It concludes that for the foreseeable future, many researchers will continue to prefer WYSIWYG tools rather than typesetting tools requiring compilation (such as LaTeX and Markdown). However, since most researchers are already familiar with WYSIWYG tools, and since typesetting tools are easier to integrate into reproducible workflows, the lesson will focus on LaTeX for mansucripts and Markdown for the web. The feedback to date has been interesting: Word’s built-in compare/merge tool can be launched from version control systems. New tools (like Authorea and Overleaf) are necessarily immature, and there’s no guarantee they’ll still be around in a couple of years. Many journals won’t accept either LaTeX or Markdown, so we should teach a Markdown-plus-Pandoc workflow. Setting up a build environment for a randomly-selected LaTeX document is exactly as challenging as setting one up for a randomly chosen piece of software. What about LyX? What about CommonMark? What about reStructuredText? What about RMarkdown? What about Microsoft OneDrive? What about org-mode? What about the Jupyter Notebook? There were a few comments about lesson content (mostly about workflows for reviewing changes), but compared to the feedback on the new introduction to Python, there was much more about technical issues like tools and formats and much less about pedagogy and big ideas. I suspect there are two reasons for that: We’ve been teaching Python for years, so instructors are more familiar with the pedagogical issues. There’s genuinely less agreement about tools for modern research writing. The next step is going to be to draw up an outline like this one laying out topics, exercises, and timings. We’ve found with the new Python lesson that this focuses the discussion, and we’re hoping that it will allow parallelization, i.e., that many people will be able to fill in different parts of the outline simultaneously once the overall structure has been agreed. One of the biggest challenges in doing this will be to make the lesson not depend on command-line skills, so that it’s accessible to people who are attending Data Carpentry workshops. That’s going to be hard, as both LaTeX and Pandoc are command-line tools. Whatever results, building lessons this way is a big step for us, and I’m eager to see how well it actually works. Read More ›

Checking the Balance
Greg Wilson / 2016-02-16
Added 2016-02-22: this strong critique of the Terrell et al preprint mentioned in the opening paragraph of this post is worth a careful read. It's been a depressing couple of weeks. On top of yet more reports of universities turning a blind eye to sexual harassment for years, a new paper of gender bias in open source shows that, "...women's contributions tend to be accepted more often than men's. However, when a woman's gender is identifiable, they are rejected more often." This comes on top of earlier studies (like this one) showing that women are substantially under-represented in online forums like Stack Overflow, even when compared to computing as a whole. This prompted me to take another look at how Software Carpentry is doing. To start, here are the number and percentage of qualified Software Carpentry instructors broken down by gender: Qualified Instructors by Gender FemaleMaleOtherUnknown Number136355326 %age26.2%68.3%0.6%5.0% Let's compare that to the number of people contributing to our core lesson repositories in January 2016 by gender. (I'd like to show number for a whole year, but my script won't fetch stuff from that far back.) Repository Contributors by Gender FemaleMaleOtherUnknown Number1979-14 %age17.0%70.5%-12.5% 17% female is better than average for GitHub and Stack Overflow, but still pretty poor. The proportion is even worse when we count number of contributions rather than number of contributors: Repository Contributions by Gender FemaleMaleOtherUnknown Number69532-28 %age11.0%84.6%-4.5% This allows us to calculate contributions per person: Repository Contributions per Person by Gender FemaleMaleOtherUnknown Number3.66.72- But now let's compare this to the stats for Software Carpentry's core mission: delivering workshops. Our next table shows the number of people who taught workshops in 2015: Workshop Instructors by Gender FemaleMaleOtherUnknown Number891931213 %age21.9%47.5%29.8%0.7% while this one shows the actual number of workshops taught (e.g., if I taught three times, I count as three points in the male column): Workshops Taught by Gender FemaleMaleOtherUnknown Number1824061634 %age24.1%53.8%21.6%0.5% and this one shows the average number of workshops taught by each instructor: Repository Contributions per Person by Gender FemaleMaleOtherUnknown Number2.02.11.31.3 Finally, here's the breakdown of contributors to our discussion mailing list for the three months Nov 2015 - Jan 2016: Email Contributors by Gender FemaleMaleOtherUnknown Number2295-- %age18.8%81.2%-- of messages sent: Email Messages by Gender FemaleMaleOtherUnknown Number73277-- %age20.9%79.1%-- and of messages per person: Email Messages per Person by Gender FemaleMaleOtherUnknown Number3.32.9-- I draw some comfort from the fact that our online balance isn't dramatically different from our in-person balance, and that both are much better than GitHub's or Stack Overflow's (though it would be hard for us to do worse), It's still clear, though, that women and other people who do not identify as male are under-represented both online and and in person. What's worse is that as we grow, we're regressing to computing's unbalanced mean: over a third of our instructors were women in the summer of 2013. While I worry about the number of people who complete instructor training but never teach for us, I worry a lot more about that, and if we're going to try to fix something this year, that's what I'd like it to be. Read More ›

Designing Lessons Collaboratively
Greg Wilson / 2016-02-15
A few days ago, I asked for feedback on a new Python lesson aimed at people who’ve never programmed before. The outline had already received several rounds of feedback from a handful of people, but there were still lots of comments: As always, the choice of tools attracted a lot of discussion. Jeremy Metz opened by saying, “I worry that the use of a more abstract environment like the Jupyter Notebook might confuse and add an additional barrier to people wanting to ‘really’ use Python.” I agree that the Notebook imposes an extra cognitive load, since it’s so different from anything else novices are likely to have seen, but it has become the tool of choice for many scientists for good reasons: it’s stable, cross-platform, encourages reproducible practices, and has a great, supportive community. We’re also starved for alternatives: the audience for this class isn’t required to have seen the shell, so running scripts from the command line is out, and all of the Python IDEs we’ve tried have significant shortcomings for our audience. Time estimates are one of the places where community input matters most. In this issue, two experienced instructors discuss how far they think learners could get by lunch, while here, two others talk about whether lots of short exercises will be manageable in practice, and whether using the Notebook will help. The former was a useful reality check (which is my way of saying “I cut some material based on their feedback”) while we will address the latter by having most exercises be multiple choice questions, Parsons Problems, and filling in the blanks or tweaking existing code rather than writing things from scratch. Rayna Harris has also suggested that we use Socrative quizzes for real-time assessment. While I’m a bit nervous about becoming any more dependent on closed-source commercial sites than we already are, it’s a great tool, and we’ll definitely explore it. Potential problems are another place where having a community makes a big difference. This discussion reminded me that loading data is hard if you don’t know how to navigate the filesystem; we’ve addressed that by allocating 10 minutes for learners to read their first CSV data set, most of which we expect will be taken up with tech support. Testing is important and coverage of these practical aspects of programming is part of what distinguishes SWC from “pure programming” classes, but (a) will it be accessible, (b) will it be compelling, and (c) what should we take out to make room for it? We could show assert and focus on defensive programming rather than testing per se, and it’s less effort (no separate functions). See this thread for the discussion. Debugging is also important. I’m a big fan of interactive symbolic debuggers, but all the Notebook provides right now is pdb, which we are not showing to novices. Instead, we have 15 minutes of lesson and discussion on how to make sense of error messages (which will draw on this discussion as well as recycling this material) and 25 minutes on actual debugging. The latter episode is toward the end of the lesson, and I suspect that many workshops will drop it because they’ll run short of time. NumPy was the heart and soul of scientific Python for many years, but this lesson will only mention it in passing, devoting its attention to Pandas instead. It really deserves more air time—as Bartosz Telenczuk observes, “students leaving the course without basic familiarity of NumPy will not be able to understand ~60% (my rough guess) of scientific Python applications.” The problem once again is what to cut to make room… The biggest message for me in this wasn’t the specific feedback, though. It was the way that two dozen people who are familiar with our current content and teaching methods, and have first-hand experience delivering this material in the classroom, were willing and able to share what they knew. That doesn’t guarantee that the first draft of the lesson will be perfect, but it does improve the odds of it being good. The next step is to figure out how to go about writing the lesson. Should one or two people assemble a first draft for others to critique? Or should we start by crowd-sourcing the creation of the exercises (which I think will parallelize better)? And if we do the latter, should we ask instructor trainees who already speak Python to propose exercises as part of their training? Comments would be greatly appreciated. Read More ›

NGS Summer 2016: Analyzing Next-Generation Sequencing Data
Greg Wilson / 2016-02-14
A two-week residential course on next-generation sequencing is being offered at the Kellogg Biological Station at Michigan State University on August 8-19, 2016. The course’s directors are Prof. Matt MacManes (U. New Hampshire) and Prof. Meg Staton (U. Tennessee, Knoxville), and instructors will include Prof. Ian Dworkin (McMaster U.), Prof. Torsten Seemann (U. Melbourne), Shaun Jackman (PhD candidate, UBC) and others. More information, or to register, please see http://bioinformatics.msu.edu/ngs-summer-course-2016. Note: if you are running a course that might be of interest to our community, please let us know. This intensive two week summer course will introduce attendees with a strong biology background to the practice of analyzing short-read sequencing data from Illumina and other next-gen platforms (e.g., Nanopore, PacBio). The first week will introduce students to computational thinking and large-scale data analysis on UNIX platforms. The second week will focus on genome and transcriptome assembly, transcript quantitation, mapping, and other topics. No prior programming experience is required, although familiarity with some programming concepts is helpful, and bravery in the face of the unknown is necessary. 2 years or more of graduate school in a biological science is strongly suggested. Faculty, postdocs, and research staff are more than welcome! Students will gain practical experience in: Python and bash shell scripting cloud computing/Amazon EC2 basic software installation on UNIX installing and running Trinity, BWA, Salmon, SPAdes, ABySS, Prokka and other bioinformatics tools. querying mappings and evaluating assemblies Materials from previous courses are available at http://angus.readthedocs.org/ under a Creative Commons/full use+reuse license. Read More ›

Announcing New Unix Shell Maintainer
Christina Koch, Ashwin Srinath / 2016-02-12
After an application and selection process, Ashwin Srinath has been selected as a new co-maintainer of the Unix Shell lesson, joining Gabriel Devenyi and replacing outgoing maintainer Christina Koch. Introducing Ashwin Ashwin is a Ph.D. candidate in Mechanical Engineering at Clemson University, and soon-to-be member of Clemson’s Cyberinfrastructure Technology Integration (CITI) research computing group. His research areas include computational fluid dynamics, and high-performance computing. He spends most days programming and making mistakes, and some days teaching others how not to make them. Ashwin has formerly served as co-maintainer for the Software Carpentry MATLAB materials. I decided to volunteer to be maintainer of the shell lesson primarily because I feel my time is well spent contributing to the SWC organization and community - I’m indebted to them for making me a better programmer and a better person. I’m also excited to work with other maintainers and contributors who I’ve learned a lot from - and will continue to do so. Christina Thanks… This post is about introducing Ashwin as a new maintainer, but I’d like to also thank everyone else who has contributed to the shell lesson over the past 1-2 years, either by submitting pull requests in response to issues, commenting on complex changes, or otherwise weighing in on the direction of the lesson. There’s a lot to keep track of in the Software Carpentry lessons, and that responsibility is lighter when shared among an active community. I appreciated everyone’s contributions - even a simple comment of “yes, I agree” or “no, I don’t agree” - more than you know! I’m looking forward to seeing where the lesson goes in the future with Ashwin and Gabriel at the helm. I’ve not been an active maintainer in the past few weeks, so for those of you with recent pull requests/issues to the shell lesson, sorry for the lack of movement (and thanks to those who have stepped up and commented)! We’ll hopefully clear all that through soon, and continue to improve the material that’s already there. Read More ›

2016 Post-Workshop Instructor Debriefing, Round 03
Rayna Harris, Raniere Silva / 2016-02-11
On Tuesday, February 9th, we ran the 3rd round of Post-Workshop Instructor Debriefing Sessions. Rayna and Raniere hosted the morning debriefing session. The even session was cancelled due to low attendance. New lesson materials Blogging as a Collaborative Git Exercise. The SFU group created a new Git exercise in which pairs of learners wrote guest blog posts for the others site. Then learners experienced conflict resolution with a controlled lesson where paid edited the same line of the guest blog post. This was an engaging exercise that allowed learned to see successful collaboration and conflict resolution. Stay tuned for a dedicate blog post from Bruno Grande about the exercise. What worked well A 5-day Hybrid Data / Software Carpentry Workshop. The 2016-01-25-Utrecht group covered a lot of material in this 5 day workshop (Spredsheets, OpenRefine, Python 3, Unix, SQL, Git, Make, and HPC)! While most of the materials were used as is, updates to the Data Carpentry Python lesson have already been pushed and merged. Integrating SQL and Python. The 2016-01-25-Utrecht group used a very large dataset to demo the loading of files in SQL and queerying the database from Python. Examples like this are very useful for groups who are interested in showing how to integrate tools from different programs. Domain Specific Python Lessons. The 2016-02-06-uguelph workshop substituted the Numpy and Matplotlib sections with material taught by John Simpson. Mateusz referred us to Library Carpentry for lessons tailored for librarians and similiar domain scientists. Practical Use Cases. When instructors take the time to provide real work examples and practical applications, it helps learned better understand the power of these computational tools. What could have gone better Without access to campus wifi, the 2016-02-06-uguelph workshop had to use Eduroam for the internet, which was incompatible with Ubuntu laptops. What is the best way to ensure that the institution provide wifi? If you know, please share. Installation problems Gitbash doesn’t have Make, so that was an issue for the 2016-01-25-Utrecht workshop. Nano setup on Windows was problematic, so the 2016-02-02-SFU instructors had the learners use Notepad++. 3 people out of 32 had some fatal error between terminal/anaconda package. The mercurial install failed for everyone, but this was irrelevant since they were using Git. Thanks! We are grateful to the following instructors who attended this debriefing session. By taking the time to share their experiences and listen, they are truly making the Software and Data Carpentry community even more awesome! Mateusz Kuzak, 2016-01-25-Utrecht Bruno Grande, 2016-02-02-SFU Dhavide Aruliah, 2016-02-02-SFU Pawel Pomorski, 2016-02-06-uguelph Blake Joyce, 2016-01-30-UofArizonaIntroPython Read More ›

Context when teaching Numerical Methods
Ian Hawke / 2016-02-11
As a director of the Centre for Doctoral Training in Next Generation Computational Modelling I spend plenty of time thinking about, working with, and particularly teaching Numerical Methods. The general intro course I give is Maths focussed, has around 100 participants, has about 50 contact hours over 12 weeks, and gets a range of interested students from Maths, Physics and Engineering. The past two weeks I’ve been teaching Numerical Methods for the Centre for Doctoral Training in New and Sustainable Photovoltaics. With around a dozen participants, many of whom had minimal theory or coding background, and only 10 hours available, some changes in the teaching were required. Most of these followed Software Carpentry approaches: live coding, Jupyter notebooks, sticky notes, and a set of “authentic” examples to train underpinning principles. The course we ended up with covered most of the key Numerical Methods topics, but all used a motivating example from Photovoltaics or Solar Cells. The feedback showed that, despite my almost complete lack of knowledge of PV modelling, these examples did provide crucial context that the students found useful and relevant. In combination with live coding we were able to build up some fairly detailed numerical methods, up to coupling PDEs and ODE boundary value problems, all whilst talking about the implications for Photovoltaic modelling. This very much put me in mind of the Software Carpentry Instructor Training course I attended in 2014. Much of the content was nearly identical to that on generic lecturer training courses I’ve been on. But the context, and authentic examples given in the Software Carpentry training, made all the difference in engaging me. Tailoring the material to the interests of the learners (as in Guzdial’s Learner Centered Design approach) in my case made a big difference. But I also matched to my strengths as a trainer, to make the “authentic” examples ones I could motivate and be enthusiastic about. Of course, not all aspects of the course went well - unsurprisingly for a first attempt at delivery. The most consistent piece of feedback was that I typed too fast for people to keep up. This wasn’t a huge problem when live coding, which (almost) slowed me down enough. When I made mistakes, live debugging was a different problem. Minor typos were straightforward, with the students usually spotting them before me. More complex issues, especially where coding and numerical methods problems combined, I tended to find and fix automatically, sometimes without even fully vocalizing the logic behind the bug and its resolution. More practice at revelling in my own errors is clearly required. Read More ›

Open Science Radio Podcast
Greg Wilson / 2016-02-09
Matthias Fromm and Konrad Förstner recently interviewed Greg Wilson for their Open Science Radio podcast. You can listen to it here, or explore their other recordings. Read More ›

A New Lesson on GAP
Greg Wilson / 2016-02-09
We are pleased to announce that Alex Konovalov and his colleagues have created a Software Carpentry-style lesson on the computational algebra system GAP. The lesson is at http://alex-konovalov.github.io/gap-lesson/, and the repository for it is at https://github.com/alex-konovalov/gap-lesson. It was taught at a recent workshop, and feedback can be viewed here. We are now starting to develop a lesson on SageMath. We invite collaborators, please watch the repository if you’re interested in following along, and add a comment to this issue if you’re interested in contributing. Read More ›

Correlations
Greg Wilson / 2016-02-08
We've run instructor training both online and in person for several years, so it's time to look at how they compare. The raw data shows: the event's start date its unique identifier (which we call a "slug") whether it was online how many people took part how many completed training after this course (both as an absolute number and as a percentage) how many completed after taking a later course (in both forms) how many have never completed how many have taught at least once since taking the course The plot below then shows completion rates and follow-through teaching rates (as percentages) versus cohort size, tagged by whether the training event was online or in person, for all events that took place at least one year ago. (I've used that cutoff to give participants a fair chance to teach after completing their training.) It also shows the absolute number of participants and the follow-through teaching percentage by date. There are lots of other ways to analyze this data---if you can find any interesting correlations, please post as comments below. Rayna Harris added this: Greg Wilson wrote two blog posts about active SWC workshops and instructor training. He made some pretty graphs and asked for other plots. So, here is my attempt to make some pretty correlation plots using the instructor training data. Plot Description and Interpretation A1 & A2. Not all learners but most badged instructors will teach Just because we train a lot of new instructors doesn't mean that they all go on to teach a workshop. The number of learners is not a great predictor of how many will actually go on to teach a workshop (R^2 = 0.7021), but once they get their badge, they are very likely to teach (R^2 = 0.915) B1 & B2. With time, more people will teach a workshop We just started the new year, so many newly badged instructors haven't had the chance to teach a workshop. When we account for year, there is a very strong correlation between number of badged instructors and those who have taught a course. It looks like over time, more and more are teaching. C1 & C2. Slightly more badged instructors from in-person training are teaching than those from online training For 2014 and 2015, it looks like a few more badged instructors from the in-person training have gone on to teach a workshop compared to those who completed online training. Given that the attrition rate for online workshops appears to be greater (not shown), one could conclude that the in-person training is more effective at producing SWC instructors. How I made these. Check out my R script to see the linear model that I ran to get the R^2 and the commands used to make the plots. Read More ›

Come a Long Way, Got a Long Way to Go
Greg Wilson / 2016-02-07
Simon Oxenham recently reported on a new report from the National Council on Teacher Quality that examined how well teacher training courses and textbooks convey evidence-based teaching practices. The sad answer is, hardly at all: The report finds that out of 48 texts used in teacher-training programs none accurately described fundamental evidence-based teaching strategies comprehensively. Only 15 percent had more than a single page devoted to evidence-based practices; the remainder contained either zero or only a few sentences on methods that have been backed up by the decades of scientific findings that exist in the field of educational psychology. In particular, textbooks didn’t include anything approaching adequate coverage of six core teaching strategies identified in this 2007 report as being the most effective techniques in all classrooms regardless of age or subject: Pairing graphics with words. All of us receive information through two primary pathways — auditory (for the spoken word) and visual (for the written word and graphic or pictorial representation). Student learning increases when teachers convey new material through both. Linking abstract concepts with concrete representations. Teachers should present tangible examples that illuminate overarching ideas and also explain how the example and big ideas connect. Posing probing questions. Asking students “why”, “how”, “what if”, and “how do you know” requires them to clarify and link their knowledge of key ideas. Repeatedly alternating solved and unsolved problems. Explanations accompanying solved problems help students comprehend underlying principles, taking them beyond the mechanics of problem solving. Distributing practice. Students should practice material several times after learning it, with each practice or review separated by weeks and even months. Assessing to boost retention. Beyond the value of formative assessment (to help a teacher decide what to teach) and summative assessment (to determine what students have learned), assessments that require students to recall material help information “stick”. This raises an uncomfortable question, though: how well does Software Carpentry measure up against these six criteria? I’ll give us a pass on #5 — our two-day workshops simply don’t allow for practice weeks or months later (though we hope learners will do this on their own). But what about graphics? There aren’t many diagrams in our lessons, and the ones we have usually aren’t put up on the screen when we teach. Linking concepts to representations? Probing questions? I think we still have a lot of work to do. But I also think that our lessons and teaching practices are better than they used to be. We’ll add these points to instructor training and follow up on them in mentoring sessions, and keep getting better, one small fix at a time. Read More ›

Software Carpentry as a University Course
Daniel Chen / 2016-02-05
The inaugural Software Carpentry and Data Carpentry Instructor and Helper Retreat is over! It was a long day, packed with tutorials, demos, and discussions. I (Daniel Chen) led a round table discussion with Tiffany Timbers and Jenny Bryan. You can watch the discussion and/or read the notes on etherpad. [T]: Anthony has been teaching the course to undergraduate students and I've been building off Katy and Anthony's experiences from teaching as well as my own from teaching Software Carpentry. Read More ›

2016 Post-Workshop Instructor Debriefing, Round 02
Rayna Harris, Christina Koch, Bill Mills, Raniere Silva / 2016-02-05
On January 26, we ran the 2nd round of Post-Workshop Instructor Debriefing Sessions. Rayna and Christina hosted the morning debriefings while Bill and Raniere hosted the evening debriefing. A topic of interest today was on installations. Read on for details. Thoughts on the “check installation” scripts There is in an ongoing discussion about whether or not the “check installation” scripts for workshop pages should be updated. So, we asked the attendees how often these were being using and how useful they were. Some comments we received were: only a handful of students use them before coming to the workshop instructors/helpers use them when diagnosing install problems on site some cleaning of the script would be useful to remove checks for outdated and/or irrelevant tools If you want to contribute to your two cents, the you can submit an issue here. Thoughts on dealing with installation problems We know that poor planning, sub-par wifi, lack of admin privileges, improper installs, power outages, and a bunch of other things can give rise to installation problems for a learner. A number of groups in Australia have used a cloud-based service for providing learners with homogeneous running environments; this solution has performed well a number of times, but is subject to server and network outages as was the case in the Brisbane workshop discussed in the evening session. So, what do you do when this happens? One idea is to have a handful of USB sticks with all the files needed for quick transfer. This has its own issues but is a good plan B. Maneesha Sane and Kate Hertweck are working on a list of things that should be on this. What worked well The Oklahoma group is developing a Git that they are very happy with. Check it out here. The Boston group gave a 10 minute session on implicit bias and stereotype threat that went over really well. Multiple said they were glad it was included. See this link for details of the session or check out these two blogs. Learners really love the Data Carpentry Spreadsheets Lesson. The lesson is still under development and has room for improvement, but it is helping people make the transition from using Excel to using the command line in their research The City University of New York group found learners were much more motivated after taking time to explore a narrative explanation of realistic tool usage. Waterloo found that reaching out to students on a number of new mailing lists dramatically helped attendance. What could have gone better The University of Boston group need to cap the number of University of Boston students admitted to allow seats for non-University of Boston attendees, but this was tricky to do within Eventbrite. The University of Washington group taught two concurrent workshops, with a R-centric group in one room and a Python-centric group in the other. Managing a single waitlist for both on Eventbrite was not smooth. Maneesha is looking into solutions for this. The University of Washington instructors taught Bash and Git in the mornings, think its best to teach this in the morning. But, the learning didn’t like having their 6 hour R or 6 hour Python lesson split up in two. What do y’all think? What’s the best order for teaching? Thanks! We are grateful to the instructors who attended the debriefing sessions this round. By taking the time to share their experience and listen to the experiences of others, they are truly making the Software and Data Carpentry community even more awesome! Morning attendees: Ariel Rokem Arthur Endsley Christina Koch John Moreau Keith Ma Mark Laufersweiler Matt Aiello-Lammens Sarah Clayton Sarah Stevens Evening attendees: Ivana Kajic Jennifer Shelton Pawel Pomorski Sean Aubin Read More ›

Two Pages of Evidence
Greg Wilson / 2016-02-02
Andreas Stefik and his colleagues have written a two-page summary of what we actually know about usability and programming language design. There aren’t nearly as many results yet as we want or need, but what the people working in the field have shown is that we actually can answer these questions scientifically, and that answering them correctly actually does have an impact. Read More ›

Active Workshops
Greg Wilson / 2016-02-02
A few days ago, we were asked what was the greatest number of simultaneous workshops we’d ever run. I didn’t know, but it was an easy enough question to answer from our records: I’m sure better visualizations are possible (if you want to create one, the raw data is here), and we should find some way to show that the burst starting in April 2014 is actually a couple of workshops that were spread out over several weeks, but I think the trend line is pretty cool. Read More ›

17 January - 1 February, 2016: SCF Election Candidates, Lessons Learned, Instructor Survey Results, and an Intermediate R Lesson
Anelda van der Walt / 2016-02-01
##Highlights: Steering Committee Election The 2016 Software Carpentry Foundation Steering Committee election dates are set for February 15-19. Remember to join our Community Lab Meeting on 9 February to meet the candidates. Read more about the candidates for the 2016 elections by following the links below: Dhavide Aruliah Jonathan Guyer Rayna Harris Kate Hertweck Karin Lagesen Cam Macdonell Lauren Michael Bill Mills Giacomo Peru Raniere Silva Anelda van der Walt Leanne Wake Belinda Weaver Jason Williams ##Published You can read the latest revision of Software Carpentry: Lessons Learned on F1000 now. The 2015 instructor survey results are available in PDF report format. The report contains rich suggestions for improvement and great feedback from instructors about the value gained from involvement with Software and Data Carpentry. Please let us know if you have any comments. A short paper titled A Quick Introduction to Version Control with Git and GitHub has been published in PLOS Computational Biology. It includes topics such as “What not to version control” and “Managing large files” as well as a tutorial on basic git and GitHub usage. Scott Richie shared their lessons aimed at intermediate R users including functions such as reshape2, plyr, foreach loops, and R Markdown. ##Vacancies The Software Sustainability Institute is hiring a Communications Officer. Applications close Thursday 18th February 2016. ##Other Several non-Software Carpentry workshops are being taught by our instructors and might be of interest to the community. Want to add your course to the list? Please let us know. Do you know any good cartoons that can enhance our lessons? The Software Sustainability Institute participated in several Software and Data Carpentry-related events towards the end of 2015 and have a lot in store for 2016. Aleksandra Pawlik has summarised their recent activities and plans for this year. 18 workshops were run over the past 16 days. For more information about past workshops, please visit our website Upcoming Workhshops February: QUT - Research Bazaar (Python), QUT - Research Bazaar (R), ResBaz 2016 R Course at the University of Sydney, University of Oslo, Simon Fraser University, NESI - ResBaz Auckland, NESI - ResBaz Otago, USGS Flagstaff Science Campus, Oak Ridge National Laboratory, New York Academy of Sciences - R, New York Academy of Sciences - Python, University of Guelph, University of Illinois, University of Alberta, University of Calgary, Online, Queen’s University, Sir John A. MacDonald Hall Room 2, University of British Columbia Okanagan, UC Davis, Tulane University, University of Pennsylvania, University of Illinois March: Notre Dame, University of British Columbia April: Online May: CSDMS Annual Meeting Read More ›

SSI is hiring a Communications Officer!
Aleksandra Pawlik / 2016-02-01
The Software Sustainability Institute (SSI) is recruiting a Communications Officer to communicate the activities of the Institute, and raise its profile in the research community and the general public. SSI has been Software Carpentry’s long-standing partner and coordinates our workshops in the UK. They are looking for an enthusiastic individual with a track record in dissemination and outreach. Ideally, they’ll have had experience of working with researchers and/or writing technical articles, as well as an understanding of what it takes to nurture a great social media presence and successfully promote events. For more details and to apply, please see the advert on the University of Edinburgh website (search for vacancy reference ID 035330). Note that the closing date is Thursday 18th February 2016 at 5pm GMT. Read More ›

Elsewhere on the Web
Greg Wilson / 2016-01-29
Our instructors teach a lot more than just Software Carpentry. For example, Christie Bahlai has started teaching a course on “Open Science and Reproducible Research”. You can follow the course blog or check out the materials in the course repository—contributions from the community are very welcome. The course already includes lots of interesting ideas, and there’s more to come. Elsewhere, Tiffany Timbers is organizing several half-day workshops at Simon Fraser University as part of Titus Brown’s Data Intensive Biology training program. These workshops will be hands on and supported by several TA’s in addition to the instructor. All are welcome to participate, regardless of discipline or training level—please feel free to distribute these events widely. And if you cannot attend locally because of geography, please note that several of them are being streamed on YouTube: Regular Expressions and Python taught by Tiffany Timbers on Feb 17, 2016. Amazon Web Services taught remotely by Titus Brown (UC Davis) on Mar 7, 2016. R Markdown taught remotely by Marian Schmidt (U. Michigan) on May 11, 2016. Open Science taught by Bruno Grande (SFU) on June 13, 2016 If you are teaching something out in the open that our audience might be interested in, please send us a link—we’d enjoy hearing more about it, and we’re sure our readers would too. Read More ›

A New Version of 'Lessons Learned'
Greg Wilson / 2016-01-28
A new version of “Software Carpentry: Lessons Learned” is now available on F1000. We think it’s an interesting complement to the instructor survey, and we hope you enjoy them both. Read More ›

Instructor Survey Report
Jonah Duckles / 2016-01-27
Back in the fall we surveyed our then 450-strong instructor community for feedback on what being an instructor has done for them. To recap, we asked the following questions: How did you get interested in doing Software Carpentry/Data Carpentry? How do you use the skills you teach in Software Carpentry/Data Carpentry in your daily work? What is the benefit (personally and/or professionally) to you in being involved with the Software Carpentry/Data Carpentry Community? What examples do you have of how the Software Carpentry/Data Carpentry Community have benefited others (students, labs, university groups)? What suggestions do you have for improvement? There is a ton of great information in this report that can be useful for building momentum for Software and Data Carpentry instructor training and workshops at your own institution. It is clear that we have a very active and driven pool of instructors. This is a large part of what made me so excited and passionate about the community when I first became an instructor. I hope that we can learn from each other and broaden the impacts that this community is having around the world! I hope you take some time to read through what your peers have had to say about the rewards of being an instructor. Please do take action and help us to put some of the great suggestions in the report into our various processes. The resulting report is available here (PDF) Please let us know what you think in the comments or by contacting me directly Read More ›

Our Introduction to Git Has Been Published
John Blischak, Emily Davenport, Greg Wilson / 2016-01-21
Our short paper “A Quick Introduction to Version Control with Git and GitHub” has been published in PLOS Computational Biology. It is freely reusable under a Creative Commons Attribution license, and we hope you and your colleagues find it useful. Read More ›

Meet the 2016 Election Candidates
Jonah Duckles / 2016-01-21
The candidates for the 2016 election are set. The election will take place during the week of February 15th-19th. Look for electionbuddy ballot information in your email if you’re a member. Meet the candidates at the February 9th Community Lab Meeting Calls (14:00 & 23:00 UTC). Call coordinates will be posted to the etherpad when they’re finalized. In alphabetical order by last name the candidates are: Dhavide Aruliah Jonathan Guyer Rayna Harris Kate Hertweck Karin Lagesen Cam Macdonell Lauren Michael Bill Mills Giacomo Peru Raniere Silva Leanne Wake Anelda van der Walt Belinda Weaver Jason Williams Please take some time to read a bit about the candidates and their background so that you can make an informed decision when your ballot arrives in your inbox next month. Read More ›

Presenting Materials for Intermediate UseRs
Scott Ritchie / 2016-01-18
We’ve been teaching R workshops for over a year now at the University of Melbourne, and one thing we’ve noticed is the disparity in skill level among workshop attendees. Researchers generally fall into one of two catergories: Absolute novices: those who have heard of R, but have never touched a programming language before. Regular users: those who are using R in their research, possibly on a regular basis. They can modify scripts, and have a general understanding of the language basics, but want to extend their knowledge. Those who fall into the first category fit the Software Carpentry attendee archetype. The novice materials work well for them. The latter group typically find the novice materials too basic, and end up quickly bored and tune out. However, like the absolute novice they have never encountered programming concepts, and have never written their own function, nor understand for loops. Early last year we recieved a request to run a workshop for a group of quantitative ecologists at the University of Melbourne. The organiser, Saras Windecker had attended a novice workshop previously, found the material too basic, but had appreciated the best practices and programming concepts. Together we sat down, and came up with a rough outline for some of the extension material she thought her group would find useful, and taught a two day workshop themed “effectively working with data”. A write up of the workshop can be found here Since then, we’ve typed up our notes from the workshop into the Software Carpentry lesson format, and can now present you with intermediate materials for regular useRs Just like the novice materials, the lesson spends a lot of time covering the staple programming concepts taught by Software Carpentry: functions control flow looping code organisation best practices At a faster pace, we also expose attendees to more advanced concepts and R specific material that gets missed out in novice lessons: The apply family of functions. Effective data manipulation using data.table and reshape2. How to solve “split-apply-combine” problems with data.table and plyr. Solving embarrassingly parallel problems with parallel foreach loops. Reproducible documents with R markdown. We hope that the community finds these materials useful and look forward to hearing about intermediate and advanced R workshops in the future! Read More ›

What Are Your Favorite Cartoons?
Greg Wilson / 2016-01-18
As we’re updating our lessons this year, I’d like to add a few more cartoons that relate directly to what we teach. Two of my favorites are this description of how most scientists manage revisions and this summary of how many people react to unwelcome evidence. What are yours, and what lessons would you add them to? Please add links in the comments on this page (and please make sure what you link to has enough information for us to contact artists and make sure we have permission to re-use their work). Read More ›

6 January - 16 January, 2016: Election Candidates, SCF Strategic Plan, New Book, Pre-Workshop Help Sessions, AMY Version 1.3, Mistakes, and Recorded Lessons
Anelda van der Walt / 2016-01-16
##Highlights: Steering Committee Election The 2016 Software Carpentry Foundation Steering Committee election dates are set for February 15-19. Please make sure your name is on the members list to cast your vote. Read more about the candidates for the 2016 elections by following the links below: Belinda Weaver Cam Macdonell Leanne Wake Kate Hertweck Dhavide Aruliah Jason Williams Karin Lagesen Rayna Harris Lauren Michael Raniere Silva Bill Mills Giacomo Peru Anelda van der Walt Jonathan Guyer The Software Carpentry Foundation strategic plan as developed by the current steering committee is available. ##New Mark Guzdial’s new book, Learner-Centered Design of Computing Education: Research on Computing for Everyone is highly recommended. The mentoring subcommittee has launched brand new two-weekly pre-workshop help sessions starting on 20 January. Sign up if you’re an instructor looking for assistance with your upcoming workshop. ##Contribute AMY Version 1.3 have been released. Learn about what’s planned for version 1.4 and let us know if you’d like to contribute. Do you have ideas for collecting empirical data on the most common mistakes made by our learners when they use git, python, shell, and R? Links to recorded lessons are now archived on the Lessons page of the website. If you have any recordings and would like to share, please get in touch. ##Other What strategies are Software Carpentry employing to change STEM education? Read the paper by Maura Borrego and Charles Henderson, and let us know what you think? The last year has seen a buzz of Software Carpentry activities in South Africa: six workshops, one remote instructor training session, and lots of lessons learnt. Welcoming and diverse open communities are created through conscious effort of its members. Sarah Sharp describes five levels of cultural change that can be attained. Where would you rate us? The mentoring subcommittee ran the first post-workshop instructor debriefing session for the year. Learn more about 3-day workshops and provide your suggestions for incorporating our “best practices” guidelines in the lessons. Titus Brown and colleagues will be running several online workshops in Q1 and Q2 from UC Davis. Get in touch with him if you’d like to present or participate. Our community has made great progress in terms of contributing to and re-using our lessons since SciPy 2014. You can now publish data-related articles in the CODATA Data Science Journal. It’s open access, online, and peer-reviewed and is edited by Sarah Callaghan. 12 workshops were run over the past 11 days. For more information about past workshops, please visit our website Upcoming Workhshops January: BEACON @ MSU, Natural History Museum, University of British Columbia, NERC / University of Leeds, Natural History Museum, Wang Center - Lecture Hall 2, USDA-ARS, Centers for Disease Control, University of Illinois, University of Waterloo, CUNY Digital Research Bootcamp, University of Texas at Arlington February: University of Sydney, QUT - Research Bazaar (Python), QUT - Research Bazaar (R), ResBaz 2016 R Course at the University of Sydney, Simon Fraser University, NESI - ResBaz Auckland, USGS Flagstaff Science Campus, Oak Ridge National Laboratory, University of Illinois, University of Alberta, University of Calgary, University of British Columbia Okanagan, Tulane University, University of Pennsylvania, University of Illinois March: Notre Dame Read More ›

2016 Election: Jonathan Guyer
Jonathan Guyer / 2016-01-15
##Background My training is in Materials Science and Engineering and I have done both computational and experimental research in fields like semiconductor crystal growth, electrochemical interfaces, and additive manufacturing. I co-authored the FiPy partial differential equation Python framework to support my simulations and to enable others to use these methods. I have spent my professional career at the US National Institute of Standards and Technology and been leader of the Mechanical Performance Group for the past two years. I learned of Software Carpentry when Greg Wilson gave a keynote talk at SciPy 2014. I’d been invited the following week to teach at a summer school about the thermodynamics of phase transformations in materials and the use of FiPy. I told Greg afterwards that I wished I’d had enough time to adjust my course materials and approach to reflect some of the ideas about effective teaching that I’d learned from his keynote and Lorena Barba’s. While there wasn’t time for that, Greg encouraged me to sign up for the next round of instructor training. For the first few weeks, I continued to view this as a way to become a better teacher in my own discipline, but didn’t see myself as a Software Carpentry instructor, per se. With time, though, I realized that SWC covers exactly the skills we struggle to impart to our summer interns every year. Further, I had to admit that many of my colleagues (and I!), did not use computers as effectively as we could, even though many of us are quite adept at scientific computing. In the year since finishing instructor training, I helped at a workshop at the US National Institutes of Health and then was asked to teach a subsequent course there with Fan Yang and Adina Howe. Since then, I’ve organized and led two workshops at NIST and have people asking for more. I am focused now on building a cadre of instructors at NIST to sustain the effort. ##Plans I will support the Foundation in any way the membership thinks I can be helpful, but I am particularly interested in ways to foster continuing engagement with our audience. We have helped (considerably) more than 10,000 people use computers more effectively in their research, which is wonderful. On the other hand, I currently see 332 formal Foundation Members. Somewhere in the wide span between those figures is a group of people who are actively using what we teach, but who will never become badged instructors. I would like to look for ways that we can bolster and encourage those people to continue building on the bootcamp skills, using them in their day-to-day work, and staying engaged in Software Carpentry. One approach I’m thinking about is some form of refresher training or hands-on workshops where we help SWC graduates put what they’ve learned to practice on their own research. I’m already starting to develop this concept where I work, but I see a much broader potential to ensure that Software Carpentry isn’t just a one-time thing, but an ongoing resource. You can email me at guyer@nist.gov or jab a fork at me on GitHub. Read More ›

2016 Election: Anelda van der Walt
Anelda van der Walt / 2016-01-15
Who am I? I have always been involved with, and am passionate about, multidisciplinary, multi-institutional projects. Over the last six years most of my work has focused on collaboratively providing support and training to researchers at various institutions across South Africa. Initially the support focussed specifically in areas of Next Generation Sequencing as I was employed by two national *omics platforms, but more recently I’ve participated in local eResearch initiatives. Through eResearch I’ve been fortunate to collaborate with researchers from a broad array of disciplines including life scientists, medical doctors, engineers, linguists, historians, and more. While I may not be the most computationally advanced person in this community, I have a knack for creating connections between those who need help and those who can help. I specifically love to work with people who are blissfully unaware of the power of technology, and upon exposure, blossoms into the greatest advocates and users with huge impact. My exposure to researchers at all career stages from a wide array of institutions highlighted the dire state of computational adoption as well as the challenges associated with trying to adopt better practices. To help address this need I created a company, Talarify, at the end of 2014. Initially it focused on building sustainable computational capacity amongst NGS researchers in South Africa - specifically within research groups and not only individuals. In 2015 Talarify expanded its focus and joined forces with North-West University(NWU) to aid in development of the NWU eResearch Initiative together with IT, Libraries, and Research Support Office. Formal education include an MSc in Bioinformatics from the South African National Bioinformatics Institute and undergraduate and honours in Genetics. Software Carpentry and me Software Carpentry has been on my radar for several years, but in November 2014 I was involved in running a local workshop for the first time. I’ve subsequently organised or co-organised 5 more workshops and one remote instructor training (thanks to Greg’s support and the enthusiastic help of our great local instructors and hosts). For more info about South African Software Carpentry Activities please read our recent blog post. I’ve also been summarising Software Carpentry activities in blog format since January 2015 and briefly helped out with the Twitter account. I’ve submitted (small) pull requests to the Shell lesson, participated in the 2015 Instructor Retreat in London, and have been a massive local advocate for Software and Data Carpentry in South Africa across all organisations I engage with. What can I offer? It’s easy to see how South Africa and I can personally benefit from our continued and increased involvement in Software Carpentry, but what can I bring to you? Through my work with NWU I am involved with national initiatives such as the Institute for Data Intensive Astronomy and the African Research Cloud which are great avenues for expanding the reach of Software Carpentry into South Africa and possibly even Africa. We’ve already had interest from researchers in Namibia and Mozambique to run workshops in their countries. I would love to help significantly expand the instructor base on our continent and could offer mentoring and advice to others who want to build Software Carpentry capacity in poorly resourced or isolated environments. I also serve on the Silicon Cape Initiative subcommittee for Women in Technology. There are untapped opportunities here to help build communities to support our workshop participants, and to partner in offering workshops specifically for women and other underrepresented groups. The Software Carpentry Community have provided me with inspiration, solutions, answers, and resources to empower others with, and I’d be honoured to help drive this organisation and its community forward into 2016. You can find me at @aneldavdw or anelda-AT-talarify-DOT-co-DOT-za. Read More ›

18 Months of Progress
Greg Wilson / 2016-01-15
My talk at SciPy in 2014 quoted one of our instructors as saying: The most frustrating things for me are 1) people are more willing to submit new material…that to improve existing material or review another person’s PR and 2) instructors teaching bootcamps using other lesson material. This experiment in collaborative lesson development is doomed to fail if 1) people don’t make iterative changes to lesson material and 2) the end product isn’t used in live bootcamps. 18 months later, I’m very pleased by how much better we’re doing. Almost all of our instructors are now using our lessons rather than legacy material of their own. just as importantly, dozens of people have submitted pull requests in the last couple of months alone. Some of those are exercises required to complete instructor training, but others range from minor bug fixes to major refactorings. I’m not sure why this has finally happened: have we finally reached some sort of critical mass, or is it a result of there being specific maintainers for particular lessons? Whatever the cause, it’s great to see. Read More ›

2016 Election: Giacomo Peru
Giacomo Peru / 2016-01-15
2016 Election: Giacomo Peru Ciao a tutti. Many thanks for taking a minute or two to read this post about my candidature for our Software Carpentry Steering Committee. As you’ll see, it was a long way from programming that I was reared, yet this opportunity for closer involvement with our work and its future brings together so much of what I have been doing all these years. Here’s why… Background My educational background is diverse: long years of Classics (Ancient Greek, Latin) concluded with an MA in 2005, followed by European Studies and Local Development. No formal training in programming, therefore, but in my opinion the core disciplines of Classics are excellent preparation for programmers. Workwise, previous experience in European Project Management has informed my current role as Project Officer in the Software Sustainability Institute, where in the last two years I have carried out the Admin around Software Carpentry workshops in the UK, besides other things like administering the Institute’s Fellowship Programme and events (for more background, see http://software.ac.uk/). Previous involvement Since the Institute has in the last few years been the main coordinator of Software Carpentry workshops across the UK, I have become the person who has de facto facilitated these workshops, co-ordinating the various elements of the process which leads to the staging of these workshops: dealing with hosts, recruiting instructors, interfacing between the different parts involved, keeping records. I have collaborated closely with Aleksandra Pawlik, Greg Wilson and many others in the community. Even though Software Carpentry offers a fairly straightforward pattern by which to put together a workshop, each workshop has in my experience been a unique case of blending together different components. Since the structure of Software Carpentry as an organisation has, in the last couple of years, gone through fundamental changes, I have participated very directly in this transition from the old format, through a pretty fluid and unstructured phase, to the current, still in-progress, structure. During these changes my primary focus has always been to coordinate the participants and to realize Software Carpentry workshops in my relevant region, thereby fostering the development of the Software Carpentry model across our scientific community. I have learned a lot, and made some mistakes, and I am now ready to harvest the fruit of the experience matured. Future commitment What I like most about Software Carpentry is its openness and its effectiveness. With openness I mean the fact that anyone willing to contribute in any form is given the possibility to do so with minimum restrictions. With effectiveness I mean that Software Carpentry is actually giving to modern science a real contribution increasing its trustworthiness, accessibility and openness. More recently I have been trying to gain better understanding of what happens ‘inside’ a workshop, by attending in person and by establishing closer contact with hosts and instructors in order to deliver training which meets better and better the expectations and needs of the audience. I believe that my main contribution to the Committee would be my understanding and experience of the mechanisms of Software Carpentry as an organisation with a view to making it more agile, fit-for-purpose, and ready to sustain the success and growth it is enjoying. More precisely I would be interested in helping with the definition of Software Carpentry organisation and processes and with its taking root in the European countries where it is not well known yet. Read More ›

2016 Election: Bill Mills
Bill Mills / 2016-01-14
Meet Bill I’m Bill Mills, a scientific software developer based in Vancouver, Canada, currently spearheading web development for the GRIFFIN collaboration at TRIUMF. In two years with SWC, I’ve taught seven workshops in addition to five live Instructor Trainings, across five countries. Over the past year I have sat on SWC’s Mentorship Committee; my most visible work there was as co-organizer of our first Instructor and Helper Retreat. On the Steering Committee I’d like you to elect me to SWC’s 2016 Steering Committee so I can continue and amplify the work I began on the Mentorship Committee: to ensure SWC puts the needs of its instructors, helpers, and students first. A few ideas: Engaging the SWC Community SWC is great because of you. I’d like to give back to you by making sure we focus on helping you achieve the goals that brought you to us in the first place. At present, many people who complete Instructor Training never teach a workshop. Some don’t have the time, but believe in our mission and want to advocate for us; others would love to teach, but need help assembling a workshop. Everyone who does Instructor Training is a valuable member of this community; we need to support those ambassadors and aspiring instructors by building a stronger pipeline from Instructor Training to advocacy and teaching. Our Financial Future The Software Carpentry Foundation is working hard to hammer out how we can achieve financial sustainability. I’m very optimistic about the results so far, but I believe it’s only part of the solution; for genuine financial stability, Software Carpentry needs to redouble its commitment to its partners, and make itself attractive to large philanthropic grants. Our partnership model must be core to our strategy, since it bases our finances on larger institutional grants, and decouples them from individual workshops. In order for this to be sustainable, we need to make sure our partners are satisfied; redoubling our attention to our partners’ needs strengthens that model, and helps keep Software Carpentry accessible to everyone. In addition to our partners, Software Carpentry needs to attract large philanthropic grants; the challenge we’ve faced in the past, is demonstrating that Software Carpentry actually works. It’s very hard to measure the effect of a two day workshop on our students, but I believe there’s another way; we need to begin arguing on the grounds of the merit of the instructor, helper and supporter community we have created worldwide. I have watched many helpers and instructors go from their first introductions to research computing ideas, to being their strongest advocates in their communities; Software Carpentry has been brilliantly successful in empowering leaders like you. This capacity building is very fundable, and is key to enriching our financial strategy. Summary I am eternally enthusiastic about Software Carpentry because of its community; this project is an incubator for some of the strongest advocates of reproducible research computing in the world. I’d like a seat on the Steering Committee to make sure you always remain front-and-center in our strategy, and to ensure that Software Carpentry gives back to you every bit as much as you give back to us. Read More ›

2016 Election: Raniere Silva
Raniere Silva / 2016-01-14
My name is Raniere Gaia Costa da Silva and I’m standing for re-election to Software Carpentry Steering Committee because working on the Steering Committee in 2016 was fun and a great way to meet some of the amazing members of Software Carpentry community. Background I have a B.Sc. in Apply Mathematics from the University of Campinas, Brazil, and in the last year I worked as a freelancer software developer using most of the time Python and Javascript. This year I will move to the UK for work on the University of Manchester and collaborate with The Software Sustainability Institute. Previous Involvement I discovered Software Carpentry in 2013 (I wish that I did it early) and contacted Greg asking to be in the next round of instructor training, what happened in 2013’s Fall, because I was trying to do Software Carpentry like workshops in Brazil. In 2014 I sent some pull requests to the lessons (mostly to Shell, Git and Python), annoyed Greg because we use Python 2 and not Python 3, helped over-engineering our crazy lesson template, and delivery the first half dozen of Software Carpentry in Brazil. Last year, because of Steering Committee activities I significant drop the number of pull request sent to the lessons (something that I missed very much). On the Steering Committee my biggest contribution was leading the Mentoring Subcommittee that host the post workshop debriefing sessions and the help & instructor retreat that happened last Fall. If you want to read more about what I was involved in 2015 check this blog post. Plans for 2016 In 2016, independent of the result of the Steering Committee election, I want to focus on the assessment of achievements that our students had after attend our workshops because this is a important piece to Software Carpentry sustainability and expansion. I will not leave the Mentoring Subcommittee because it is one of the ways to get data for assessments but I hope to pass the leadership of it to one of our current members. If I was elected I want be secretary of 2016 Steering Committee because although we did a good job with the minutes of the meetings I believe that we could do it a lot better. A few extra things that I want to do but don’t plan to spend many hours are: run our first workshop in Portugal (or any other country that speaks Portuguese), collaborate to workshops in Latin America continue to be offered, and translate the lessons to Portuguese (or any other language). More Sometimes I write in my blog about book that I read, cities that I visited, things that I tried to hack and Software Carpentry workshops that I taught. Some of my projects are on GitHub. Most of them are old and abandoned. =( If you have any question, please send me a email or tweet. You can also call me on IRC (raniere at Freenode) or Slack. Read More ›

2016 Election: Lauren Michael
Lauren Michael / 2016-01-14
About Me B.Sc. Biology, Chemistry - Truman State University M.Sc. Biophysics - University of Wisconsin-Madison 3 years instructing with SWC; certified Fall 2014 9 SWC workshops organized/helped; 8 as an instructor 1 DC workshop organized/helped Relevant Volunteer Work Social Media Manager for Midwest Ultimate, 2013-2014 Science Editor and Writer for the Daily Cardinal, 2011-2012 Currently Research Computing Facilitator at UW-Madison’s large-scale computing center, the Center for High Throughput Computing, where I lead user interaction efforts and spend much of my time working directly with researchers to: consult on computational research design provide issue support develop and deliver learning materials match researchers to eachother and to additional resources Beyond my direct work with researchers, I: partake in design decisions for computational infrastructure contribute to strategic initiatives to improve IT-related services for researchers advocate for researchers and their IT-related needs to campus administrators and other stakeholders Previous Contributions Shortly after I started my current position, three years ago, I began working with long-time SWC (and pre-SWC) advocates to establish an ongoing schedule of SWC workshops at UW-Madison. To this end, I continue to manage local workshop logistics and coordinate our community of 15+ instructors and helpers. Prior to switching to current SWC curricula in Aug 2015, I led the development of experimental curricula with support from SWC leadership. I otherwise work alongside Christina Koch, who serves as a Shell curriculum maintainer and instructor trainer. Steering Committee Enthusiasm I am passionate about enabling researchers to most-effectively leverage computational tools and technology, in part, as a result of my own struggles as a scientist. For this reason, I not only firmly believe in the mission of SWC, but care deeply about ensuring the organization’s future. Based upon experiences and expertise I have gained in my professional, volunteer, and specific SWC activities, I believe I can help to continue the success of the organization’s activities and its strong community of contributors. I have a demonstrated interested in motivating participation within communities, appealing to relevant stakeholders, and managing the execution of a range of training efforts. As SWC embarks on what I believe will be a period of significant growth, I would be honored to contribute to strategic decisions that secure the future of SWC’s ability to empower researchers. I am impressed with recent efforts to improve training and support for instructors, and look forward to any opportunity to share my own ideas, including encouragement of peer training from SWC’s most effective instructors and rewarding significant contributions to curricula and documentation. In order to make stronger arguments to existing and potential partners, I believe SWC can invest in strategies to leverage support from attendees and from leaders in research. These strategies will be essential to securing the organization’s financial sustainability, enabling SWC to scale for the increasing demand for workshops and materials. Furthermore, I look forward to more formally representing SWC, in part, to manage perceptions of the brand by emerging stakeholders. Because an organization like SWC is only as strong as its community, let me know your thoughts! lmichael-AT-wisc.edu Read More ›

2016 Election: Rayna Harris
Rayna Harris / 2016-01-14
##Background I am pursuing a PhD in Cell and Molecular Biology at The University of Texas in Austin. My thesis research in Hans Hofmann’s lab focuses on understanding transcriptional responses to spatial learning with single neuron resolution. Since 2012, I’ve been deeply involved with enhancing graduate student education through 1) the Neural Systems and Behavior (NS&B) course at the Marine Biological Laboratories and 2) the Center for Computational Biology and Bioinformatics (CCBB) at UT Austin. At NS&B, I teach molecular approaches to neuroscience and supervise student research projects. With the CCBB, I organize workshops and symposia to promote sharing of ideas and expertise across departmental boundaries. It’s been awesome to see theses, manuscripts, tweets, and blogs acknowledge these programs for advancing student’s professional development. Before that, I got a B.S. in Biochemistry, taught undergraduate Organic Chemistry labs, and scuba dove for INBio in Costa Rica. ##Software Carpentry Involvement I was first exposed to Software Carpentry methods during an Intro to Python Course via April Wright’s use of pink and green stickes. I thought this was fantastic! April suggested that I attend the Instructor Training Workshop that that Greg Wilson and Titus Brown spearheaded January 2015. My PI enthusiastically supported this, and I secured BEACON travel funding. The workshop was so inspiring and informative, so I wrote a blog entitled Effective Teaching Tips from a Train-the-Trainers Workshop. I have co-taught workshops at UT Arlington and New Mexico State University. I co-organized the Austin-based Instructor/Helper Retreat with Nichole Bennett to strengthen the teaching community in Austin. I am on the Mentoring Subcommittee and Assessment Subcommittee. I’ve co-hosted debriefing sessions with Sheldon McKay, Kate Hertweck, Raniere Silva, and Christina Koch. I worked with Jason Williams to improve the utility of the new post-workshop assessment. ##Vision for Steering Committee Participation The phrase “integration across levels” is the most used phrase among my colleagues from then Hofmann Lab and NS&B. This refers to examining the evolutionary, physiological, genomic, genetic, neural, and environmental mechanisms that contribute to variation in animal behavior. As a member of the steering committee, my vision would be to promote integration across organization levels. Our community is growing rapidly, so my overarching goal is to ensure that each level or organization is aware of and acting on the progress of the others. Specifically, in 2016 I would focus on: integrating data from the mentoring and debriefing sessions with the assessment surveys to understand the degree of workshop effectiveness  discussing the above information with lesson maintainers, who can decide if lessons need revision or not integrating the above with instructor-trainers and instructor-mentors to improve lesson delivery and ultimately student success streamlining the above processes so that new trainees can easily be incorporated into these leadership roles Thank you for considering me for the Steering Committee. Software Carpentry has contributed vastly to my growth as an educator and scientist, and I look forward to contributing back to this excellent community in 2016 and beyond! Read More ›

2016 Election: Karin Lagesen
Karin Lagesen / 2016-01-14
For the past year, I have served as the Software Carpentry Steering Committee’s secretary. My involvement with the SCF started in 2012, when I attended a workshop in Oslo, Norway. I signed on as an instructor in 2013, and have taught 9 workshops since then. In addition to serving on the Steering Committee, I am also a member of the mentoring committee, where I have focused on ways of giving our instructors hands-on experience with the teaching material, with the goal of making it easier for new instructors to get started. I am also currently training to become an instructor trainer. I have a PhD in bioinformatics from the University of Oslo, and am currently employed at the Norwegian Veterinary Institute and the University of Oslo. My background is in both computer science and molecular biology. Since I have formal training in both fields, I am frequently the one to translate the biological problem into a computational one. I have often been called upon to teach people with little to no training in computer science how to do their bioinformatics analyses. This means introducing them to Unix, to command-line work and to basic programming. Working in such multi-disciplinary situations has made me very aware of how hard it can be to move into a field far removed from your core area of expertise. This makes the values and skills that Software Carpentry teaches particularly important to me. If re-elected, I will focus on maintaining and building on the high quality of our training, both when it comes to instructor training and to workshops. We are currently integrating new instructor trainers into the project. Having other people than Greg Wilson train instructors is an important transition for Software Carpentry, and it is vital that we manage this properly. To this end, I will work on building team cohesiveness among those who do instructor training, to help ensure that our training is consistent and that we’re all pulling in the same direction. I will also continue to work on improving the transition from instructor training to teaching that first workshop. The mentoring committee has made important advances in this area, and I aim to continue in that direction. I will also work on finding ways to upskill our existing instructor pool. The quality of our workshops depends heavily on the quality of our instructors, and it is therefore very important to ensure that they are adequately trained and supported. Feel free to contact me on Twitter (@karinlag) or by email (karin.lagesen@gmail.com). I occasionally blog at blog.karinlag.no. Read More ›

2016 Election: Jason Williams
Jason Williams / 2016-01-14
#2016 Election: Jason Williams With benthic sensuous pleasure I offer up myself as candidate for the 2016 Steering Committee. There are those (mom, the U.S. Department of Justice) who have labeled my apoplectic fits a sign of ‘weakness’, but I have found them to be a source of extraordinary strength. With this strength I pledge to bring Software Carpentry to places no one imagined it could (or should) go. As other candidates hail HYDRA, I’m proud to be the first and only candidate to come out in favor of all the things you believe in, and strongly (though perhaps not uncategorically) opposed to the things that displease you. We have seen many successes this year, and I am humbled to have had some small role. Through the efforts of the assessment committee we are now collecting data that will allow informed decisions about the curriculum and give instructors valuable feedback on teaching. I will bring to the role a penchant for being in the right place at the right time. A quick FOIA search of arraignment depositions reveals as much in a pattern of compliments: “It is [comforting] that on multiple occasions the [Mr. Williams] was found [lending a helping hand].” “always in close proximity to the scene of the [giving out free ice cream].” “quia timet; this court finds it absurd to discount [his] seemingly peripheral involvement as mere coincidence. [Clearly], he was aiding and [helping] the [helpless puppies].” I promise to be there for you - just when you need me most, exactly when you need me most. As Assistant Director for External Collaboration at Cold Spring Harbor Laboratory’s DNA Learning Center and Education, Outreach and Training Lead for the National Science Foundation’s life science cyberinfrastructure CyVerse (formerly iPlant Collaborative), I am in close contact with the bioinformatics community and funding agencies (NSF/NIH). I’ve taken every occasion to publicize, advocate, and generate opportunities for Software and Data Carpentry. Going after more grant funding will help us cultivate a more diverse set of learners. We also need to do more to get instructors who are women, from developing countries, and from groups underrepresented/underserved in the sciences. I now serve on an NSF-funded research-collaboration network for integrating bioinformatics into the undergraduate life science curriculum. I am champing at the bit to pursue these and and other great opportunities with SWC over the next year. I predict my momentary ‘instabilities’ will only accelerate progress. As the committee’s Treasurer I’ve watched proudly as we have become financially stable. We are well on our way to the catbird seat; money will no longer be a question of ¯\_(ツ)_/¯ but a matter of 😏. There is still much work to do in getting better organized with NumFocus and working with our Executive Director to court and cultivate partners and affiliates. I was honored to host the Steering Committee for an in-person meeting at Cold Spring Harbor. All of their trailblazing work deserves special recognition. The committee has not however, been without its flaws - which I am compelled to reveal in a way that goes beyond what’s captured in meeting minutes. Oftentimes, when I thought consensus was within reach, instead of a vote to pass a motion, we were told to “Finish it on the Astral Plane.” These calls for astral battle would usually come at a time when dissenters either lacked the spirit-energy to project themselves to the proper plane or were simply given improper coordinates. The gossamer-veiled claims that parade these exercises as legitimate parliamentary procedure need to be called out and I’ll put a stop to it. I pledge that astral combat as a tool for decision making will be replaced with fully corporeal dance-offs. Finally, I just want to remind those who voted for me last year just how fun it was. As I ask for your vote, feel free to tweet a selfie (@JasonWilliamsNY) as you select my name so that everyone can be a part of the joy of ceding decision making authority over to a benevolent mother-father figure – it just may be the most liberating experience of the year. Read More ›

2016 Election: Dhavide Aruliah
Dhavide Aruliah / 2016-01-14
My name is Dhavide Aruliah. I am standing for election to the Steering Committee of Software Carpentry for 2016. Who am I? By training, I am an applied mathematician and computer scientist. From 2004 to 2009, I was a tenure-track assistant professor at UOIT (the University of Ontario Institute of Technology in Oshawa, ON, Canada). From 2009 to 2015, I was an associate professor with tenure at UOIT. In mid-2015, I left my academic career to join Continuum Analytics. What connection do I have with Software Carpentry? In 2011, I lead a Software Carpentry graduate reading course (with Greg Wilson’s blessing) at UOIT. Later, in 2012, when Software Carpentry converged on the bootcamp model of delivery, I shadowed Greg teaching a few bootcamps and eventually started leading and organizing bootcamps myself. All said, I have volunteered at over a dozen Software Carpentry bootcamps in various roles. Software Carpentry has been a great source of inspiration for me through a significant transition in my professional life. I am genuinely humbled by the vibrant and dynamic young people (not-so-young, in my case) the Software Carpentry community unites. What do I want to do for Software Carpentry? I want Software Carpentry to help serve as a bridge into industry for young academic scientists. There are far more PhD graduates than available academic faculty jobs; simple arithmetic dictates that most graduate-degree holders will have to find work in the private sector. Unfortunately, the disconnect between academia and industry is daunting to cross for many graduate students and postdocs. To my mind, Software Carpentry has been enormously successful in connecting and nurturing talented scientists from diverse intellectual backgrounds. There is tremendous potential for this network to engage industrial partners to everyone’s benefit. My hope is that my past academic career and my present industrial one will provide a useful perspective for the Steering Committee and the larger Software Carpentry community. What relevant experience can I bring to the Software Carpentry Steering Committee? For several years, I held elected posts for the Canadian Applied & Industrial Mathematics Society (CAIMS). From 2007 through 2010, I was a Member-At-Large on the CAIMS Board and, from 2010 to 2014, I was the CAIMS Treasurer for two successive terms. As an academic at UOIT, I helped develop a number of graduate and undergraduate programs and served as Program Director for two different programs. As a Program Director, I enjoyed getting to know the students well and advocating on their behalf to the university. I also mentored numerous undergraduate and graduate students while at UOIT. Mentoring students is the part of my academic career I miss the most. Software Carpentry is, above everything else, a community that supports budding scientists so I welcome the opportunity to scratch this particular itch of mine through the Steering Committee. Read More ›

2016 Election: Kate Hertweck
Kate Hertweck / 2016-01-13
Hello fellow educators and coding enthusiasts! I’m terribly excited to offer myself as a candidate for the Software Carpentry Steering Committee. See below for answers to a few questions you might have about whether I’d be a good fit. Who are you? I’m an assistant professor at the University of Texas at Tyler in small but diverse Biology Department. My position is officially described as bioinformaticist, but I specialize in comparative genomics and collaborate on many different types of biological data analysis. I teach graduate and undergraduate classes in bioinformatics, genomics, and plant taxonomy. Don’t I know you from somewhere? Perhaps! I was trained as an instructor in fall 2014, taught three workshops in 2015, and attended Data Carpentry’s Genomics Hackathon last spring. If you checked out the Instructor Retreat last fall, you may also recognize me from the session on assessing student performance using Socrative. Most of my involvement over the last year has been through serving on the mentoring subcommittee. If you’ve attended a debriefing discussion after teaching a workshop, chances are good that I was one of your hosts and/or helped write a blog post summarizing those sessions. I’m also coordinating pre-workshop help sessions for instructors preparing to teach. How can you help Software Carpentry? My work on the mentoring subcommittee has given me a deep appreciation for the particular challenges faced by both our instructors and workshop attendees. There are four main areas I’d like to target as a member of the Steering Committee this upcoming year: Instructor preparation: Many instructors are noting similar difficulties in debriefing sessions. While there are many resources to help plan for workshops, I would like to help instructors sift through this multitude of information to help their lessons go as smoothly as possible. This includes streamlining information available and fielding questions during pre-workshop help sessions. Teaching for HPC: Software Carpentry skills are especially important in my subdiscipline, as they are essential for analysis using high performance computing resources. I’m interested in developing lessons that will help entry-level coders use compute clusters. Assessing student adoption of skills: Assessment is definitely a hot topic right now! In addition to basic metrics of student learning from our workshops, I’m keenly interested in assessing which and with what frequency skills are adopted by student learners into their scientific workflows. Moreover, what is the best recommendation we can give for helping students continue learning on their own? Attend another workshop? Join a coding working group? Community and inclusivity: A large part of what I appreciate about Software Carpentry is the sense of community and willingness to embrace diversity and inclusivity. As a member of the Steering Committee, I would keep these values at the forefront of my mind as we develop policies, especially in relation to audiences who may otherwise feel isolated (culturally, geographically, or otherwise). Why do you want to serve on the steering committee? Software Carpentry brings rays of sunshine into my work life on a weekly basis. No joke! This group has been essential for my career development, both as a scientist and educator. I want to contribute more to this group. Given that the pedagogical methods of Software Carpentry dovetail nicely with many of the semester-long courses I teach, service on the Steering Committee could be an important source for my career development, so it really is a win-win situation! How can I learn more? I’m easily stalk-able on the intertubes! You can find me on twitter as @k8hert, GitHub, and I have both a (sorely neglected) blog and research/teaching website. I’m generally happy to talk to other folks passionate about these same sorts of topics, so feel free to drop me a line! Read More ›

Pre-workshop help sessions for 2016
Kate Hertweck / 2016-01-13
Are you preparing to teach a workshop in a few months? Have you been trained as an instructor but are hesitant to sign up to teach? Has it been awhile since you taught and are interested in learning what’s new in a lesson? Are you thinking about teaching a new (or just new-to-you) lesson? The mentoring subcommittee is pleased to announce the institution of regularly scheduled help sessions for folks who are interested in feedback on their workshop plans. The first hangouts of 2016 are planned for Wednesday, January 20 at 10:00 and 19:00 EST and are open to the entire community. You can view possible topics for discussion and sign up to attend on the etherpads for the morning and evening sessions. These discussions are planned for every two weeks and will be included on the community calendar. Please consider coming to join us, either to share your own experiences, troubleshoot lessons, or receive feedback about what you have planned for an upcoming workshop. We are hoping these sessions will be an informal, friendly place to help instructors streamline the process of workshop implementation. Read More ›

A New Book from Mark Guzdial
Greg Wilson / 2016-01-13
Regular readers will know that I am a huge fan of Mark Guzdial, a professor at Georgia Tech whose group does world-class work on computing education, and who blogs about it regularly and incisively. Mark has just released a new book; you can preview the contents if you want, or just head straight to Amazon and order a copy. In it, Mark asks what it means to talk about teaching everyone to program, and whether we should we have the same goals for a mass audience as we do for professional software developers. If not (and he makes the “not” case pretty convincingly), then how do we design computing education that works for graphic designers, high school teachers, and everyone else? His answers are based on both his own experience and his comprehensive knowledge of CS Ed research, and is a solid, readable, and purposeful introduction to the latter. It’s definitely going to be on the reading list for future instructor training classes… Read More ›

Archiving Videos
Greg Wilson / 2016-01-13
People have been asking for videos of our lessons more and more frequently over the past few months, so we have begun archiving links on the lessons page. If you have more, please send them our way (either as a pull request against the lessons page in our website’s GitHub repo or by email. Read More ›

2016 Election: Leanne Wake
Leanne Wake / 2016-01-12
Academic background You can find me in the Department of Geography in the University of Northumbria at Newcastle, UK. In 2010 I obtained my PhD in Geophysics from Durham University, UK. I would describe myself, broadly, as an Earth system modeller. I try to understand the workings of a complex world through the 0s and 1s of code but I have been known get my hands dirty with fieldwork! Relevant experience Having been exposed to a wide variety of code instruction techniques (from “you’re on your own, mate” to “Paired Programming”), I became motivated to find out what the right method was to introduce someone to code. I became involved in Software Carpentry (SWC) via a Fellowship in 2014 with the Software Sustainability Institute. My main interest is software education - see here. I qualified as a SWC instructor in 2015 and subsequently co-led a workshop at St Andrew’s University in the summer of 2015. How I will contribute to the growth of Software Carpentry Global Expansion: Involvement with the Software Sustainability Institute and SWC has convinced me that SWC should be made available to as wide a user-base as possible. As a geographer, I was drawn to this section of the SWC website, and saw that SWC’s global coverage could be improved. Imagine the scenario: Institute to Funder: ‘I’d like some money to host a Software Carpentry workshop, please’ Funder: ‘What percentage increase in coding ability can we expect from this investment?’ Institute: ‘Ummmmm….’ Metrics and Quality Assurance (QA) are a part of everyday life but also huge bugbears for most in academia. However, I believe they can be used as agents for change for SWC. As part of my tenure on SWC’s steering committee, I’d like to work with interested parties both inside and outside SWC towards development of a ‘influence metric’ that SWC can use to show the positive impact of it’s teaching. Let’s turn those post-it notes into points! Course Content: Parallelisation: Making your code more efficient. You have built a car - how do you turn it into a Ferrari? How many folks do you know have a fancy multi-core machine, yet only use a single core? SWC is contributing towards reproducible science, how about efficient science? Organisational Duties/Miscellaneous: I am willing to accept any admin duties to ensure fluidity and expansion of the organisation, e.g.: Maintaining a live instructor database indicating temporal availability of instructors. Recruitment: Workshop and participants number are increasing; Instructor numbers are tailing off. Anything else we should know? I own a lightsaber. Finally….. If you are not sufficiently convinced of my enthusiasm and nerdiness and don’t vote for me, I hope that any members that have taken the time to read this and who find value in these ideas will take them forward. Thanks, Leanne Read More ›

A Strategic Plan for the Software Carpentry Foundation
Katy Huff / 2016-01-12
The Software Carpentry Foundation Steering Committee held a strategic planning meeting in August. In that two-day, intensive meeting, we focused on developing a long term strategic plan for the Software Carpentry Foundation. The process emphasized identification of our stakeholders and mission. It also used the results of our community survey to identify our strengths and weaknesses as well as the opportunities and threats that face the organization. The resulting Strategic Plan was developed over the course of the in-person meeting and summarized into a document. With vital feedback from the Advisory Council, whose role is to offer advice and guidance to SCF on strategic matters, we arrived at the document that now resides here. One highlight is our brief Mission Statement: We aim to teach skills that promote reproduciblility and reliability in research. To accomplish this, we focus on educating and supporting instructors, developing curricula and running workshops. Based on Strengths, Weaknesses, Opportunities, and Threats identified by the community, as well as a lengthy assessment of our stakeholders and mission, the Steering Committee arrived at the following major strategic issues that will be our primary focus for the near term. Some of the nearest term goals have already moved forward since the development of the plan (such as the new website design, which contributes to reporting and transparency). Reporting and Transparency Documentation of Procedures Instructor Pipeline Management Coordination with Data Carpentry More information about the detailed meaning of these issues can be found in the document itself. Rather than a top-down declaration of our goals as a foundation, we intended this document to capture what we understood to be the ideas and missions of you, our community. As you look over this document, we hope you won’t hesitate to provide feedback that will help SCF clarify its mission, nurture its strengths, and reach its aspirations. If you have any questions or suggestions, we hope you’ll get in touch through comments on this post. Even better, if you’d like to be instrumental in the annual revision of this strategic plan, please consider running for the 2016 Steering Committee. The deadline is this Friday. Read More ›

Online Workshops from UC Davis
C. Titus Brown / 2016-01-12
We have been experimenting with half-day workshops on specialized topics that are broadcast over the web. They have been going very well, so we are planning to do more in the first half of 2016, with about half of them broadcast this way. The tentative schedule is below; all workshops will run 9:15am-12:15pm, Pacific Time. If you would like to present something yourself in one of the open slots, please file an issue or leave a comment on this post — we think this could be a really good way to field-test new material that Data Carpentry and Software Carpentry instructors could use for more advanced audiences. 2016-01-20: Camille Scott, pydoit - local+remote 2016-01-27: Raniere Silva, advanced git - local+remote 2016-02-17: Tiffany Timbers, regular expressions and Python - local+remote 2016-02-19: Ariel Rokem, scipy.optimize - local+remote 2016-02-29: Adelaide Rhodes, sphinx + webhooks + bitbucket - local+remote 2016-03-07: Titus Brown, Amazon Web Services - local+remote 2016-03-28: Titus Brown, Short-read trimming and quality eval - local+remote 2016-04-06: Daniel Chen, intro git (SWC lesson on git) - local+remote 2016-04-08: Daniel Chen, advanced git (branching and merging, etc.) - local+remote 2016-04-11: open 2016-04-13: Titus Brown, TBD 2016-04-18: Titus Brown, TBD 2016-04-27: Meeta Mistry, TBD 2016-05-11: Marian Schmidt, Rmarkdown - local+remote 2016-05-13: Ted Hart, TBD - local+remote 2016-05-18: Heer group on VEGA - local+remote 2016-06-06: Titus Brown, TBD 2016-06-10: Titus Brown, TBD 2016-06-13: open 2016-06-15: open 2016-06-22: Titus Brown, TBD 2016-06-29: Titus Brown, TBD Read More ›

2016 Post-Workshop Instructor Debriefing, Round 01
Rayna Harris, Kate Hertweck / 2016-01-12
On January 11, 2016 we ran the 1st round of post-workshop instructor debriefing of the calendar year! The mentoring committee ran 22 debriefing session in 2015, and we are exciting about continuing to host and improve these sessions this year. Interestingly, all instructors present participated in 3-day format Software Carpentry workshops. Read on to find out more about the changes made, what worked well, and what didn’t. Worked well Both of these Nordic workshops were spearheaded by newly minted instructors. Greg Wilson had approached them in the past about becoming instructors and hosting workshops, and this effort has come to fruition. Both workshops were well attended and received, and everyone is looking forward to continuing learning, coding, and networking. The Stockholm group created an exercise/challenge that combined testing and pull requests. Students were given a broken python function; after fixing the errors, the student’s submitted their changes via pull requests. View the exercise here. The Helsinki group incorporated afternoon work sessions where the students could apply the newly-learned tools to their own data or get more help of the morning’s topics. What could have gone better The Helsinki group gave a lecture using the Software Carpentry Best Practices in Scientific Computing slideshow. The material is excellent, but the lecture style delivery was a stark constrast to the hands-on style of teaching the day before. We wonder if there isn’t a way to add the “rules” to various lesson where appropriate. This way, instructors can weave these best practices into the workshop, without needing a separate block of time to cover the slides independently. Thoughts? Other comments Roman Valls Guimera, an instructor with the SciLifeLab, wrote about about their workshop. You can read it and look at some great photos here Thanks We are grateful to the instructors who attended debriefing sessions this round: Radovan Bast, SciLifeLab Stockholm Olav Vahtras, SciLifeLab Stockholm Joona Lehtomäki, University of Helsinki Read More ›

What the Data Says About Novice Programming Mistakes
Greg Wilson / 2016-01-09
I recently had a chance to catch up with this paper from 2014: Neil C. C. Brown and Amjad Altadmri: “Investigating Novice Programming Mistakes: Educator Beliefs vs Student Data”. ICER’14, http://dx.doi.org/10.1145/2632320.2632343. Its abstract says: Educators often form opinions on which programming mistakes novices make most often – for example, in Java: “they always confuse equality with assignment”, or “they always call methods with the wrong types”. These opinions are generally based solely on personal experience. We report a study to determine if programming educators form a consensus about which Java programming mistakes are the most common. We used the Blackbox data set to check whether the educators’ opinions matched data from over 100,000 students – and checked whether this agreement was mediated by educators’ experience. We found that educators formed only a weak consensus about which mistakes are most frequent, that their rankings bore only a moderate correspondence to the students in the Blackbox data, and that educators’ experience had no effect on this level of agreement. These results raise questions about claims educators make regarding which errors students are most likely to commit. There’s lots to admire in both the data they collected and the analyses they did, but the biggest takeaway is that even very experienced teachers only agree very weakly about what errors students make most often, and that their agreement with the data is no stronger. It would be wonderful to have such rich, grounded insight into where people are actually stumbling with Git, Python, R, and the shell. Read More ›

Good Communities (Kinds Of)
Greg Wilson / 2016-01-09
Back in October, Sarah Sharp posted a really useful article titled “What makes a good community?”. In it, she divided online tech communities into six levels (numbered from zero, of course) according to how welcoming and supportive they are. I would put Software Carpentry and Data Carpentry in Level 1, and say that we’re starting to do meaningful work toward Level 2. I would appreciate feedback of two kinds: If you agree, what should we do in 2016 to get to Level 2? If you don’t, where are we falling short of Level 1 (or Level 0)? Read More ›

Change Strategies in STEM Education
Greg Wilson / 2016-01-09
I recently had a chance to read: Maura Borrego and Charles Henderson: "Increasing the Use of Evidence-Based Teaching in STEM Higher Education: A Comparison of Eight Change Strategies". *Journal of Engineering Education*, 103(2), DOI 10.1002/jee.20040. The abstract says: Background Prior efforts have built a knowledge base of effective undergraduate STEM pedagogies, yet rates of implementation remain low. Theories from higher education, management, communication, and other fields can inform change efforts but remain largely inaccessible to STEM education leaders, who are just beginning to view change as a scholarly endeavor informed by the research literature. Purpose This article describes the goals, assumptions, and underlying logic of selected change strategies with potential relevance to STEM higher education settings for a target audience of change agents, leaders, and researchers. Scope/Method This review is organized according to the Four Categories of Change Strategies model developed by Henderson, Beach, and Finkelstein (2011). We describe eight strategies of potential practical relevance to STEM education change efforts (two from each category). For each change strategy, we present a summary with key references, discuss their applicability to STEM higher education, provide a STEM education example, and discuss implications for change efforts and research. Conclusions Change agents are guided, often implicitly, by a single change strategy. These eight strategies will expand the repertoire of change agents by helping them consider change from a greater diversity of perspectives. Change agents can use these descriptions to design more robust change efforts. Improvements in the knowledge and theory base underlying change strategies will occur when change agents situate their writing about change initiatives using shared models, such as the one presented in this article, to make their underlying assumptions about change more explicit. The most valuable part of the paper for me is its discussion of different approaches people have taken to making change happen. The authors break this down by *aspect of system to be changed* and *intended outcome*: Intended Outcome Prescribed Emergent Aspect of Systemto be Changed Individuals I. Disseminating: Curriculum & Pedagogy Change Agent Role: tell/teach individuals about new teaching conceptions and/or practices and encourage their use. Diffusion Implementation II. Developing: Reflective Teachers Change Agent Role: encourage/support individuals to develop new teaching conceptions and/or practices. Scholarly Teaching Faculty Learning Communities EnvironmentsandStructures III. Enacting: Policy Change Agent Role: enact new environmental features that require/encourage new teaching conceptions and/or practices. Quality Assurance Organizational Development IV. Developing: Shared Vision Change Agent Role: empower/support stakeholders to collectively develop new environmental features that encourage new teaching conceptions and/or practices. Learning Organizations Complexity Leadership The authors then discuss the underlying logic of the eight italicized approaches in detail: Diffusion: STEM undergraduate instruction will be changed by altering the behavior of a large number of individual instructors. The greatest influences for changing instructor behavior lie in optimizing characteristics of the innovation and exploiting the characteristics of individuals and their networks. Implementation: STEM undergraduate instruction will be changed by developing research-based instructional "best practices" and training instructors to use them. Instructors must use these practices with fidelity to the established standard. Scholarly Teaching: STEM undergraduate instruction will be changed when more individual faculty members treat their teaching as a scholarly activity. Faculty Learning Communities: STEM undergraduate instruction will be changed by groups of instructors who support and sustain each other’s interest, learning, and reflection on their teaching. Quality Assurance: STEM undergraduate instruction will be changed by requiring institutions (colleges, schools, departments, and degree programs) to collect evidence demonstrating their success in undergraduate instruction. What gets measured is what gets improved. Organizational Development: STEM undergraduate instruction will be changed by administrators with strong vision who can develop structures and motivate faculty to adopt improved instructional practices. Learning Organizations: Innovation in higher education STEM instruction will occur through informal communities of practice within formal organizations in which individuals develop new organizational knowledge through sharing implicit knowledge about their teaching. Leaders cultivate conditions for both formal and informal communities to form and thrive. Complexity Leadership: STEM undergraduate instruction is governed by a complex system. Innovation will occur through the collective action of self-organizing groups within the system. This collective action can be stimulated, but not controlled. The seven dense pages of references at the end were intimidating - I'm still very new to this field - but the categories laid out above have made me think hard about what strategies we're using. I have some opinions, but I'd really like to hear what our instructors and learners think. Are we trying to change the world by diffusion? Are we in the complexity leadership business? Or are we doing something else entirely? Feedback via comments on this post would be very welcome. Read More ›

2016 Election: Cam Macdonell
Cam Macdonell / 2016-01-08
Background & SWC Involvement I am an Assistant Professor in the Department of Computer Science at MacEwan University in Edmonton, Alberta, Canada. My involvement with Software Carpentry began in 2009 as a helper. I helped at a handful of Edmonton bootcamps before completing instructor training in 2013. I have been an instructor for 9 bootcamps, 6 for Software Carpentry and 3 for Data Carpentry. I love my job because I love teaching. Software Carpentry is a great organization to work with in that I enjoy the audience, the perks of travelling and meeting other instructors, and the lessons I’ve learned about effective teaching that have improved my own lectures. I hope to join the Steering Committee to contribute back to this great organization. Joining the Steering Committee While I am happy to pitch in where needed, given my experiences I believe I can contribute in three specific ways: expanding the Software Carpentry learner audience, guiding lesson development, and improving post-workshop assessment and support. Over my years of involvement I have thoroughly enjoyed teaching bootcamps and meeting learners from diverse backgrounds. Several of the bootcamps I have taught have been targeted towards librarians. For these bootcamps, I developed some new lessons utilizing librarian data and formats. As well, the starting point of presumed knowledge had to be lower. I have also taught a few Digital Humanities bootcamps and I believe that Software Carpentry can expand the lesson materials for this audience as well. In joining the Steering Committee, I would look forward to increasing the delivery of bootcamps to these and other audiences. Collaborating with the British Library’s Library Carpentry initiative and Data Science Training for Librarians (DST4L) is something I would hope to be involved in to avoid duplicated effort. Lesson materials and instruction are the “bread & butter” of Software Carpentry. There is a quote about software that is very true - “Software is never complete, only abandoned”. I believe this mindset applies to lesson materials too. Our teaching materials will never really be “done”, they must regularly be revisited and improved. In joining the steering committee, I would take pride in ensuring our materials and instruction remain at a level of excellence to ensure the continued success of Software Carpentry. What happens when learners leave a workshop? This is a question I’m very interested in. Unfortunately I think the answer for many learners is that they fail to apply the lessons they’ve been taught because there are hurdles such as: relating lessons to their own data and processes a lack of retention of lessons taught bad tools that are entrenched in their work environment Exploring how to support learners post-workshop is very important. I think developing and evaluating some combination of online resources, mentoring relationships and other follow-up will help more learners transform the way they work. In addition to helping learners, increased post-workshop follow-up will allow Software Carpentry to produce evidence-based results showing the effectiveness of its teaching method. Read More ›

Announcing the Data Science Journal
Hugh Shanahan / 2016-01-06
The Data Science Journal is, as its title suggests, a journal dedicated to the advancement of data science. The first thing that’s good about it is that you won’t get random emails about it with poor grammar and wild claims about its impact factor that begin with DEAR ESTEEMED RESEARCHER…. Even though it’s about data science, it’s not obsessed with building ever better recommender algorithms for Netflix or mining twitter feeds. Its focus is very much on its application in the policies, practices, and management of open data. It tries to take as wide a definition as possible when considering the subject. Data can be originally digital or converted from other sources, and it also considers every research discipline. The journal will have digital humanities papers rubbing shoulders with bioinformatics papers with social science papers. It’s also a journal that is interested in applications, so papers that are descriptions of data systems are great. Naturally, it’s entirely electronic and open access. The journal has been in existance since 2002 but has recently been relaunched by CODATA and moved to the Ubiquity Press platform with the excellent Sarah Callaghan (@sorcha_ni) as editor (full disclosure: I am on the board). There is a call for papers for the journal which is discussed in detail here. If you are interested have a look at its web site to find out more about the types of articles they are interested in receiving. Read More ›

A Year Of Software Carpentry in South Africa
Anelda van der Walt, Maia Lesosky, Adrianna Pińska / 2016-01-06
After the Software Carpentry workshop ran jointly with the eResearch Africa conferencein November 2014, we were looking for opportunities to run more workshops in South Africa in 2015. In May we ran our first remotely instructed workshop (with thanks to Laurent Gatto and Software Carpentry for the remote option) focusing only on R to counter possible time loss due to technical glitches. Then it was onto remote instructor training together with two groups on other continents (one in the USA and another in the UK) in June. Six new instructors were trained, four of them having gone on to teach one or more subsequent workshops. In July we joined forces with UCT eResearch to host a third local workshop, joined by an experienced SWC instructor, Matt Lammens from the US, who happened to be visiting. Another workshop was offered in conjunction with the SAEON Graduate Student Network Indibano in September. The next one was co-organised by Adrianna Pińska from the Cape Python User Group in October in Johannesburg. In November 2015 we ran the sixth Software Carpentry workshop in 12 months at North-West University. In all, six new instructors were trained, approximately 28 helpers recruited, and more than 200 learners from over 18 local organisations have participated in the 6 workshops between November 2014 and November 2015. There have been a number successes, but of course also some large, and small, bumps in the road. Who participated? Our participants represented undergraduates, postgraduates, postdoctoral research fellows, early career researchers, established researchers and even National Research Foundation rated researchers. Participants also included professional staff in the academic IT departments and libraries and even folks from industry. What have we learnt? Having a community to connect to before and after workshops is essential for sustained learning and actual use of the skills learnt during the workshop. A Cape R User group was started in 2015 which is great for local (SA is big) assistance and community, but doesn’t help all that much with other regions. We’re still thinking of a solution for building a community to support git/GitHub novices as there are currently only the GitHub Guides on YouTube but no physical community to join. For Python in Cape Town there is the Cape Town Python User Group who have also been involved in running and supporting Software Carpentry workshops locally. Establishing links with user groups and communities in other regions of South Africa who can support workshop participants beyond the two days is a high priority for 2016. The workshops and content themselves are still often a big jump for students who come in struggling with their computers and how to navigate an ecosystem more complicated than a word processor and internet browser, and the conceptual leap to programming and algorithms. This is a problem we haven’t really solved yet, but the pre-workshop help/install sessions go a long way, and we have some ideas. Small changes can make big differences - these are things like moving to the three-colour sticky system (blue = working, red = struggling, green = done), making sure the instructor shows an IDE on default settings (massive confusion at the last workshop due to moved-around RStudio panels), pre-defining and redefining the core terms over and over again… The pool of instructors is still far too small, and the time demand (especially for travel) is significant, which is probably the biggest bottleneck to running large numbers of courses. The instructors themselves, though, have been growing as a team (because they keep working together) and that has been a major positive as the discussion in and around tea and lunch usually centres on solving problems, improving outcomes or just brainstorming different ways to get the main messages across to the diverse audience. What next? More workshops in 2016, a local instructor training event, moving out of SA and into parts of the rest of Africa (eg. Kenya, Namibia, Mozambique all have rumours of workshops). Once the local instructor capacity is in place, we’d like to try the four-day half day workshop format. For the workshops themselves, some ideas that have come up are to provide printed cheatsheets with basic commands, and some way to get systematic followup and support for participants (perhaps even Twitter?) . Finances Except for the first workshop in November 2014, we have had no major sources of funding. The bulk of the costs has been covered by a minimal registration fee of ZAR500 (~GBP 24 / Euro 35 / USD 35e). Registration fees are paid into cost centres of host institutions to lower the administrative burden on researchers and students. Fees can be paid via internal fund transfer from research cost centres or via electronic funds transfer (EFT) should participants be paying from their own pockets. Budgets have been supplemented by small donations and sponsorships from hosting institutions and private organisations. Not accounting for the time spent by organisers and instructors, the bulk of the budget goes towards catering (when we have local trainers available). We’ve tried to provide participants with three tea breaks daily, as well as lunch. This has proved to be quite successful (when the coffee isn’t terrible) in stimulating much-needed conversations outside of the classroom. Other costs include: * Travel and accommodation costs for instructors * Flash drives to have local copies of data and GitHub repositories in case of power outages and to save on bandwidth * Name tags * Sticky notes * Renting of audio/visual equipment * Dinner for instructors/helpers * Social event at the end of the first day to allow extra time for networking in a more relaxed setting (we’ve done this at four out of six workshops and it has been received quite positively) Accounting for the time spent by “someone” to organise the workshop is essential. Thank you! Special thanks to Greg Wilson, Jonah Duckles, James Hetherington and Aleksandra Pawlik who helped us to run the first workshop a year ago and who have subsequently been incredibly supportive in many, many ways. The debriefing meetings orchestrated by the mentoring subcommittee has been invaluable to learn from others and we appreciate the time they make available to run these. We’d also like to thank our South African hosts, the eResearch Africa conference organisers, Stellenbosch University Department of Genetics, University of Cape Town (UCT) eResearch, the South African Environmental Observation Network (SAEON), PyConZA, and the North-West University for the opportunity to teach and learn with their students and researchers. The workshops would not have been possible without the enthusiastic participation of researchers, students and technical staff as helpers and/or learners. Thanks for your feedback and for hanging in there even when we were having technical challenges or when the explanations just didn’t make sense. Lastly, thanks to our instructors who have time and again volunteered to teach another workshop and who’ve contributed to the growth in so many ways! South African Organisations Abbreviations: UCT: University of Cape Town; SU: Stellenbosch University; NWU: North-West University; SAEON: South African Environmental Observation Network; UWC: University of the Western Cape; UFS: University of the Free State; CSIR: Council for Scientific and Industrial Research; IL: Ithemba Labs; SKA: Square Kilometre Array; AIMS: African Institute for Mathematical Sciences; GSH: Grootte Schuur Hospital; SAWS: South African Weather Services; UP: University of Pretoria; WCDA: Western Cape Department of Agriculture; WITS: University of the Witwatersrand. Read More ›

AMY Version 1.3
Piotr Banaszkiewicz / 2016-01-05
In the past month we’ve seen two releases of AMY: v1.2.1 and v1.3. This blog post (originally published on my personal blog) contains a joined release notes for both of them. Bug fixes wrong URL used in event validation or import/update features is now indicated (and we won’t receive wrong notifications about it) properly throw 404 on some pages (previously: 500) spaces are striped from Person and ProfileUpdateRequest fields (names, emails) disable location inputs on event details page if online country was preselected New features use custom-built jQuery-UI (so that we no longer have conflicts with Bootstrap’s tooltip module) Greg updated the script used to send instructors “Hey, update your info” mails (it’s getting removed later on) it’s possible to add memberships per host new badge: DC instructor new logic for dealing with two instructor badges timeline of TO-DO items basic models (e.g. lessons, tags, academic levels, etc.) are now manageable from Django’s admin interface all persons view: add filtering by workshop type person taught at remove blurred production database in favor of generated fake database mailing script turned into better Django management command bulk upload now shows generated username and suggested people with matching names show preview of event on SWC website API: filter events by tags No longer with us Greg removed some unused scripts (test-command-line-upload.sh) and commands (parse-instructor-info.py) notifications about invalid HTTP header Host other removed scripts and commands January and February don’t seem busy for me, so I hope to have more done on AMY in the coming months. I also want to thank Prof. Ethan White for his support of my work through December, and for extending his support for the next two months. Interested in helping develop AMY? See what’s scheduled for v1.4. Read More ›

17 December,2015 - 5 January, 2016:Steering Committee Election, New Website, Updated Assessment Forms, Mentoring Meetings, Instructor Training, and First Lab Meeting For 2016
Anelda van der Walt / 2016-01-04
####Highlights 15 January: Deadline for standing for the 2016 Steering Committee elections New pre- and post workshop assessments have been developed to better understand our impact amongst other things. Please take a moment to see what is assessed and let us know if you have other suggestions. The new look website has been launched. Updated procedures for blog contribution and creation of workshop sites are available at https://github.com/swcarpentry/website. ####Upcoming events The mentoring subcommittee is already hard at work with their first meeting and debriefing sessions. Please join them if you’ve recently taught or would like to learn more about their plans for the year. 12 January: First lab meeting for 2016 ####Instructor Training New procedures have been developed to qualify as Software and Data Carpentry instructor. Feedback from the three varieties of instructor training that were put to the test in 2015 is now available. Billy Charlton from Puget Sound Regional Council, used the online Software Carpentry materials to prepare for teaching his first Software Carpentry lesson this past December. If you’ve been on the instructor training waiting list for long, his blog gives good pointers to get going. ####Contribute Want to help trainnee instructors get their instructor badge? Let us know if you have taught two or more workshops and have two hours to spare. ####Other The University of Washington have been running an undergraduate programming course focussed on real-world data analysis since 2012. There’s a lot to learn from their experience. Can comparing our lessons with peer-reviewed lab protocols help to improve usability? Do you want to help find a good word to describe the “practice of hardening software”? See some suggestions or give your own as comment to the blog post. Upcoming Workhshops January: University of Nebraska - Lincoln, NERC / University of Bristol, University of Washington - Seattle, Department of Physics, Arizona State University, Western University, National Bureau of Economic Research, The University of Huddersfield, University of Dundee, The University of Lausanne, Boston College Libraries, National Networks of Libraries of Medicine, New England Region, UW-Madison, Berkeley Institute for Data Science, University of British Columbia The University of Queensland NERC / University of Leeds Wang Center - Lecture Hall 2 USDA-ARS Centers for Disease Control University of Illinois University of Auckland February: USGS Flagstaff Science Campus University of Illinois University of British Columbia Okanagan, University of Illinois Read More ›

A Data Programming CS1 Course at the University of Washington
Greg Wilson / 2016-01-03
People who are interested in integrating Data Carpentry and Software Carpentry ideas into the undergraduate curriculum may enjoy reading Anderson et al’s paper “A Data Programming CS1 Course” (SIGCSE’15, http://dx.doi.org/10.1145/2676723.2677309). From the abstract: This paper reports on our experience teaching introductory programming by means of real-world data analysis. We have found that students can be motivated to learn programming and computer science concepts in order to analyze DNA, predict the outcome of elections, detect fraudulent data, suggest friends in a social network, determine the authorship of documents, and more. The approach is more than just a collection of “nifty assignments”; rather, it affects the choice of topics and pedagogy. This paper describes how our approach has been used at four diverse colleges and universities to teach CS majors and non- majors alike. It outlines the types of assignments, which are based on problems from science, engineering, business, and the humanities. Finally, it offers advice for anyone trying to integrate the approach into their own institution. The first version of the course was run in the summer of 2012, and the discussion of how it has been adapted to different contexts since then is particularly interesting. Some schools mandated extra in-class programming to get students over their fear of writing the wrong code; others used online self-paced resources, and all provided students with considerable starter code for the first assignments, and less as the course went on. One site also had to make adjustments for the realities of its learners: At Evergreen [State College], the difficulty of the material was challenging to students, some of whom worked multiple jobs or had to support families. These students could not devote their full attention to learning as much as younger students at traditional universities. To adapt the original data programming course, we only selected four of the assignments and subdivided each of those in half to create eight mini-assignments. Turn-in dates were flexible, and students were allowed to time-box their efforts (for example, 11 hours of outside time per week) to attempt as many problems as possible within that time. The extent to which students were able to complete assignments provided valuable data to adjust the difficulty of assignments for this demographic in the future. If you come across similar experience reports, or have some of your own, we would welcome posts on this blog. Read More ›

Lessons as Lab Protocols
Greg Wilson / 2016-01-03
A roundabout chain of references led me to Abbott et al’s “Programs for People: What We Can Learn from Lab Protocols” (presented at VL/HCC 2015) which looks at how lab protocols are similar to and different from programs. On the one hand, a lab protocol describes the steps to be followed to (for example) prepare a particular kind of sample for analysis. On the other hand, “human plans are more like descriptions or predictions than prescriptions of what actions a person will take given the most likely sequence of future actions; they are resources for anticipating likely future events. In programming language terms, perhaps, they are more declarative than imperative in that people draw on knowledge of the whole plan rather than blindly following each step.” Later, they say that, “…actors following a protocol have their own ‘trajectories’, that is, their own goals and priorities; they stray from the protocol to various extents, in various ways, for a variety of reasons.” And later still, they make a comparison to a particular piece of software many readers will be familiar with: Some existing software tools play a similar role to protocols as tailorable process descriptions. For example the Bioconductor project uses literate R programs, called ‘workflows’ and ‘vignettes’, to describe how various packages can be marshalled to perform tasks. In these programs the data file and task are merely illustrative examples; the program does not differ semantically from any other R program, but it is meant pragmatically to be used primarily as a resource for copy/paste creation of a new program to do a similar task. The authors’ main contribution is to “…analyze peer-reviewed protocols published in Cold Spring Harbor Protocols. Unlike personal or internal protocols, these represent programs written for people unknown to the author(s) of the program.” Each step is classified according to kind (physical, cognitive, measuring, etc.), precision (instruction, goal-directed, taks-directed, etc.), and features (advice, wiggle room, reference, etc.). One of their findings is that: A protocol describes an idealized course of action, but the person executing it will frequently deviate from this course by modifying, reordering, adding, or even skipping steps. By way of analogy, consider a program or protocol as describing a path. In a computer program, the path specified is very narrow, like a tightrope, which the computer follows precisely. In a human protocol, the path is much wider, and the person following it may wander freely from side to side, stop to smell the flowers, and so on. This was the point where the light came on for me. Everything they are saying about lab protocols can be said equally well for lessons. A lesson is one idealized path through particular material; everyone who actually delivers it will, as Abbot et al say, wander from side to side and stop to smell the flowers. Well-written lab protocols provide for this by explicitly including advice, constraints, expected outcomes, optionality, wiggle room, and contingencies to help users broaden the protocol, narrow it, or find their way back to the main path if they have wandered away: in short, they provide the kind of advice that we have been trying to accumulate in our instructors’ guides. I’d be very interested in hearing what other people think of this analogy, and whether there are ways we could use it to make our lessons more useful. As always, comments on this post are very welcome. Read More ›

Discussion Sessions
Raniere Silva / 2016-01-02
At the end of last year we announced a new checkout procedure for instructor training. This new procedure has “an hour-long group discussion led by an experienced instructor” and we are looking for instructors interested in lead the sessions. Read More ›

Welcome to 2016
Raniere Silva / 2016-01-01
The Mentoring Subcommittee hope that you and your family had a incredible Christmas and amazing New Year. We are slowly backing from holidays but we already have a busy agenda for January so we give a heads up for a few important dates: Mentoring Subcommittee Meeting on January 11th. This will be our first meeting this year and we will have some discussions about our plans for 2016. If you want to join us you will find informations at http://pad.software-carpentry.org/scf-mentoring. You can use the etherpad for suggestions or send them by email to mentoring@lists.software-carpentry.org. Lab Meeting on January 12th. Jonah will provide details of Software Carpentry activities for the next few months. Post-Workshop Debriefing Session on January 12th. If you taught one workshop in December or early January we will love to have your feedback. And you are welcome even if you didn’t. Deadline for stand for Steering Committee elections on January 15th. If you want to shape the future of Software Carpentry this is for you. I can’t say that will be a easy job but I can say that will be reaward to work together with amazing people from our community. For future activities please check this calendar. Happy New Year! And we will be looking to have some fun with you during some workshops. Read More ›

Plans for 2016
Greg Wilson / 2015-12-28
Twelve months is a long time. A year ago I was wrapping up my second month without an income and had serious doubts about whether Software Carpentry was going to be viable. Today, our new Executive Director and Program Coordinator are in place, our workshop administration tool is ticking over nicely, we're about to elect our second Steering Committee, we've published our lessons, we have a growing number of partners and affiliates, our reboot of instructor training has taught us a lot, and those are just the things I've bookmarked. Read More ›

New Words Needed
Greg Wilson / 2015-12-26
Titus Brown recently asked (on behalf of a friend) what people think of the term and practice of "hardening" software, by which he meant making research software more robust, more easily usable, and possibly scalable. Several people responded that "hardening" is usually used to mean "make more secure", and that what Titus's correspondent was really asking about was something we don't have a simple word for: making software ready for production use. As Morgan Taschuk wrote, this involves eliminating hard-coded paths, adding useful error messages, incorporating command-line flags to turn features on and off, and many other things that aren't really necessary if the program is only ever used by its author on her own machine and data, but are essential to institutional scale-up, i.e., to making the software usable by other people, in other places, on other problems. Read More ›

Assessment Update - 2015
Jason Williams / 2015-12-22
About a year ago, I hoped to help answer the question, "Is our students learning?" We are now a bit closer to an answer, and I wanted to update the community about what we have accomplished this year. First, I want to thank and acknowledge the assessment subcommittee and Blake Joyce, who helped to define tasks, possibilities, and provided significant feedback. Especially here I wanted to thank Daniel Chen, Jeramia Ory, and Rayna Harris who put in a lot of hours moving things along. Read More ›

Pushing Ahead in Puget Sound
Greg Wilson / 2015-12-20
As regular readers will know, our instructor training classes are heavily over-subscribed: even after the classes we ran this fall, we still have over 400 people on our waiting list, some of whom have been there for months. One of these is Billy Charlton, who works for the Puget Sound Regional Council. Keen to sharpen his team's technical skills, and unable to wait any longer for a training course, he taught himself as much as he could about what and how we teach, then went ahead and ran a workshop using our materials. His report on his experiences is inspiring, as is the feedback he received from participants, and a great way to end a busy year. Read More ›

Three Flavors of Instructor Training
Stephen Crouch, Christina Koch, Karin Lagesen, Aleksandra Pawlik, Fiona Tweedie, Greg Wilson / 2015-12-18
It's been a busy few months for instructor training: along with a two-day class at the University of Manchester, we also wrapped up a pilot of a new kind of multi-week course and a two-day version of the same material. We have also been training four new trainers, and have put the first complete draft of the training materials online. Here's some of what we think we've learned so far. Read More ›

Instructor Training Checkout Procedure
Greg Wilson / 2015-12-18
After a lot of discussion, we have come up with a new procedure for completing instructor training for Data Carpentry and Software Carpentry. Its goals are to ensure that people are familiar with the lesson material while introducing them to our community. The steps are: Read More ›

November 11 - December 16, 2015: 2016 Steering Committee Election, Projects, Instructor Training and More, Lessons, Workshop Feedback, and Data Carpentry is Hiring.
Anelda van der Walt / 2015-12-16
Highlights The Software Carpentry Foundation will hold its annual Steering Committee election in February 2016. Active Software Carpentry community members are invited to both stand for and vote in the elections. The first candidate for the Steering Committee elections is Belinda Weaver. Learn more about her history with Software Carpentry and see what she plans to do for the community in 2016. Want to contribute to Software Carpentry, but don't know how? There's a fantastic array of projects including development of new lessons, fixing up old ones, and much more. Jump in or contact us if you're interested in participating. Other News The past month saw a huge amount of Software Carpentry activities including: Instructor Training events and feedback Many Software Carpentry workshops were run and several people provided great write-ups about these. Write-ups are also available for a number of other workshops from which the Software Carpentry community could learn a great deal. A few exciting developments in Data Carpentry New lessons were developed and ideas to improve existing lessons were discussed Several other posts have been published by community members Read More ›

More on Educational Engineering
Warren Code / 2015-12-16
In my experience, the term "educational engineers" doesn't seem to have caught on to describe any particular activity, but I can provide some examples of people bringing ideas from the research to inform teaching. There's a range depending on what counts as "building". Read More ›

2016 Election: Belinda Weaver
Belinda Weaver / 2015-12-15
I co-organise, run and teach at Software Carpentry workshops in Queensland, Australia, and frequently tweet about them and other Software Carpentry activities as @cloudaus I first heard of Software Carpentry on Twitter in 2013 and thought it was a great initiative. Through the A/NZ mailing list, I made contact with Australian Software Carpentry trainers, and was able to organise the inaugural Brisbane bootcamp in July 2014, flying in instructors from Melbourne and Auckland. Read More ›

Educational Engineering
Greg Wilson / 2015-12-15
One of the participants in this week's instructor training course mailed me to say, "[We] were discussing some of the ideas we were talking about in educational research and I feel like we are missing 'educational engineers'. Does this discipline exist? I feel like we don't really have the people to take the research that's been done and build something with it." The answer is that we actually do have educational engineers: at the K-12 level, many of the people who write textbooks and other learning materials have lots of training in pedagogy, and the curriculum they create goes through the same sort of careful review that plans for a new dam go through. But that's usually not true in higher education: most of the people who write textbooks at the post-secondary level are domain experts with little or no training in pedagogy. And even in K-12, people with no background in education at all frequently overrule experts on both content and method. Read More ›

Teaching For Loops
Greg Wilson / 2015-12-10
A few days ago, Karin Lagesen asked people what metaphors they use when teaching for loops. It kicked off an entertaining thread. When we talk about pedagogical content knowledge (PCK) in instructor training, this is exactly the kind of thing we mean: Read More ›

Community Calendar Available
Raniere Silva / 2015-12-10
During this year we host many events for the community including lab meetings, sub-committees and de/briefing sessions. Unfortunately we fail to let everyone know of the events and to try solve this problem next year we are launching a community calendar. If you want to add the community calendar into your agenda you should use https://calendar.google.com/calendar/ical/oseuuoht0tvjbokgg3noh8c47g%40group.calendar.google.com/public/basic.ics. Read More ›

Software and Data Carpentry Workshop in Stockholm
Roman Valls Guimera / 2015-12-09
On April 14, three Software Carpentry Instructors from Stockholm, Radovan Bast, Olav Vahtras and myself got an email from Greg Wilson: Subject: Any interest in putting together a workshop for Stockholm this summer? Read More ›

Introducing the Research Bazaar
Damien Irving / 2015-12-09
One of the lessons Software Carpentry has learned over the years is that there's no substitute for a face-to-face learning experience. The unscripted interactions that occur between instructors, helpers and participants at our workshops are as important, if not more important, than the formal teaching syllabus itself. Of course, we aren't the only educator in the digital research space to which this lesson applies. The social aspect of in-person learning experiences is equally important to the various organisations, eResearch departments and libraries around the world tasked with "up-skilling" the next generation of digital researchers. Read More ›

Feedback on Practicum Proposal
Karin Lagesen / 2015-12-09
We have wanted for some time to give newly-trained instructors more experience with workshop materials and our teaching methods before sending them into the field. The mentoring committee and other community members have now created a proposal for doing this, and would like to test it out early in 2016 with participants in the two training session that ran this fall. We have therefore created a short questionnaire to find out whether our plan is feasible and takes us in the right direction. Read More ›

Software Carpentry and Data Carpentry on Podcast.__init__
Maneesha Sane / 2015-12-08
A couple of weeks ago I was interviewed by the Podcast.__init__ team to talk about Software Carpentry and Data Carpentry. The request for an interview actually came in a couple of months ago and I asked Greg Wilson about doing it, telling him I was a big fan of the podcast. He said he'd be happy to have me do it myself, giving me the chance to star in one of my favorite shows. I decided to do it, in pursuit of my goal of promoting Software Carpentry and Data Carpentry (and maybe more public exposure for myself). Read More ›

Call for Candidates for the 2016 Steering Committee
Jonah Duckles / 2015-12-08
From February 15-19, Software Carpentry will hold its annual election for the Steering Committee of The Software Carpentry Foundation. The inaugural Steering Committee has been an incredible team of dedicated community members working to position Software Carpentry so that it has a strong foundation and continued impact in scientific communities around the world. Please consider giving back to the community by standing for election! Read More ›

Bank of America Merrill Lynch to sponsor the first Workshop for Women in Science and Engineering in the UK
Aleksandra Pawlik / 2015-12-08
We are very happy to announce that the first UK Software Carpentry Workshop for Women in Science and Engineering received generous support from Bank of America Merrill Lynch. The event will take place on 14 and 15th December at the University of Manchester. Read More ›

Announcing Instructor Training Materials
Greg Wilson / 2015-12-07
We are pleased to announce that the lessons for our instructor training course are now available online and in this GitHub repository. They have evolved a lot in the three and a half years since we started running this class, and more improvements would be welcome: please file issues or send pull requests to fix, extend, or otherwise improve the material. Read More ›

Launching Pre Workshop Help Session
Raniere Silva / 2015-12-04
Organizing one workshop isn't easy and sometimes things out of your control go wrong in the last minute like the internet access on the room is very slow. After months of discussions of what could be done to help instructors and hosts when organizing their workshops and being prepared for the show time the Mentoring Subcommittee decided to test some helping sessions. Read More ›

Intel to sponsor the first Workshop for Women in Science and Engineering in the UK
Aleksandra Pawlik / 2015-12-03
We are very happy to announce that the first UK Software Carpentry Workshop for Women in Science and Engineering received generous support from Intel. The event will take place on 14 and 15th December at the University of Manchester. Read More ›

First Workshop in Venezuela
Francisco Palm / 2015-12-03
Last November Francisco Palm taught the first ever Software Carpentry workshop in Venezuela, the second country from Latin America to enter in our list of previous workshops. We are very excited with our expansion across Latin America and we hope to add more countries to that list next year. Learners from the first workshop in Venezuela. Francisco allowed us to share some of his words about the workshop: Read More ›

Software Carpentry workshop at EITN in Paris
Bartosz Teleńczuk / 2015-12-02
The Python workshop on November 19-20th at the EITN was the first course organised at European Insitute of Neuroscience in Paris. The course offered a practical introduction to Python programming and scientific software development for PhD students and post-docs. The programme followed closely the syllabus recommended by the Software Carpentry. Read More ›

Data Science for Social Good: an Experiment in Data Science Training
Ariel Rokem, Micaela Parker, Sarah Stone, Anissa Tanweer / 2015-12-01
Data science faces many challenges in the traditional academic setting. At the same time, many research fields are becoming increasingly dependent on data science tools and techniques. A key element in tackling these challenges is the education of a new generation of researchers that are fluent in both their research domain and in data science methodologies. In this post, we discuss an immersive approach to training in data science, the University of Washington eScience Institute's inaugural Data Science for Social Good (DSSG) program. Read More ›

Software Sustainability Institute Funding
Greg Wilson / 2015-12-01
The Software Sustainability Institute, a partner organization which is committed to cultivating world-class research through software, has received £3.5M in funding to continue its valuable support for the UK's research software community. Two new funders, the Biotechnology and Biological Sciences Research Council (BBSRC) and Economic and Social Research Council (ESRC), have joined forces with the Institute's original funder, the Engineering and Physical Sciences Research Council (EPSRC), to continue to invest in research that is underpinned by software until at least 2019. For the full announcement, please see this post on the SSI site. Congratulations! Read More ›

December Instructor Training - Announcing Selected Groups
Raniere Silva / 2015-11-30
Thank you to all the teams that applied for instructor training that sent us applications. Selection of the teams was a very difficult tasks because the applications were excellent, we had a small amount of time to discuss all the applications and we need to improve capacity to support the demand we see for instructor training. The mentoring subcommittee has selected the teams that inform at their cover letters that booked a room for the instructor training at Shrum Science Centre Physics, Vancouver, Canada The University of Texas at Arlington, Dallas, US James Cook University eResearch Centre, Brisbane, Australia University of Wisconsin–Madison, Madison, US Universidade Federal do Paraná, Curitiba, Brazil Aristotle University of Thessaloniki, Thessaloniki, Greece University of Toronto, Toronto, Canada Max Planck Institute, Berlin, Germany Institute Unite de Neurosciences, Information et Complexite, Gif-sur-Yvette, France We already notified all lead groups of the status of their application but if you didn't head anything please contact us. If you have any question or comments about the selection process please contact me or Jonah Duckles, Software Carpentry's Executive Director. Statistics We had applications from 44 teams and we could accommodate 12 total teams that will be trained by Christina Koch, Fiona Tweedie, Greg Wilson and Steve Crouch. More than half of the applications came from the US. Canada is the country with the highest number of accepted teams because we received application from three very small teams in close proximity that we merged into one. In terms of individual applicants, the teams were comprised of more than 200 people and we accepted 49 to the instructor training in December. The below chart shows the gender balance of the December Instructor Training. Source code and data The source code for the plots are available here as a Jupyter Notebook and the CSV files used on it are available here and here. Both CSV files are a copy of the applications that we received without names because of privacy concerns. Note: We forgot to ask the gender to applicants so the numbers in the CSV is just a guess based on their names. Read More ›

Assistant Director Position with Data Carpentry
Tracy Teal / 2015-11-30
Data Carpentry seeks a full-time Associate Director to lead the organization’s community engagement and education activities, to cultivate a healthy supportive community and provide mentorship and training to current and future instructors. The Associate Director is one of the two key roles providing leadership to Data Carpentry’s core efforts and is expected to shape the organization’s operational functioning, influence training, and contribute to strategic planning. Data Carpentry is a not-for-profit organization developing and teaching workshops on fundamental data skills needed to conduct research. Its mission is to provide researchers high-quality, domain-specific training covering the full lifecycle of data-driven research. Data Carpentry lessons are intentionally domain specific, and span the life, physical, and social sciences. Data Carpentry workshops create an environment friendly to learners who have little to no prior computational experience, and are designed to empower researchers to apply the skills learned to data driven discovery in their own research. The Associate Director position is initially funded for 2 years through a grant from the Gordon and Betty Moore Foundation. They will be hired and paid as a contractor of NumFOCUS, Data Carpentry’s fiscal sponsor. Review of applications will begin December 18th, 2015, and the position will remain open until filled. Read More ›

December Instructor Training Selection Debrief
Jonah Duckles / 2015-11-25
Many of you who applied for instructor training in December are undoubtedly receiving disappointing news. We had 250 applicants on 45 teams from a wide range of locations. I'd like to talk through a few things about this process and how it played out as I think it will help the community understand the situation we were in with instructor training demand and our ability to meet demand. Read More ›

2015 Software + Data Carpentry Instructor and Helper Retreat
Tiffany Timbers / 2015-11-24
Software and Data Carpentry recently held their first ever Instructor + Helper Retreat. The aim of this event was to bring instructors and helpers together remotely and at local sites around the world for a day of sharing skills, trying out new lessons and ideas and discussing all things instructor and helper related. This Retreat attempted to meet these goals via 17 local meetups in North America, Europe and Australia, 14 sessions broadcast globally via Google Hangouts on Air, and many people participating remotely by watching and asking questions at the global broadcast sessions. In addition to bringing the community together, the Retreat also has generated additional resources surrounding many topics of interest to Software and Data Carpentry instructors and helpers; the global broadcast sessions are archived on YouTube (pending session leaders leaving them up) and can be watched at any time. The links to these videos are archived on the Retreat website. Notable other moments from retreat as captured via twitter can be accessed here. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 22
Kate Hertweck and Christina Koch / 2015-11-24
There were relatively few attendees at the 22nd round of debriefing for instructors on November 10, but we thought we'd include a few quick notes about two specific topics: using Software and Data Carpentry workshops to reach out to potential users of high-performance computing (HPC) resources, and exploring new lesson materials related to databases. High Performance Computing University of Manitoba hosted a Software Carpentry workshop at the end of October in conjunction with Compute Canada. In addition to the normal half-day lessons in Unix shell, Git, and intro to Python, this workshop featured an introduction to using WestGrid/Compute Canada resources on the afternoon of the second day. The instructor for this workshop, Hossein Pourreza, said that this last lesson module was used as a capstone for helping reinforce and integrate material from the previous lessons, and appeared well-received by the students. Given that there are few training opportunities for using the cluster, this appears to be a great way to introduce new potential users to the basic tools they'll need to get started with larger-scale analysis. This recent workshop is a great example of catering the lesson materials to meet the needs of a particular audience. There are some resources currently available for outlining essential skills for remote computing. For example, Data Carpentry has a genomics lesson involving cloud computing under development. Databases Continuing the theme of piloting new material, a recent workshop at the Pacific Northwest National Laboratory included a short lesson on MongoDB, added at the end of the official Software Carpentry SQL material. The motivation for including MongoDB (an example of a NOSQL database) was the instructor's own use of it in his work, and it's growing influence in scientific computing. It was hard to draw conclusions about the value of introducing NOSQL, mostly because there isn't enough time in a 2-day workshop to do git, shell, Python *and* databases, especially with the lessons as written. If instructors want to include databases (SQL or otherwise) in their workshops, they should be aware that the Python lesson will probably have to be significantly shortened to fit into half a day. This could be a good strategy for workshops with a specific audience, where all the participants are not novice programmers. Alternatively, if a workshop is being taught with local instructors, databases could be a follow-on day or half day after the first two days. Question for the community: do other instructors use NOSQL databases in their daily work? In what circumstances is it a useful tool or skill? Thanks We are grateful to the instructors who attended debriefing sessions this round: Hossein Pourreza Donny Winston Read More ›

A New Lesson on Testing
Greg Wilson / 2015-11-22
Katy Huff has just posted a new lesson on testing and continuous integration with Python drawn in part from the book that she and Anthony Scopatz recently published. There's a lot of useful material in here, all of it tested in the classroom—please check it out. Read More ›

The Morea Framework
Greg Wilson / 2015-11-20
I first met Philip Johnson, a professor of Computer Science at the University of Hawaii, through shared interests in empirical software engineering research and Google Summer of Code. He has recently been developed the Morea Framework for creating structured course websites using GitHub and Jekyll. "Morea" stands for "Modules, Outcomes, Readings, Experiences, and Assessments", which are the five main elements the framework supports. As you can see from the project gallery, it's much more structured than our lessons. It also requires more tooling—Morea Framework sites are built using custom Jekyll plugins, and the source relies much more heavily on include files than our template—and it's geared very strongly toward traditional semester-long courses. I'm really impressed with the thought that's gone into Morea, and would enjoy hearing what you think. Read More ›

Applications for December Instructor Training Are Now Closed
Greg Wilson / 2015-11-20
Applications to take part in December's two-day instructor training class are now closed. We received more than three dozen applications from four continents, including over 400 people, and will let people know early next week whether they have been selected. Groups that we can't include in this round will be given priority to take part in the new year. Read More ›

Test-Driven Data Analysis
Greg Wilson / 2015-11-19
My former colleague Nick Radcliffe has started posting a series of article on test-driven data analysis, in which he explores systematic ways of checking whether one-off data analyses are correct. It'll be really interesting to see how the series unfolds, and comments on the posts would be very welcome. Read More ›

rOpenSci Announces $2.9M Award from the Helmsley Charitable Trust
Karthik Ram / 2015-11-19
rOpenSci, whose mission is to develop and maintain sustainable software tools that allow researchers to access, visualize, document, and publish open data on the Web, is pleased to announce that it has been awarded a grant of nearly $2.9 million over three years from The Leona M. and Harry B. Helmsley Charitable Trust. The grant, which was awarded through the Trust's Biomedical Research Infrastructure Program, will be used to expand rOpenSci's mission of developing tools and community around open data and reproducible research practices. Read More ›

Python Lesson Rewrite
Matt Davis / 2015-11-15
Recent analysis and introspection regarding Software Carpentry's Python lesson has led us to conclude that the lesson would benefit from a complete rewrite. The subcommittee on lesson development met twice to plan much about the new lessons (yes, that's plural). This post will describe our plans for the new lessons. We're going to write two new Python lessons, one intended for students who are completely new to programming (the "novice" lesson), and another for students with some programming experience in any language (the "intermediate" lesson). Data Carpentry also targets new programmers so we'll be developing the new novice lesson in collaboration with DC, and both DC and SWC will use the lesson. We decided to use Gapminder data for both the novice and intermediate lessons in order to have a consistent experience and approachable, meaningful data (and because some lessons are already using it). Read More ›

A Practical Computing Course
Steve Haddock / 2015-11-15
While it was not a SWC course, this summer Casey Dunn and I taught a 12-day Practical Computing summer class at Friday Harbor Labs. It was a great group of students—mostly somewhat beginner level—and we covered regular expressions, the shell, Python, R + ggplot, Git, graphics, and bit of electronics. The centerpiece (which the students really got into) was a personal project that was applicable to their own interests and which they solved with some combination of the tools we covered. Many of the students went from zero experience to having a script that actually gave them insight into the real-life research back home. Read More ›

Miscellaneous Projects
Greg Wilson / 2015-11-15
This post is a bit of a link fest, but after talking about how to contribute at yesterday's instructor retreat, I thought it might be useful to post a few additions to our projects page. Read More ›

CourseSource: A(nother) New Hope
Greg Wilson / 2015-11-15
I came across CourseSource a few weeks ago, and I'm pretty excited: CourseSource is an open-access journal of peer-reviewed teaching resources for undergraduate biological sciences. We publish articles that are organized around courses in biological disciplines and aligned with learning goals established by professional societies representing those disciplines. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 21
Kate Hertweck and Tiffany Timbers / 2015-11-13
The mentoring subcommittee held the 21st round of debriefing for instructors on October 27. We had some great discussions with a few instructors about recent workshops and their experiences with implementing a module on imposter syndrome and methods for integrating lessons throughout the workshop. Read More ›

Data Carpentry Instructor Certification for Software Carpentry Instructors
Tracy Teal / 2015-11-12
Re-posted from the Data Carpentry blog. Data Carpentry has been growing over the last year, and now with the addition of Maneesha Sane as Program Coordinator, we have the chance to run even more workshops in more domains. To date, we have used some great instructors from the Software Carpentry community as teachers; what we would like to do now is put that on a more regular footing. We want to update the instructor records to see who’s interested and qualified to teach Data Carpentry, so we’ve created a Data Carpentry Instructor FastTrack certification. If you have already taught a Data Carpentry workshop, you’re registered as a Data Carpentry instructor and don’t need to go through the FastTrack certification process. If you are currently a Software Carpentry instructor and would like to teach core data wrangling skills to people who are new to computing, this program is for you! Read More ›

October 27 - November 10, 2015: Maneesha Sane, Retreat Activities, Instructor Training, Code Review Revisited, and a WiSE Workshop.
Anelda van der Walt / 2015-11-10
Highlights Meet Maneesha Sane, the Software Carpentry (and now Data Carpentry) course coordinator. Our instructor/helper/community retreat is planned for 14 November with participating sites around the world. Line-ups include roundtable discussions, open house sessions, Worldwide Library Hour, and more. Join us virtually or live for the whole day or only the sessions of interest. Conversations Do you have any experience with code review? David Pèrez-Suárez described his experience over ten years and asks some interesting questions. Read More ›

R Foundation Announces Code of Conduct Policy
Kara Woo / 2015-11-08
The R Foundation recently announced that all conferences it supports must have a code of conduct. They encourage other R meetings to adopt codes of conduct as well, stating that: A code of conduct serves two important purposes. Firstly, it sends a clear message to those outside the community that an R conference is a professional and comfortable working environment for all participants. Secondly, it provides a mechanism for reporting and monitoring any incidents of harassment that may occur. Read More ›

Clarification about December Instructor Training
Raniere Silva / 2015-11-06
Since we announced that the applications for December Instructor Training we have received many questions. We are now amending the announcement to clarify some things that have come up. Read More ›

Teaching Bimodal Workshops with a Large Range
Daniel Chen / 2015-11-05
Teaching a technical class always has its challenges. Teaching a technical workshop covering 3 or more topics over the span of 2 days is what makes us Software Carpentry instructors. A common observation instructors have is the class demographics are bimodal/multimodal. There are students who attend the workshop with little to no experience, some have been using the tools we teach but want a more formal course, and finally, a student may know some of the tools, but use the workshop to learn Git or Python, for example. How do we as instructors deal with workshops where the range of student skills is extremely high? This post is a case study of my most recent workshop and a call for help and discussion about we should do to make our workshops enjoyable for everyone. In many ways it is a complement to Peter and Cam's post Pulling In Those Left Behind. Read More ›

Introducing Maneesha
Maneesha Sane / 2015-11-02
This is a long overdue post introducing myself to all of you. I've met many of you (at least virtually!) over the past few months but I wanted to formally introduce myself to the Software Carpentry and Data Carpentry community. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 20
Kate Hertweck, Raniere Silva, Rayna Harris / 2015-11-01
On October 13th, the mentoring subcommittee held the 20th round of debriefing for instructors. At this round, we have a great discussion text editors, workshop organization and challenges for learners. Adrianna Pińska wrote a great post about the workshop in Johannesburg that you should check out. Read More ›

Pulling In Those Left Behind
Peter Steinbach and Cam Macdonell / 2015-10-29
A common challenge that arises before or during a workshop is that participants' prior expertise in programming or broadly speaking their abilities of using computers for science is distributed randomly. At best, this distribution peaks at the expectations of the instructor. Usually, this distribution is quite wide and thus a considerable portion of the participants do lack the necessary predispositions for the workshop level, or have a slower learning rate or simply are too shy to ask questions. I recently taught a follow-up workshop to the Software Carpentry (SWC) Novice material and struggled to keep the pace of teaching at a level so all learners would come along. Given the feedback on the SWC mailing list (see the original post), this problem occurs quite often. Thus, this blog post is a summary of the discussion initiated among fellow SWC instructors on how to pull in those learners again that fall behind or how to pace/design a course so that a minimal portion of learners fall behind. Read More ›

October 19 - 26, 2015: 500 Workshops and 16,000 Participants, Retreat, Debriefing Sessions, Digital Data Storage, and A Science Competition.
Anelda van der Walt / 2015-10-28
Highlights The Software Carpentry team has now run more than 500 workshops for 16,000 participants! Remember to join our global instructor/helper retreat on 14 November. If you care about training, join a site near you or dial in via Google Hangouts. Dates Please take note of the planned dates for upcoming debriefing sessions for instructors. Publications Ten Simple Rules for Digital Data Storage: A new article on the importance of considering data storage and metadata tagging that started as a discussion on the Software Carpentry mailing list. Opportunities Are you building products or developing services to advance Open Science? Read more about the global science competition launched by the Wellcome Trust and NIH. Read More ›

Site Planning for the Instructor and Helper Retreat
Bill Mills / 2015-10-28
With less than three weeks to go before Software Carpentry and Data Carpentry's first ever Instructor and Helper Retreat coming up on November 14, many of the lead organizers for sites around the world got together this week to discuss plans and ideas for the event. Our goal for the retreat is to create opportunities for instructors, helpers, and the community to get together to practice teaching, break ground on new lessons, and start discussions. Here are just a few of the ideas coming up that you can get involved with. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 19
Raniere Silva / 2015-10-28
On September 29th the mentoring subcommittee held the 19th round of Instructor Debriefing and had some interesting discussions about our lessons and opportunity for learners after the workshop. Read More ›

Code Review - a Needed Habit in Science
David Pérez-Suárez / 2015-10-28
More than a year ago, Marian Petre and Greg Wilson wrote an article about reviewing code, but I was not aware of it until last week when Greg talked about their findings in a workshop in London (though it had been mentioned here before). I have been reviewing code for years, however I have not realised that I was doing so till GitHub made it easy. Reading code from others feels the same as proofreading a Spanish text (or any other text), where you have to pay attention to the orthography, the grammar and whether it says what it's meant to say (or it does what it's meant to do). Read More ›

Software Carpentry for Women in Science and Engineering UK
Aleksandra Pawlik / 2015-10-28
The Software Sustainability Institute in collaboration with ARCHER and Women in HPC is organising the first Software Carpentry workshop for Women in Science and Engineering (WiSE) in the UK. The event will take place at the University of Manchester on 14-15 December 2015. Read More ›

Visualizing Repository Activity
Greg Wilson / 2015-10-27
I am updating the lessons learned paper, and would like to include histograms showing how many people have contributed how often to our lessons. More specifically, I have 9 data sets (one for each lesson), ranging in size from 5 to 16 records, in which each record shows a number of commits and how many people have committed that often. For example, the data for our SQL lesson is: Read More ›

Call for Applications to December Instructor Training
Raniere Silva / 2015-10-26
This blog post was amended with the information from this other post. This blog post was updated with the answers that we got so far. As we announced previously, we will run another round of the free/open Instructor Training in December. People who are interested in participating in this round can now apply to take part. Read More ›

Recent Statistics
Jonah Duckles / 2015-10-25
At some point in the last few weeks, we ran our 500th workshop for our 16,000th learner: Read More ›

Debriefing Sessions and Winter Recess
Raniere Silva / 2015-10-24
We are getting close to the begin of 2016 and although there will be some workshops between Christmas and New Year the Mentoring Subcommittee will give a winter recess for the debriefing session. But there will be some debriefing sessions before then: Read More ›

Ten Simple Rules for Digital Data Storage
Greg Wilson / 2015-10-23
Edmund Hart, Pauline Barmby, David LeBauer, François Michonneau, Sarah Mount, Timothée Poisot, Kara Woo, Naupaka Zimmerman, and Jeff Hollister have just posted a pre-print on PeerJ titled Ten Simple Rules for Digital Data Storage. The paper is a distributed collaborative effort spawned from a thread on the Software Carpentry instructors mailing list and further carried out on GitHub. There are a lot of good ideas in it, many of which we should fold back into our lessons, and we hope it will spark more collaborations in our community. Read More ›

Programming Historian Live
James Baker / 2015-10-21
Originally posted at http://cradledincaricature.com/2015/10/21/programming-historian-live/. On 19 October curious historians descended on the British Library for Programming Historian Live. The Programming Historian is a suite of open access, peer reviewed lessons that provide practical instruction to historians thinking about using data, code, and software in their research. It is co-edited by 2013 Software Sustainability Institute Fellow Adam Crymble and it does an amazing job at bringing the methods and motivations of the (small but growing) Digital History community to the wider historical profession. This "Live" spin-off, funded by my 2015 Software Sustainability Institute Fellowship, was designed to take into account the fact that whilst some of us learn just fine through self-directed tutorials, others need the mental space, in person support, and peer pressure of seminar style learning. Read More ›

Open Science Prize
Greg Wilson / 2015-10-21
The Wellcome Trust and National Institutes of Health have launched a global science competition for new products or services to advance open science. Up to six teams stand to win US$80,000 each to develop their ideas into a prototype or to advance an existing early stage prototype. The prototype judged to have the greatest potential to further open science will receive $230,000. For more information, see the announcements on the Wellcome site and from the NIH, or visit the prize website. Read More ›

Inserting Software Carpentry Graduates into Coding Communities
Damien Irving / 2015-10-19
One of the issues I'd like to see Software Carpentry tackle is what happens to learners after they've attended a workshop. Read More ›

October 5 - 18, 2015: Jonah Duckles, Instructor/Helper Retreat Still Growing, Peer Reviewed Lessons, Data Management, and AMY 1.0 Released.
Anelda van der Walt / 2015-10-18
Highlights Meet our new executive director, Jonah Duckles. 14 sites worldwide have registered for the first ever Software Carpentry and Data Carpentry instructor and helper retreat on 14 November. If you care about training, join a site near you or dial in via Google Hangouts. Lessons The obvious next step for