Barbara Liskov

Barbara Liskov

Massachusetts Institute of Technology
Barbara Liskov
Ask a Question:
Required field
Please note
The engineers who take the time to respond to student questions on this forum are often very busy and may not respond to some questions, particularly those that have been answered elsewhere. Please be sure to review previous questions and answers to see if your question may have already been addressed.
Enter the code shown: (only upper case)


I am a professor of computer science at the Massachusetts Institute of Technology (MIT). My research and teaching are focused on how to make better software. Software has now become an essential part of many things we do, from interacting with the bank, to electronic commerce, and it is critical that the software behave properly. My research is concerned with making software work better than it does today; I am interested in techniques that lead to programs that perform well and do what they are supposed to do. I have been interested in this topic for many years and it is the main area for my teaching. My students learn how to become effective programmers who can take a large problem and develop an efficient program to implement a solution to the problem. In addition I do research in distributed computing. Distributed programs are ones that run in an environment containing many computers connected by a communications network. Important examples of such environments are the Internet and the World Wide Web. My work here has led to the development of new techniques that make it easier to build distributed programs. As an undergraduate I attended the University of California at Berkeley, where I majored in mathematics. When I graduated, I did not go directly to graduate school but instead worked for a couple of years. Because I couldn't find an interesting job as a mathematician, I took a job as a programmer. This is how I got into the field of computer science. After two years of working as a programmer, I decided that I needed to learn more. This led me to return to school for graduate studies, at Stanford University. When I arrived at Stanford in 1963, computer science was still in its infancy and there wasn't a computer science department yet. The department was formed while I was a graduate student, and I was a member of the first group to take the qualifying exams. I did my graduate research in artificial intelligence; my thesis was on a program to play chess endgames. When I finished my Ph.D. in 1968, I returned to work in industry, primarily because I wasn't able to find a good academic position. One benefit of working in industry was that it provided a good environment in which to switch my research field, from artificial intelligence to software systems, something I had been wanting to do. Software systems is an area that I find very congenial, and it has continued to be my research focus ever since. I worked in industry for four years and then moved to MIT, partly on the basis of work I was publishing on my new research. When I look back on my early career, one thing that strikes me is the randomness of the process that led to where I am today. I didn't have a plan for where I was going; instead I reacted to obstacles and opportunities. I believe that some of this was due to being a woman. When I was young, it was uncommon for women to think about having a career. The effect on me was that I just focused on doing work that was interesting but expected to stop working when I had a family. I thought about things in this way even after I had my Ph.D. However, as I got into my research in software systems I realized that I was really committed to my work and would not give it up. Later when my husband and I had a family, I continued to work full time. It's possible that my lack of focus on a career early on slowed me down, but it also freed me up to take advantage of opportunities that I otherwise might have missed. I believe that I had a great deal of support from both my parents. This support took the form of encouragement for excelling academically, including excelling in math and science. But it did not include encouraging me to think about a career in these fields. Instead, I was supposed to have something to fall back on, such as teaching or being a secretary, in case I didn't marry or something happened to my husband. On the other hand, I was never told that certain things shouldn't be done by women. I think this "ok" enabled me to follow my interest in math and science rather than settling on a more conventional direction. I find a career in engineering to be very satisfying. I like making things work. I also like finding solutions to problems that are both practical and elegant. And, I like working with a team of people; engineering involves lots of team work. I particularly like working with my students on our research projects. My advice to young women who are thinking about a career in engineering is to find out what is interesting to you and what you are good at. And be prepared to change your goals if that turns out to be the right thing for you.

BA. Mathematics UC Berkeley PhD. Computer Science, Stanford
  • I am willing to be interviewed by interested students via email.
Answers by Barbara Liskov

There aren't any special courses that would increase your chances of getting into MIT.  However it is important to have good preparation in math and science and also to avail yourself of courses or opportunities that introduce you to engineering. 

It is NOT necessary to become a programming wiz or to know a lot of programming languages before you start college in order to major in computer science or engineering. At MIT we see many students who come in without much background and go on to be highly successful. It is important, however, to make sure to start with an introductory course that doesn't assume you know a lot. and when you choose where you are going, make sure that they offer such a course as a way into the major.

You will need at least a college degree to be a computer engineer.

It helps to have lots of math.  You should take all the offered math classes in high school if you can. In college you should major in computer science and take at least the math courses required by the major. However, many students take more math than what is required.

There is no certification required after you graduate from college.