Teaching basic lab skills
for research computing

Blog Archive

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 ›

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 ›

15 - 30 November, 2016: Instructor Training, UCSF Library, Code of Conduct, Announcement List, Steering Committee minutes.
Martin Dreyer / 2016-11-18
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 ›

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 ›

1-15 November, 2016: Research in Action, The Jackson Laboratory, Reproducability of Research, Announcement List, RStudio.
Martin Dreyer / 2016-11-18
Highlights Listen to the postcast about Research in Action by Dr. Tracy Teal, Executive Director of Data Carpentry. Jobs The Carter Lab at The Jackson Laboratory is seeking a Postdocoral fellow in Computational Genetics. The Carter Lab at The Jackson Laboratory is seeking an Associate Research Scientist in the genetics of Alzheimer’s disease. The Churchill Lab at The Jackson Laboratory is seeking a Postdortoral fellow in systems biology. The Jackson Laboraty has a scientific sofgtware engineer position avalable. Tweets We have a low volume announcement list, please sign up. A semester-long datacarpentry course for biologists by Jabberwocky Ecology. Because we video conference a lot we have saved $440,000 in travel costs adding up to 3,000,000 airline miles. Slides on the for best practices in Bioinformatics Training as presented by Harriet Dashnow. General Some key papers on the reproducibility of research has just been posted by Prof. Lorena Barba. If you want to be added as a trainer and consultant for RStudio, please contact Garett Grolemund. 29 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: November: Scion Research and NeSI, QUT. December: Instituto Tecnológico de Costa Rica, Oxford University Department of Biochemistry, University of Victoria, University of California, San Francisco. 2017: January 229th AAS Meeting, NERC / The University of Bristol,LCG-Aula 1-2, Centro de Ciencias Genómicas, UNAM, NERC / The University of Bristol. February AMOS / MSNZ Conference. 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 ›

18 - 31 October, 2016: Community Call on Assessment, Steering Committee, Library Carpentry, Machine Learning.
Martin Dreyer / 2016-10-31
Highlights Several members of our community have published a new paper on Ten Simple Rules for Digital Storage. Library Carpentry is one year old and still gaining momentum. The Steering Committee election is taking place in January 2017, please consider standing. Tweets @UniOslo is an affiliate of the @Swcarpentry foundation The latest comnbined capentries newsletter is now online. General A new book on machine learning with python has been released. You can find it at O’Reilly Media Data Carpentry’s Deputy Director of Assessment was oen of the speaker on the Community Call on Assessment. Cambridge University, along with a Software Sustainability Institute Fellow hosted an Instructor Training workshop in September and had attendees from as far as Hungary and USA. A good comaprison has been made between online and in-person instructor training workshops. Programming is more closely related to software development than you might think. The Carpentries mean a lot more than just learning new skills. 28 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: November: Chicago FED, University of Otago and NeSI, Highfield House Hotel, University of Colorado Anschutz Medical Campus, University of Arizona, Curtin University, University of Manchester, NIH Bldg. 10 Library, Rutgers University, Camden, University of Melbourne, University of Kansas, NIWA, Scion Research and NeSI. December: Instituto Tecnológico de Costa Rica, University of Victoria. 2017: January 229th AAS Meeting. February AMOS / MSNZ Conference. 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 requestion 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
Dr. Kari L. Jordan, Data Carpentry’s Deputy Director of Assessment, will be speaking on the Community Call on the impact our workshops have on our learners. Kari will cover the results of our post-workshop surveys including learner attitudes, learner data management and analysis skills prior to and following our workshops, and learner attitudes toward Data Carpentry instructors. Come and hear about our successes and share your thoughts. It’s going to be an informative community call. Community Call Information First meeting: 7am Pacific / 10am Eastern / 2pm UTC / 1am (Oct 21) Sydney Second meeting: 4pm Pacific / 7pm Eastern / 11pm UTC / 10am (Oct 21) Sydney 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 ›

12 September - 17 October, 2016: Community Service Awards, Steering Comminty Elections, Lesson Maintainers Meeting, Newsletter, Carpentries Community Call.
Martin Dreyer / 2016-10-17
Highlights The very first Community Service Awards will be awarded before the end of the year. We are pleased to welcome two new Intsructor Trainers to the Carpentries. Please vote on the special election to amend the procedure of the Steering Committee elections. Some highlights on the progress made by our lesson maintainers on streamlining our decision-making process. The first joint Carpentries newsletter is out, please sign up. Jobs The Jackson Laboratory is seeking a Postdoctoral Fellow. DataCamp is looking for a Data Science Course Developer. Tweets Demitri Muna published a pre-print on “The Astropy Problem.” @docker is now hiring Education Enigeers. @NatureNews wrote a nice pice on the use of GitHub. Community service awards nominations now open! Please nominate members on the Software Carpentry website. Order some Software Carpentry apparel and accessories from Cafe Press. General Carpentries Community Call now happening every third Thursday of the month, hope to see you there. Read more about techniques on how to get people talking more producitvely in class. Switching to scripting languages and using spreadsheets; facts and opinions discussed. As an Instructor it is good to know your audience within a carpentries workshop. A few pointers to help teach programming to the visually impaired. A recall of first experiences with SWC. Instructors dicuss some issues with attendance at the New Zealand workshops. A tale of how SWC brought three instructors together. We are working on a lesson to teach Python to people who are already comforatble with another programming language. ESIP would appreciate any input or feedback on their guidelines for the earth observation and geosciences communities. The tools we use may be perceived differently by men and woman. A new book that covers almost all the SWC materials have been released. Dr. Beth Duckles gave an interesting talk about “The Practice of Measuring”. Our deepest condolences to Hans Petter Langtangen’s family. 34 workshops were run over the past 30 days. For more information about past workshops, please visit our website. Upcoming Workhshops: October: University of Michigan,University of Amsterdam,CoDiMa - International Centre for Mathematical Sciences, Edinburgh,Plant & Food Research, University of Colorado Anschutz Medical Campus, University of Wisconsin - Madison, Université de Montréal, University of Oklahoma, University of Würzburg, Queen’s University, Purdue University, University of Michigan. November: University of Otago and NeSI, University of Colorado Anschutz Medical Campus, University of Arizona, NIH Bldg. 10 Library, University of Melbourne, Scion Research and NeSI. 2017: January 229th AAS Meeting. February AMOS / MSNZ Conference. 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 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. Grad Student, Post-Doc, Researcher interested in continuing code education 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-rmd 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 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. 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 the Software Carpentry lessons: Peer review Contribute Rayna Harris suggested we look at how Software Carpentry and Data Carpentry can play a role in teaching or disseminating information about data management plans. Please let us know if you are aware of good resources or would like to discuss how we can contribute as community? AMY 1.0 was released. Django web programmers are welcome to join the development team. Read More ›

Journals as Repositories
Greg Wilson / 2015-10-17
I had a really good conversation yesterday with Cath Brooksbank and Sarah Morgan, who do training at EMBL-EBI in Hinxton. During the conversation we touched on CourseSource, a peer-reviewed journal in which people can publish undergraduate biology lessons—not studies of the lesson's effectiveness, but the lessons themselves. This is a brilliant idea, and thinking about it has made me realize why I've never been excited about online lesson repositories. We already have repositories for the things academics do: they're called journals. And we have portals (or aggregators, or whatever you want to call them): they are things like PubMed. What we don't have is people putting things into the system in the first place. Growing a separate parallel system to do those things for lessons hasn't worked: as far as I can tell, most of what's uploaded to lesson repositories just sits there. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 18
Raniere Silva and Sheldon McKay / 2015-10-15
On September 15th, the mentoring subcommittee held the 18th round of debriefing for instructors. At this round, we have a great discussion about teaching (or not) branches during the Git lesson and about Python packages used in examples. Read More ›

Feedback from a Software Carpentry workshop at PyConZA 2015 in Johannesburg
Adrianna Pińska / 2015-10-14
On the 3rd and 4th of October we ran a Software Carpentry workshop associated with PyConZA 2015, a conference for Python developers in South Africa. The workshop ran concurrently with the post-conference sprints, in a neighbouring room in the same venue. Because we expected little overlap between the attendees of the conference (who are mostly existing Python programmers) and the target audience of the workshop, we organized the workshop as a separate event with separate tickets. The turnout was very low, which may have been caused by our delay in advertising the workshop through academic research channels, and by our limited academic contacts in the Gauteng area. Although an instructor from the University of the Witwatersrand was initially involved in organisation of the workshop, the timing made it difficult for him to participate. In future, I think that we should seek more up-front interest from local academic institutions. We have considered other possible causes of the low turnout, such as an inconvenient time, location, price or payment method -- but we received no specific feedback regarding any of these. We ended up with four attendees who were present for most of the time, one attendee who was present for part of the second day, one helper and two instructors. Most of the attendees had heard of the workshop through the conference. The turnout was more or less in line with what I would have expected for a tutorial session attached to the conference. Despite the low turnout, I thought that the workshop went quite well. The atmosphere was a lot more informal than it would have been with a larger audience, and we took more questions during the course of the lessons. Because there were so few learners we were able to give them more individual attention and assistance, and towards the end of the last day we spent some time looking at specific problems that they wanted to solve in their work. We also had more freedom to shift the schedule around. Our original plan was to have the Bash lesson on Saturday morning with the first half of the Python lesson in the afternoon, and the second half of the Python lesson on Sunday morning followed by Git. We ended up doing Bash for 3/4 of the first day, which allowed us to go as far as scripting, although unfortunately we had to omit the find and grep component. We spent the rest of the day introducing Python. On the second day, we started with a brief Git primer, so that during the rest of the Python lesson we could demonstrate how to version control the evolving snippet of code used to plot the data in the exercises. We then continued with Python, and managed to cover most of the practical material, although we had to abbreviate some of the later chapters. For the last quarter of the day we covered the more advanced material in the Git lesson, and for the last half an hour we assisted the two remaining attendees with specific tasks: writing a script to process CSV data, and setting up a GitHub repository. I am not entirely happy with the default Git lesson materials, which is why this lesson ended up with the most modifications. I understand the logic of introducing local repositories before discussing remotes, but I feel that this obscures the most common and expected use case of version control (a remote backup of changes) and overcomplicates setup (it is much cleaner and simpler to create a repository on GitHub and clone it to a local machine than to create a local repository and push it to GitHub, and this is the approach we took in our morning quick-start introduction). Although we still ended up having to skip some parts of the lessons because we were short on time, I'm much happier with the amount of material that we covered, compared to what I managed during the last workshop where I was an instructor -- I am very likely to extend the Python lesson to two sessions in future. I also enjoyed the environment of the smaller workshop, and would find it valuable to run a variant like this again, but perhaps by design rather than by accident. Feedback received from attendees in the post-course survey: The good: "Instructors were good. Food was good. Setting was good." "Excellent coverage of the basics. Small workshop allowed a lot of attention to individuals." "The material covered were really helpful and the assistance provided was outstanding. The supervisors were outstanding with their communication and teaching the material. They were also very friendly which made the learning experience all the more enjoyable. Furthermore the supervisors have given their time to assist us which I am all the more appreciative! Thank you!" The bad: "Sometimes the instructors over elaborated on some issues." "It would have been nice if there was air conditioning as the room temperature became relatively unbearable, which made concentrating an effort." Read More ›

Assessing Assessment
Rayna Harris / 2015-10-10
Jason Williams and I met with two consultants at the University of Texas at the end of September to get feedback on Software Carpentry's post-workshop survey. They gave us detailed suggestions for improving six of the questions, and felt the rest were OK as they are. The feedback is given below; even without the whole questionnaire (which we will post shortly), we hope it's helpful. Read More ›

AMY 1.0 Released
Piotr Banaszkiewicz / 2015-10-10
We are very pleased to announce the release of Version 1.0 of AMY, our online workshop administration tool. A complete list of features is included in this blog post, and this milestone describes what we're planning to do for Version 1.1. If you enjoy web programming in Django, you'd be welcome to join in. Read More ›

A Summary of Debriefing Feedback on Our Python Lesson
Alistair Walsh / 2015-10-08
Last month, we discussed results from a survey of how our instructors are teaching Python. We now have a summary of the feedback we've received in our bi-weekly debriefing meetings. The recurring themes are: A greater choice of exercises and multiple choice questions would allow instructors to select domain specific examples and cater to varying levels of learner. Some instructors added an explanation of the Jupyter notebook or Spyder IDE environments. Some instructors added an explanation of basic Python datatypes before presenting the lessons. Comments that there is too much material to fit into a workshop and that some sections seem rushed. Request for a better explanation of the advantages of the Anaconda Distribution at the start of workshops and resources for post workshop learning. Comments on presenters style were positive for funny and entertaining examples and negative for highly mathematical examples. Read More ›

Data Management Plans: A Role for Software and Data Carpentry
Rayna Harris / 2015-10-07
I spent the better part of the last three weeks working on an NSF-IOS Doctoral Dissertation Improvement Grant (DDIG) proposal. Pretty much daily, I consulted this list of publically available grant proposals in the biological sciences to look at other people's proposals. It's an awesome resource if you want to see how people write their project description, but there are no links to example data management plans, facilities, summaries, etc. Where does one go for examples of or advice on these supplementary documents? At least part of the answer is "here". The last page of NSF's information about Data Management Plan requirements, updated on October 1, urges readers to check out Data Carpentry and Software Carpentry for resources and training. This is a huge shout-out (see these tweets), so how can SWC and Data Carpentry do more? Read More ›

A Workshop in Brisbane
Belinda Weaver / 2015-10-07
A sea of green stickies: that really sums up the 28-29 September Brisbane Software Carpentry bootcamp—it ran extremely smoothly. We had 40 people signed up (with a waitlist of six) but lost one at the last minute to acute appendicitis—ouch—and another to project deadlines. The remaining 38 comprised post docs (7), Master's candidates (2), PhD candidates (19), research technical support (4), and four people from industry (one from an NGO and three from a virtual lab). We also had one undergrad (a first for us) and one very bright high school student. Read More ›

More About Jonah Duckles
Jonah Duckles / 2015-10-06
I'm thrilled to be stepping into the role of Executive Director of the Software Carpentry Foundation. I come to you as an experienced instructional community member excited to share my administrative, grant writing and professional background to help the Software Carpentry Foundation become sustainable and reach exciting new goals. Read More ›

September 20 - October 4, 2015: A New Executive Director, Instructor and Helper Retreat, Data Visualisation Lesson, Teaching, and Lesson Citations
Anelda van der Walt / 2015-10-04
Highlights Please welcome our new executive director, Jonah Duckles! Please join us on 14 November for the first international multi-site instructor and helper retreat. The blog post explains how you can get involved or host a site. Lessons Read about the new lesson on Data Visualisation with D3 and the pros of interactive data visualisation in Isabell Kiral-Kornek and Robert Kerr's post. Contribute We're actively revising our teaching practice and lesson design. The latest feedback from people who've taught the Python lessons is summarised and there's another opportunity for you to add your thoughts via a short survey or longer discussion. We'd love to hear from you! We're still talking about the citation format for our lessons. You can follow the latest discussion and contribute your suggestions at the blog post. Read More ›

A Case for Online Data Visualization
Isabell Kiral-Kornek and Robert Kerr / 2015-10-02
This article originally appeared in The Research Bazaar. Thorough data analysis is only one part of good research. Equally important is communicating the outcome well and accessibly. And visible research is accessible research. Our main motivations for publishing our research results are: making them openly accessible to the public, informing fellow researchers about new outcomes that will help them in their research, and strengthening our professional profiles. Read More ›

Please Welcome Our New Executive Director
Greg Wilson / 2015-10-01
We are very pleased to announce that Jonah Duckles has accepted the position of Executive Director of the Software Carpentry Foundation, and will start on Monday, October 5, 2015. Jonah was most recently the Director of Informatics and Innovation at the University of Oklahoma where he partnered with researchers to improve their computational workflows while developing maker spaces for the campus. He holds a BS in Physics and an MS in Forestry and Natural Resources, both from Purdue, and has been a very active contributor to Software Carpentry for several years. Read More ›

Citation Format
Greg Wilson / 2015-09-30
Earlier this month, we published our lessons by giving them DOIs through Zenodo. As we said in an earlier post, though, we've been struggling to figure out (a) how to cite them in text and (b) how to express their metadata in standard bibliographic formats to produce those human-readable citations. Read More ›

Thinking About Teaching
Greg Wilson / 2015-09-28
A little over a year ago, we blogged about jugyokenkyu, or "lesson study", a bucket of practices that Japanese teachers use to hone their craft, from observing each other at work to discussing the lesson afterward to studying curriculum materials with colleagues. Getting the Software Carpentry Foundation up and running almost immediately pushed that aside, but now that the SCF is up and running, it's time to return to the subject. Discussion of how teaching practices are transferred is part of that; so are two other developments this week. Read More ›

Announcing the 2015 Instructor and Helper Retreat
Bill Mills / 2015-09-22
Update: to stay current, please visit the Etherpad at https://etherpad.wikimedia.org/p/swc-instructor-helper-retreat-2015. The Mentorship Committee is very excited to announce the first ever Software & Data Carpentry Instructors & Helpers Retreat, happening worldwide on November 14. We're inviting all Software and Data Carpentry instructors and helpers to get together at sites around the world for a day of sharing skills, trying out new lessons and ideas and discussing all things instructor and helper related. Read More ›

September 6 - 19, 2015: A Retreat, New Mentors, Instructor Training Update, Preparing Researchers, Interactive Excercises, and a Student's Experience.
Anelda van der Walt / 2015-09-19
Highlights The first Software Carpentry and Data Carpentry instructor and helper retreat will be held on 14 November 2015! Please get involved by hosting a local session or attending one. Remote participation will also be possible. We have seven new members on the Mentoring Subcommittee. Thanks to Rayna Harris, Christina Koch, Sue McClatchy, Mariela Perignon, Phil Rosenfield, Michael Sarahan, and Belinda Weaver for joining us in this important task. Instructor training has been revised. Read the blog to learn about the new plans for 2015 and beyond. Jazib Askari, a remarkable 6th form Student at Altrincham Grammar School for Girls wrote about her Software Carpentry work experience. Recommended Christina Koch mentioned some fun interactive excercises for explaining concepts related to automation and version control in her latest blog. Contribute "What would you teach to prepare researchers better to do good science given the changing technological landscape?" An interesting post by Naupaka Zimmerman about being wrong, provenance, and structured data. What are your ideas? Events Join the Software Credit Workshop on 19 October 2015 in London to participate in the conversation about career advancement for research software developers. Read More ›

Software Credit Workshop in London, 19 October 2015
Shoaib Sufi / 2015-09-18
Securing credit for research software is the subject of the Software Credit Workshop. This is taking place at the Natural History Museum, London, UK on the 19th October 2015. Explore what contributions software can and should make for career advancement. Discuss ways in which you see software tools and applications supporting the current needs of researchers and software developers seeking credit for their involvement in research software. Identify and propose ideas for improving the way software’s contribution to better research are connected and how this should support appropriate reputational credit for research software enablers. Join other funders, publishers, software developers, researchers, leaders, citation experts and altmetrics visionaries to make your thoughts heard and shape the conversation. Find out more and register at www.software.ac.uk/software-credit. Read More ›

Software Engineering Practices in Science
Greg Wilson / 2015-09-16
Dustin Heaton and Jeffrey Carver have just published a paper titled Claims About the Use of Software Engineering Practices in Science: A Systematic Literature Review: Read More ›

Teaching to the Workflow
Naupaka Zimmerman / 2015-09-15
"Teaching to the test" has a deservedly bad reputation, but what about "teaching to the workflow"? A group of us came together at the NCEAS Open Science Codefest last year and put together a paper on open science in ecology. In it, we sketch three examples of possible open science workflows (Figure 2 in the paper). In response, I was asked what Software Carpentry should teach to prepare people for working in those ways. My top three things are (in order): Read More ›

