MolSSI’s education techniques and practices are modeled after The Software Carpentries style to teaching novice software best practices. This approach teaches subjects that not only increase a student’s scientific capability and efficiency, but also increase a student’s future marketability in scientific and non-scientific fields. MolSSI promotes SWC-style lessons by combining open-classroom and cognitive map learning. We engage large portions of the CMS community (and beyond) through geographically diverse workshops aimed at both novice and intermediate learners.

Students will be introduced to the Open Source Initiatives description of open-source software along with the open-source software lifecycle best practices to ensure code is reliable and reproducible while decreasing long-term maintenance requirements, increasing long-term viability. The majority of these best practices come from observing other successful organization such as the diverse NumFocus projects. We encourage interoperable designs both within a given programming language and across programming languages. This includes language binding and language agnostic data abstractions (JSON, XML, HDF5, NetCDF, etc).

MolSSI hold three principle types of workshops:

  • CMS Novice Bootcamp – A short two-day bootcamp that teaches the basics of version control, testing, continuous integration, and build systems. Aimed at graduate students and post-docs.
  • Software Summer School – Large 50-student 10 day schools that cover MolSSI best practices plus computer architecture, parallel computing, and binding low level languages.
  • SSE/SSI Infrastructure Workshop – A four day workshop where the first two days cover current infrastructure best practices for long-term sustainability and the second two days spent implementing discussed infrastructure improvements.

In addition to these core workshops, MolSSI supports a number of workshop and activities hosted by the community:

  • Coding Workshop @ MERCURY – Annual undergraduate coding conference at Furman University
  • Parallel Computing in Molecular Sciences – Educating and training a new generation of graduate students and postdocs in molecular sciences in advanced high-performance parallel computing skills on the computing architectures of today and tomorrow.