 It teaches fundamental principles of computer programming, including recursion, abstraction, modularity, and programming language design and implementation.The MIT Press published the first edition in 1985, and the second edition in 1996.It was formerly used as the textbook for MIT's introductory course in electrical engineering and computer science.