LEADER 00000cam 22008297a 4500 001 ocm49851661 003 OCoLC 005 20200419055619.6 006 m o d 007 cr cn||||||||| 008 020314s2001 maua ob 001 0 eng d 010 00048169 019 533426471|a827012468|a868211292|a961580234|a962706349 |a970749108|a984865204|a994354512|a1007389242|a1011974451 |a1022016226|a1044146881|a1053041037|a1055829691 |a1067017819|a1108932504|a1112944469|a1122605987 |a1127126950|a1129141838|a1135458382|a1136362409 020 058539296X|q(electronic book) 020 9780585392967|q(electronic book) 020 0262256118|q(electronic book) 020 9780262256117|q(electronic book) 020 |z0262062186 020 |z9780262062183 020 9786612096303 020 6612096306 020 1282096303 020 9781282096301 020 0262300192 020 9780262300193 020 0262062186 020 9780262062183 024 3 9780262062183 035 (OCoLC)49851661|z(OCoLC)533426471|z(OCoLC)827012468 |z(OCoLC)868211292|z(OCoLC)961580234|z(OCoLC)962706349 |z(OCoLC)970749108|z(OCoLC)984865204|z(OCoLC)994354512 |z(OCoLC)1007389242|z(OCoLC)1011974451|z(OCoLC)1022016226 |z(OCoLC)1044146881|z(OCoLC)1053041037|z(OCoLC)1055829691 |z(OCoLC)1067017819|z(OCoLC)1108932504|z(OCoLC)1112944469 |z(OCoLC)1122605987|z(OCoLC)1127126950|z(OCoLC)1129141838 |z(OCoLC)1135458382|z(OCoLC)1136362409 037 |b00015994 040 N$T|beng|epn|cN$T|dOCLCQ|dYDXCP|dOCLCQ|dTUU|dOCLCQ|dTNF |dOCLCQ|dIEEEE|dZCU|dOCLCF|dOCLCQ|dIDEBK|dCOO|dOCLCQ|dD6H |dOCLCQ|dMWM|dOCLCO|dMYG|dSUR|dXFH|dOCLCQ|dSAV|dOCLCQ|dQT7 |dNJR|dLUE|dCEF|dOCLCQ|dINT|dTOF|dOCLCQ|dLHU|dAU@|dOCLCQ |dBRX|dLEAUB|dJX9|dOL$|dUMK|dOCLCO|dHS0|dUKBTH|dVT2|dSFB |dZGM 049 STJJ 050 4 QA76.6|b.H697 2001eb 072 7 COM|x051240|2bisacsh 072 7 COM|x051230|2bisacsh 082 04 005.1/2|221 084 54.52|2bcl 084 ST 230|2rvk 084 DAT 300f|2stub 245 00 How to design programs :|ban introduction to programming and computing /|cMatthias Felleisen [and others]. 264 1 Cambridge, Mass. :|bMIT Press,|c[2001] 264 4 |c©2001 300 1 online resource (xxx, 693 pages) :|billustrations 336 text|btxt|2rdacontent 337 computer|bc|2rdamedia 338 online resource|bcr|2rdacarrier 347 text file|bPDF|2rda 504 Includes bibliographical references and index. 505 0 Processing simple forms of data. Students, teachers, and computers -- Numbers, expressions, simple programs -- Programs are function plus variable definitions -- Conditional expressions and functions -- Symbolic information -- Compound data, part 1: structures -- The varieties of data -- Syntax and semantics -- Processing arbitrarily large data. Compound data, part 2: lists -- More on processing lists -- Natural numbers -- Composing functions, revisited again -- List abbreviations -- More on processing arbitrarily large data. More self- referential data definitions -- Mutually referential data definitions -- Development through iterative refinement -- Processing two complex pieces of data -- Local definitions and lexical scope -- Abstracting designs. Similarities in definitions -- Functions are values -- Designing abstractions from examples -- Designing abstractions with first-class functions -- Mathematical examples -- Defining functions on the fly -- Generative recursion. A new form of recursion -- Designing algorithms -- Variations on a theme -- Algorithms that backtrack -- The cost of computing and vectors -- Accumulating knowledge. The loss of knowledge -- Designing accumulator-style functions -- More uses of accumulation -- The nature of inexact numbers -- Changing the state of variables. Memory for functions - - Assignment to variables -- Designing functions with memory -- Examples of memory usage -- The final syntax and semantics -- Changing compound values. Encapsulation -- Mutable structures -- Designing functions that change structures -- Equality -- Changing structures, vectors, and objects. 520 This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills -- critical reading, analytical thinking, creative synthesis, and attention to detail -- that are important for everyone, not just future computer programmers. The book exposes readers to two fundamentally new ideas. First, it presents program design guidelines that show the reader how to analyze a problem statement; how to formulate concise goals; how to make up examples; how to develop an outline of the solution, based on the analysis; how to finish the program; and how to test. Each step produces a well- defined intermediate product. Second, the book comes with a novel programming environment, the first one explicitly designed for beginners. The environment grows with the readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks. - Publisher. 546 English. 588 0 Print version record. 590 MIT Press|bDTL OA MIT Titles 650 0 Computer programming. 650 0 Electronic data processing. 650 7 COMPUTERS|xSoftware Development & Engineering|xSystems Analysis & Design.|2bisacsh 650 7 COMPUTERS|xSoftware Development & Engineering|xGeneral. |2bisacsh 650 7 Computer programming.|2fast|0(OCoLC)fst00872390 650 7 Electronic data processing.|2fast|0(OCoLC)fst00906956 650 7 Programmierung.|2gnd 650 7 Computadores.|2larpcal 650 7 Teoria e técnicas de programação.|2larpcal 650 7 Engineering & Applied Sciences.|2hilcc 650 7 Computer Science.|2hilcc 650 17 Programmatuurtechniek.|2gtt 655 0 Electronic books. 700 1 Felleisen, Matthias. 776 08 |iPrint version:|tHow to design programs.|dCambridge, Mass. : MIT Press, ©2001|z0262062186|w(DLC) 00048169 914 ocm49851661 994 92|bSTJ
|