Research internships

The nature of the internship

Internship dates for 2024 internships: July 8 to August 2. Santa Fe, NM; Portland, OR; Austin, TX; we are looking at opening in other cities anywhere in the world – talk to us about what is involved. We also hire a visiting scholar in each city.

NEWS: Applications for 2024 closed at the end of March; please call Mark Galassi at 505-629-0759 (voice only) if you have questions or if you or your school have made arrangements.

Summer 2024: We are also taking sign-ups for the Research Skills Academy for the summer of 2024.

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. Interns are expected to work carefully and with attention to detail. They will also be expected to work quite independently, while at the same time having full access to the support of their fellow interns and of the many Institute volunteers.


Our internship program is intended for students who have already spent some time programming in Python on the Linux operating system. Students should take the Serious Computer Programming for Youth 10-hour workshop well in advance. They might have experience with Python and Linux, but we will still ask them to take the programming workshop. Students should also demonstrate that they have continued applying their computing skills to research problems, typically by participating at times in the mini-courses we teach after the programming workshop. Not participating in the mini-courses, at least occasionally, would be a problem in an application.

Students should have just completed their sophomore, junior, or senior year in high school, and should be eligible to work in the region they intern in.

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.