MolSSI
  • People
    • Board of Directors
    • Science & Software Advisory Board
    • MolSSI Software Scientists
    • MolSSI Associates
  • Fellowships
    • The MolSSI Software Fellowship Program
    • All MolSSI Software Fellows
    • 2021-A Seed Software Fellows
    • 2020-B and COVID-19 Seed Software Fellows
    • 2020-B Investment Software Fellows
    • 2020-A Seed Software Fellows
    • 2020-A Investment Software Fellows
  • Workshops
    • 2020
      • Open Source Software for Rare-Event Sampling Strategies
      • MolSSI/BioExcel Workshop on Workflows in Biomolecular Simulations
      • Biennial Conference on Chemical Education (BCCE)
      • MolSSI Driver Interface (MDI)
    • 2019
      • Stochastic Approaches to Electronic Structure Calculations
      • Software for Advanced Potential Energy Surfaces
      • Summer School and Workshop on Parallel Computing in Molecular Sciences
      • The Open Molecular Science Cloud
      • Molecular Dynamics Software Interoperability
      • Rovibrational Molecular Spectroscopy
      • Machine Learning and Chemistry: Challenges on the Way Forward
      • A Science Gateway for Atomic and Molecular Physics
    • 2018
      • Science Gateways Community Institute
      • NSF SSE/SSI PIs Workshop
      • Modular Software Infrastructure for Excited State Dynamics
      • Tinker Modeling Software
      • Python for Quantum Chemistry and Materials Simulation
      • Solving or Circumventing Eigenvalue Problems in Electronic Structure Theory
      • Summer School and Workshop Parallel Computing in Molecular Sciences
      • Workflows in Biomolecular Simulations
    • 2017
      • Computational Materials Science
      • Biomolecular Simulation
      • Core Software Blocks in Quantum Chemistry
      • Interoperability
      • Excited States
      • Coding Solvation
      • Best Practices in Molecular Simulation
      • Biomolecular Workflows
      • Quantum Mechanics Schema
    • 2016
      • Cyberinfrastructure and the Molecular Sciences
  • Education
    • MolSSI Education Resources
    • MolSSI Best Practices
    • Summer Schools
    • Coding Workshop @ MERCURY
  • News & Events
  • Software
    • Software Projects
    • COVID-19 Hub
    • MolSSI@Github
    • Basis Set Exchange
    • MolSSI Integral Reference Project
    • QCArchive
    • QCSchema
    • MolSSI Driver Interface
    • CMS Cookiecutter
  • Resources
    • Frequently Asked Questions (FAQs)
    • Publications from the MolSSI
    • Community Code Database
    • MolSSI Community Code Partners
    • Job Opportunities in the Molecular Sciences
    • Requesting a Letter of Collaboration
  • Subscribe

Education Workshops

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 his/her future marketability in both scientific and non-scientific fields. The MolSSI promotes SWC-style lessons by combining open-classroom and cognitive-map learning. We engage large portions of the CMS community (and beyond) through demographically and geographically diverse workshops aimed at both novice and intermediate learners.

MolSSI instructors introduce students 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 and increasing 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 offers a number of education workshops for students and post docs in the computational molecular sciences. These workshops cover a range of material, from basic scripting to writing programs which use MolSSI Best Practices.

See below for an explanation of each workshop type, as well as links to workshop materials.

Long Workshops

MolSSI Software Summer School

MolSSI Software Summer Schools are large 50-60 student educational schools that last for two weeks. The curriculum focuses on best practices in software engineering – version control, continuous integration, data management, programming paradigms, and more – to promote reproducibility and reliability in research as well as aspects of modern high-performance computing architectures and code optimization.

The software summer school takes place biennially, with the next occurring in summer of 2019. For more information, check our Software Summer School page.

One to Two Day Workshops

Python Data and Scripting

The MolSSI Python Data and Scripting workshop is designed for students who are currently involved in, or planning to start computational chemistry research. This workshop is designed to help students develop practical programming skills that will benefit their undergraduate research, and will take students through introductory programming and scripting with Python to version control and sharing their code with others. NO prior programming experience is required.

The workshop covers the following topics:

  • Reading and writing files
  • File manipulation and parsing
  • Analyzing and graphing data
  • Writing functions
  • Creating command line programs from Python scripts
  • Basic testing using PyTest
  • Version control with git
  • Sharing code on GitHub

Materials for this workshop can be completed in person, or online in our self paced modules.

Note: Online workshop lessons are under development and not necessarily complete.

Introduction to MolSSI Best Practices

Our best practices workshops introduce and promote MolSSI best practices to workshop attendees. This workshop is designed for graduate students, post docs, or advanced undergraduate students. In this course, students create a Python package using best practices, and host this project on GitHub.

This course includes the following topics:

  • Conda and Python environments
  • Structuring a Python project
  • Version control using git
  • Online code repositories such as GitHub
  • Unit testing and the PyTest testing framework
  • Code coverage
  • Continuous integration tools
  • Documentation tools

Materials for this workshop can be completed in person, or online in our self paced modules.

Note: Online workshop lessons are under development and not necessarily complete.

Object Oriented Programming and Design Patterns

The Object Oriented Programming (OOP) and Design Patterns tutorials provide a brief introduction to good software design principles. These tutorials are designed for graduate students, post docs, or advanced undergraduate students. Students will develop python modules using OOP principles and software design patterns.

These tutorials include the following topics:

  • Encapsulation
  • Data Abstraction
  • Inheritance
  • Polymorphism
  • Factory Design Pattern
  • Adapter Design Pattern
  • Facade Design Pattern
  • Observer Design Pattern

Materials for this workshop can be completed in person, or online in our self paced modules.

Note: Online workshop lessons are under development and not necessarily complete.

Upcoming Events

View All Events



Contact Us

E: info@molssi.org
P: (540) 231-4457
Location: 1880 Pratt Drive, Suite 1100
Blacksburg, VA 24060

Subscribe to our mailing list

Board of Directors

T. Daniel Crawford (Virginia Tech)
Cecilia Clementi (Rice University)
Robert Harrison (Stony Brook University)
Teresa Head-Gordon (U.C. Berkeley)
Shantenu Jha (Rutgers University)
Anna Krylov (U. Southern California)
Theresa Windus (Iowa State University)
Dominika Zgid (U. Michigan)

Connect with us

Visit Us On FacebookVisit Us On LinkedinVisit Us On Twitter

NSFLogoThe MolSSI is supported by the U.S. National Science Foundation through grant number OAC-1547580.

© 2020 The Molecular Sciences Software Institute, Designed by FourDesign
Close Window

Loading, Please Wait!

This may take a second or two. Loading, Please Wait!