<?xml version="1.0" encoding="UTF-8"?>
<mods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.loc.gov/mods/v3" version="3.1" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-1.xsd">
  <titleInfo>
    <title>How to design programs</title>
    <subTitle>an introduction to programming and computing</subTitle>
  </titleInfo>
  <name type="personal">
    <namePart>Felleisen, Matthias.</namePart>
  </name>
  <typeOfResource>text</typeOfResource>
  <genre authority="marc">bibliography</genre>
  <originInfo>
    <place>
      <placeTerm type="code" authority="marccountry">mau</placeTerm>
    </place>
    <place>
      <placeTerm type="text">Cambridge, Mass</placeTerm>
    </place>
    <publisher>MIT Press</publisher>
    <dateIssued>c2001</dateIssued>
    <dateIssued encoding="marc">2001</dateIssued>
    <issuance>monographic</issuance>
  </originInfo>
  <language>
    <languageTerm authority="iso639-2b" type="code">eng</languageTerm>
  </language>
  <physicalDescription>
    <form authority="marcform">print</form>
    <extent>xxx, 693 p. : ill. : 24cm.</extent>
  </physicalDescription>
  <tableOfContents>Contents: Processing simple forms of data: Students, teachers and computers -- Numbers of expressions, simple programs -- Programs are function plus variable definintions -- Conditional expressions and functions -- Symbolic information -- Compound data, part 1: structures -- The varieties of data: I: Intermezzo 1: syntax and semantics -- II: Processing arbitrarily large data -- Compound data, part 2: Lists -- More on processing list -- Natuaral numbers -- Composing functions, revisited again -- Intermezzo 2: List abbreviations: III: 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 -- Intermezzo 3: Local definitions and lexical scope: IV: Abstracting designs -- Similarities in definintions -- Functions are values -- Designing abstractions from examples -- Designinig abstractions with first-class functions -- Mathematical examples -- Intermezzo 4: Defining functions on the fly -- V: Generative recursion: A new form of recursion -- Designing algorithms -- Variations on a theme -- Algorithms that backtrack -- Intermezzo 5: The cost of computing and vectors -- VI: Accumulating knowledge: The loss of knowledge -- Designing accumulator-style functions -- More uses of accumulation -- Intermezzo 6: The nature of inexact numbers -- VII: Changing the state of variables: Memory for functions -- Assignment to variables -- Designing funtions with memory -- Examples of memory usage -- Intermezzo 7: The final syntax and semantics: VIII: Changing compound values -- Encapsulation -- Mutable structures -- Designing functions that change structures -- Equality -- Changing structures, vectors and objects -- Epilogue.</tableOfContents>
  <note type="statement of responsibility">Matthias Felleisen ... [et al.]</note>
  <note>Includes bibliographical references and index.</note>
  <subject authority="lcsh">
    <topic>Computer programming</topic>
  </subject>
  <subject authority="lcsh">
    <topic>Electronic data processing</topic>
  </subject>
  <classification authority="lcc">QA76.6.H697</classification>
  <classification authority="ddc" edition="21">005.1/2</classification>
  <identifier type="isbn">9780262062183</identifier>
  <identifier type="isbn">0262062186</identifier>
  <identifier type="lccn">00048169</identifier>
  <identifier type="uri">http://www.loc.gov/catdir/toc/fy032/00048169.html</identifier>
  <location>
    <url displayLabel="Table of contents">http://www.loc.gov/catdir/toc/fy032/00048169.html</url>
  </location>
  <recordInfo>
    <recordContentSource authority="marcorg">DLC</recordContentSource>
    <recordCreationDate encoding="marc">000914</recordCreationDate>
    <recordChangeDate encoding="iso8601">20210414113931.0</recordChangeDate>
    <recordIdentifier>12172918</recordIdentifier>
  </recordInfo>
</mods>
