Guidelines for Red Hen Mentors

Introduction

Welcome as a Mentor to Red Hen Lab! You are now a member of a global network of researchers in multimodal communication. We very much appreciate your contribution, and invite you to let us know how we can help with your research.

Requirements for Mentored Projects

Go Over the Submitted Proposal with the Student

In the Community Bonding period, arrange a teleconference meeting with the student and go over the student's proposal in detail. Verify that the milestones are well-defined and achievable. Ensure that the student has the necessary access to the Red Hen dataset. Emphasize the requirements of keeping a developer's blog, eventually placing the completed code into a production pipeline, and documenting its operation.

Create a Github Repository

Ask the student to create a github account and to send his or her github login name to redhenlab@gmail.com. We will admit the student to Red Hen Lab's organization site and create a github repository for the project.

Create the Developer Blog

Ask that the student create a blog for the project on his or her github account using Github Pages with Jekyll, a static site generator, and maintain a weekly progress report.

Develop inside a Singularity Container

The student's code should be developed inside a Singularity Container, so that it can easily be migrated. These containers are easy to create; see Using Singularity to create portable applications. We recommend the development take place on the Case HPC, where students will have full access to Red Hen Lab's dataset, but it may also be useful to develop inside the container on a local machine.

Coding Standards

Please direct the student to the Red Hen Coding Standards, and help us by suggesting improvements.

Develop a Pipeline in Production

Unlike a proof-of-concept project, Red Hen Lab requires that the final code be placed into a processing pipeline on the Case High Performance Computing cluster. Students and mentors should sign up for accounts early on. For the project to be approved, the pipeline should be put into production, which means that it should operate on daily incoming data and produce an output. 

Document the Code

Ensure that the student provides accurate and adequately detailed user and reference documentation. The user documentation should allow a naive user with no knowledge of the internal functioning of the code to deploy it. The reference documentation should allow a subsequent coder to pick up the code and make improvements. Make sure there is time set aside in the schedule to generate adequate documentation.

A Publicity Slide Show

To publicize the student's work, in the last week of the project, ask the student to prepare a dozen slides, drawn from his or her proposal, blog,  completed code, and documentation, highlighting the utility of the project to a general audience. Red Hen Lab includes a large number of researchers across a wide range of different disciplines, and they should be given access to tools and the significance of the students' work.

A 10-minute Video Presentation 

At the end of the project, ask the student to spend ten minutes in a scheduled, streamed presentation to which the Red Hen co-directors will invite the Red Hen community. The students will present his or her slides and take questions. The session will be recorded and posted publicly. 

Annual Red Hen Lab Report

Red Hen posts a report on mentored projects, e.g. the group of projects mentored under Google Summer of Code in any given year.  For each student and project, the report should have a link to the student's blog, the github repository, the documentation, and the final recorded presentation.