Rebooting Instructor Training
Greg Wilson / 2015-09-14
Instructor training has been key to Software Carpentry's growth, but it was clear by the time our last online class finished in April that we couldn't and shouldn't keep doing it the way we had been: couldn't because of the time it ate up, and shouldn't because it wasn't doing enough to prepare people for actually teaching. After five months of thinking, talking, and revising, we finally have a plan for rebooting the course. We are going to run it twice between now and the end of the year: once in the usual multi-week format, and once more compressed into two full days. We are also going to introduce some preparatory requirements, mentoring for new instructors, and mini-lessons to help ease people into organizing and running workshops. Finally, we will start training a few more people to run instructor training so that we can afford to give trainees more personal attention. The full proposal is included below, and we will be contacting people who have applied for instructor training over the next few days to invite them to take part. I apologize right now for not being able to offer everyone a place right away, but if this reboot goes well—and I think it will—we should be able to start clearing the rest of our backlog soon. Read More ›

Not Quite Lesson Material
Christina Koch / 2015-09-14
Originally posted on the author's blog. Lesson plans are a funny thing. The Software Carpentry lessons are an odd balance of a lesson to be read (like a textbook) and a lesson plan for instructors, where they bring the text to life via speaking, live coding, and doing exercises. This text format doesn't lend itself well to a few activities I've used in Software Carpentry workshops. So I'm going to throw them up here for other instructors to look at - feel free to add your own activities in the comments, or submit another blog post! Read More ›

How Teaching Knowledge Is Transferred
Greg Wilson / 2015-09-13
I hesitate to say so, but I believe that we pedagogues tend to exaggerate greatly the amount of change in educational practice that results from reading what other people say should be done... — Stephen Corey, 1951 Being back in Edinburgh thirty years on has occasioned much reflection upon lessons learned. This has occasioned a re-reading of some papers by Prof. Sally Fincher, whose research group at the University of Kent studies the teaching and learning of computer science. In particular, I have been looking at what they have discovered about how educators share teaching practices. I hope these excerpts and reflections are of interest. (Note: section titles link to papers.) Read More ›

Workshop at the University of Arizona
Uwe Hilgert / 2015-09-13
Software Carpentry Workshop Who: Practicing and aspiring research scientists When: October 3 and 4, 2015 (9am - 5 pm on both days) Where: UA Integrated Learning Center How: Register at http://iplantsc.eventbrite.com Read More ›

Reporting on a Commercial Workshop
Joshua Ryan Smith / 2015-09-09
On August 22, Marty McGuire (@schmarty) and I (@joshua_r_smith) taught a for-profit workshop based on Software Carpentry materials, particularly the novice Python lesson. This post is a debrief of that workshop. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 17
Rayna Harris and Kate Hertweck / 2015-09-09
The mentorship committee held their latest round of debriefing for instructors of recent workshops on Tuesday, September 1. Then, on Friday September 4th mentorship committee met for a regular bi-weekly meeting. Some comments from the committee meeting have made their way into this debriefing post. Read More ›

August 27 - September 5, 2015: Lessons Published, ReScience, SSI Fellowships Open, Interview, and Mailman Threads as GitHub Comments.
Anelda van der Walt / 2015-09-05
Highlights Our lessons are now published! Please find important citation information in the blog post. New You can now publish your computational studies that replicates previous findings in ReScience. The Art of Data Science by Roger D. Peng and Elizabeth Matsui has been published. Greg Wilson's recent CS Education Zoo interview about Software Carpentry is available via YouTube. Contribute Do you know of a tool that can convert Mailman mailing list threads into comments on a GitHub issue? Opportunities Applications are open for the Software Sustainability Institute's Fellowship programme. Apply before 1 October 2015. Read More ›

Our Lessons Have Now Been Published
Greg Wilson / 2015-09-05
It's been a long time coming, but we have finally published Version 5.3 of our core lessons. Please cite them as: Read More ›

Announcing ReScience
Konrad Hinsen / 2015-09-03
It's our great pleasure to announce the creation of "ReScience" which is a peer-reviewed journal that targets computational research and encourages the explicit replication of already published research, promoting new and open-source implementations in order to ensure that the original research is reproducible. Read More ›

SSI Fellowship Applications Open
Shoaib Sufi / 2015-09-02
The Fellowship Programme run by the Software Sustainability Institute funds researchers in exchange for their expertise and advice. The main goals of the Programme are encouraging best practice and gathering information about research software from all disciplines, and encouraging Fellows to develop their interests in the area of software sustainability (especially in their areas of work). The Programme also supports capacity building and policy development initiatives. Read More ›

Running a Code Retreat
Terri Yu / 2015-09-02
I recently attended a scholarship retreat run by Google with about 40 other students. We spent one day doing a "code retreat" and I wanted to share my experience and what I learned about programming. Read More ›

Better Teaching Practices
Greg Wilson / 2015-09-01
It wasn't part of our original plan, but over time Software Carpentry has come to be about better teaching as much as it is about better computing. In aid of that, I would like to offer the following: Read More ›

Three Graphs I Would Like to See
Greg Wilson / 2015-08-31
I spent part of the weekend chatting with a friend in Cambridge who used to be science editor at The Independent and now edits Scientific Computing World. During those conversations, I realized that there are three graphs I'd really like to see: Read More ›

GSoC 2015 Finished
Raniere Silva / 2015-08-30
This year's edition of Google Summer of Code (GSoC) has now finished. We are very happy with the outcome of the work of the three students that worked under the NumFOCUS umbrella that we helped to coordinate. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 16 (morning)
Kate Hertweck / 2015-08-28
The mentorship committee held their latest round of debriefing for instructors of recent workshops on Tuesday, August 18. This post highlights the themes discussed in both the morning and evening sessions. Our participants included multiple levels of experience, including new instructors and experienced instructors who were preparing to teach again soon. The most difficult aspects of their experiences are described below, as well as things that work well and may assist in ameliorating problems. Read More ›

August 18 - 26, 2015: Instructors' Retreat, Applying Discounts, Adding Lessons, Be a Mentor, Undergraduate Training, and Improving RStudio.
Anelda van der Walt / 2015-08-26
Highlights Do you want to meet other Software Carpentry instructors and share your training experience? Let us know when you'll be available for our first Virtual Instructors' Retreat. We've already heard back from 60 people! How do you know if a fee waiver or discount will apply to your Software Carpentry Workshop? Read our new guidelines. Mike Jackson wrote about how easy and rewarding it is to add lessons to the Software Carpentry repertoire. It's inspirational to see the power of openness and collaboration. Contribute Join our mentoring sub committee — it's a great opportunity to simultaneously learn and give back. Share your ideas for a Maths undergraduate Python curriculum with Ian Hawke (and us). RStudio wants to hear from you about how to improve their software for training purposes. An interesting discussion is already under way. Read More ›

Fee Waivers and Discounted Fees
Raniere Silva / 2015-08-24
A couple of weeks ago the Steering Committee met in person and one of the topics discussed was fee waivers and discounted fees for workshops and instructor training. Continue reading for our conclusions. Read More ›

Virtual Instructors Retreat
Tiffany Timbers / 2015-08-24
The Mentoring sub-committee is planning a Virtual Instructors Retreat this fall. The goal of the event is to build community between instructors, as well as give us all a chance to practice our teaching and give and receive feedback from each other. This will be a day-long event where we meet in person with our local community, where possible, and remotely where meeting in person is not possible. World-wide, all groups will also interact with each other via internet conferencing for specific portions of the event. We want as many of our instructors as possible to be able to participate, so please help us to do this by filling out this Doodle poll. Also, we are interested in your ideas about such an event. Please feel free to mail any ideas, comments or questions to the Mentoring sub-committee. Read More ›

What Is ORCID?
Will Fyson / 2015-08-22
Part of being a successful researcher lies in the ability to stand out from your peers, which can be done through making and being acknowledge for valuable and original contributions. Once acknowledged for one discovery this can then act as a springboard to allow your peers to identify your other scholarly contributions, or alternatively identify potential for future collaboration, or be used as a proof of your research skills when applying for further funding. In short, making your work and accomplishments known is crucial to success in academia. Yet whilst so many functions of the academic process hang on the concept of citations and as such the ability to identify the researchers behind a piece of work, the actual means of identifying a researcher is not without its problems. For example how to identify the discoveries and related work of a specific "John Smith" after coming across one of the author's particularly informative publications? How do we keep up to date with a researcher's publications if they change their name? How do we keep track of a successful researcher who works across a number of institutions over the course of their career or who engages in work across a range of disciplines? Read More ›

Join the Mentoring Subcommittee
Raniere Silva / 2015-08-22
The Mentoring Subcommittee is seeking for new members to help with the debriefing sessions and future activities. If you are interested in join us, please send a email to mentoring@lists.software-carpentry.org. Read More ›

Feedback on Math with Python for Undergraduates
Greg Wilson / 2015-08-21
Ian Hawke (who put together these notebooks on testing numerical code) is now putting together some Jupyter Notebooks to teach Python to first-year undergraduates in mathematics. He would be grateful for feedback, and we'd be grateful if you could give him some: we'll learn a lot about what we should teach from seeing what you think he should. Read More ›

Improving RStudio as a Teaching Tool
Noam Ross / 2015-08-20
On Twitter, the RStudio support team requested suggestions for how to make RStudio better as a teaching tool. So I've started an issue on their support site for instructors to chime in with ideas. Go ahead and let them know what would make teaching with RStudio easier and better! Read More ›

Experiences Adding a Lesson on Make
Mike Jackson / 2015-08-20
In June I added a lesson on Automation and Make. In this blog post, I describe how the lesson evolved, my experiences in porting it into the Software Carpentry lesson template, and the community's response... Read More ›

Stickers
Greg Wilson / 2015-08-18
Want to dress up your laptop? Software Carpentry stickers are now available from Sticker Mule. All proceeds will go to the Software Carpentry Foundation. Read More ›

August 3 - 17, 2015: Data Carpentry Funded, Citations, Improving Our Lessons, and Lab Data Management.
Anelda van der Walt / 2015-08-17
Highlights Fantastic news from our sibling organisation, Data Carpentry, who received USD 750,000 in funding from the Gordon and Betty Moore Foundation. Contribute Do you have suggestions for the citation format of our lessons? Should all contributers be named? Please participate in this discussion to help us move forward with making our lessons citeable. How can we improve the next version of our Python 3 lesson? Contribute to the discussion before September when content of the next release will be decided upon. Meanwhile, a few posts focussing on preparing for and teaching various lessons have appeared over the past months. You can help improve what and how we teach by sharing your experience in terms of content, format, and preparation for teaching at a Software Carpentry workshop. Have you designed and built a data management system for your lab or project? Please share your experience to help us rethink how we teach databases and their integration with other tools. Read More ›

Science Track at PyCon UK 2015
Sarah Mount / 2015-08-17
Today, researchers in the sciences, humanities and arts, all use code as an everyday part of their work. Often such code is written using the popular Python programming language. Thanks to generous funding from the Software Sustainability Institute, PyCon UK will have a track for scientists and other researchers who want to improve their coding skills, learn from colleagues, and discover new ways in which Python and its community can support their work. Read More ›

