Use computational techniques to solve real-world problems

Youssef Marzouk, professor of aeronautics and astronautics and co-teacher of the 16.0002/18.0002 course this term. Credits: Gretchen Ertl

A new course teaches students how to use computational techniques to solve real-world problems, from landing a spacecraft to putting up cellphone towers.

As a Martian lander descends toward the Red Planet’s surface, when can its parachute be safely deployed? Open it too early, as the lander hurtles through the atmosphere, and it could tear apart – but open it too late and the lander might not slow down enough to prevent a catastrophic crash landing.

There are seemingly endless possibilities in this intricate puzzle.

One way to solve this puzzle is to use a computer to simulate the " data-gt-translate-attributes="[{" attribute="">March landing, which is exactly how students in 16.0002/18.0002 (Introduction to Computational Science and Engineering) answered this question, which was part of their very first set of problems.

Andres Arroyo

Freshman Andres Arroyo (right) thought modeling a Mars lander mission was one of the most interesting real-life problems in the course. Credits: Gretchen Ertl

“It was interesting because there are many ways to model the problem,” says Andres Arroyo, a freshman who took the course in the fall. “You can model it based on how the lander’s speed changes over time or how the speed changes when it changes position. Depending on your aim from the simulation you can trying different approaches. I thought that was one of the most interesting things we’ve done.

The course, launched last fall, is designed to teach students how computation collides with the physical world. It was developed thanks to the MIT Schwarzman College for Computing’s Common Ground for Computing Education, a multi-departmental initiative that aims to combine the teaching of computing and other disciplines.

The half-semester course places programming in the context of computational science and engineering, a field that focuses on innovative applications of computation.

Students learn to use computer programs for simulation, optimization and quantification of uncertainty. These fundamentals are framed by real-world examples designed to relate to students who are not necessarily computer science majors. Most of the students in this fall’s course were studying either aeronautics and astronautics or mathematics.

Laurent Demanet

Co-supervisor Laurent Demanet, professor of applied mathematics. Credits: Gretchen Ertl

Modeling of real problems

“Simulations like our Martian lander simulation are what people actually use computers for. " data-gt-translate-attributes="[{" attribute="">Nasa solve our little differential equation? No, I’m sure they have a lot more bells and whistles in their pattern. But conceptually, that’s what people actually do,” says Youssef Marzouk, professor of aeronautics and astronautics and co-instructor of the course this term. “That’s how I work, even in my own research. There’s modeling, there’s code, there’s code output, and you iterate between those things.

Building the course around such real-life examples gives students an idea of ​​the number of problems that can be tackled using computer models. Most students take the course in their first or second year, and many have not yet chosen a major, so it is particularly useful to give them an overview of how calculus is applied in many fields, he said.

MIT computer science students

Ultimately, the skills students learn in this course will help them solve scientific prediction problems in their chosen discipline, Demanet says. Credits: Gretchen Ertl

In developing the course, the faculty wanted to cover fundamental aspects of computer science and engineering in a way that would make the concepts come alive for students, says co-instructor Laurent Demanet, professor of applied mathematics, who designed the class with David Darmofal. , the Jerome C. Hunsaker Professor of Aeronautics and Astronautics.

Lectures cover the fundamental equations at work in a certain problem, like Newton’s law of motion for the Mars lander example, and then students learn how to express those basic equations in an algorithm.

“It’s the combination of math with science and computer science. It sings when you put it all together,” says Demanet. “For the students, it’s really a competency-based course. We want to provide students with skills that can be used almost anywhere in their studies later on and then in so many other areas as well.

From equations to simulations

During a lecture, Demanet described Newton’s law of cooling (the rate at which an object cools is proportional to the temperature difference between the object and its surroundings). Then he ran a simulation using Python code that showed how long it would take for a cup of coffee to cool from 85 to 50 degrees.

One of the biggest challenges in developing the course has been introducing these mathematical concepts while giving students enough context for them to make sense for some contemporary applications — but without overwhelming them with too much detail, he says. he.

Beyond imparting concrete skills, the examples are also designed to inspire students. For example, a conference focused on climate science used mathematical equations for heat transfer to debunk a false claim that water vapor is a more potent greenhouse gas than carbon dioxide.

But Demanet told the students not to take his word for it – he demonstrated a computer simulation that showed how greenhouse gases affected the overall global temperature rise over several decades.

Outside of the classroom, students applied their computational chops to a wide range of real-world problem sets, from optimizing the placement of cellphone towers around MIT, to mapping the dwindling from the effectiveness of the Covid-19 vaccine over time, to assessing the impact a geothermal heating system could have on the temperature inside a home.

For Penelope Herrero-Marques, the example of geothermal energy piqued her interest because she would like to one day install a system in her own home to reduce her carbon footprint. Herrero-Marques, a second-year mechanical engineering student who took the course last spring, was drawn to its relevant problem sets even though she had little experience using computational approaches.

“Some of the problems were a bit scary at first just because they were so big. For our first p-set in the class, we’re supposed to model the landing on Mars. But the teachers did a good job of breaking it down into small problems. Don’t get overwhelmed. Every big problem can be broken down into smaller problems that you’re actually able to tackle,” she says.

She now shares this wisdom as a teaching assistant for the course.

Fellow teaching assistant Mark Chiriac, a sophomore, took the course in its first iteration. The math major wanted to learn more about algorithms, but also focus on applications he found interesting, like planetary motion.

While one of the trickier problems was locating the cell towers around MIT, it was also one of Chiriac’s favorites because the example was so realistic. Successfully solving this optimization problem gave him the confidence to apply these skills in other courses, he says.

“This course brings parts of coding, math, and physics together in this beautiful blend to give everyone the tools to solve very relevant problems that are needed in our world right now. It showed me how these different areas of science are linked in a way that I knew, but had not yet experienced for myself,” he says.

Ultimately, the skills students learn in this course will help them solve scientific prediction problems in their chosen discipline, Demanet says.

“I hope students come away with an appreciation for how computation can be used to really simulate complicated things in the world around them,” adds Marzouk. “I hope they see the power it has and understand that it’s not just a black box. There are some really interesting ideas and algorithms that explain how this happens Whether they spend the rest of their career learning these ideas and algorithms or stop here, I think it’s a valuable lesson.

Sharon D. Cole