Davide, We are in the process of developing an incubation model for lessons. This is still in draft form but the basic outline is:
1. Nearly any lesson can be contributed to github.com/swcarpentry-contrib (this is a newly created GitHub organization) 2. Lesson maintainers can petition for lessons to be considered as a core lesson and enter incubation, this petition must demonstrate a widespread community demand for the lesson. 3. During incubation (6mo-1yr) the lesson will have to be taught by a community other than the lesson author(s) home community. Feedback and contributions from other instructors is an important part of ensuring the lesson has broad appeal and support. 4. At the end of incubation the lesson developer/champion must make the case for the lesson to be integrated into the core set of Software Carpentry lessons. 5. Periodically, lessons that aren't actively developed or taught will drop down to contrib. In the context of lesson development I see that the brand "Software Carpentry" 1) offers flagship workshops, drawn from its core lessons; 2) provides a community for experiments and conversations about the lessons that will have broad appeal; 3) empowers instructors and local communities to experiment off-brand with new ideas; and 4) seeks to reflect experimentation and new lessons into the core as appropriate. In order to make sure our workshops and brand continue to have impact, we should be opinionated about what we do and don't allow to be called "Software Carpentry". It is my experience that our community is always experimenting with new lessons, new ways to teach existing lessons. So our incubation process has no intent of blocking progress in lesson development. It is just a way to make sure we have a measures of demand and quality to lessons being taught under the Software Carpentry banner, in return, when a lesson is high-quality and in-demand, the community will support and maintain those lessons. As a mental model for developing whole new workshops, I'd encourage you all to look at Titus Brown's recent blog post: http://ivory.idyll.org/blog/2016-norway-repeatability.html Specifically his diagram showing "workflow engine", "data analytics narrative", "execution environment" and "versioning". These are the components of a repeatable workflow, and any complete workshop should at least allude to how the lessons enable the learner to think about how the interplay of the components can be applied toward their own research problems. To specifically answer your question about teaching this new workshop Davide. I suggest you run it as "Inspired by Software Carpentry", and test the ideas, gain traction and build the case for the lesson(s) to enter incubation. Regards, --- Jonah Duckles Software Carpentry, Executive Director http://software-carpentry.org From: Davide Del Vento <[email protected]> Reply: Davide Del Vento <[email protected]> Date: April 4, 2016 at 9:49:20 PM To: Software Carpentry Discussion <[email protected]> Subject: [Discuss] Python intermediate? First time teaching? Core curriculum? I have questions about the python intermediate lessons, and the first time teachings. At the moment there are two repos, namely https://github.com/swcarpentry/python-intermediate (empty!!) and https://github.com/swcarpentry/python-intermediate-mosquitoes (which says to see https://github.com/swcarpentry/lesson-template for instructions on formatting, building, and submitting lessons, but the only instructions I could find are https://github.com/swcarpentry/lesson-template/blob/gh-pages/CONTRIBUTING.md and don't say much) Now, I (~= NCAR) need(s) a python-intermediate-geospatial or something like that. I'll be happy to develop that, and I was wondering the best way to proceed. One way could be to fork the mosquitoes lesson, which is a pretty good start for my purpose. Is that ok? If so, does it matter if I do it as myself or as NCAR (which is a github org which I can create projects in)? If I proceed that way, how will the eventual transfer to swcarpentry org happen? Or should I do something different? Note also, that I may need to teach this class (few days long) sometimes next summer and that I haven't completed the checkout yet (but I taught similar python classes in the past as non--SWC). Is it realistic to be ready this way? IIRC as newbie instructor, I should be assisted by other non-newbies in my first teachings, but of course nobody will be already familiar with the material. So how do new lessons get "bootstrapped"? Alternatively, I can get another NCAR SWC instructor (still not checked out yet), who is familiar with the material. That would be two newbies, is it acceptable? Any other suggestions? I will be ok to teach the material as non-SWC for this time, as last resort. Actually this "last resort" may still be the best, since we just taught git to the audience for this python class (non-SWC since we weren't ready to do it that way), and they already are proficient enough in shell (which actually they are deprecating, in favor or using python, maybe with plumbum, for everything, not only the geospatial stuff), so they would not be interested in git or shell. So, are there exceptions to the "must cover the core of Software Carpentry's curriculum" rule? Thanks, Davide PS: boy that's way more than I had in mind for this message, I kept adding to the subject... Feel free to split the answers under 3 separate conversations, if appropriate. _______________________________________________ Discuss mailing list [email protected] http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org
_______________________________________________ Discuss mailing list [email protected] http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org