Prepping for the Python Lesson
Greg Wilson / 2015-08-16
Inspired in part by Byron Smith's post about trimming our standard Python lesson, Christina Koch has written a post of her own about preparing to teach that lesson. She organizes her discussion around the motivating question that opens the lesson: "We have to accomplish a task (reading in data, analyzing and plotting it) by writing a program. How can we be smart about it?" It's a good read, as it shows how an experienced instructor thinks about (re-)designing teaching material. I hope her conclusions will feed into our discussion of how to revise the lesson (which we're going to decide in September). Read More ›

Teaching in Bali
Areej Alsheikh / 2015-08-14
On July 2015, I was fortunate to receive an invitation to the first international workshop of the Diversity of the Indo-Pacific Network (DIPnet), which explains the "Bali" part, in order to teach R and the Unix command line during the first two days. The weeklong workshop was co-hosted by the Hawai'i Institute of Marine Biology and Indonesia Biodiversity Research Center (IBRC), and lead by Dr. Eric Crandall from CSU Monterey Bay. The theme of the workshop was "Molecular Ecology and Bioinformatics in Developing Countries", which featured lectures and labs developed by the invited participants in their area of expertise. For this, a two-day software carpentry workshop was very much needed to begin the week and prepare all participants for the computational sessions coming up in the week. Read More ›

Checking What We Teach
Greg Wilson / 2015-08-14
Back in May, Jonathan Klaasen wrote a post about setting up a lab data management system. After re-reading it, I think it's a good reality check on what we teach about databases: from what I can tell, we cover most of the information management needs that Jonathan touches on. I also think it could be a great motivating example for a lesson on databases, and on how to combine them with other tools like shell scripts. If you've ever built or used something like what Jonathan describes, I'd be grateful for comments describing where your setup is the same and where it's different. Read More ›

Trimming the Python Lesson
Greg Wilson / 2015-08-13
We are close to releasing a new version of our standard Python lesson that uses Python 3 instead of Python 2. As soon as that's done, we're going to warm up this discussion about fixing that lesson. One new contribution to that is this post by Byron Smith about how he trimmed the existing lesson. If you have other experiences or comments, please add them to this GitHub issue so that we can make decisions in September about what to include in Version 5.4 in November. Read More ›

Data Carpentry Receives Grant from the Moore Foundation
Greg Wilson / 2015-08-13
Reposted from the Data Carpentry blog. We are extremely pleased to announce that Data Carpentry has received $750,000 in funding from the Gordon and Betty Moore Foundation. Read More ›

Publishing, Metadata, and Being Ahead of the Curve
Greg Wilson / 2015-08-12
As described in earlier posts, we are publishing our Version 5.3 lessons through Zenodo to make it easier for people to cite them. We're getting closer, but there are still a few bumps in front of us, and we would like our readers to help us figure out what to do next. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 15
Kate Hertweck and Tiffany Timbers / 2015-08-07
The most recent installation of instructor debriefings by the mentoring subcommittee was held on August 4 to discuss recently completed workshops. We were joined by new instructors as well as a number of very experienced instructors (some of whom also maintain lesson repos), who all taught recently or are preparing to teach workshops. We highlight below a few of the main points from our discussions, including interesting new ideas, things that worked well, and things that were difficult. Read More ›

A Workshop for Undergraduates at UC Berkeley
Kunal Marwaha / 2015-08-06
We ran a workshop for undergraduates at UC Berkeley on July 9-10, 2015. This was a quickly planned workshop from concept to completion (~19 days). I was excited to run a workshop geared towards undergraduates, especially those involved in research projects in the summertime. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 14
Sheldon McKay / 2015-08-04
On July 21 the mentorship team ran the 14th round of instructor debriefing session and received feedback from workshops at the NIH, UC Berkeley and UC Davis. Read More ›

July 23 - August 2, 2015: Online Survey Still Open, Recorded Lessons Available, and Another WiSE Workshop Coming Up.
Anelda van der Walt / 2015-08-02
Highlights Complete the online SWOT survey before 5 August to help steer Software Carpentry in the right direction over the next few years. Software Carpentry lessons from SciPy 2015 were recorded and is available in YouTube. Opportunities We're developing a template to provide solutions to challenges in a sensible way. Please share your ideas for a template with us. Events Another workshops for women in science and engineering will be held at UC Davis on August 17-18, 2015. Read More ›

SciPy 2015 Workshop Videos
Matt Davis / 2015-07-29
Software Carpentry was pleased to present a full two-day workshop during the recent SciPy Conference tutorials. The entire conference was recorded, including all sessions of our workshop: Shell Python Git Scientific Python The course materials are accessible via the workshop webpage and GitHub repo. The course would not have been possible without the help of several Software Carpentry members: Azalee Bostroem, Matt Davis, Jess Hamrick, Ted Hart, Katy Huff, Thomas Kluyver, Jens Nielsen, April Wright, and Elizabeth Seiver. Many thanks to these talented folks and to the SciPy organizers for inviting us! Read More ›

Solution for the Challenges
Raniere Silva / 2015-07-28
One of the enhancement that we have in mind for the next release of our lessons is to provide the solution for the challenges. Having the solutions will help instructors speed up when preparing the lesson for workshops and learners reading the lessons. Before we start adding the solutions will be great to have one template for how it should be write. If you have some suggestions, please add it at this issue on GitHub. Read More ›

WiSE Workshop at UC Davis Aug 17-18
Greg Wilson / 2015-07-23
We are pleased to announce that the latest in our series of workshops for women in science and engineering will be held at UC Davis on August 17-18, 2015. This workshop is aimed at those in science, engineering, medicine, or related fields who identify as women, female, or on the non-binary spectrum. Our instructors are experienced with creating safe spaces for those on the trans* spectrum, and one openly identifies as a trans woman; ensuring that we maintain an inclusive environment is a top priority for this workshop. For more information, or to register, please see the workshop website. Read More ›

July 07 - 22, 2015: Hiring an Executive Director, Strategic Planning, SWC-inspired Book, Open Research Repository, AMY version 0.6, and New Team Members.
Anelda van der Walt / 2015-07-23
Highlights Software Carpentry is entering the next phase and will be hiring a new Executive Director. Please apply if you are passionate about the mission of the Software Carpentry Foundation! Do you want to help steer Software Carpentry in the right direction over the next five years? Help us by completing a short anonymous SWOT survey. Changes Two new coordinators, Maneesha Sane and Katarzyna Zaczek, have joined the Software Carpentry team, and we're saying goodbye to Amy Brown. We've changed the workshop administration fees. Please read the post for details. Resources "Effective Computation in Physics" written by two Software Carpentry instructors, Anthony Scopatz and Katy Huff, is now available. An Open Research Glossary generated through a crowd-sourcing effort with a number of named contributors is now available. AMY version 0.6 has been released with a long list of new features and some fixes. Read More ›

A Pair of Workshops
Greg Wilson / 2015-07-23
Do you know your options for software licensing? Have you heard of new funders' requirements for software sharing? This workshop in Cambridge (UK) on Monday, September 14, is your chance to get expert advice on these and other questions about software licensing. Speakers include Neil Chue Hong, the Director of the Software Sustainability Institute, and Shoaib Sufi, the SSI's Community Leader. The event is open to everyone and you are welcome to bring your questions to the workshop. There will lots of opportunities to discuss your queries at the sessions and during the dedicated networking lunch. For more information, please see the workshop's website. There is also a workshop on Monday, October 19, at the Natural History Museum in London on getting credit for software. This workshop will explore what contribution software can and should make for academic reputational credit; i.e., how can the production of software tools and applications contribute to career advancement in the academic research setting for both researchers who build software as part of their research and developers who build tools and support research. Read More ›

Changes to Workshop Administration Fees
Greg Wilson / 2015-07-20
After discussion with our Advisory Council and Data Carpentry, we have agreed to make some changes to the administration fee we charge for workshops that we help organize in order to reflect the real cost of our staff's time and our overheads, and to reflect the value of the training. Please see the workshop request page for the updated pricing information. Read More ›

Welcome Maneesha and Katarzyna
Greg Wilson / 2015-07-20
We are very pleased to announce that Maneesha Sane (pronounced "sah-nay") will be joining us in August as our new Program Coordinator. Having coordinated and managed public events and mentoring programs for several organizations in the Philadelphia area, Maneesha retrained as a software developer. She has been managing events and matching mentors to learners for over a decade, and we are looking forward to working with her. Read More ›

Top 10 Myths about Teaching CS
Greg Wilson / 2015-07-18
Mark Guzdial (whose blog has been a frequent inspiration) recently wrote an article title Top 10 Myths about Teaching Computer Science: The lack of women in Computer Science is just like all the other STEM fields. To get more women in CS, we need more female CS faculty. A good CS teacher is a good lecturer. Clickers and the like are an add-on for a good teacher Student evaluations are the best way to evaluate teaching. Good teachers personalize education for students' learning styles. High schools just can't teach CS well, so they shouldn't do it at all. The real problem is to get more CS curriculum out into the hands of teachers. All I need to do to be a good CS teacher is model good software development practice, because my job is to produce excellent software engineers. Some people are just born to program. Read More ›

Help Software Carpentry's Strategic Planning
Adina Howe / 2015-07-18
The SCF Steering Committee is undertaking a strategic planning process that will help us to identify the SCF's working priorities for short- and long-term success, based on input from you. Your input is crucial—we are beginning the process by asking that you identify key Strengths, Weaknesses, Opportunities, and Threats (SWOT) facing SCF over the next five years via this anonymous survey. We will review the survey results, summarize key issues, and develop a summary and plan that addresses the issues raised. To help, please fill in the SWOT Survey. Note that the survey asks for 3 answers for each strengths, weaknesses, opportunities, and threats but you may fill out more or less as you see fit. Please fill out the survey only once and by August 5, 2015. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 13
Raniere Silva, Sheldon McKay, Tiffany Timbers / 2015-07-18
Last week the mentorship team ran the 13th round of instructor debriefing session and received feedbacks from the workshops at Brigham Young University (check Belinda's post about it), Johns Hopkins University, Notre Dame University, Pennsylvania State University, the Jackson Laboratory, the University of Queensland, the University of Hawaii at Manoa, and the University of Toronto - Women in Science and Engineering (check Pauline's post). Read More ›

AMY Version 0.6
Piotr Banaszkiewicz / 2015-07-18
Yesterday was the release day for AMY v0.6.. Here's what's new and what's changed in this release. Read More ›

The Open Research Glossary
Ross Mounce / 2015-07-16
It's been knocking around for a while now, but this week saw a big new release of the Open Research Glossary, a crowdsourced glossary of terms, acronyms, tools and concepts in and around open science. There's a lot of jargon in this area and it's often a barrier to understanding for the uninitiated. For example: 'green', 'gold', 'diamond' and 'hybrid' open access are shorthand terms which aren't always fully understood. The alphabet soup of acronyms are even worse! Take SHERPA/RoMEO for instance: it's a brilliant resource for checking author self-archiving rights relative to publisher-imposed restrictions and embargoes, but the name 'SHERPA/RoMEO' doesn't exactly make that clear. This glossary aims to elucidate all the need-to-know terms in open scholarship. Read More ›

Teaching with Jupyter
Jessica Hamrick / 2015-07-14
We had a great birds of a feather session at the SciPy conference last week and decided to create a mailing list specifically for instructors who are interested in using the Jupyter Notebook for teaching. The aim of the mailing list is to provide a place for instructors to share materials, strategies, advice, etc. on teaching with the notebook and the logistics that are involved with that. If you're interested in joining the mailing list as well, you can add yourself at https://groups.google.com/forum/#!forum/jupyter-education Read More ›

Software-Carpentry-Inspired Book: Released and On Sale!
Katy Huff / 2015-07-14
We're excited to announce the official release of "Effective Computation In Physics". This book was written by two Software Carpentry instructors, Anthony Scopatz and myself, Katy Huff. We were enormously inspired by the vision and work of the Software Carpentry community and expanded on that vision in the book to create a "field guide to research in Python." While examples and more advanced content are presented in the context of research in the physical sciences, the majority of the book will be useful to all researchers doing scientific computation. In book form, we were able to dive in and expand on best practices more deeply and more extensively than is possible in a workshop. We're extremely proud to have created "SWC in a book" as instructor Daniel Chen recently described it. You (or your students and colleagues) can even get a 50% discount if you grab it before July 17th using the code: WKPYDP. Read More ›

What I Learned in Brisbane
Belinda Weaver / 2015-07-07
Not a single negative was recorded about the people either teaching or helping out at the Brisbane Software Carpentry bootcamp last Thursday and Friday (2-3 July). There were a lot of positive comments though: The workshop is great with passionate instructors All the helpers in the room are very helpful and fun Excellent support from helpers Instructors readily available to help especially when falling behind or [we] need help understanding codes Read More ›

Congratulations to Project Jupyter
Greg Wilson / 2015-07-07
This is wonderful news: the Helmsley Charitable Trust, the Alfred P. Sloan Foundation, and the Gordon and Betty Moore Foundation have just pledged $6M over three years to Project Jupyter (formerly known as the IPython Notebook). Fernando Perez of University of California, Berkeley and Lawrence Berkeley National Laboratory and Brian Granger of California Polytechnic University, San Luis Obispo will lead the project. Congratulations to them, their team, and their community—this is well deserved, and will help scientists all over the world in ways we cannot yet even imagine. Read More ›

June 29 - July 06, 2015: Research Software Engineers, Not Changing Lesson Build Tools, and Moving to Python3.
Anelda van der Walt / 2015-07-06
Highlights Do you know what a Research Software Engineer is or why we desperately need to recognise the role RSEs are playing in research? Read about the history of RSEs and a fellowship programme available for RSEs in the UK. Version 5.4 of our lessons will be released at the end of November, rather than mid-August, and lesson build tools will remain unchanged until then. Most importantly we'll be changing the Python lessons to run on Python 3. Contribute Are you looking for other ways to contribute to Software Carpentry? Visit our Projects page to see an exciting list of opportunities for you to get involved. Read More ›

Our Next Big Step
Greg Wilson / 2015-07-06
With Software Carpentry's rapid growth over the past couple of years, the combined responsibilities of being the Executive Directory and running the instructor training program have become more than a single person can manage. And after five years of working to grow Software Carpentry into the world-wide community it has become, I'd like to spend more time with my family. The Software Carpentry Foundation is therefore hiring a new Executive Director. I will transition to running instructor training so that the new ED can devote themselves to building relations with partners, overseeing the development of our curriculum, being Software Carpentry's spokesperson, and working with the Steering Committee to set our future direction. Our new hire will initially be co-Executive Director, and will job-share with me during a brief transition period, after which they will become the new ED. This is the next logical step in Software Carpentry's evolution, and one that we have been working toward for more than a year. As with the election of the Steering Committee in January, it's a sign that Software Carpentry is here to stay, and nothing could make me prouder. Read More ›

Hiring a New Executive Director for Software Carpentry
Greg Wilson / 2015-07-06
The Software Carpentry Foundation seeks to hire a new Executive Director to build relations with partners, oversee the development of our curriculum, be Software Carpentry's spokesperson, and work with the Steering Committee to set our future direction. The successful candidate will initially be co-Executive Director, and will job-share with the current Executive Director during a brief transition period, after which they will become the new ED. To apply, please send email to admin@software-carpentry.org by July 31, 2015 with "Co-Executive Director" in the subject line, and include: A brief resume or CV (approximately two pages). A brief statement (approximately two pages) of what you would hope to accomplish in your first year as Executive Director. Please also include a paragraph about any work you may have done with Software Carpentry in the past and another about your experience working with other volunteer organizations. We will begin interviews immediately after July 31, and hope to have someone in place no later than the end of August. Read More ›

Pushing Back
Greg Wilson / 2015-07-01
A week ago, we posted a proposal to use Jekyll to build our lessons rather than Pandoc. The immediate reaction was almost uniformly positive, but in the days since, people have pushed back on two fronts: Read More ›

What is a Research Software Engineer?
Greg Wilson / 2015-06-29
By now, many people in the UK (well, many of the sort who read this blog) will have heard the term Research Software Engineer, but what exactly is an RSE, and what effect will the creation of this title have? To understand, we need to go back to the Software Sustainability Institute's Collaborations Workshop in early 2012 (summarized in these blog posts and others). Those discussions led to this position paper at Digital Research 2012, whose authors argued that: Read More ›

June 17-28, 2015: A Lesson on Make, AMY 0.4 Released, Opportunities to Contribute, Practical Tips for Running Workshops, and Appointing a Program Coordinator.
Anelda van der Walt / 2015-06-28
Vacancies Software Carpentry is hiring a Program Coordinator. Please see the blog post for more information. Highlights A new lesson on Make has been added to the Software Carpentry repertoire. AMY 0.4 was released. New features are listed in the blog post. Contribute Would you like to contribute by recycling previously submitted assessment excercises and adding the best ones to our lessons? It can now easily be done by visiting the newly created repo of submitted MCQs and exercises. Learner assessment has been receiving a lot of attention over the past months. A first draft of the new feedback survey is now available. We're looking forward to your comments/contributions. Should we change our lesson templates to make use of Jekyll rather than Pandoc? Please contribute to the discussion to help us make an informed decision. Greg Wilson summarised lessons learned from teaching instructors. There is again an opportunity for you to contribute to the direction instructor training takes in future. Let us hear from you? Useful Tips Splitting the terminal window allows the instructor to display recent commands while continueing with the lesson at the same time. Read the post by Raniere Silva to see how it's done. Read More ›

Training Lessons
Greg Wilson / 2015-06-26
I wrote about our experiments with the format of instructor training back in May. At that time, we had run the class as: a multi-week online class, an in-person two- or three-day class, and a mixed mode with the trainees physically together for two days with the trainer coming in via teleconference. We have since tried the mixed mode twice with the trainees at three different sites (three universities in Arizona for one run, and universities in Cape Town, Sheffield, and Ann Arbor for the other). We've also gathered a lot of feedback on what people want from instructor training and what its prerequisites should be. Here's what we've learned. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 12
Kate Hertweck / 2015-06-26
The mentoring subcommmittee hosted instructor debriefings on 23 June 2015 to discuss recently completed workshops. We are delighted that so many new instructors are joining us at these sessions as a way to prepare for upcoming workshops, and welcome anyone else interested to attend as well. Below we highlight a few discussion points from our sessions, including issues with lesson pacing and Python installation, as well as tips on using the etherpad and GitHub organizations. A more in-depth synopsis of a recent workshop can be found in this fantastic post on Raniere Silva's blog. Read More ›

Workshop at CERN
Raniere Silva / 2015-06-25
At the beginning of June Rémi Emonet, Kwasi Kwakwa, and Chelsea Chisholm ran a workshop at CERN. Rémi has just posted a review. It went well, and there are a lot of good ideas in his write-up—from using a whiteboard for diagrams to the IPython Notebook's successor (Jupyter) and some semi-improvised intermediate material. Read More ›

Using Jekyll for Lessons
Greg Wilson / 2015-06-24
A recurring complaint about our lesson template is that it requires authors to commit generated HTML files to their repositories as well as their Markdown source files. This is necessary because we use Pandoc to convert Markdown to HTML, but GitHub will only run Jekyll. There were a bunch of reasons for using Pandoc instead of Jekyll, but it is now clear that the simplicity of only committing Markdown—i.e., of using GitHub pages the way they're meant to be used—is more important. We have therefore created a prototype of a Jekyll-based template (which is rendered here). The most important changes are: Read More ›

Assessing Our Learners Part I
Daniel Chen / 2015-06-23
Three weeks ago, Jason Williams, Jeramia Ory, and Daniel Chen met at the New York Public Library to work out an initial survey to assess our learners. Greg Wilson and Katerena Kuksenok joined virtually to provide feedback. The goal was to take the comments from the various initial GitHub issues and create a draft of an assessment survey for everyone to provide input. Our first draft is up, so please provide feedback at https://github.com/swcarpentry/assessment/issues/6. Read More ›

Another Good Workshop in Brazil
Greg Wilson / 2015-06-23
The indefatigable Raniere Silva has just posted a description of a workshop at the University of Ceará that he and Dani Ushizima just finished teaching. It went well, and there are a lot of good ideas in his write-up — please check it out. Read More ›

Program Coordinator Position Available
Greg Wilson / 2015-06-22
Software Carpentry has grown and grown again since our re-launch in 2010. We are now helping thousands of scientists every year, and while many of our partners and instructors are now organizing workshops on their own, a lot of details still need to be sorted out to keep the whole show on the road. We therefore wish to hire a Program Coordinator to manage our day-to-day operations. This paid position will initially be part-time, but we expect that it will convert to full-time after a probationary period if funding allows. The successful candidate does not need to be either a programmer or a scientist, but must be well-organized, and can be located anywhere with reliable Internet access. The full description is included below; to apply, please email admin@software-carpentry.org with "Program Coordinator position" in the subject line and a resume (either attached as PDF, or a link to something online). And please help us spread the word: we're a fun bunch to work with, and this would be a chance for someone to help a lot of scientists get more done in less time, and with less pain. Finally, I'd like to take this opportunity to thank Arliss Collins for all her hard work over the past year and a half. She is moving on to other duties now that our relationship with the Mozilla Science Lab has ended, but we couldn't have gotten through the past eighteen months without her. I'd also like to thank Amy Brown, who has come back to keep things going while we search for someone permanent, and welcome Kasia Zaczek, who is about to start handling workshops for us in Europe on behalf of Cyfronet in the same way that Giacomo Peru and Aleksandra Pawlik have been handling them in the UK on behalf of the SSI. Here's hoping that one day, somewhere, we can all get together for a group photo... Read More ›

Splitting the Shell Window
Greg Wilson / 2015-06-21
Raniere Silva has written a short post about a trick he found (via Kate Hertweck) for splitting the terminal window when teaching the shell so that recent commands stay visible at the top. It's a clever idea; we would welcome feedback from other instructors who have tried it or similar things. And if you have tricks of your own that you'd like to share, please let us know—we'd be happy to feature them here. Read More ›

Research-Based Course Design
Greg Wilson / 2015-06-21
I've written before about the breadth and depth of Juha Sorva's work on computing education. His latest contribution is a paper co-authored with Otto Seppälä titled "Research-Based Design of the First Weeks of CS1". In it, they tie the specifics of the new intro programming class at Aalto University directly back to CS education research. More specifically (from their abstract): Read More ›

Recycling Training Course Material
Greg Wilson / 2015-06-21
Over the past two years, more than 200 people have written multiple choice questions and other assessment exercises as part of Software Carpentry instructor training. Many of these are very good, some are excellent, and they all deserve a second look to see whether they should be integrated into our lessons. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 11
Tiffany Timbers and Kate Hertweck / 2015-06-19
We held our 11th round of instructor debriefing last week where we discussed the Software Carpentry workshops held at the University of Oslo, University of Connecticut, University of Campinas, University of the Basque Country, Lawrence Berkeley Lab, Berkeley Institute for Data Science, Murdoch Childrens Research Institute, and Oklahoma State University, as well as a Data Carpentry workshop at the National Data Integrity Conference at Colorado State University. At this debriefing we also had 3 new instructors join us (who have yet to teach a workshop but will be teaching one in the near future) to gain an insight about what works (and what doesn't) at our workshops out in the wild. Read More ›

Amy Version 0.4
Piotr Banaszkiewicz / 2015-06-19
Today's the deadline for AMY v0.4. It contains a bunch of usability fixes, so all our admins should be happy :-) Read More ›

Why I Am Not Excited About Julia
Greg Wilson / 2015-06-18
If you hang out in scientific programming circles, you're probably heard of Julia by now. If you don't, or you haven't, it is: Read More ›

Software Development Practices in Academia
Greg Wilson / 2015-06-18
Derek Groen, Xiaohu Guo, James Grogan, Ulf Schiller, and James Osborne have just submitted a paper to arXiv.org titled "Software development practices in academia: a case study comparison". From the abstract: Academic software development practices often differ from those of commercial development settings, yet only limited research has been conducted on assessing software development practises in academia. Here we present a case study of software development practices in four open-source scientific codes over a period of nine years, characterizing the evolution of their respective development teams, their scientific productivity, and the adoption (or discontinuation) of specific software engineering practises as the team size changes. We show that the transient nature of the development team results in the adoption of different development strategies. We relate measures of publication output to accumulated numbers of developers and find that for the projects considered the time-scale for returns on expended development effort is approximately three years. We discuss the implications of our findings for evaluating the performance of research software development, and in general any computationally oriented scientific project. Read More ›

Adding a Lesson on Make
Greg Wilson / 2015-06-18
We are very pleased to announce the addition of a lesson on automation and Make, which was created by the SSI's Mike Jackson and Steve Crouch. The repository contains everything you need to teach it, and pull requests are very welcome. Read More ›

Get More Done in Less Time
Greg Wilson / 2015-06-17
Over the past year, Alexandra Simperler has interviewed participants in Software Carpentry workshops to find out what impact we've actually had on their work. Her results are now available on arXiv.org: The aim of this study was to investigate if participants of Software Carpentry (SC) get more done in less time. We asked 32 questions to assess 24 former participants to analyse if SC gave them the computing skills to accomplish this. Our research shows that time was already saved during the workshop as it could shorten the learning process of new skills. A majority of participants were able to use these new skills straight away and thus could speed up their day to day work. Like Jory Schossau's study, Alexandra's work shows that workshop participants believe we're making their lives better. Read More ›

June 10-16, 2015: Software Carpentry is Saving Time, Lessons Version 5.4, Greg's Time, Our Project List, and a Lesson on Reproducible Research.
Anelda van der Walt / 2015-06-16
Highlights Software Carpentry get more done in less time is the latest publication about Software Carpentry and the impact it's having on research. It reports research done by Alexandra Simperler and is available at arXiv. Version 5.4 of our lessons is currently in the pipeline and due for release in the middle of August. Please join the discussions and participate in addressing new and existing issues to help us reach our next milestone. Over the last few months a lot has improved in the way Software Carpentry operates. Greg Wilson revisited some changes and the impact on how his time is spent six months after election of the Steering Committee. Do you want to know how you can help to move Software Carpentry forward? Take a look at our project list or get in touch. There are loads of opportunities for people with a wide variety of skills. Resources Titus Brown posted a lesson on reproducible research on YouTube. Read More ›

Updating the Project List
Greg Wilson / 2015-06-15
Updating my description of where my time goes made me realize that our list of things we need help with had fallen out of date. The highlights are below; please see the projects page for details, and get in touch if you'd like to help. Read More ›

A Lesson on Reproducible Computational Analysis
Greg Wilson / 2015-06-15
Titus Brown has recorded a two-hour lesson on reproducible computational analysis and posted it to YouTube. Many thanks to the folks at ICER for making it available. Read More ›

Where the Time Goes (Version 2)
Greg Wilson / 2015-06-14
Last November, I wrote a post about where my time was going. A lot has changed since then, including my workload, so here's an update: Read More ›

Routinely Unique
Greg Wilson / 2015-06-14
Back in April, Jeffrey Chang wrote wrote an article for Nature in which he pleaded for those who analyze bioinformatics data to be recognized as creative collaborators in need of career paths. In it, he observed: To give greater support to researchers, our centre set out to develop a series of standardized services. We documented the projects that we took on over 18 months. Forty-six of them required 151 data-analysis tasks. No project was identical, and we were surprised at how common one-off requests were. There were a few routine procedures that many people wanted, such as finding genes expressed in a disease. But 79% of techniques applied to fewer than 20% of the projects. In other words, most researchers came to the bioinformatics core seeking customized analysis, not a standardized package. Read More ›

Running a Remote Workshop in South Africa
Laurent Gatto, Anelda van der Walt, David Merand / 2015-06-13
Last month we ran a workshop at Stellenbosch University in South Africa. The workshop instructors were Laurent Gatto (from the UK - coming in as remote instructor), and two local instructors - David Merand and Anelda van der Walt. We had four helpers in the room and 32 participants. Read More ›

Warming Up for Version 5.4
Greg Wilson / 2015-06-12
It's time to start thinking about what should be in Version 5.4 of our lessons (which we plan to release in the middle of August to get us through to the end of the year). We have opened a discussion ticket for each of the core lessons on GitHub; please add your thoughts there. Unix shell Git Mercurial SQL Python R MATLAB Read More ›

Why We Can't Have Nice Things
Greg Wilson / 2015-06-11
In the beginning, there were tables: rows upon rows, with columns separated by commas or tabs or something more exotic. They were elegant but limited, so programmers said, "Let there be XML!" And lo, there came a great wailing and gnashing of teeth, for who among us can truly comprehend external (parsed) general entity declarations and the encoding thereof? Read More ›

Teaching at NIH
Fan Yang / 2015-06-11
Reposted from Fan's blog. I just finished my two day software carpentry workshop held at National Cancer Institute (NCI), Rockville, MD. The course went for 2 days, from June 9th to June 10th and taught by Jonathan Guyer, Adina Howe, and I. I was in charge of the unix shell and version control (git) sessions (Also many thanks to Dilip Banerjee, Lynn Young for the help!). Personally, I think the course went really well but there are definitely things I could adjust and improve in the future. Below is the run downs. Read More ›

Call for Chapter Proposals: Software Engineering for Science
Jeffrey Carver / 2015-06-10
With the continuing increase in the importance and prevalence of software developed in support of science, there is a need to gather a set of best practices and case studies to serve as a standard reference book. We are producing a peer-reviewed, edited book to address this need. The book will be composed of chapters related to one of three topics that address the important needs. The book will have three sections, each related to one of those topics. The outline below enumerates those sections along with examples of the types of chapters that would fit within those sections. We solicit proposals from interested authors. Chapter proposals should fit into one of the following book sections. Read More ›

May 29 - June 9, 2015: New Lesson About Data, SWC at ScipPy 2015, Updating our Lesson Templates, and Amy 0.3.
Anelda van der Walt / 2015-06-09
Highlights Our latest addition to the Software Carpentry curriculum focuses on using Python to work with data on the web. We've created an ambitious list of proposed improvements to our lesson templates and aim to have it implemented by September. Please add your comments or help us improve the templates. Amy 0.3 has been released and include several improvements that will make administrators' lives easier. Events One of the aims of running a Software Carpentry workshop at SciPy 2015 is to provide Python novices with the basics ahead of the conference. There are still spaces available for the workshop. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 10
Sheldon McKay / 2015-06-09
The mentorship team ran the 10th round of instructor debriefing session on May 26. Thanks to David Dotson, Daniel Chen, Sahar Rahmani, Christina Koch, David Merand and Laurent Gatto for feedback on their workshops. Rémi Emonet and Fan Yang, instructors at upcoming workshops, also attended. Read More ›

Updating the Lesson Template
Greg Wilson / 2015-06-07
A couple of weeks ago, we asked our lesson maintainers what changes they would like to see in our lesson template based on their experiences getting Version 5.3 ready for publication. Their comments are summarized below; it's an ambitious list, but I think we can do most or all of this between now and September. If there are other things you think we should change in the way we structure lessons (rather than in particular lessons themselves), please add comments, and if you'd like to dive into one of these, please checkout the current lesson-template issues and create a pull request against the lesson-template repository. Read More ›

An Update on Publishing Our Lessons
Greg Wilson / 2015-06-07
Just a quick update on publishing our lessons: we prepared the release on schedule, uploaded it to Zenodo, and then discovered that we couldn't actually specify editors through their web interface, only authors, even though "editor" is an allowed value in the metadata. We also couldn't specify "lesson" as a type: our choices were "publication" (which is pretty generic) or "presentation" (which isn't quite right). Figshare and COS wouldn't let us do this either, but Zenodo is now working on it. They hope to release it by the end of June, at which point we'll wrap this up. Read More ›

Teaching at Monsanto
Will Trimble and Asela Wijeratne / 2015-06-07
As we discussed in April, the Steering Committee decided to run a small number of workshops for companies this year in order to see how our material would work for them, and whether they'd be willing to pay a higher administration fee that we could then use to underwrite workshops for people who might not otherwise be able to host one. The first of these workshops was held at Monsanto, and seems to have gone well: experience reports from two of the instructors are included below, and we hope to repeat the experiment for other companies in the coming months. (If you know a firm that would like our help, please do introduce us.) Read More ›

A Remote Workshop at the University of Campinas
Greg Wilson / 2015-06-07
Raniere Silva has posted a summary of a workshop at the University of Campinas at which Jennifer Shelton, Maneesha Sane, and Natalie Robinson taught over the web. 23 learners from 3 countries enjoyed lessons and pizza, and we learned a few more things about how to teach remotely. Read More ›

Amy Version 0.3
Greg Wilson / 2015-06-07
Version 0.3 of Amy, the web application we're building to manage workshops, has just been released. Among the improvements are: many UI upgrades autocompletion password and permissions management an easier way to award badges and many others It's already making our admins' lives better, and there are lots more improvements in the works. For details, please see Piotr Banaszkiewicz's recent blog post. Read More ›

Software Carpentry at SciPy 2015
Matt Davis / 2015-06-05
This year at SciPy 2015 Software Carpentry is excited to be running a full two-day workshop during the tutorials that precede the main conference. We'll be covering our standard topics of shell, introductory Python, and version control with Git. We'll also be teaching a unit introducing the basic libraries of scientific Python. Attendees need not have any experience with the topics we cover. We have our usual goals of helping scientists do more in less time with less pain, but at SciPy we also have a bonus goal of easing Python novices into the conference. A technical conference can present a steep learning curve to people unfamiliar with the field and we hope that a Software Carpentry workshop beforehand will give attendees a boost before wading into the conference deluge by exposing them to basic Python concepts and fundamental scientific Python libraries. There is still plenty of room in the Software Carpentry tutorial, so if this seems useful to you please register with SciPy. And if you know anyone who would benefit from a workshop and would be interested in the conference please share this with them. Hope to see you in Austin! Read More ›

Teaching Biocomputing at UT
Greg Wilson / 2015-06-03
Becca Tarvin has just posted an article about her experiences teaching biocomputing at the University of Texas. Like last month's report on teaching geoscientists, it's a welcome chance to compare what Software Carpentry does with what's possible in more conventional academic settings. As Becca says in summary: From student surveys we note that students benefit greatly from our online resources, including cheatsheets, markdown lessons, and example code, and they like live-coding more than PowerPoint presentations. Although it's difficult to keep attendance up over the semester, the students that attend/use the online resources greatly improve their coding abilities. We are working to improve the accessibility of our course to all levels of programmers by offering additional resources including Open Coding Hour and by creating an online forum. Read More ›

Workshop at OU Libraries
John D. Corless / 2015-06-01
During 19-20 May 2015, I taught a Software Carpentry workshop at the University of Oklahoma (OU) at their fantastic Bizzell Memorial Libary with Jonah Duckles, Logan Cox, and Jeremiah Lant. Jonah and I taught in one room, and Logan and Jeremiah in the other (about 30 students in each room). Tuesday morning was the Shell with Jonah, Tuesday PM and Wednesday AM was Python with me (except the command line section which Jonah covered), and Wednesday PM was git with Jonah. This was my first time teaching the workshop so I decided to write up my observations and student feedback. Read More ›

Working With Data on the Web
Greg Wilson / 2015-06-01
We have just added a new short lesson called Working With Data on the Web to our repertoire. If you would like to help us improve it, please fork it on GitHub and send us comments or pull requests. Read More ›

May 19 - 28, 2015: New Learner Assessments, Remote Instructor Training, Coding for Librarians, and Evolution of a Geoscience Computing Course.
Anelda van der Walt / 2015-05-28
Highlights Software Carpentry instructors are encouraged to help develop new assessments for learners by suggesting questions that should be asked of learners. A two-day remote instructor course will be trialed across three sites on June 8-9. Watch this space for feedback about the experience. Resources Andromeda Yelton has produced a wonderful resource for librarians who code (or want to code) in the form of six articles titled "Coding for Librarians: Learning by Example". Christian Jacobs, Gerard Gorman, and Lorraine Craig's paper on the evolution of their geoscience computing course and the influence of Software Carpentry is available from arxiv.org. Read More ›

A Few Articles on Education
Greg Wilson / 2015-05-25
Over the past year, I've come to realize that Software Carpentry will only work if knowledge flows in several directions. Scientists need to learn about software development, but software developers need to learn about science, too. In particular, they need to learn that it's possible to study software and programming scientifically, which is what motivated yesterday's post about my favorite papers from ICSE 2015. And both groups need to learn about evidence-based teaching practices and the politics that education is embedded in (because without an understanding of the latter, no change is possible). While I don't have a snapshot like ICSE to offer, here are a few recent articles I've found illuminating: Read More ›

ICSE 2015
Greg Wilson / 2015-05-24
Back when I was still trying to do science myself, my field of study was software engineering. The International Conference on Software Engineering is the big gathering for researchers in that area, and this year's has just wrapped up. Thanks to this Gist from Mike Hoye, I was able to browse the papers presented at ICSE and co-located workshops (like him, I'm outside the Great Paywall of Academia), and I've included titles and abstracts below from the ones I think readers of this blog might enjoy. They're only a fraction of what was presented, and I freely admit the sample is biased toward the things I understand and find interesting, but I hope they'll convince you that people are doing solid empirical studies in software engineering, and producing insights that we can and should act on. Note: just over half of these papers (13 of 24) had an easily-findable version online. I'm not going to do the experiment, but I confidently predict that those 13 will be more widely read, and more influential, than the other 11. Read More ›

Coding for Librarians
Greg Wilson / 2015-05-22
Andromeda Yelton (who has featured in this blog before) has written a set of six articles for Library Technology Reports titled Coding for Librarians: Learning by Example. From the introduction: [This] draws from more than fifty interviews with librarians who have written code in the course of their work. Its goal is to help novice and intermediate programmers understand how programs work, how they can be useful in libraries, and how to learn more. Three chapters discuss use cases for code in libraries. These include data import, export, and cleanup; expanded reporting capability; and patron-facing services such as improvements to catalog and LibGuide usability. Most of the programs discussed are short&mash;under a hundred lines—so that implementing or modifying them is within the reach of relatively novice programmers. Where possible, links to the code itself are provided. Several scripts are explained in depth. Additional chapters focus on nontechnical aspects of library code. One chapter outlines political situations that have been faced by librarians who code and the solutions they have employed. Another chapter shares interviewees' advice on specific resources and strategies for learning to code. Read More ›

Plan to Assess Our Learners
Daniel Chen / 2015-05-21
The assessment subcommittee seeks to assess the effectiveness of the activities of the Software Carpentry Foundation (SCF). It met a few weeks ago and drafted an action plan on how to move forward to create a series of assessments for our learners. This action plan will be the basis on how further assessment tools will be developed. Read More ›

Experiences with Geoscientists
Greg Wilson / 2015-05-21
Christian Jacobs, Gerard Gorman, and Lorraine Craig have written a paper titled "Experiences with efficient methodologies for teaching computer programming to geoscientists" that describes how their intro to computing course has changed over the last few years. It includes discussion of ideas they've borrowed from Software Carpentry, and some data on hwo students have responded. It's a good read, and we'd welcome more experience reports of this kind. Read More ›

Online Instructor Training Revisited
Greg Wilson / 2015-05-19
We have now run instructor training in three formats: an in-person two- or three-day class, a multi-week online class, and a hybrid version in which the trainees are co-located, but the trainer comes in via the web. We've also gathered a lot of feedback on what people want from instructor training and what its prerequisites should be. Based on all of that, we're going to try to combine the best features of everything we've done so far. Read More ›

May 12 - 18, 2015: 79 New Instructors and Instructor Debriefing Round 9.
Anelda van der Walt / 2015-05-18
Highlights 79 new instructors have qualified since the last announcement made in March! Instructor Tips Changing your prompt in the terminal when teaching the Shell lessons could provide more screen real estate. "export PS1='$ '" will change your current terminal only. Read More ›

New Members of the Team
Greg Wilson / 2015-05-16
It's been several months since we last welcomed new instructors to the team. A lot of people have finished training since then, so please say hello to: Read More ›

May 6 - 11, 2015: Lesson Prep for Publication, Capturing Instructors' Commands, and Instructor Debriefing.
Anelda van der Walt / 2015-05-13
Highlights 15 people in 5 countries are preparing the Software Carpentry lessons for publication. Instructor Tips Do you find that participants fall behind during Software Carpentry workshops because they can't follow commands entered into the terminal? You can use redirect and Dropbox to create a live document for participants to follow. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 9
Raniere Silva and Kate Hertweck / 2015-05-13
This week the mentorship team ran the 9th round of instructor debriefing session. Thanks to Andrew MacDonald, Doug Latornell, Evan Morien, Ewan Barr, Isabell Kiral-Kornek, Jackie Milhans, Kara Woo, Karl Broman and Tiffany Timbers for the great feedback of the workshops at Northwestern University, Simon Fraser University, Swinburne University of Technology, University of Melbourne and Washington State University. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 8
Kate Hertweck and Rayna Harris / 2015-05-08
The mentorship team met last week for a discussion with instructors who recently taught, including workshops at the National Center for Atmospheric Research (NCAR) and University of Texas at Arlington (the latter of which was taught by both authors of this post). Three important issues emerged during our discussion: recording the instructor's shell code, using example scripts to model increasing complexity in coding, and preparing instructors/helpers with answers to challenges. Read More ›

April 28 - May 5, 2015: GSoC Projects, Nightly Rebuilds, Katy Huff, and a PhD Starter Kit.
Anelda van der Walt / 2015-05-05
Highlights The Google Summer of Code students have been selected. Well done to Piotr Banaszkiewicz, Ian Henriksen, and Amit Jamadagni! Nightly rebuilds of the Software Carpentry lessons version 5.3 are now available. People Meet Katy Huff - chair of the Steering Committee and a member of the finance subcommittee. Resources Achintya Rao wrote a fascinating PhD Starter Kit listing some best practices and useful tools postgraduate students could find useful on their journey towards graduation. Events Learn about Research in the Cloud in Feltham this July. Read More ›

Research in the Cloud in London
Greg Wilson / 2015-05-02
Mark Stillwell and others are running a Research in the Cloud workshop in Feltham (near London) on July 15-17. Along with the standard Software Carpentry curriculum, they'll teach modules on cloud computing, including deployment, configuration, and management of virtual machines. Please see his blog post for details, or the workshop web site to register. Read More ›

Achintya Rao's PhD Starter Kit
Greg Wilson / 2015-05-02
Achintya Rao started a PhD last January, and in response to a request for advice from a friend, wrote a PhD Starter Kit that lists useful tools and practices. Most of them involve software of one kind or another, and it's interesting to compare the list to what we teach: if nothing else, it tells me that we really do need to figure out what to teach people about publishing science in the 21st Century. Read More ›

GSoC Projects for 2015
Raniere Silva / 2015-05-01
We're very pleased to announce that three students will be working on Google Summer of Code (GSoC) projects under the NumFOCUS umbrella that we are helping to coordinate. Read More ›

Getting to Know: Katy Huff
Amy Brown / 2015-04-30
This is the second in a series of posts about our contributors. We're posting these so our community can get to know each other better. If you'd like to be profiled, or you'd like to nominate another member, send an email to communications@lists.software-carpentry.org. This profile is of Katy Huff, a member of our steering committee, who is also on the finance subcommittee. We already know a little about Katy from her election nomination post; now, read about her history with Software Carpentry and her surprising backup career plan. Read More ›

April 21 - 27, 2015: The People Behind Software Carpentry, Debating Scientific Software, Learning Objects, and Ally Skills Workshops.
Anelda van der Walt / 2015-04-27
Highlights Get to know the people behind Software Carpentry. First up: Matt Davis. Conversations A lively conversation about scientific software has been taking place on Titus Brown's blog, culminating (for now) in this post on popping the open source/open science bubble. Recommendations We'd like to encourage our instructors and lesson contributors to read about the paradox of learning objects as discussed by David Wiley. Watch the video of the recent Ally Skills workshop offered by the Ada Initiative at PyCon 2015. Read More ›

Getting to Know: Matt Davis
Amy Brown / 2015-04-27
The subject of the first of our "Getting to Know" series of contributor profiles is Matt Davis, a long-time Software Carpentry team member. Matt is the vice-chair of our Steering Committee, and the Software Carpentry Foundation liason for the Lesson Organization and Development subcommittee. Read More ›

Van Lindberg's Keynote: Say Thanks
Greg Wilson / 2015-04-25
Van Lindberg, the chair of the Python Software Foundation, gave a really insightful keynote at PyCon 2015 last week. In a nutshell: The PSF's greatest challenge is that it's short of time: it has one full-time and three part-time employees. What can you do to help? Say thanks to people for what they're doing. Raise up and mentor others. Persevere when trying something new. (Bonus points if you help someone out who doesn't look like you.) How can a new organization grow up to be the PSF? Don't rush it. (In particular, don't put too much process in place too soon.) Default to openness. Build a culture of service. There's lots more, and you should watch the whole thing, but I think these are good guidelines for Software Carpentry (and most other things, too). Read More ›

