Intro Flashcards
More than anything else,
the uncovering and mastery of organizational techniques accelerates our ability to create large, significant programs.
since large programs grow from small ones,
it is crucial that we develop an arsenal of standard program structures of whose correctness we have become sure – we call them idioms – and learn to combine them into large programs using organizational techniques of proven value
these organizational techniques are treated at length in this book and
understanding them is crucial to participating in the Promethean enterprise called programming
a good programmer should acquire
good algorithms and idioms
it is the responsibility of the programmer to
estimate the specifications of a program improve their performance
the core curriculum of computer science
1) organizational structures and techniques used to control the intellectual complexity of large systems,
2) syntax and constructs of a programming language
3) Algorithms that efficiently solve common problems
4) analysis of algorithm performance
the objective of SICP
programmers will have a good feel for the elements of style and aesthetics of programming
programmers will have command of the major techniques for controlling complexity in a large system
programmers will be able to read a 50-page long program and know what to read and what they need not understand at any moment
programmers should feel secure about modifying a program, retaining the spirit and style of the original author
Computation in computer science is more concerned with
‘how to’
the real issue when programming
figuring out WHAT we want to compute, HOW we will decompose the problems into manageable parts, and how we will work on the parts
the core computing
- representing information
- specifying logic to process that information
- designing abstractions that manage the complexity of that logic
to master these concepts we need to
understand how computers interpret computer programs and carry out computational processes