Michael Levy gives a comprehensive overview of the field including historical and interdisciplinary perspectives. He looks at the relationship between the theory and application of Computer-Assisted Language Learning. Describes how the computer is conceptualized as both tutor and tool, and discusses the implications for computer programming, language teaching, and learning.