Ada Initiative's Ally Skills Workshop
Greg Wilson / 2015-04-25
The Ada Initiative ran their Ally Skills workshop at PyCon 2015, and by all accounts it was useful and thought-provoking. They don't do an online version, but you can watch this video of a workshop at the Wikimedia Foundation. Recommended. Read More ›

The Paradox of Learning Objects
Greg Wilson / 2015-04-22
Warren Code recently forwarded this post by David Wiley, a serial innovator in open education and educational reform. In it, he recapitulates the history of "learning objects" and the paradox at the core of the idea of remixing and reusing teaching material. Since Software Carpentry is (sort of) trying to do exactly that, I think everyone who's currently teaching for us or helping us meet our first publication deadline should look it over. Read More ›

April 13 - 20, 2015: A DOI for Software Carpentry Lessons, Good Enough Scientific Computing Practices, Code Reviews, and Library Carpentry
Anelda van der Walt / 2015-04-21
Highlights Publication of our lessons to obtain DOIs is planned for May 14th. Please help us tidy lessons up or get in touch if you have any experience in publishing lessons built in GitHub. Conversations Let's write a follow-up to our article "Best Practices in Scientific Computing" called "Good Enough Practices in Scientific Computing". Should or could Software Carpentry teach participants how to do code reviews? What are your thoughts? Events Library Carpentry is a new program piloted by James Baker. The first Library Carpentry event will be hosted in London in November 2015. Read More ›

Learning in Both Directions
Greg Wilson / 2015-04-21
We have spent a lot of time thinking about how to assess the impact that Software Carpentry is having. We've done some small studies and collected a few testimonials, but it's been small potatoes compared to the 5000 people we taught last year alone. After some back and forth with a colleague whose work I have admired for years, though, I realize that I've been trying to do this the wrong way. My training as an engineer taught me that only controlled, quantitative experiments were "real" science—that as Ernest Rutherford said, it's either physics or stamp collecting. I now understand that there are other rigorous ways to generate actionable insights, some of which are better suited to our needs than something like randomized control trials. More than that, I finally understand what one of my first teachers told me: Teaching only works well when the teacher is also learning. Read More ›

AAS Reflections
Azalee Bostroem / 2015-04-18
We just finished* a workshop at the American Astronomical Society. I was lucky to recruit 3 instructors (in addition to myself) - Matt Davis, Erik Bray, and Phil Rosenfield. We also had Pauline Barmby volunteer as a helper (and on the fly instructor). While I wrote this blog post, you will see comments inserted by the instructors. Read More ›

Publishing Our Lessons
Greg Wilson / 2015-04-17
Digital Object Identifiers (DOIs) are one of the building blocks of academic bibliography systems. It's now possible to get a DOI for a GitHub repository (or more accurately, for the state of a GitHub repository at a particular point in time). We are going to use this to publish a citable version of our core lessons. Read More ›

Invitation to Millions of Compute Hours: Announcing the Open Science Grid User School
Christina Koch / 2015-04-17
If you could access thousands or even millions of hours of computing, how would it transform your research? What discoveries might you make? Each year the NSF-funded Open Science Grid (OSG) selects a group of 25-30 students to attend the OSG User School, a week-long dive into high-throughput computing approaches, technologies, and skills, within a larger context of computational research design that students can take into their future careers as researchers. Students across the country from nearly any research discipline are invited to apply, and selected applicants will obtain direct access to the OSG beyond the duration of the school. Read More ›

Library Carpentry
Greg Wilson / 2015-04-17
We wrote about the digital skills classes at the British Library last October. We were therefore very pleased to see that James Baker, a Software Sustainability Institute Fellow, is piloting a new program called Library Carpentry. The first run will take place in November 2015 at the Centre for Information Science at City University London; the program will consist of four three-hour sessions, each for 40-50 participants. The announcement has more details, including a call for participants and another for volunteers. Please check them out, and lend a hand if you can. Read More ›

Close Enough Redux
Greg Wilson / 2015-04-17
Back in October, we explained why we don't teach testing in Software Carpentry workshops. In response, Ian Hawke has put together a really nice series of articles about how he would test a small numerical program. It's great content, and it also shows yet again how Jupyter (formerly the IPython Notebook) is changing the way scientists create and share ideas. Read More ›

Korean Translation of Software Carpentry - version 5.2
Victor (Kwangchun) Lee / 2015-04-16
Based on Software Carpentry version 5.2, we translated all the lessons in the form of pdf, html, mobi, epub, and azw3. It took almost 6 months: the first half spent on mostly lessons, and the second half spent on remainings. While translating and building various ebook formats, the original ebook production software of Software Carpentry seemed not to have upfront architectural concerns in terms of Chinese, Japanese, and Korean (aka, CJK)characters problems. Also, we are wondering how to generate various ebook formats from the current developing lessons. Read More ›

