Sign In

Communications of the ACM

ACM News

If Knowledge is Power, then Coders like Fereshteh Forough and Barbara Liskov will Inherit the Earth

View as: Print Mobile App Share: Send by email Share on reddit Share on StumbleUpon Share on Hacker News Share on Tweeter Share on Facebook
Barbara Liskov is Institute Professor in the Department of Electrical Engineering and Computer Science at the Massachusetts Institute of Technology.

Massachusetts Institute of Technology computer science professor Barbara Liskov, a recipients of the ACM A.M. Turing Award, says she has "always been into math and science."

Jared Leeds

If knowledge is power, then coders will inherit the earth. That's the principle behind Code to Inspire, the first coding school for girls in Afghanistan, founded by Fereshteh Forough in 2015. Fereshteh was born in Iran, her Afghani parents having fled their home country as refugees. After the fall of the Taliban, they returned to Afghanistan when Fereshteh had just finished high school. Though she had no background in computer science, she passed the entrance exam for the subject at Herat University and earned a degree in computer science. She then went to Berlin, where she earned her master's degree, before returning to lecture at Herat University for three years. In 2012, she relocated to New York City.

Almost 20 years before Fereshteh was born, Barbara Liskov became one of the first women in the U.S. to earn a Ph.D. in computer science. In 2008, in recognition of her work in the field, Barbara was given the prestigious Turing Award for developing the Liskov substitution principle, one of the fundamental principles underlying some of the world's most popular programming languages. In other words, if you've used a computer, Barbara has affected your life. She's currently a professor at the Massachusetts Institute of Technology. Here, the two discuss their respective approaches to programming and computer science, how their backgrounds have influenced their views on the power of code, and on the challenges and opportunities of being a woman in the field.

Fereshteh Forough—In high school, I majored in literature. I never thought about pursuing a career or degree in computer science or S.T.E.M. [Science, Technology, Engineering, and Mathematics]. But when we moved to Afghanistan from Iran, where I'd been a refugee, I participated in the university's general exam, which to my surprise selected computer science for me. I really didn't want to go to university and do it, but then my parents said, 'Just go, it's a skill everyone's looking for now.'

The first day I walked into the class, we were taught mathematics. I thought 'Oh my god, this is the wrong place for me to be.' But the class that we took, an introduction to programming and algorithms, appealed to me. We were being taught QBasic, the programming language, and what I really liked about it was the critical thinking and creativity involved in the class. The teacher gave out the problem and then we had to find a solution by writing algorithms for it. I liked solving puzzles. Code looks like a language aliens speak to each other, like in a sci-fi movie. I thought, 'I'm going to give it a shot and stay for a few weeks.' I ended up completing a degree in computer science.

Daisy Prince—Barbara, you obviously have a huge amount of experience in this. When did you realize computer science was something you wanted to do?

Barbara Liskov—I've always been into math and science. When I graduated from university, I thought briefly about going on to grad school to study mathematics. Instead, I went out to look for a job. I got a job offer to become a computer programmer, and that was the first time I even knew that there was such a thing as a computer. And so I started this job, and on the very first day, they handed me a Fortran manual—Fortran is a programming language—and asked me to write a little program to do something. I forget what the thing was.

So I sat down with this manual, and I figured out how to write the program, and it turned out to be something I really enjoyed and was very good at. It has its mathematical aspects. I think there's a kind of beauty to programming, when you find a solution that's clean and simple. A beauty I see as being very similar to the beauty in mathematics, when you find the right proof to a theorem or something like that. But it has this added aspect that you're actually building something that does something, and for me that's just extremely satisfying.

Building programs is really a branch of engineering. You're trying to find a solution that best fits the criteria in situations where the criteria may even be at odds with one another. You're looking for a solution that works, among a number of possible solutions that might work equally well. There can be many solutions, but there can also be simpler ways and more complicated ways of thinking about things. I always feel that the simplest solution is the best, but it's not that there's this one thing that's better than all the others. It's really a complicated process. Not that different, I think, from writing, in fact. You have a lot of decisions to make about how to express things and how best to organize your material.


From Document Journal
View Full Article



No entries found