Published: Oct. 20, 2017 By

'Even students studying degrees in computer programming have difficulty doing this from scratch,' PhET Interactive Simulations team member says

Science, Technology, Engineering and Math (STEM) literacy is difficult for college students, so you would not expect a high school student to master these concepts and also convey them via computer code. Working with a team at the University of Colorado Boulder, a student at Fairview High School in Boulder, Colo., has done just that.

Fairview senior Andrea Lin has interned during the last two years with PhET Interactive Simulations, a non-profit science and math educational resource based at CU Boulder. Lin, who is the group’s first high school programmer, rewrote one of PhET's most popular simulations and even added new features.

Ariel Paul, PhET’s director of development, describes Lin as a “prodigy as a developer” and an “extraordinary” young woman. “Despite her youth, she has excelled with our project and exceeded all expectations. I will quickly exhaust superlatives to describe her performance, but stated simply, she is outstanding.”


Andrea Lin. Photo by Sophie Chen. At top of the page, a screenshot of the Projectile Motion simulation depicts a vintage car being shot from a cannon over the likeness of Michelangelo's David.

Although she is in her senior year at Fairview, Lin has an impressive resume in both mathematics and computer science. Lin, whose father has a career in computer programming, was long intrigued by the possibilities of coding.

As she got older, Lin’s interest in STEM grew, and she strove to increase her computer-programming and math abilities. With experience ranging from creating a hearing-aid algorithm to competing and volunteering with Colorado Math Circle, Lin has integrated herself into the local STEM community.

Through a series of connections stemming from her debate coach, Lin met Paul. From there, Lin’s self-motivation and perseverance led to her biggest project to date: producing the first HTML5 version of the highly popular Projectile Motion simulation.

That simulation, which teaches concepts including kinematics and air resistance, is run more than 1 million times annually. It is pedagogically powerful yet whimsical, allowing students to test varying trajectories of, say, a pumpkin vs. a car shot from a cannon.

Carl Weiman, a Nobel laureate, founded PhET at CU Boulder in 2002 to improve science education. PhET—which originally stood for Physics Education Technology—develops simulations to better teach students scientific concepts. By creating these simulations not only in physics but also biology, chemistry, earth science and math, PhET has become an important teaching aid for science students.

In utilizing technology to create an interactive and visual-learning platform, students can see on their computer screens the models and examples from class come to life. Especially in the Boulder high schools, students, including Lin, use PhET to further their understanding of important conceptual models.

PhET  is also one of the most popular programs at CU Boulder, totaling nearly 10 percent of the university’s website traffic.

As PhET expanded, so have the platforms on which their resources run. Originally, the programming language Java was used to run the simulations due to its compatibility on devices of the time (Macintosh and PC). However, Java has become harder to work with, needing constant updates and being outdated by newer systems and technologies.

“We were seeing that access to PhET was going to take a real hit,” explains Paul. After some deliberation, the organization decided to move all its current and future development to HTML5.

Not only has this system helped to maintain the program’s fidelity, but it has also increased accessibility. Rewriting simulations onto HTML5 is challenging and tedious; to transition its systems, PhET hires talented undergraduate and graduate programmers.

“Even students studying degrees in computer programming have difficulty doing this from scratch,” explains Paul.

While Lin was given small projects in the beginning, she proved herself to be a diligent self-learner with an aptitude for programming. Eager for a harder project, Lin was given the Projectile Motion simulation to take on as her own.

Not only did she convert the simulation onto HTML5, but she also worked with the design team and developers to rewrite and add several new features. She worked as an intern in summer 2016 and returned in 2017 to finish her work, which had taken so long to perfect.

The computer-science industry employs more men than women, and fewer women than men pursue careers in STEM. Paul says students like Lin help counter the stereotypes that contribute to the gender inequity.

Paul says PhET also supports diversity and inclusion by “introducing STEM literacy to everyone” and striving to make the simulations gender- and culturally neutral.

Lin is an advocate for students interested in joining Boulder’s STEM community. She wants other students who are interested in pursuing computer science and math to “just start”—much like she did when she learned a middle school teacher was offering a class in computer programming.

Paul says Lin's internship is a "great example how a university project can partner locally and have a personal, local and global impact."

And working with PhET was a “great opportunity for me to explore coding in the real world,” Lin says, adding: “I am excited that my creation is helpful to so many students and teachers each year.”