Quality Is Free - Getting There Isn't
Greg Wilson / 2015-04-15
Worried about the rising tide of retractions, Nature Biotechnology recently announced that, "Its peer reviewers will now be asked to assess the availability of documentation and algorithms used in computational analyses, not just the description of the work. The journal is also exploring whether peer reviewers can test complex code..." That's a welcome step in theory, but I worry about how it will play out in practice. Scientists already complain about how much time they spend reviewing papers: reviewing code as well will take even more time, particularly if: Read More ›

2015 Post-Workshop Instructor Debriefing, Round 7
Kate Hertweck / 2015-04-14
The mentorship team held our latest round of post-workshop debriefing sessions for instructors who taught recently. Instructors from workshops at Clemson University, University of Miami, University of Melbourne, University of Oklahoma Libraries, Harvard School of Public Health, and Weill Cornell Medical College joined us for our discussions, as well as a few new instructors who will be teaching in coming weeks. Here's a recap of common themes and highlights: Read More ›

April 6 - 13, 2015: The Steering Committee, Workshops for Companies, and a Discussion of WiSE Events
Anelda van der Walt / 2015-04-13
Highlights A summary of the steering committee's activities has been provided by Karin Lagesen. Her post includes links to board meeting minutes and an overview of the newly-formed subcommittees. Software Carpentry will be running five workshops for companies. Please get in touch if you are aware of companies that may be interested to participate in this pilot program. Conversations What are your feelings about women-only events to address the gender gap in STEM? Read about the experiences and observations from instructors during a recent WiSE workshop. Read More ›

The Future Then and Now
Greg Wilson / 2015-04-13
Jon Udell's Internet Groupware for Scientific Collaboration taught me how to think about the web. He started work on an update a couple of months ago, and it has now been published by PLOS. What strikes me upon re-reading the first is how far we've come; upon reading the second, is how far we still have to go to make all of this normal. As William Gibson said, "The future is already here—it's just not very evenly distributed." Read More ›

How to Send a Pull Request to the Lesson Template
Raniere Silva / 2015-04-13
At the end of last year we split out lessons to have one Git repository per topic that we teach. To ensure that all lessons have the same look we use one template for our lessons. If you want to create a new lesson from scratch we already have a nice step-by-step guide but what about if you want to contribute to the template itself? In this post I will explain how I wrote my pull request for our template. Read More ›

Good Enough Practices in Scientific Computing
Greg Wilson / 2015-04-13
April Wright recently wrote a blog post about the reproducibility of a paper she recently submitted. In it, she said: Read More ›

Reflections Following a Women in Science Workshop
Nancy Soontiens, Karina Ramos Musalem, Tiffany Timbers, Daisie Huang / 2015-04-12
The number of women pursuing careers in STEM fields has increased over the last few decades, yet, there are still major gender gaps in the areas of mathematics, computer science, engineering and physics (Hill, Corbettt and St Rose, 2010). In the US, women make up close to 50% of the work force yet the percentage of STEM jobs occupied by women is only 25% (Beede, Julian, Langdon, McKittrick, Khan, and Doms, 2011). Part of this gap may be linked to biases and stereotypes that suggest "boys are better than girls" at math. These stereotypes can affect a girl's performance on tests and her perceived skill at math, ultimately influencing her decision to pursue a career and education in fields that require a foundation in mathematics and computing (Shapiro and Williams, 2011; Gunderson, Ramirez, Levine, and Beilock, 2012). How does this relate to Software Carpentry? Software Carpentry's mission is "to teach researchers basic lab skills for scientific computing." Given that female participants may experience an added anxiety related to gender biases when learning computing skills, Software Carpentry instructors should be aware of these stereotypes and how they might affect their learners. Further, workshops with at least one female instructor can counteract these stereotypes by showing that women are skillful in computing tasks. But how much intervention is necessary and could extra support for women actually be a detriment? Following a Data and Software Carpentry workshop for Women in Science at the University of British Columbia, we have thought about the advantages and disadvantages of holding a workshop for women only. We have posed the following question: "Is a women-only Software Carpentry workshop helpful or harmful for increasing the number of women in STEM?" A few points in each category are given below. Read More ›

The Steering Committee has Landed!
Karin Lagesen / 2015-04-12
The Steering Committe has now had its first few meeetings. Minutes from them are up, please go have a look if you are wondering what we are up to! Read More ›

A Project Inception Deck for Research Coding
Greg Wilson / 2015-04-11
I've never seen the point of comparing programmers to ninjas or samurai, but the people who do so often have good ideas. One that I particularly like is the Agile Inception Deck from Jonathan Rasmusson's The Agile Samurai, which sets out a ten-step process for making sure that everyone involved in a new project is actually trying to build the same thing. The ten steps are: Read More ›

Workshops for Companies
Matt Davis / 2015-04-09
At our March 12, 2015 meeting, the Software Carpentry Foundation Steering Committee discussed whether and under what terms to provide workshops to for-profit corporations. There were no objections to the idea of doing workshops for corporations, but it is something new to Software Carpentry. We've decided to run a pilot program encompassing five corporate workshops so we can learn more about working with corporations. The pilot program will allow us to gauge corporate interest and collect feedback from instructors, coordinators, and others about how things go. Read More ›

March 31 - April 6, 2015: A Lab Meeting, a LinkedIn Group, Two New Capstones, and Ideas for Instructors
Anelda van der Walt / 2015-04-06
Highlights A summary of last week's lab meeting is now available. Please take a moment to read through the highlights and notes. Software Carpentry and Data Carpentry instructors are invited to join our newly-created LinkedIn group. Resources Do you need to create a brand new lesson repository? The new process is outlined with an example - please try it out and send us your comments. Damien Irving created a capstone example specifically for oceanographers. A biomedical engineering MATLAB capstone was made available by Isa Kiko. Technical Challenges Git on Mac OS X 10.8: Instructors can find or propose solutions to the "Lazy symbol" error when installing git on old Macs (Mac OS X 10.8) Read More ›

April 2015 Lab Meeting
Greg Wilson / 2015-04-03
We held our second lab meeting of 2015 on April 1st, and had near-record turnout. Notes from the Etherpad are included below; the highlights are: We hope to have a first-quarter financial report by the end of this month. The good news is that there's lots of interest in partnerships and affiliations; the bad is that we're not collecting admin fees from nearly as many workshops as we need to. We will charge for-profit organizations four times as much for organizing workshops as we charge universities and other non-profits; the extra money will be used to underwrite workshops for places that otherwise might not be able to afford to host them. We have created a LinkedIn group for Software Carpentry and Data Carpentry instructors — if you're a LinkedIn user, you're welcome to join. Leigh Sheneman and Lynne Williams have volunteered to moderate the group. Peter van Heusden and Gabriel Devenyi have volunteered to help with system administration — our thanks to Jon Pipitone and David Rio for all their help over the past couple of years. Noam Ross is putting together a lesson on how to get unstuck, and Christina Koch is managing work on some extra Unix shell material. We hope to have the current lessons tidied up by the end of April so that we can give them DOIs, and thereby make it easier for everyone who has contributed to them to get proper credit for their work. Read More ›

2015 Post-Workshop Instructor Debriefing, Round 6
Tiffany Timbers / 2015-04-01
We held our sixth round of post-workshop debriefing last week. We discussed the Software Carpentry workshops held at the University of Arkansas, Utah State University, the University of Waterloo and the first Software Carpentry workshop ever held in Korea at the Korea Radio Promotion Association (and yes we now have lesson translated in Korean)! We were also joined by a Data Carpentry instructor who taught in a recent workshop at Espoo, Finland. Read More ›

March 23-30, 2015: A Lab Meeting, a Dataset, NGS Course at MSU, and Postdoc Positions at BIDS
Anelda van der Walt / 2015-03-30
Highlights Please remember to join us for the next online lab meeting on April 1st at 10:00 and 19:00 Eastern time. Resources If you are looking for a teaching-ready dataset, take a look at Ethan Whites simplified version of the Portal Projects Database now availble in csv, json, and sqlite. Events A 2+1 week NGS course will be offered by Titus Brown and others from 10 - 21 August. Applications are now open. EuroSciPy 2015 call for papers is open until 20 April. The conference will take place in Cambridge, UK on 26-30 August. Opportunities Berkley Institute for Data Science (BIDS) is inviting applications for Postdoctoral Researchers in Data Science. Apply before 20 April. Read More ›

Teaching in Yangon
Ben Marwick / 2015-03-25
On Sat 7 March I spent a full day teaching a Software Carpentry workshop at the University of Yangon with 23 archaeologists from the Department of Archaeology. The workshop is part of a training component of an archaeological research project funded by the Australian Research Council, the University of Washington and the University of Wollongong. The group included graduate students, tutors and lecturers. Archaeology in Myanmar has a strong art history flavour, partly due to its British colonial heritage (where archaeology and art history are often paired, compared to the where US archaeology is usually a sub-field of anthropology) but mostly due to the country's extreme isolation from the rest of the world, where archaeology has taken a scientific turn in recent decades. This isolation takes several forms: travel restrictions that make it difficult for locals to travel overseas, and until recently, for foreigners to visit; small library budgets that make it difficult for university libraries to keep their collections and subscriptions current; and slow and unreliable internet connectivity make browsing the web, watching videos, and downloading files a lengthy, uncertain and frustrating process. All of this meant that the group's familiarity with using computers for research was lower than what might be expected from a Western audience, and so we adapted the SWC materials to accommodate this. We knew we wouldn't get through as much as a typical workshop, but we had the advantage of everyone starting at an equivalent skill level, so the sticky notes all went up and down at much the same time and we had a pleasant and relaxed atmosphere. Read More ›

Weekly Update: March 16 - March 22, 2015
Anelda van der Walt / 2015-03-22
Highlights The next online lab meeting will take place on 1 April at 10:00 and 19:00 Eastern time. Remember to sign up. Resources Jenny Bryan contributed a Gapminder data package now available through CRAN which might be helpful in setting up for Software Carpentry workshops. Data Carpentry developed new material for teaching dplyr using their ecological dataset. Opportunities Students can apply to participate in our Google Summer of Code projects until 19:00 UTC on 27 March 2015. We have several exciting projects available. Insight Data Science launched a new seven week fellows program in Health Data Science. Read More ›

April 2015 Lab Meeting
Greg Wilson / 2015-03-20
The next Software Carpentry online lab meeting will take place on Wednesday, April 1 (no, really) at 10:00 and 19:00 Eastern time. (As usual, we will hold the meeting twice to accommodate people in different time zones.) Please sign up on this Etherpad to let us know whether you'll be attending, and if so, and what time. We'll post an agenda next week; if there's anything you'd particularly like to discuss, please let us know. Read More ›

Weekly Update: March 7 - March 15, 2015
Anelda van der Walt / 2015-03-17
Conversations Get some fantastic teaching tips from novice and seasoned trainers. Join the conversation by adding your tips. Useful advice is given about what to pack when you teach. Your contributions can potentially help fellow trainers. The Steering Committee has voted to remove SQL from the list of core topics for workshops. Instructors should still teach it if they think it's right for their audience, but they may also now use that time for more programming, testing, or other topics. Read More ›

Workshop at iPlant
Uwe Hilgert / 2015-03-17
The iPlant Software Carpentry Workshop in February at the University of Arizona in Tucson was an awesome realization of iPlant's and BIO5's collaborative nature. Bringing together iPlant, BIO5, the UA and Software Carpentry, this workshop served a large group of students and staff from a wide variety of backgrounds and a wide array of interests. 53 participants registered within 36 hours of publicizing the workshop. Participant demographics were as follows: Read More ›

And Now We Are Three
Greg Wilson / 2015-03-17
The four core topics that every Software Carpentry workshop is supposed to teach are automating tasks using the Unix shell, structured programming in Python, R, or MATLAB, version control using Git or Mercurial, and data management using SQL. In practice, many workshops omit the fourth, either because instructors want to put more time into the first three, or because they don't think SQL is relevant to their learners. The Steering Committee has therefore voted to take SQL out of the core. This doesn't mean that it can't or shouldn't be taught: it's still useful for many researchers to know, and the best way we've found to introduce key ideas in data management like atomic values, keys, and how to handle missing information. However, if instructors and learners would rather cover something else, they can do so. Read More ›

What Do People Want to Learn?
Tiffany Timbers / 2015-03-15
In the planning phase of organizing a Software Carpentry workshop for my home department of Molecular Biology & Biochemistry I started to wonder what participants want to learn. I designed a short survey to answer this question, and from my small department, ~20% (30 people) filled it in. Here's what they said: Read More ›

Teaching Tips
Greg Wilson / 2015-03-15
Last week's post on what's in your bag generated so many useful comments that we'd like to follow it up with another: what tips do you have for new instructors? The ones we've collected so far are listed below; please tell us what else we should tell people who are about to teach for the first time (and what else we should remind experienced instructors about). Read More ›

2015 Post-workshop Instructor Debriefing, Round 5
Sheldon McKay and Rayna Harris / 2015-03-13
At our fifth round of post-workshop debriefing this week, we discussed workshops held at the New York Academy of Sciences, the University of Oslo, and the University of British Columbia. This was a very instructive meeting with important lessons learned from the perspective of both new and veteran instructors. One of the key take-home lessons is that new instructors would benefit from attending an instructor debriefing prior to doing their first workshop. Read More ›

What's In Your Bag?
Greg Wilson / 2015-03-11
What do you have in your knapsack when you travel to teach a workshop? My list is: Read More ›

Weekly Update: Feb 28 - March 6, 2015
Anelda van der Walt / 2015-03-09
Highlights: Do you want to help shape the future of Software Carpentry? The Software Carpentry Foundation is now calling for volunteers to serve on various standing committees. NumFOCUS has been selected as a Google Summer of Code mentoring organisation. Students can apply between 16 and 27 March 2015. A Contributor Covenant was added to our lessons and other repositories to promote a harassment-free environment for contribution to Software Carpentry. Resources: An early release version of Bioinformatics Data Skills is available via O'Reilly. Vince Buffalo's book is highly recommended for both novice and experienced bioinformaticians. Opportunities: Scientific Software Engineer positions are available at the UK Met Office Changes: Daisie Huang will be taking over from Jess Hamrick to maintain our Git lessons with Ivan Gonzalez. Our thanks to Jess for all her help. Read More ›

Shape The Future of Software Carpentry in an SCF Standing Subcommittee
Katy Huff / 2015-03-05
The Software Carpentry Foundation Steering Committee was elected to pursue ambitious goals driven by the voices and expertise in our community. We are therefore thrilled to announce a set of community-driven subcommittees aimed at initiatives essential to the Software Carpentry Foundation. Today, we are asking for representatives from the community to support this effort and shape the future of Software Carpentry. Please step forward to volunteer for the standing committee most important to you. Committee members will be asked to dedicate a few hours per month. To join us, please email the SCF Steering Committee with your name and a few sentences about your interest. Read More ›

