Structure and Interpretation of Computer Programs

"The Structure and Interpretation of Computer Programs" is the entry-level subject in Computer Science at the Massachusetts Institute of Technology. It is required of all students at MIT who major in Electrical Engineering or in Computer Science, as one fourth of the "common cor...

Full description

Bibliographic Details
Main Authors: Abelson, Harold, Sussman, Gerald Jay
Language:en_US
Published: 2004
Online Access:http://hdl.handle.net/1721.1/6941
_version_ 1811082005771714560
author Abelson, Harold
Sussman, Gerald Jay
author_facet Abelson, Harold
Sussman, Gerald Jay
author_sort Abelson, Harold
collection MIT
description "The Structure and Interpretation of Computer Programs" is the entry-level subject in Computer Science at the Massachusetts Institute of Technology. It is required of all students at MIT who major in Electrical Engineering or in Computer Science, as one fourth of the "common core curriculum," which also includes two subjects on circuits and linear systems and a subject on the design of digital systems. We have been involved in the development of this subject since 1978, and we have taught this material in its present form since the fall of 1980 to approximately 600 students each year. Most of these students have had little or no prior formal training in computation, although most have played with computers a bit and a few have had extensive programming or hardware design experience. Our design of this introductory Computer Science subject reflects two major concerns. First we want to establish the idea that a computer language is not just a way of getting a computer to perform operations, but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute. Secondly, we believe that the essential material to be addressed by a subject at this level, is not the syntax of particular programming language constructs, nor clever algorithms for computing particular functions of efficiently, not even the mathematical analysis of algorithms and the foundations of computing, but rather the techniques used to control the intellectual complexity of large software systems.
first_indexed 2024-09-23T11:55:53Z
id mit-1721.1/6941
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T11:55:53Z
publishDate 2004
record_format dspace
spelling mit-1721.1/69412019-04-10T14:25:57Z Structure and Interpretation of Computer Programs Abelson, Harold Sussman, Gerald Jay "The Structure and Interpretation of Computer Programs" is the entry-level subject in Computer Science at the Massachusetts Institute of Technology. It is required of all students at MIT who major in Electrical Engineering or in Computer Science, as one fourth of the "common core curriculum," which also includes two subjects on circuits and linear systems and a subject on the design of digital systems. We have been involved in the development of this subject since 1978, and we have taught this material in its present form since the fall of 1980 to approximately 600 students each year. Most of these students have had little or no prior formal training in computation, although most have played with computers a bit and a few have had extensive programming or hardware design experience. Our design of this introductory Computer Science subject reflects two major concerns. First we want to establish the idea that a computer language is not just a way of getting a computer to perform operations, but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute. Secondly, we believe that the essential material to be addressed by a subject at this level, is not the syntax of particular programming language constructs, nor clever algorithms for computing particular functions of efficiently, not even the mathematical analysis of algorithms and the foundations of computing, but rather the techniques used to control the intellectual complexity of large software systems. 2004-10-20T20:08:56Z 2004-10-20T20:08:56Z 1983-07-01 AITR-735 http://hdl.handle.net/1721.1/6941 en_US AITR-735 60643040 bytes 49314640 bytes application/postscript application/pdf application/postscript application/pdf
spellingShingle Abelson, Harold
Sussman, Gerald Jay
Structure and Interpretation of Computer Programs
title Structure and Interpretation of Computer Programs
title_full Structure and Interpretation of Computer Programs
title_fullStr Structure and Interpretation of Computer Programs
title_full_unstemmed Structure and Interpretation of Computer Programs
title_short Structure and Interpretation of Computer Programs
title_sort structure and interpretation of computer programs
url http://hdl.handle.net/1721.1/6941
work_keys_str_mv AT abelsonharold structureandinterpretationofcomputerprograms
AT sussmangeraldjay structureandinterpretationofcomputerprograms