Research internships

The nature of the internship

The Institute for Computing in Research offers summer research internships to high school students. Students focus on a research project for the majority of their time. In the rest of their time they learn a curriculum of research skills.

Student interns work a 35 hour work week and receive an educational stipend. They are paired with a mentor and select their project with their mentor.


Our internship program is intended for students who have already spent some time programming in Python on the GNU/Linux operating system. Other needed research skills will be taught in the course of the internship. Students should take the Serious Computer Programming for Youth 10-hour workshop (and have done some follow-on work), or have a reference letter stating that they have equivalent experience with Python and GNU/Linux. Please contact us if you would like to see such a course scheduled.

Students should have just completed their sophomore, junior or senior year in high school, and should be 16 years old or older

Students should apply by uploading a resume and cover letter to our application page.

Assignment of a mentor

Applicants are reviewed by mentors in the institute. If they are accepted they are contacted directly by the mentor. Once a student has been assigned a mentor, the student can also find other collaborators and mentors, but must keep the mentor aware of all such other collaborations.

A typical day in the internship

The working day starts at 9am and ends at 4:30pm, with a half hour lunch break at 12:30pm. Lunch is provided by the institute.

At 9:15am all the interns and the site facilitator meet for a brief stand-up meeting (similar to the scrum in agile methodologies). Each participant speaks for up to two minutes about what they have been working on and what they will work on in the next day.

On two or three days each week there will be a two-hour presentation by one of our guest lecturer. The first hour presents their research or technical topic at an appropriate level for the interns. The second hour gives a breakdown of topic into a computational project within the reach of our students.

On days without tutorials there will be student-run presentation of curriculum: the student who has championed an area of the required curriculum will guide the others through that topic.

The internship project

Students craft their own project with guidance from their mentor, so the following list of broad areas is intended to give examples and ideas, not to limit the options.

Mentor’s area of research

The student chooses to work on a project for which the mentor already has some momentum. These projects are likely to reach a concrete result.

A pedagogical project

The project is to curate a lesson plan for students to learn a topic or research technique. The student investigates the best way for a young student to learn the material that would normally be considered much more advanced. The key to this attempt at precocious learning (and in fact in some ways the premise of this institute) is that when you write a computer program to calculate and visualize something, you really wrap your mind around it. This kind of project could lead to a publication in the Journal of Open Source Education and would form future curriculum for this institute.

Existing free/open-source software project

There is a vast collection of such projects, some of them curated by projects such as the participants in the Google Summer of Code. These projects are likely to give a valuable authorship credit on established free software projects.

New project devised by student with mentor

This kind of project does not start with as much momentum as the other categories, but it might give the student the most valuable experience in fully independent work.

A project inspired by a guest lecture

If a student is inspired by one of the guest lectures early in the internship, she can propose that topic to the mentor and work together to make progress on it.


Students with this kind of opportunity naturally and rapidly grow into professional behavior in the workplace, but it is still an important practice to follow a code of conduct to foster a safe environment for our entire community. The Institute for Computing in Research has a Code of Conduct which everyone is required to follow.