Workshop in Krakow
Leszek Tarkowski / 2015-03-04
Last weekend we (Paulina Lach and Piotr Banaszkiewicz, both from AGH; Klemens Noga from Cyfronet and myself from Cztery Bity organized a workshop in Kraków. We decided to do itourselves, as a group of certified Software Carpentry instructors, which was simply a faster and more effective solution than finding an institution which would act as a host. However, we received significant support from a few organisations. The PhD Students' Association at the Jagiellonian University offerred the venue. Thanks to the support provided by ACC Cyfronet AGH and Cztery Bity we were able to offer small catering. We were also supported by great helpers: Iwona Grelowska, Jakub Kruczek and Tomasz Jonak, all from AGH and Marcin Klimek, from Cztery Bity. Read More ›

Funding Software Carpentry Workshops
Noam Ross / 2015-03-04
Software Carpentry workshops are taught by volunteers, but hosts need to fund instructor travel, accommodation as well as our administrative fees of $750-$1250. While these costs are low, it can sometimes be a challenge to get funding for your first workshop, especially if others are unfamiliar with SWC. Here are some successful strategies that hosts have used to fund workshops: Read More ›

NumFOCUS Accepted as Google Summer of Code Mentoring Organization
Raniere Silva / 2015-03-03
A few weeks ago we announced that we would help NumFOCUS apply to Google Summer of Code (GSoC) as a mentoring organization. Yesterday the list of mentoring organization was announced and NumFOCUS had been selected. Read More ›

The Most Viewed PLOS Biology Paper of 2014
Greg Wilson / 2015-03-03
We were very pleased to learn that the most viewed article in PLOS Biology in 2014 was "Best Practices for Scientific Computing", written by Dhavide Aruliah, C. Titus Brown, Neil Chue Hong, Matt Davis, Tommy Guy, Steven Haddock, Katy Huff, Ian Mitchell, Mark Plumbley, Ben Waugh, Ethan White, Paul Wilson, and yours truly. According to Stavroula Kousta, the article has been viewed more than 66,000 times. Read More ›

Ten More Instructors
Greg Wilson / 2015-03-02
It's a pleasure to welcome another ten instructors from the Southern Hemisphere to our team: Read More ›

The First Software Carpentry in Korea
Victor (Kwangchun) Lee / 2015-03-02
Last week, xwMOOC xwMOOC ran the first Software Carpentry workshop in Seoul. The workshop delivered not only an introduction to Unix Shell, Git and GitHub, Python and SQL but also computer science unplugged, rur-ple, python for informatics and cloud basics. Listening to attendees feedback, attendees concerns such as software business, all about what start-ups should know, how software business environment looks like and so on are provided during three days workshops. Read More ›

Adding a Contributor Covenant
Greg Wilson / 2015-03-02
The Software Carpentry Foundation's Steering Committee has voted to add a Contributor Covenant to our lessons and other repositories. Like the Code of Conduct for our workshops, the Contributor Covenant's aim is to ensure that participation in Software Carpentry is a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion. Read More ›

Weekly Update: Feb 21 - Feb 27, 2015
Anelda van der Walt / 2015-03-01
Conversations: How do you fund your SWC workshops? Please join the conversation. Should we remove old material when adding new in order to keep the lessons manageable? Should people have to teach the standard material a couple of times before introducing their own? Please contribute your ideas. Resources: Remember to sign up for Software Carpentry's mailing lists. They are rich resources for scientific computing. Great R cheat sheets available at RStudio include sheets for dplyr, tidyr, Shiny, and R Markdown. A preview release of RStudio v0.99.315 is now available for testing and feedback. New features include for example the removal of the 1K row limit in Data Viewer. IPython 3.0 has been released - congratulations to the whole team. So you think you can data? The rOpenSci Hackathon is going to host a friendly data challenge between Hadley Wickham and Wes McKinney - please follow this GitHub issue for news. Quotable: "This is @swcarpentry: try to teach enough in two days that things people find on the internet make a little more sense." @jiffyclub Read More ›

Eleven New Instructors
Greg Wilson / 2015-02-28
It's a pleasure to welcome another eleven instructors to our team: Read More ›

Wrong Is Useful: Lessons as Packages
Greg Wilson / 2015-02-27
"What would Greg do? [pause] OK, now that we've ruled that out..." — overheard I wrote a post last July about using package managers like RPM, Homebrew, and Conda to track dependencies between lessons, so that a student could say something like conda install unit_testing and get a lesson on unit testing, along with the code, sample data, and other lessons it depends on. I also mused that it could help make research more reproducible: after all, a paper is just a lesson on something that's never been taught before. Read More ›

2015 Post-workshop Instructor Debriefing, Round 4
Sheldon McKay / 2015-02-27
We had our fourth post-workshop debriefing of the year this week, in which we discussed recent workshops at Jagiellonian University in Krakow, Poland, and Michigan State University. All four instructors from the Krakow workshop attended the debriefing and we had a fairly in-depth discussion about that workshop Read More ›

Improving Instruction
Greg Wilson / 2015-02-27
It's been quite a year for Software Carpentry instructor training: we had a great session at UC Davis (see also this excellent post from Rayna Harris) and another at the Research Bazaar kickoff in Melbourne. We've also started the twelfth round of online instructor training with 75 participants, making it our largest yet. All of this has led to a flurry of activity in our GitHub repositories. The comments and pull requests are very welcome, but we need to keep three things in mind: We already have more material than we can cover in two days. We are not our learners. No lesson survives its first presentation intact. Read More ›

Weekly Update: Feb 14 - Feb 20, 2015
Anelda van der Walt / 2015-02-22
Highlights: We're looking for mentors and projects for Google Summer of Code: please get in touch if you have questions or suggestions. Research Bazaar was again a highlight on Twitter this week, and Damien Irving summarised plans for Software Carpentry in Australia and New Zealand. Conversations: An interesting conversation about "Library Carpentry" started by James Baker took place on Twitter. New resources: A new Browsercast tutorial "Creating a workshop website" was published. Please let us know if you have any comments. An early release of "Effective Computation in Physics" has been made available. The book is relevant to scientists of all kinds Opportunities: SciPy call for participation is open. Please submit your proposal for tutorials, talks, or posters. Call for Data Science Fellow applications through the Berkley Institute for Data Science is now open. Read More ›

Applying to Google Summer of Code
Raniere Silva / 2015-02-21
During last week's Steering Committee meeting we talked about applying to Google Summer of Code as a mentoring organization and decided to contact NumFOCUS to suggest that they applying as a umbrella organization for all the projects they support. NumFOCUS agreed, and for the past few days we have been racing to fill in the application. Read More ›

Software Carpentry Set to Explode in Australia and New Zealand
Damien Irving / 2015-02-21
Given the global success of Software Carpentry (10,000 learners and counting), it's easy to forget that the first two-day workshops were held only three short years ago. Excited by the potential of the project in those early days, Josh Madin (Macquarie University) and myself (University of Melbourne) pooled our funds and got Greg Wilson out to Australia to run the first ever workshops outside of Europe and North America. Since those initial Sydney and Melbourne workshops in February 2013, an additional 15 have been held around Australia and New Zealand and there are a dozen or so active local instructors. Read More ›

Managing GitHub Notifications
Noam Ross / 2015-02-20
SWC has many GitHub repositories for lessons, websites, and workshops, and we have many conversations about our work take place through GitHub issue threads. Since GitHub creates e-mail notifications of repositories and issues you participate in, that means you can quickly start getting loads of e-mail. While it's helpful to be kept abreast of developments on a project, if you get a flood of GitHub messages you won't see what's important. Here's a quick primer on fine-tuning your notifications so that you only see what you want, gleaned from this helpful conversation: Read More ›

Workshop at the University at Albany, SUNY
Thomas Guignard, Jeramia Ory / 2015-02-16
We recently ran a workshop hosted by the University at Albany, SUNY's Department of Informatics. The workshop ran on the weekend of January 31 and February 1, 2015 with the following schedule: Day 1 AM:Automating tasks with the Unix shell (instructor: Thomas Guignard) Day 1 PM:Building programs with Python (instructor: Jeramia Ory) Day 2 AM:Version Control with Git (Jeramia) Day 2 PM:Managing data with SQL (Thomas) Read More ›

Weekly Update: Feb 07 - Feb 13, 2015
Anelda van der Walt / 2015-02-13
Highlights: NeSI (New Zealand) became a SWF affiliate. SWC instructor training at the Research Bazaar in Australia created a lot of activity on Twitter this week - 50 trainees attended the workshop. Conversations: Daniel Chen made his "Project Cookie Cutter" bash script available and triggered a conversation about this. Please get in touch with us via GitHub or email us if you use cookie cutter project templates or have comments. Vacancies: The National Ecological Observatory Network (NEON) is looking for a Science Educator/Evaluator in Boulder, Colorado. Read More ›

Online Scientific Collaboration: The Sequel
Greg Wilson / 2015-02-12
Jon Udell's Internet Groupware for Scientific Collaboration taught me how to think about the web. He's now revisiting that report, and would like our help. Details are below; please give him a shout if you can help. Read More ›

NeSI Becomes Software Carpentry Affiliate
Greg Wilson / 2015-02-12
We are very pleased to announce that New Zealand eScience Infrastructure (NeSI) has become an affiliate member of the Software Carpentry Foundation. Read More ›

Science Educator/Evaluator Position at NEON
Greg Wilson / 2015-02-12
The National Ecological Observatory Network (NEON) is looking for a Science Educator/Evaluator (SEE). This person will coordinate development and implementation of NEON's Education and Public Engagement (EDU) program/product evaluation plans. The program includes web-based educational resources, university student programs, and citizen science programs, as well as learning resources for university students and faculty. The SEE will coordinate the development of measures for assessing implementation and outcomes of existing programs and new programs as they are developed. The SEE will also work with scientists/science educators to develop learning modules that are pedagogically appropriate for undergraduate students and assessment tools that enable evaluation of the effectiveness of these learning modules. An important part of this effort will be coordination of collection and analysis of data to assess NEON EDU program impact on a variety of audiences (including university students and faculty, scientists, the general public, educators (formal and informal), and other program stakeholders). The SEE will work closely with NEON EDU management and with contractors hired to provide external evaluation of EDU program goals. The SEE will work out of NEON HQ offices in Boulder, Colorado. For more information, please see the full advertisement. Read More ›

2015 Post-workshop Instructor Debriefing, Round 3
Greg Wilson / 2015-02-11
We had our third post-workshop debriefing of the year yesterday, in which we discussed several recent workshops. The most important point was probably that workshops are running more smoothly today than they did a year ago, even for first-time instructors. Read More ›

Cookie Cutter
Daniel Chen / 2015-02-10
I was first introduced to William Stafford Noble's paper "A Quick Guide to Organizing Computational Biology Projects" when Ivan Gonzalez and I taught Harvard last November. Noble describes how scientists in Computational Biology should set up their project folders so code, results, outputs, figures, and papers are all in easily understandable locations. He also writes about how one should run experiments (using driver scripts) to make workflows reproducible, readable, and understandable to others (and your future self). Read More ›

Weekly Update: Jan 31 - Feb 06, 2015
Anelda van der Walt / 2015-02-09
Highlights: SWF gets 2 new affiliates (iPlant and Lab for Data Intensive Biology at UC Davis) and a new partner (University of Washington). Conversations: "...what matters most in teaching is the act itself - the verb": some observations on teaching and a book recommendation. Scientific coding and software engineering: what's the difference? A post by Daisie Huang: please add your comments. Rewarding Software Sharing by Mapping Scientific Software A post by Chris Bogart: please share your ideas. Events: SWC instructor training and Intro to Web Programming at Lawrence Berkeley Lab: March 2015 rOpenSci Unconference: March 2015 Software Sustainability Institute's Collaborations Workshop: March 2015 Other News: Eight new instructors Read More ›

Plot This
Greg Wilson / 2015-02-09
The most useful little guide to visualization I've ever found is the decision tree created by Andrew Abela, which you can find here. Do you want to show a comparison, a distribution, a relationship, or a composition? If it's a comparison, is it among items or over time? Each choice leads to a different kind of plot, and while you may not agree with all the choices, it makes the reasoning behind them concrete. Read More ›

Scientific Coding vs. Software Engineering
Greg Wilson / 2015-02-08
Daisie Huang recently wrote a great article for the Software Sustainability Institute's blog titled "Scientific coding and software engineering: what's the difference?". As a professional programmer who has become a scientist, rather than a scientist who's learned how to program, she has a fresh take on the differences between what those two groups do. Comments on her post would be very welcome. Read More ›

Rewarding Software Sharing by Mapping Scientific Software
Chris Bogart / 2015-02-07
Sharing software you write with other scientists can magnify the impact of your research, but there can be a surprising amount of sometimes thankless extra work involved. I work with a group at Carnegie Mellon's Institute for Software Research who have been asking scientists what that extra work is, and what motivates them to do it—despite a sometimes uncertain link between that extra work and the ways many of them are evaluated in their jobs. We're looking at ways of measuring and mapping software and its impacts, in order to help scientists demonstrate the positive impact that their work on shared software has on science. We're running an experiment that you can help with. Read More ›

2015 Post-workshop Instructor Debriefing, Round 2
Sheldon McKay / 2015-02-05
Greg Wilson and I recently hosted a second post-workshop debriefing session for January to capture more experiences and lessons learned from instructors in the field. This meeting was attended by 10 instructors covering four recent workshops. We discussed how the workshops went, what worked, what didn't, and what could be improved. Read More ›

Workshop in Illinois
Neal E. Davis / 2015-02-03
Last week (29-30 January), Matthew Turk (NCSA), Ivan Gonzalez (Martinos Center), David LeBauer (UIUC, and a new SWC instructor), and I (Neal Davis, CSE, UIUC) taught a SWC workshop co-sponsored by NCSA and CSE. We introduced two innovations into the workshop model different what that used in prior events I've participated in: Read More ›

Welcome Our Newest Instructors
Greg Wilson / 2015-02-03
It's a pleasure to welcome another eight instructors to our team: Read More ›

University of Washington Becomes Software Carpentry Partner
Greg Wilson / 2015-02-03
We are very pleased to announce that the eScience Institute at the University of Washington has become a partner of the Software Carpentry Foundation. Read More ›

Software Sustainability Institute's Collaborations Workshop 2015
Shoaib Sufi / 2015-02-03
The Software Sustainability Institute's Collaborations Workshop 2015 (CW15), which will be held on March 25-27, 2015 in Oxford, UK, focusses on software, best practice and the social side of working past the boundaries of traditional disciplines and roles to accelerate research outcomes—or put differently, interdisciplinarity done right! What will you learn by attending: The social and technical sides of interdisciplinary working. Examples of best practice of when it's been effective - and horror stories of when it has not. Examples of techniques and technologies that could be applied from one discipline to another - discipline hopping. Read More ›

Workshops in March at Lawrence Berkeley Lab
Greg Wilson / 2015-02-02
I will be teaching a two-day Software Carpentry instructor training course on March 10-11, 2015 at Lawrence Berkeley Lab, and a one-day course on web programming on March 13, 2015. Details are given below; the instructor training is open to LBL staff and to graduate students and staff associated with the Berkeley Institute for Data Science, while the web programming class is reserved for LBL staff alone. Read More ›

Weekly Update: Jan 24-30, 2015
Anelda van der Walt / 2015-02-02
Highlights: New steering committee selected We have now taught ten thousand people Conversations: Keeping momentum going after workshops Factors and formulae in R lessons Other News: First new instructors of 2015 Our first workshop in South Korea Read More ›

Lab for Data Intensive Biology at UC Davis Joins Software Carpentry as an Affiliate
Greg Wilson / 2015-02-02
We are pleased to announce that the Laboratory for Data Intensive Biology at UC Davis has joined the Software Carpentry Foundation as an Affiliate Member for three years starting in 2015. "We've been long-term supporters of Software Carpentry, and Affiliate status lets us support the Software Carpentry Foundation in a tangible way," said Dr. C. Titus Brown, the lab director. "This status also gives us the opportunity to include Software Carpentry as part of a larger biological data science training program at UC Davis." Read More ›

rOpenSci Unconference in March 2015
Greg Wilson / 2015-02-02
The good folks at rOpenSci have just announced that their second annual unconference (which will actually be more like an unhackathon) is happening at GitHub's headquarters in San Francisco in March 2015. They're also hosting a Data Science Social on March 26 - please see their site for details. Read More ›

Our First Workshop in South Korea
Greg Wilson / 2015-02-02
We are very pleased to announce that our first workshop in South Korea will be taking place in Seoul later this month. Many thanks to Kwangchun (Victor) Lee for organizing and teaching, and to the Korea Radio Promotion Association for hosting. Read More ›

Nouns and Verbs
Greg Wilson / 2015-02-02
I've spoken and written many times about how puzzled I am that massive, open collaboration on lessons is so rare in the age of Wikipedia and open source software development. Hundreds of people have helped build the Wikipedia articles on Marvel Comics and the planet Mars, and hundreds more have helped build things like the Django web programming framework; why then are teachers still writing all their own slides and handouts? As is frequently the case, the answer might be that I've been asking the wrong question. When I brought this up last week in an online call organized by the Open Knowledge Foundation, Phil Barker said: "One difference between Wikipedia and OER [open educational resources] is that editing Wikipedia is about moving to consensus on facts, [but] editing teaching material is about tailoring it to specific local requirements (different teaching styles, different students, different curriculum standards)." Read More ›

iPlant Becomes Software Carpentry Affiliate
Greg Wilson / 2015-02-02
We are very pleased to announce that the iPlant Collaborative has become an Affiliate Member of the Software Carpentry Foundation. Read More ›

Announcing 2015 Steering Committee
Greg Wilson / 2015-01-31
The election for the Software Carpentry Foundation's Steering Committee is now complete. 122 ballots were exercised out of 179 mailed out, and our new committee is: Read More ›

Interim Steering Committee Meeting: Dec 16, 2014
Greg Wilson / 2015-01-30
Software Carpentry Foundation Interim Board Meeting: Dec 16, 2014 Read More ›

Data Carpentry Genomics and Assessment Hackathon
Tracy Teal / 2015-01-28
If you're working or interested in genomics or assessment, we hope you'll consider applying for our upcoming Data Carpentry Genomics and Assessment hackathon. We're very excited about this event and the opportunity to develop lessons targeting genomics researchers and build assessment into the Data Carpentry curriculum. Travel support is available, so please apply to participate! It's a short application, and the deadline is this Friday, January 30th. If you have any questions about the event, please let us know. Dates: March 23-25, 2015 Location: Cold Spring Harbor Labs, NY Call for Participation Application Read More ›

Cast Your Vote
Greg Wilson / 2015-01-26
Voting is now open for Software Carpentry's new Steering Committee. If you are a member, you should have received a ballot by email from elections@electionbuddy.com. If you did not, please check your spam folder; if it is not there, please get in touch and we will sort it out as quickly as we can. Read More ›

Welcome Our First New Instructors of 2015
Greg Wilson / 2015-01-24
One of the best parts of this job is welcoming new instructors to our team. Many of this year's first group have already helped with workshops, and I hope to have a chance to teach with all of them before too long. Read More ›

The Other Ninety Percent
Greg Wilson / 2015-01-24
Ninety percent or more of learning a skill takes place outside formal lessons as people try things out for themselves and turn attention into habit. This works best if a mentor is on hand to answer questions and provide feedback, but our workshop format doesn't lend itself to that: in most cases, our instructors are back on a plane (or back in their own lab) as soon as they're done teaching, so our learners have to make sense of what they've just been shown on their own. Based on follow-up discussions and Jory Schossau's work, here are things they stumble over in order of increasing pain: Read More ›

University College London Becomes Software Carpentry Affiliate
Greg Wilson / 2015-01-22
We are very pleased to announce that University College London has become an affiliate of the Software Carpentry Foundation. We are grateful for their support, and look forward to working with them more closely. Read More ›

Improving the Balance
Greg Wilson / 2015-01-22
Jennifer Martin's recent article "Ten Simple Rules to Achieve Conference Speaker Gender Balance" reminded me that while we've been reporting the number of workshops we've run, and the number of people who've attended, we haven't reported the gender balance among our instructors in a while. I did a quick check, and the result was sobering. From a high of almost 30% eighteen months ago, our instructor pool is now only 18% female. It seems that as we grow, we are regressing to computing's unfortunate mean: from a higher of 38% in the early 1980s, the proportion of computer science degrees awarded to women has dropped to 15-18%, and CS is the only STEM discipline where the gender balance has actually been getting worse over the past few decades. Read More ›

Call for ELIXIR Node Coordinators
Aleksandra Pawlik / 2015-01-22
One of the 2015 ELIXIR Pilot Projects focuses on supporting training in collaboration with the Data and Software Carpentry initiatives. The pilot "Working up and building the foundation for Data Carpentry and Software Carpentry within ELIXIR" includes a series of initial events across different ELIXIR Nodes. In order to achieve the goal of running Data and Software Carpentry (DC/SWC) workshops, promoting the DC/SWC teaching model, developing and sharing of the training materials, it would be useful if not essential, that each ELIXIR Node has a DC/SWC Coordinator. Read More ›

Workshops in Oxford
Aleksandra Pawlik / 2015-01-21
The Wellcome Trust Centre for Human Genetics at the University of Oxford hosted its first Software Carpentry workshop on 13th and 14th January. Instructor and co-organizer Philip Fowler has blogged about it, and included both photographs and some bubble charts of the feedback he received. Separately, James Allen has blogged about the first and second days of a separate workshop that he ran at Oxford for people in atmostpheric, oceanic, and planetary physics. This was James' first time teaching for us, and his summary of things that he thinks could be improved includes some ideas that we'll fold back into the main notes. Read More ›

Post-Workshop Instructor Debriefing, Round 1
Sheldon McKay / 2015-01-21
In the first two weeks of January 2015, 14 Software Carpentry workshops were held at various locations. Every workshops brings its share of lessons learned and new experiences, particularly with new instructors coming online. On January 14, Greg Wilson hosted a post-workshop debriefing meeting attended by 21 instructors from 10 recent workshops. We got together to discuss how the workshops went, what worked, what didn't, and what could be improved. Read More ›

Feedback from Workshop at UFSC
Diego Barneche / 2015-01-20
Last December we ran another R-based SWC workshop at University of Santa Catarina (Florianòpolis, SC, Brazil). The primary target audience encompassed grad students from the Biology Faculty who had some experience in programming and R. Raniere Silva (an undergrad in Applied Maths at UNICAMP, Campinas, SP, Brazil) co-taught the workshop with me and the Ecology grad students Renato Morais Araùjo and Juliano Bogoni (Department of Ecology and Zoology) acted as our hosts and in situ organizers. Read More ›

Orwell, Dickens, and How We'll Know We're Done
Greg Wilson / 2015-01-17
I started working on a short capstone example last month to show learners how to get a badly-formatted reference list out of an Excel spreadsheet and into a relational database so that it would be easy to answer questions like, "Who has co-authored papers with whom?" I'd like to work up another capstone as well, but there's a problem: I can't actually do it myself for reasons that are both technical and political. Read More ›

2015 Election: Adina Howe
Adina Howe / 2015-01-16
Hi! My name is Adina Howe, and I thank you for considering my qualifications to serve on the Steering Committee of the Software Carpentry Foundation. Software Carpentry has played a major role in my professional development, and I would argue played an integral role in my ability to fulfill my dreams as becoming a tenure-track professor. In 2008, I participated in a Software Carpentry workshop at Michigan State University as a postdoc. At the time, my research required some computational prowess that I did not possess. SWC provided me a foundation, resources, and mentors to help me improve my skills and discuss my frustration and eventually success! This impact (and great instruction and mentorship) insprired me to join as one of the first round of instructors (2011-ish). For more details, please feel free to peruse my complete vitae. Read More ›

2015 Election: Ivan Gonzalez
Ivan Gonzalez / 2015-01-16
I've been an instructor since September 2013 and have taught 10 workshops so far. I'm finishing a master's in Science Communication and work at the Martinos Center for Biomedical Imaging. I would propose three things to the new Committee: improve our outreach and communication strategies, expand Software Carpentry to other regions and languages, and strengthen the mentoring program for new instructors. Read More ›

2015 Election: Jonah Duckles
Jonah Duckles / 2015-01-16
Hi, I'm Jonah Duckles, I have been active in teaching Software Carpentry workshops (seven so far) and have found a joy in teaching and learning this curriculum that has made me passionate about the mission of the organization. In my job, I work to spread knowledge, skills and competency in wide ranging areas of scholarly computing. Serving on the Software Carpentry Steering Committee would be a natural extension of my current job, dovetailing well into my current responsibilities and I'm excited to be considered. Read More ›

2015 Election: Tim Cerino
Tim Cerino / 2015-01-16
On the first day of my first programming job, my boss handed me 700 lines of spaghetti code written in PL/1 and asked me to "fix it." On paper, I was a Research Assistant at an Economic Policy think-tank. I had taken a few Computer Science classes and had coded for fun as a kid and in college. But at that moment I felt that I had entered the world of "real" coding. (Ultimately the "fix" was to completely discard the code and redo everything using proper testable modular code, but I digress...) Read More ›

2015 Election: John Blischak
John Blischak / 2015-01-15
I feel I would be a good addition to the Steering Committee of the Software Carpentry Foundation because 1) I am a scientist that had to learn programming on the job, just like our target audience, 2) my experience performing many roles within SWC, most importantly as the maintainer of the R lesson materials, and 3) my goal to increase the collaborative aspect of our lesson development process. Read More ›

