Mars Chemistry Coding Challenge
A close-up view of the MOXIE instrument’s internal componentsCopyright NASA/JPL-Caltech
Students use real data from the Perseverance Mars rover to create a system that monitors and tests the functioning of the Mars Oxygen In-Situ Resource Utilization Experiment (MOXIE) instrument, which converts carbon dioxide in the Martian atmosphere into breathable oxygen. Students analyze temperature, pressure, and gas flow data to determine whether MOXIE is operating properly. To do this, they apply chemistry concepts such as balanced chemical equations and gas laws alongside coding and data analysis techniques. Working in small teams, students break the problem into manageable parts, test their code using subsets of real mission data, and refine their solutions. The activity emphasizes engineering design, systems thinking, and the critical role computer science plays in enabling advanced technologies for space exploration.
Aerospace, mechanical, and robotics engineers work together to make technologies such as MOXIE function on Mars. Aerospace engineers design the rover and ensure instruments can survive launch, space travel, and the harsh Martian environment. Mechanical engineers focus on the physical design of MOXIE, including gas flow systems, thermal control, and structural components that must operate reliably under extreme temperatures and low pressure. Robotics engineers integrate MOXIE into the rover’s automated systems, enabling it to operate remotely and autonomously based on commands sent from Earth. Together, these engineers ensure that MOXIE can safely convert carbon dioxide into oxygen while operating as part of a complex robotic system millions of miles away.
After this activity, students should be able to:
- Analyze real-world scientific data from the Perseverance rover to evaluate the performance of an engineering system.
- Apply chemistry principles, including balanced chemical equations and gas laws, to model the conversion of carbon dioxide into oxygen.
- Develop and test computer code to monitor system behavior and trigger alerts based on defined performance criteria.
- Use the engineering design process to plan, build, test, and refine a data-driven monitoring solution.
