How to design programs an introduction to programming and computing

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...

Full description

Saved in:
Bibliographic Details
Other Authors Felleisen, Matthias
Format Electronic eBook
LanguageEnglish
Published Cambridge, Mass. : MIT Press, ©2001.
Subjects
Online AccessFull text
ISBN9780262256117
Physical Description1 online zdroj (xxx, 693 pages) : illustrations

Cover

LEADER 00000cam a2200000 a 4500
001 74735
003 CZ-ZlUTB
005 20251006170608.0
006 m d
007 cr un
008 020314s2001 maua sb 001 0 eng d
020 |a 9780262256117  |q (ebook) 
035 |a (OCoLC)49851661  |z (OCoLC)533426471  |z (OCoLC)827012468 
040 |a N$T  |b eng  |e pn  |c N$T  |d OCLCQ  |d YDXCP  |d OCLCQ  |d TUU  |d OCLCQ  |d TNF  |d OCLCQ  |d IEEEE  |d ZCU  |d OCLCF  |d OCLCQ 
245 0 0 |a How to design programs  |h [elektronický zdroj] :  |b an introduction to programming and computing /  |c Matthias Felleisen [and others]. 
260 |a Cambridge, Mass. :  |b MIT Press,  |c ©2001. 
300 |a 1 online zdroj (xxx, 693 pages) :  |b illustrations 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
504 |a Includes bibliographical references and index. 
505 0 |a 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 |a 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. 
506 |a Plný text je dostupný pouze z IP adres počítačů Univerzity Tomáše Bati ve Zlíně nebo vzdáleným přístupem pro zaměstnance a studenty univerzity 
650 0 |a Computer programming. 
650 0 |a Electronic data processing. 
655 7 |a elektronické knihy  |7 fd186907  |2 czenas 
655 9 |a electronic books  |2 eczenas 
700 1 |a Felleisen, Matthias. 
776 0 8 |i Print version:  |t How to design programs.  |d Cambridge, Mass. : MIT Press, ©2001  |z 0262062186  |w (DLC) 00048169 
856 4 0 |u https://proxy.k.utb.cz/login?url=http://ieeexplore.ieee.org/xpl/bkabstractplus.jsp?bkn=6267257 
992 |a BK  |c EBOOK-TN  |c MITPRESS 
999 |c 74735  |d 74735 
993 |x NEPOSILAT  |y EIZ