2015 Election: Jason Williams
Jason Williams / 2015-01-14
"You can trust in Jason, he's your friend!" — Decent People I can't recall ever running in an election - rule by fiat is what "just feels right" to me. I have on occasion thought about running for office but I usually lack ambition (although I'm attracted to power). The fantasy of being the candidate people vote for even though he is clearly against their interest just makes my pedipalps tingle. So, when I learned about the Software Carpentry Foundation election, I thought, "let's try that!" Read More ›

2015 Election: Jeramia Ory
Jeramia Ory / 2015-01-14
At SciPy 2013, I had the good fortune to attend a tutorial lead by Matt Davis and Katy Huff. As an undergraduate educator in the sciences, I was immediately impressed with the people and excited to try their approach with my students. Matt encouraged me to complete instructor training, which I did in April of 2014. Read More ›

2015 Election: Sheldon McKay
Sheldon McKay / 2015-01-14
I started my career as a molecular biologist working in the data-intensive field of functional genomics, enventually becoming a full-time bioinformatician. With the perspective of a person who transitioned from the wet lab to informatics, I have often served as a liaison between researchers and software developers and truly enjoy empowering scientists by teaching them computing skills to accelerate their research. Over the past decade, I have contributed to a variety of outreach and training efforts in scientific computing. When I learned about Software Carpentry, its mission resonated with me and I wanted to get involved. I completed instructor training in May 2014 and have been an instructor at six workshops since then and continue to do about one workshop every six weeks. I also serve as a volunteer topic maintainer for SQL. I am very proud to be associated with the Software Carpentry Foundation and have a lot of experience to offer. I would like to contribute more to our ongoing success by becoming a member of the steering committee. Read More ›

2015 Election: Karin Lagesen
Karin Lagesen / 2015-01-14
I have been involved with Software Carpentry since I attended a workshop in Oslo, Norway, in 2012. I started out as a student, then went through the second round of instructor training, before being an instructor at my first workshop in 2013. Since then, I have organized one workshop and been an instructor at five others. I have also been involved with revamping the pre-assessment forms. This work has been very fulfilling and challenging on very many levels, and I now want to expand on my efforts by volunteering for the steering committee. Read More ›

Practical Computing for Biologists (and Other Scientists)
Greg Wilson / 2015-01-14
We are big fans of Steve Haddock and Casey Dunn's book Practical Computing for Biologists, which covers everything we do and more (and is suitable for all kinds of scientists, not just biologists). We were therefore very pleased to learn that they are running a course at Friday Harbor Laboratories this summer. The outline is below, and applications are due on February 1st. Read More ›

Language Wars and Others
Greg Wilson / 2015-01-14
We often get asked, "Why do you teach [X]? Why don't you teach [Y]?" where X and Y are random permutations of Perl, Python, R, MATLAB, Julia, C++, and Javascript, or equally random permutations of different version control systems or text editors. There are three answers: Read More ›

Thanks to RStudio
Greg Wilson / 2015-01-13
Our thanks to RStudio for their generous donation to help us run Software Carpentry workshops. Inspired by the innovations of R users in science, education, and industry, RStudio develops free and open tools for the R community. These include the RStudio development environment as well as the shiny, ggvis, and dplyr packages (among many others). RStudio also offers enterprise-ready professional products to make it easier for teams to scale and share work. Read More ›

2015 Election: Aleksandra Pawlik
Aleksandra Pawlik / 2015-01-13
My first degree was in Computer Science. When I started the university I had very little idea about programming. I struggled a lot. I graduated very discouraged and convinced that I just couldn't do it. But then eight years later Greg asked me if I'd like to be a Software Carpentry instructor. I finished the instructor training and I realized that had I been taught differently, maybe now I'd have a great career as a software developer. But then, I wouldn't be writing this blog post. Read More ›

Introducing Software Carpentry
Greg Wilson / 2015-01-13
As we said in December, we're planning to use the latest incarnation of Browsercast as a web-native alternative to screencasting for recording and presenting our slideshows. Katy Huff has just recorded the first of these, which you can watch on GitHub. We'd be very grateful for feedback both on its content and on Browsercast in general. Read More ›

2015 Election: Raniere Silva
Raniere Silva / 2015-01-12
A year and a half ago I read the announcement of the Mozilla Science Lab by Mark Surman and that way I discovered Software Carpentry. Months later, I was participating in the 6th round of Instructor Training, and since then I have: taught at all 6 workshops held in Brazil, improved the lessons and helped new instructors do so too, suggested changes to the new layout of our lessons and helped in the transition, and publicized Software Carpentry. Volunteering with Software Carpentry is one of the things that I'm really proud of doing and I'd be honored be a member of the SCF Steering Committee. Read More ›

January 2015 Lab Meeting
Greg Wilson / 2015-01-12
We will hold our next online lab meeting at 11:00 and again at 19:00 Eastern time on Thursday, January 22, 2015. People who are standing for election will have a chance to talk about what they hope to do and to answer questions from other members, and we'll present updates on our finances and on our new workshop and lesson templates. If you're planning to attend, please add yourself to this Etherpad. We look forward to seeing you then. Read More ›

Instructor Training at UC Davis
Greg Wilson / 2015-01-12
On Tuesday and Wednesday of last week, we ran a live instructor training class at UC Davis. Over 40 people from all across the country got a lightning introduction to the basics of educational psychology and instructional design, and had a chance to hear how and what we teach. Read More ›

2015 Election: Katy Huff
Katy Huff / 2015-01-09
Software Carpentry has been part of my life for over six years, I began as an instructor, organizer, and curriculum developer and have been honored to grow as a researcher alongside Software Carpentry as it evolved over that time. In these years, I have organized and taught over a dozen workshops and have, for the last four months, served as an interim Steering Committee member. I have also made an effort to expand the reach of Software Carpentry as a co-author of both the Best Practices paper and a new O'Reilly book, "Effective Computation in Physics: Field Guide to Research in Python." Of course, none of this pays the bills. For that, I am a nuclear engineer... Read More ›

2015 Election: Matt Davis
Matt Davis / 2015-01-09
In January 2012 I had the good luck to be in one of Greg Wilson's first workshops after he rebooted Software Carpentry in the current two-day format. I ended up as a helper in that workshop, and a month later I was in Toronto teaching Python as Software Carpentry's first volunteer instructor. Over the past three years I have: taught at more workshops than I can remember helped transition our materials from SVN to GitHub written lessons and ipythonblocks recruited and mentored new instructors publicized Software Carpentry at conferences Volunteering with Software Carpentry has been one of the most rewarding things I've ever done and I'd be honored to continue helping as a member of the SCF Steering Committee. Read More ›

Research Software Engineer Position at the Oxford e-Research Centre
Aleksandra Pawlik / 2015-01-06
Research Software Engineer position available at the Oxford e-Research Centre, University of Oxford, UK (Java, Python, Web-app, Database, Semantic-web). Read More ›

2015 Election Nominations
Greg Wilson / 2015-01-05
As we announced last year, an election will be held on January 26-30 for the seven positions on the Steering Committee of the Software Carpentry Foundation. If you are a qualified instructor who has taught at least twice in the past two years, or have done a significant chunk of non-teaching work for Software Carpentry, you can both stand for election and vote. We strongly urge you to consider standing: if you're willing and able to commit to giving the Foundation 3 hours a week, you'll help thousands of scientists. It'll be fun, too: few things in life are more satisfying than working with a dedicated bunch of people to make something useful happen. In order to stand for election, you must write a blog post to introduce yourself to the community by Friday, January 16. This post must be around 500 words long, can be written in any format (e.g. question and answer, paragraph text), and must be titled, "2015 Election: Your Name". It should explain: what your background is, what your previous involvement with Software Carpentry has been, and most importantly what you will do as a member of the Steering Committee to contribute to the growth and success of Software Carpentry. Read More ›

2015 Election: Damien Irving
Damien Irving / 2015-01-05
Damien Irving has withdrawn from the election in order to focus on completing his thesis. We're grateful for his work on the interim Steering Committee, and wish him the best of luck with his PhD. Read More ›

The Future and Funding of Science
Greg Wilson / 2015-01-04
I was talking with friends over the holiday about the future of science and how it might one day be funded. Since it'll be ten years before I'm proven wrong, it seems like a good topic with which to start the new year. Read More ›

Projects, Projects, Projects
Greg Wilson / 2014-12-28
We have updated our projects page with links to: things we're building ourselves, and things that our members are building. The first list includes the templates for lessons and workshop websites, a a tool for managing workshops (for which we're using Django), the latest version of Browsercast, and more. The second list has everything from active papers to utilities for simulating vacuum thermionic energy conversion devices. If you'd like to help with the first, or if you're a member and would like your project listed in the second, please get in touch. Read More ›

Welcome Aboard
Greg Wilson / 2014-12-23
A lot of people qualified as instructors this fall and winter, thanks in part to the live sessions we ran in Charlottesville, Norwich, and Seattle. They join the 86 other people who received their badge this year; we look forward to seeing them all run workshops before 2015 is over. Read More ›

Interim Steering Committee Meeting: Dec 2, 2014
Greg Wilson / 2014-12-19
Software Carpentry Foundation Interim Board Meeting: Dec 2, 2014 Read More ›

Standing for Election
Greg Wilson / 2014-12-18
From 26-30 January, an election will be held for the seven vacant positions on the inaugural Steering Committee of the Software Carpentry Foundation. This will be one of the biggest steps in the project's journey from two guys staying up until 3:00 am fourteen years ago to write lessons on Perl for scientists at Los Alamos to a mature open project run by the volunteers it belongs to. If you are a qualified instructor who has taught at least twice in the past two years, or have done a significant chunk of non-teaching work for Software Carpentry, you can both stand for election and vote. We strongly urge you to consider standing: if you're willing and able to commit to giving the Foundation 3 hours a week, you'll help thousands of scientists get more done in less time and with less pain. It'll be fun, too: few things in life are as rewarding as building something, and our members are building something extraordinary. In order to stand for election, you must write a blog post to introduce yourself to the community by Friday, January 16 (i.e., a full week before the start of the election). This post: must be around 500 words long, can be written in any format (e.g. question and answer, paragraph text), and must be titled, "2015 Election: Your Name" You can submit your post as a pull request to this website's repository or by email. It should explain: what your background is, what your previous involvement with Software Carpentry has been, and most importantly what you will do as a member of the Steering Committee to contribute to the growth and success of Software Carpentry. The last point is the most important. If you have experience managing money, we need a Treasurer; if your passion is helping new instructors or figuring out how well we're doing, we need people to lead mentorship and assessment, while if you come from a part of the world that hasn't seen much Software Carpentry activity yet, you might want to take the lead in getting us going there. (Actually, the point that's really most important is that everyone will still be very welcome to volunteer in other ways, and that doing so will be as valuable as ever. We will still need topic maintainers, help with the website, and many other things, and I hope that having more people coordinating things will actually make it easier for you all to lend a hand.) If seven or fewer nominations are received, those people who nominated will be automatically appointed to the Steering Committee and no formal election will be held. Vacancies on the Steering Committee can be filled at any time at the Committee's discretion. The regular positions on the Steering Committee (Chair, Vice-Chair, Secretary, Treasurer and then any others the Committee feels it needs) will be decided by a vote at the Committee's first meeting. Read More ›

All I Want for Christmas is a Pull Request...
Greg Wilson / 2014-12-18
As we said back in October, we're splitting the existing lesson repository into smaller and more manageable pieces. To do that, we have defined a new template for lessons, and have been extracting the history of the existing material from the current repository. (We wanted to get the entire history of each lesson so that people would receive credit for the work they've done.) The second step has taken longer than planned, but we now have all of the core novice lessons in repositories of their own: Read More ›

Who Are We?
Greg Wilson / 2014-12-15
For the last three years, I've been storing information about instructors, workshops, and other things in a small SQLite database so that I can look things up and generate statistics when I need to. I can't publish it, since it contains personal identifying information, but since I had to write a script to migrate the data to the tool we're building to manage workshops, it only took another few minutes to create a partly-redacted version of the data. ("Partly" because someone who was really keen could work backward workshop URLs to instructors' names, cross-reference, and recover the names of some fraction of our instructors. Since that information is all public anyway, though, I don't think I've introduced any new risks.) The SQL source for the database is here; with it, you can regenerate the database using: Read More ›

Guidelines for Extracting History
Aaron O'Leary / 2014-12-15
As discussed previously, we are currently extracting individual lessons from the bc repository to make them more modular, which will ease use, contribution, and maintenance. This post presents some guidelines for extracting individual lessons and how to contribute to lessons in the meantime. Read More ›

Feedback from WiSE in Krakow
Aleksandra Pawlik / 2014-12-13
A week ago Krakow in Poland hosted the Software Carpentry workshop for Women in Science and Engineering. The registration filled up within 72 hours which clearly shows the need for such events. Read More ›

UCL Research Software Dashboard Developer
James Hetherington / 2014-12-13
The University College London Research Software Development Initiative is seeking a full-stack web developer to work on its Research Software Dashboard project from January 2015 to July 2015. This is a new project, starting from scratch, to develop software to curate, promote, and manage the University's wide portfolio of cutting-edge scientific and scholarly software. The project will provide an overview of the research software output of the college for scientists, managers, funders, investors and clients, including both open-source software and software being commercialised through the university's business and consulting arms. It will integrate with the University's code management infrastructure, based on GitHub Enterprise, software testing infrastructure based on Jenkins, and commercial software sales platform e-Lucid. Software is an increasingly important scholarly output for research alongside publications, and this project will help retain UCL's leadership in this important aspect of twenty-first century research. Those interested in being involved in this important project on a freelance or contractor basis should get in touch with James Hetherington (j.hetherington@ucl.ac.uk) for more information. For more information, please see the full description. Read More ›

UC Berkeley Postdoctoral Position in Nuclear Engineering
Rachel Slaybaugh / 2014-12-13
The Department of Nuclear Engineering at the University of California, Berkeley is searching for one, possibly two high-caliber researchers to work with Prof. Rachel Slaybaugh's group in the area of computational neutronics. Fields of highest relevance are Computer Science, Applied Mathematics, and Nuclear Engineering. Prof. Slaybaugh's group researches methods and algorithms for solving the Boltzmann transport equation more effectively. These methods are often inspired by the physics of the problem at hand, developments in computer hardware, or both. Ongoing work involves deterministic solution methods, Monte Carlo methods, and hybrid methods in which deterministic solutions are used to accelerate Monte Carlo solutions. Potential Projects include Angle-informed Hybrid Methods, Deterministic "Plug-and-Play" Research Environment Creation, Improving Multigroup Cross Sections for Hybrid Methods and Monte Carlo on Graphical Processing Units We seek a candidate who can start this position as early as January 2015 but the appointment start date is flexible. The initial appointment is 100% time for one year, with the possibility of renewal for a second year, dependent upon job performance and funding. Starting salaries are in the range of $50,000 to $60,000 per year and commensurate with qualifications and experience. For more information, please see the full description Read More ›

Results of Software Sustainability Institute Survey
Greg Wilson / 2014-12-13
The Software Sustainability Institute's recent survey of researchers at top UK universities is out. Headlines figure are: 92% of academics use research software 69% say that their research would not be practical without it 56% develop their own software (worryingly, 21% have no training in software development) 70% of male researchers develop their own software, and only 30% of female researchers do For the full story, see this post on their blog. Read More ›

Feedback from the MSc Clinical Bioninformatics Workshop
Aleksandra Pawlik / 2014-12-13
Early in November we put on Software Carpentry for the students of the MSc course in Clinical Bioinformatics run by the University of Manchester, UK and the British National Health Service (NHS). The course combines academic curriculum with work-based programme. The students (who already are qualified professionals) are based at various clinical units in the UK and meet only a few times to attend short intense training sessions. The instructors at the Software Carpentry workshop were Aleksandra Nenadic, who taught for the first time, and myself; we were helped by Mike Cornell and Andy Brass. Read More ›

Templates: We Live, We Learn
Greg Wilson / 2014-12-09
We have partially converted four of our core lessons to the new lesson template, and are making a few tweaks as a result. The most important of these is to move the source files for a lesson's web pages out of a pages sub-directory and into the root directory, so that (for example) the first topic in a lesson will be ./01-intro.md rather than ./pages/01-intro.md. Doing this means that the Markdown source files will be in the same directory as the HTML pages compiled from them. That's generally considered a bad thing, since (a) it makes it harder for people to tell source files from generated files and (b) the chances of accidentally deleting source files when you just meant to delete generated files goes up significantly. We think it's the right choice in this case because: Read More ›

Software Carpentry Returns to Edinburgh
Mike Jackson / 2014-12-08
Last week, EPCC's ARCHER training team ran another Software Carpentry workshop here in Edinburgh, on 3rd and 4th of December. The workshop provided attendees with an introduction to version control and Git, building programs with Python, automating tasks with Make, and how (and how much) to test programs. These were set within the context of best practices for scientific computing. Read More ›

New Accessibility Guidelines
Greg Wilson / 2014-12-05
Software Carpentry values the participation of every member of the scientific community and want all attendees to have an enjoyable and fulfilling experience. Thanks to Pauline Barmby, we now have an accessibility checklist for instructors and workshop hosts. Please have a look and send us fixes and suggestions for improvements. Read More ›

Google to Support WiSE Poland
Aleksandra Pawlik / 2014-12-05
We are happy to announce that Google will support the Software Carpentry workshop for Women in Science and Engineering which will take place this weekend in Krakow! We are grateful for their support, and look forward to the event; to which registration filled up within 72 hours! Read More ›

Announcing the Lesson Validator
Raniere Silva and Andy Boughton / 2014-12-05
Thanks to the work of Andy Boughton and Raniere Silva, we now have a validator that determines whether lessons fit the new lesson template. This post explains what it does, where there is room for improvement, and how you can help. Read More ›

International Workshop on Software Engineering for High Performance Computing in Science
Greg Wilson / 2014-12-04
The 2015 International Workshop on Software Engineering for High Performance Computing in Science is being held in conjunction with the International Conference on Software Engineering in Florence, Italy in May 2015. Topics to be covered include: Read More ›

Cape Town South Africa Workshop
Jonah Duckles / 2014-12-04
Last week we ran the biggest software carpentry workshop in South Africa to date. We had more than 80 participants in two rooms, each using the novice Python material. Pre-workshop assessment surveys showed that we'd have a mostly novice crew, but with a few outliers on the upper end. We accepted slightly higher than 80 enrollment cap and encouraged those with more advanced skills to evaluate their interest in becoming SWC workshop instructors themselves and help us out as helpers. Read More ›

An Advanced Short Course in Leeds
Andrew Walker / 2014-12-04
Helped by Aaron O'Leary, Peter Willetts, Marlene Mengoni and Jo Leng, Martin Callaghan, Devasena Inupakutika and I recently delivered a modified Software Carpentry workshop at the University of Leeds. Aimed at environmental scientists from across the UK and funded by NERC, the course included an extra day where small groups got to develop tools for environmental data analysis. Read More ›

Summarizing the News
Greg Wilson / 2014-12-03
We made several big announcements this morning, so here's a short summary to guide you through them all: The bylaws for the Software Carpentry Foundation. Our organizational membership scheme. New rules for organizing and running workshops (including fees). Plans for instructor training (which also explains why we're delaying the start of the next online course by a month). Why we need more admin support and the tool we have started building to support that. Plans for mentorship and assessment, which are two of the things that elected members of our Steering Committee will be asked to take on... An update on our new lesson format (and links to some examples). The date of our first election. We'll talk about all of this at the Dec 4 lab meeting (which takes place at 10:00 and again at 19:00, both times Eastern — see this Etherpad for connection details). Hope to see you there... Read More ›

Software Carpentry Foundation: Workshops
Greg Wilson / 2014-12-03
THIS POST IS OUTDATED AND NO LONGER ACCURATE!!! As we said in the previous posts in this series, our interim Steering Committee has adopted bylaws for the Software Carpentry Foundation and a plan for organizational membership. Those memberships won't cover all of our central costs (such as instructor training), so we are going to start charging a fee for each workshop we help organize rather than just asking people to make a donation. In exchange, we will match hosts with instructors, handle registration, manage assessment, follow up to make sure people's travel expenses have been paid, and all the other running around that needs to happen behind the scenes. One thing that won't change is that anyone who wants to organize and run a workshop on their own will always be free to do so without charge provided they satisfy a few simple conditions. In fact, we strongly encourage groups to get to the point where they can do this regularly, and to share their experiences with the community so that we can all help teach good lab practices for scientific computing. Read More ›

Software Carpentry Foundation: Organizational Membership
Greg Wilson / 2014-12-03
THIS POST IS OUTDATED AND NO LONGER ACCURATE!!! As we said in the previous post in this series, our interim Steering Committee has adopted bylaws for the Software Carpentry Foundation. They have also agreed on four tiers of membership so that universities, companies, government labs, and other entities can help support and guide our work. The authoritative version is stored in this public GitHub repository, but in brief, the tiers are: Partners, who make a significant long-term contribution to organizing and delivering workshops; Affiliates, who are organizing workshops and helping with admin, but not at the same level; Sponsors, who underwrite the cost of particular workshops that would otherwise not have backers; and Donors, who simply wish to make cash or in-kind contributions to help with general operations. Each membership tier is described below. The Steering Committee and Advisory Council will revisit them in a year's time to ensure they're meeting everyone's needs, and we will always be willing to discuss other arrangements. Please mail board-inquiries@software-carpentry.org if you would like more information, or would like to start a discussion about how you could help. And of course, individual donations to the cause will always be welcome: Read More ›

Software Carpentry Foundation: Governance
Greg Wilson / 2014-12-03
I am pleased to announce that our interim Steering Committee has adopted bylaws for the Software Carpentry Foundation, which is the final step in us becoming an independent organization. The authoritative version is stored in this public GitHub repository, along with other key documents that will be outlined in the next couple of blog posts. In brief, the SCF has four parts: the Membership, which includes active instructors and others contributing directly to the project; the Steering Committee, which is elected by and from the membership and is the SCF's primary decision-making body; the Advisory Council, which includes representatives from our major partners, and the Executive Director, who is an employee of the SCF responsible for overseeing its daily operations. The Executive Director answers to the Steering Committee, but is not a member of it. I have accepted the position of interim Executive Director, and the first elections for the Steering Committee will be held early in 2015. These bylaws, and the agreement with NumFOCUS that enables us to operate as a 501(c)3 non-profit, are the structure we need to run a successful independent foundation. The next priority is fundraising: I've been without a salary since my contract with Mozilla ended in October, which clearly isn't sustainable. The next post in this series describes the different ways in which organizations can support us; we're close to signing deals with several groups, so I'm confident we'll start the new year with our finances in order. Read More ›

Plans for 2015: Workshop Organization
Greg Wilson / 2014-12-03
As I write this, 228 people have been certified to teach Software Carpentry workshops, of whom 136 have taught in the past twelve months. That's amazing, but as I said in a previous post, growth in one part of a pipeline inevitably turns another into a bottleneck. In our case, that bottleneck is organizational: Arliss Collins and Giacomo Peru are stretched to the limit handling requests and lining up instructors, and we're still not keeping up with demand. This kind of work can't be done by a volunteers in bits and pieces: the startup overheads are significant, as is the context required to manage each conversation, and there are time when mail really needs to be answered right now, not when it's convenient. We are therefore asking our Partners to organize workshops in their region, and hope that others will shoulder some of the burden as well. We're also trying once again to build a tool to simplify workshop management. I have started a simple Django application called Amy to keep track of who wants a workshop, who can teach what, who our learners have been, and so on. The data model is mostly done, and I've included a dump of our existing database with personal information redacted to aid further development and testing. All Amy can do now is display information. What we want to do is add and edit new data. If you'd like to help, please fork the project and send us pull requests—we'd be grateful for your help. Read More ›

Plans for 2015: Mentorship and Assessment
Greg Wilson / 2014-12-03
The previous posts in this set looked at instructor training and workshop organization. In this one, I'd like to look at mentorship and assessment, which are two of the biggest challenges we need need to address in the coming year, and are good examples of the kinds of tasks that Steering Committee members will be asked to take on. Azalee Bostroem did a great job summarizing why we need to mentor our new instructors (and keep those who've been with us a while up to date with changes to our lessons and procedures). The question is, how? Or more precisely, where will the hours come from? I said in September that I would organize a weekly meeting for instructors from recent and upcoming workshops. Only one took place, and saying "we just need to try harder" won't make the necessary hours appear. The same is true of assessment. Jory Schossau has done valuable service analyzing survey data and interviewing bootcamp participants, and Daniel Chen and others are working hard to revise the instructors' post-workshop questionnaire, but despite several attempts, we haven't found anyone willing to fund a systematic look at what we're actually doing and what impact it's having. Once again, we can either say "we need to try harder" or come up with an alternative plan. Read More ›

Plans for 2015: Lessons
Greg Wilson / 2014-12-03
The previous three posts in this set looked at instructor training, workshop organization, and the twin challenges of mentorship and assessment. In this final one, I'll summarize the state of the changes we're making to our curriculum. We described the new template for lessons back in October, and since then, a handful of people have been working to improve it and to extract our existing lessons from the 'bc' repository and convert them to the new format. The first step has taken longer than planned: we want to be sure we get the entire history of each lesson, so that people receive credit for the work they've done, and thats proving to be a slog. The good news is, you can now see what the result will look like. Our novice lesson on SQL now lives in this repository, and you can view its rendered form in this GitHub pages site. There's still a lot to do—the learning objectives need to be cleaned up, the challenges all need meaningful names, and there's clearly lots of scope for improving the lesson's appearance—but the pieces are there. Read More ›

Plans for 2015: Instructor Training
Greg Wilson / 2014-12-03
Instructor training has been going well: it looks like more than 50% of people who participated this summer and fall will complete and start teaching for us, which is a new record. What's even better is that we have 136 people signed up for the next online course. Even if only half of them complete, it will enlarge the pool of instructors by more than a third, and broaden our coverage both geographically and across disciplines. The question now is when that course should start. Teaching a group that size will take two full days a week, and in the short term, I need to focus on building partnerships, getting grant applications out the door, and overseeing election of our Steering Committee. Read More ›

Our First Election
Greg Wilson / 2014-12-03
The Software Carpentry Foundation's bylaws state that the Steering Committee must be elected annually. With a new year upon us, the interim committee has decided that the first such election will take place in the week of Jan 26-30, 2015. Here are a few key points: Every qualified instructor who has taught at least twice in the past two calendar years is automatically a member of the SCF, as is anyone who has done 30 days or more work for the SCF in the past calendar year, and anyone who has, in the opinion of the Steering Committee, made a significant contribution in the past year. All SCF members may both stand for election and vote in it. We'll explain how to do both after the next interim committee meeting on December 16. As discussed in an earlier post, members of the Steering Committee are expected to volunteer at least 2-3 hours a week to help mentor our instructors, conduct assessment, oversee major changes to the curriculum, manage our finances, and so on. Read More ›

What About MOOCs?
Greg Wilson / 2014-12-02
We frequently get asked whether Software Carpentry would work as a MOOC. The answer is that I think it can work well if it's what Siemens and Downes actually had in mind when they coined the term. They didn't people watching videos and then doing robo-graded exercises; instead, their connectivist model of learning assumed that participants would use the internet to collaborate in exploring ideas, rather than as a faster form of television. I'm definitely excited about the Siemens and Downes kind of MOOC. In particular, I believe that instructors who don't have time to teach a full workshop might give us an hour a week to help people via one-to-one or one-to-few sessions via Skype and screen sharing. There was a lot of enthusiasm among the instructors for this when we tried it in the spring of 2012; that experiment wound down because we lacked critical mass, but we're five times larger now, and I think it would be worth trying again. The most interesting question for me is where this fits. Should we start people off this way? Should people do the first day in person (so that we can get them through software setup and configuration issues), then do the rest online? Should this be used as the "day 3" follow-on that everyone keeps asking for? We'd like to try all of this and more; if you'd like to help, please let us know. Read More ›

Reminder: Lab Meeting on Thursday
Greg Wilson / 2014-12-01
Just a reminder that our last online lab meeting for 2014 will be held at 10:00 am Eastern time on Thursday, December 4, and will be repeated at 7:00 pm Eastern on the same day. We will be making several big announcements, so if you're planning to attend, please add yourself to the Etherpad at https://etherpad.mozilla.org/swc-labmeeting-2014-11 so that we have an idea of numbers. We look forward to seeing you Thursday. Read More ›

Goalposts for the Digital Humanities
Greg Wilson / 2014-12-01
As a follow-on to last month's post about courses at the British Library, I asked some people who are teaching digital humanists where their goalposts are, i.e., what they think the minimum someone in the humanities should know about working with computers and digital data. The brief responses were interesting: Read More ›

How to Manage Confidential Data
Greg Wilson / 2014-11-27
A couple of days ago, a member of our community wrote: I am very interested in working on improving research analytics in government using the principles developed by Software Carpentry. A key stumbling block I run into with my peers is their skepticism about these principles being able to protect data that is confidential or restricted use. Read More ›

Translating Software Carpentry into Korean
Greg Wilson / 2014-11-25
This is pretty amazing: a group has translated the core Software Carpentry lessons into Korean: Introduction: http://statkclee.github.io/xwmooc-sc/intro.html The Unix Shell: http://statkclee.github.io/xwmooc-sc/novice/shell/ Version Control with Git: http://statkclee.github.io/xwmooc-sc/novice/git/ Programming with Python: http://statkclee.github.io/xwmooc-sc/novice/python/ Programming with R: http://statkclee.github.io/xwmooc-sc/novice/r/ Using Databases and SQL: http://statkclee.github.io/xwmooc-sc/novice/sql/ Extras: http://statkclee.github.io/xwmooc-sc/novice/extras/ It's a remarkable and encouraging achievement—congratulations and thanks to the team that did the work: Victor KC Lee (이광춘): Translation Lead Jungsu Han (한정수): Translator Chungyeong Moon (문춘경): Illustrator Ri Jeong Kim (김이정): Graphic Designer Hwan Beom Kang (강환범): Support We still need to figure out how to manage this: Gabriel Devenyi's post outlined our options, but someone will need to take the lead to set something up so that versions in various languages can stay in sync. Read More ›

Congratulations to Data Carpentry
Greg Wilson / 2014-11-24
In case you missed the announcement last week, our sibling organization Data Carpentry has received funding from the Moore Foundation to support its activities and growth, and Dr. Tracy Teal (a long-time contributor to Software Carpentry, and one of the founders of Data Carpentry) has accepted a position as Data Carpentry's project lead. We're very excited by both developments, and are looking forward to continuing to work with them. Read More ›

Announcing WiSE Krakow!
Aleksandra Pawlik / 2014-11-23
After running several Software Carpentry workshops for women in science and engineering in North America, we are moving east: on 6th and 7th December we will run a WiSE workshop in Krakow, Poland. Like previous WiSE workshops, this one is open to women at all stages of their research careers, from graduate students, post-docs, and faculty to staff scientists at hospitals and in the public, private, and non-profit sectors. The instructors at the workshop will be Paulina Lach of Krakow's University of Science and Technology AGH and Aleksandra Pawlik, the Software Sustainability Institute's Training Leader. The helpers are Agnieszka Celińska (Pedagogical University of Krakow), Iwona Grelowska (University of Science and Technology AGH), Patrycja Radaczyńska (Creativestyle), and Anna Ślimak (Lunar Logic). Read More ›

Instructor Training Stats
Greg Wilson / 2014-11-22
The Software Carpentry Foundation's board asked me for some stats on instructor training, and I thought other people would find them interesting as well: Read More ›

Adding a Projects Page
Greg Wilson / 2014-11-20
It's long overdue, but we've finally started a page to showcase the projects that our instructors are involved in. If you'd like to add one, please send us a pull request or mail us for instructions. (Turns out, we do pretty cool stuff...) Read More ›

The New Instructor Post-Assessment Questionnaire
Greg Wilson / 2014-11-19
As mentioned two weeks ago, a group led by Daniel Chen have been revising the post-workshop survey for instructors so that we can get a better idea of who's actually teaching what, how long it's taking, and how it's going. The latest draft can be viewed here, and is included below. We'd be grateful for one last round of feedback—in particular, we're concerned about (a) the overall length and (b) how closely the headings are tied to our current curriculum. Please let us know what you think in comments on this post. Read More ›

Interim Board Meeting: Nov 18, 2014
Greg Wilson / 2014-11-18
Software Carpentry Foundation Interim Board Meeting: Nov 18, 2014 Read More ›

Close Enough for Scientific Work
Greg Wilson / 2014-11-18
The discussion around last month's post "Why We Don't Teach Testing (Even Though We'd Like To)" has been one of the most interesting in Software Carpentry's history. Inspired by that, and by discussion at WSSSPE 2.0, we are launching a collaborative book project called Close Enough for Scientific Work in which scientists will show one another how they test their software. Contributions should be aimed at sophomores in science and engineering, and each should be sized to fit a one-hour lecture. While the format of each entry will vary according to its content, we expect most will follow this template: Read More ›

Lessons, the Repository Split, and Translations
Gabriel A. Devenyi / 2014-11-15
Keeping on the roll of the posts about the repo split, templates, and metadata, Software Carpentry now needs to consider how to handle translated lessons. The core Software Carpentry lessons have be translated by bilingual instructors into Korean produced by Victor KC Lee (and friends) and Spanish by Francisco Navarro (and friends). With the upcoming repo split, I think its a good time to examine the various options of how we might handle translations generally. Read More ›

Workshop Summary: Gerstein Science Information Centre, University of Toronto
Pauline Barmby / 2014-11-14
Last week we ran a Python-based SWC workshop at the University of Toronto's Gerstein Science Information Centre. The advertised audience was graduate students, post-docs and other researchers in science, engineering and medicine at the University of Toronto. The workshop had about 20 learners. Most were grad students or postdocs in life sciences. The pre-workshop assessment said that about three-quarters of learners had some programming experience with about half of those having some Python; maybe half of the total had some familiarity with the command line. Almost none had experience with version control or SQL. The instructors were Pauline Barmby, Greg Wilson, and Thomas Guignard; helpers were Sahar Rahmani, Luke Johnston, Daiva Nielsen, Tom Wright, and Fei Xu. Our host was Erica Lenton. Read More ›

Announcing November 2014 Lab Meeting
Greg Wilson / 2014-11-14
Our last online lab meeting for 2014 will be held at 10:00 am Eastern time on Thursday, December 4, and will be repeated at 7:00 pm Eastern on the same day. (We had originally planned to have it on November 27, but that would conflict with American Thanksgiving.) If you're planning to attend, please add yourself to the Etherpad at https://etherpad.mozilla.org/swc-labmeeting-2014-11 so that we have an idea of numbers. We look forward to seeing you in a few weeks. And yes, we're calling it the November lab meeting even though it's in December, because it just wouldn't be programming without an off-by-one error... Read More ›

Replacing the Teaching Blog
Greg Wilson / 2014-11-13
We've been using a WordPress blog to manage instructor training for the past two and a half years, and while it's served us well, it's clear that we've outgrown it. It's also clear (to me at least) that we should get instructors started on GitHub earlier, so replacing WordPress with a GitHub-backed blog seems like it would serve a dual purpose. Our requirements are: Read More ›

Why It Matters
Greg Wilson / 2014-11-11
Sometimes I forget that it isn't obvious why scientists ought to learn to program—or why anyone else ought to. Being more productive, getting a better job... Those are all good reasons, but as Bret Victor points out, if we focus on those, we risk losing sight of what matters most. To explain that, I have to quote Matthew Crawford's thought-provoking (and sometimes infuriating) Shop Class as Soulcraft: Read More ›

Workshop at the University of Virginia
Stephen Turner / 2014-11-11
We pulled off our day-long data analysis bootcamp with hardly a hiccup yesterday. The schedule looked something like this: AM pt 1:intro to AWS & intro to Unix Shell AM pt 2:data analysis in Unix: alignment, quantitation of RNA-seq data PM pt 1:intro to R PM pt 2:data analysis in R: QC, differential expression, etc. Read More ›

Workshop at GeoSim (Potsdam)
Tiziano Zito / 2014-11-11
I had never taught a Software Carpentry workshop before (though I have taught an Advanced Scientific Programming in Python many times), so when the hosts for this one asked if I would be willing to do a full-week workshop, I said they were crazy ;) They convinced me to do it, but I said in that case I could only do that if I can recycle the materials I use for our summer school. They agreed, and I managed to convince a buddy in Berlin to help me with tutoring. Read More ›

Ongoing Learning with User Groups
Noam Ross / 2014-11-10
For the past two years I've run the UC Davis R User's Group (D-RUG). In this post, I'll (1) outline the structure of D-RUG, (2) summarize some lessons learned, and (3) discuss how such users' groups could act to support and complement SWC's workshops. Read More ›

Amdahl's Law and Software Carpentry
Greg Wilson / 2014-11-07
Amdahl's Law says that the speedup you can get by parallelizing a computation is limited by how much of the computational can't be sped up. For example, if 10% of a program's run time is inherently sequential, then even if you have an infinite number of processors, you can't speed it up more than 10 times. The same rule applies to organizations like Software Carpentry. We now have almost 200 certified instructors; even working in pairs, and each teaching only once a year, that's enough to run two workshops a week, and we're training more all the time. But someone has to train them, and match them with workshops, and design new templates for lessons, and talk to potential sponsors, and those central activities are now limiting what we can accomplish. Read More ›

You Should Read Juha Sorva's Thesis
Greg Wilson / 2014-11-06
If you really want to dig deeper into educational research and how it applies to teaching programming, you should grab a copy of Juha Sorva's PhD thesis. The UUhistle system he built is interesting, and the research he did with it is thought-provoking, but what's really great is the summary of educational research in the first third of the thesis. I've extracted that part with his permission, and I can't recommend it highly enough. Read More ›

Instructor Training at TGAC
Greg Wilson / 2014-11-06
Hayley London has written a great summary of the instructor training at TGAC in Norwich in October. Aleksandra Pawlik, Bill Mills, and I enjoyed meeting everyone, and I look forward to returning soon. Read More ›

Why Institutional Partnerships Make So Much Sense
Damien Irving / 2014-11-06
When I first got involved in Software Carpentry, I liked nothing more than to lament the fact that universities don't teach their undergraduates (or early post-graduates) fundamental programming skills. It was one of the main reasons I felt so compelled to help out. By running our two-day workshops, I felt that we were basically picking up the slack until such time that universities woke up to themselves and started teaching this stuff. At this point, I felt that (like many non-profit organisations striving to make the world a better place) Software Carpentry would have achieved its mission by essentially making itself redundant. Fast forward a couple of years and I'm now part of a new University of Melbourne department tasked with the job of teaching programming fundamentals to post-graduates. To my surprise, I've found that in this progressive new world we actually need Software Carpentry more than ever. The interim board of the Software Carpentry Foundation is seeking to form partnerships with organisations like my own, so I thought this was an opportune time to share our experiences. Read More ›

An R Workshop at the University of Sydney
Diego Barneche / 2014-11-04
Last week we ran an R-based SWC bootcamp at University of Sydney. The primary target audience encompassed grad students from the Department of Psychology who had little to no experience in programming. While some had previous limited experience with programming languages (e.g. MATLAB or R), most of them had been exposed only to statistical software such as SPSS. Read More ›

Interim Board Meeting: Nov 4, 2014
Greg Wilson / 2014-11-04
Software Carpentry Foundation Interim Board Meeting: Nov 4, 2014 Read More ›

A 'Joel Test' for Grassroots Programming Groups
Greg Wilson / 2014-11-04
Back during the first dot-com bubble, Joel Spolsky wrote an article titled "The Joel Test: 12 Steps to Better Code" that listed 12 questions you can ask to estimate the maturity of a software development team: Read