Principled Programming
Tim Teitelbaum
Venduto da Rarewaves.com UK, London, Regno Unito
Venditore AbeBooks dal 11 giugno 2025
Nuovi - Brossura
Condizione: Nuovo
Spedito da Regno Unito a U.S.A.
Quantità: Più di 20 disponibili
Aggiungere al carrelloVenduto da Rarewaves.com UK, London, Regno Unito
Venditore AbeBooks dal 11 giugno 2025
Condizione: Nuovo
Quantità: Più di 20 disponibili
Aggiungere al carrelloCodice articolo LU-9798987744109
This book is an introduction to computer programming aimed at the level of a first college course. It is also suitable as a monograph for people beyond the introductory level who are unfamiliar with its methodological content.
A typical introductory programming textbook begins with the notions of algorithm, program, computer, program execution, memory, input, and output. The rest of the book presents a programming language. Each language feature is defined by its syntax, i.e., how to punctuate it, and its semantics, i.e., what the feature does during program execution. Small programs or program snippets illustrate each feature and its utility. Because modern programming languages are large, such books are also large. These books are intimidating in their length, but not in their depth.
Where in such language-oriented books are students explicitly instructed in how to program? Guidance and suggestions may be scattered throughout the text, but are usually subordinate to the main chapter structure, which is based on language constructs. Illustrative examples are critical, but are usually presented as completed programs. The text typically explains how code works, but not how it was derived. Programming, the dynamic and synthetic activity of creating a program, often gets short shrift, as if you are supposed to learn how to do it by osmosis while staring at code samples. You can know a programming language thoroughly, but still not know how to program. Confronted with a programming problem, you may have no idea where to begin. Or worse, you may head off in the wrong direction, and soon find yourself mired in a morass from which the best path forward may be to back up and start all over again.
In contrast, this book is a methodology-oriented introduction to computer programming. Its subject is programming principles, not language features. To keep focus and avoid distraction, it is limited to a minimal programming language, one so small that it can be said to be universal. Programming skill is measured by the ease with which you can turn a problem statement into a working program, not by the number of language features you know.
The methodology presented is not specific to a particular language; rather, it applies to programming, in general. The notation used is essentially a small subset of Java, but the book is about programming, not programming in Java. An appendix provides mappings from this core subset of Java to equivalents in Python, C/C++, and JavaScript.
The approach is distinctive in that it presents content to beginners that is often considered advanced, e.g., program state-spaces, specifications written in terms of preconditions and postconditions, loop invariants, data-structure invariants, loop variants, and programming by stepwise refinement. But the book retains an introductory character --- by avoiding formalism, offering intuitive analogies, and providing elementary explanations.
The book's focus is synthesis, not analysis. Thus, no substantial algorithm or application is presented as a fait accompli for interpretation. Rather, the essential content of the book is the stepwise development of solutions rather than the solutions per se.
Language-oriented introductions to programming tend toward being encyclopedic tomes; in contrast, this is a comparatively short, coherent, and digestible book that aspires to tell a compelling story, knitted together by interesting, nontrivial examples that are woven throughout --- a book that invites cover-to-cover reading.
The author joined the faculty of Cornell University's Computer Science Department in 1973. His teaching focus over many years was introducing beginners to programming, which he did for more than 9000 students. He is currently Professor Emeritus.
Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.
Visita la pagina della libreria
Se sei un consumatore, puoi esercitare il tuo diritto di recesso seguendo le istruzioni riportate di seguito. Per "consumatore" si intende qualsiasi persona fisica che agisca per fini che non rientrano nel quadro della sua attività commerciale, industriale, artigianale o professionale.
Informazioni relative al diritto di recesso
Diritto di recesso
Hai il diritto di recedere dal presente contratto entro 14 giorni per qualsiasi motivo.
Il periodo di recesso scade dopo 14 giorni dal giorno in cui
tu acquisisci, o un terzo designato diverso dal vettore e da te acquisisce, il possesso fisico dell'ultimo bene o l'ultimo lotto o pezzo.
Per esercitare il diritto di recesso, sei tenuto a informare Rarewaves.com UK, Unit 144 The Lightbox, 111 Power Road, W4 5PY, London, London, United Kingdom, della tua decisione di recedere dal presente contratto tramite una dichiarazione esplicita (ad esempio lettera inviata per posta, fax o posta elettronica). A tal fine puoi utilizzare il modulo tipo di recesso, ma non e' obbligatorio. Puoi anche compilare e inviare elettronicamente il modulo tipo di recesso o qualsiasi altra esplicita dichiarazione sul nostro sito web, dalla sezione "Ordini" nel "Mio Account". Nel caso scegliessi questa opzione, ti trasmetteremo senza indugio una conferma di ricevimento su un supporto durevole (ad esempio per posta elettronica).
Per rispettare il termine di recesso, é sufficiente inviare la comunicazione relativa all'esercizio del diritto di recesso prima della scadenza del periodo di recesso.
Effetti del recesso
Se recedi dal presente contratto, ti saranno rimborsati tutti i pagamenti che hai effettuato a nostro favore, compresi i costi di consegna (ad eccezione dei costi supplementari derivanti dalla tua eventuale scelta di un tipo di consegna diverso dal tipo meno costoso di consegna standard da noi offerto). Potremo trattenere dal rimborso le somme derivanti da una diminuzione del valore del prodotto risultante da una tua non necessaria manipolazione.
I rimborsi verranno effettuati senza indebito ritardo e in ogni caso non oltre 14 giorni dal giorno in cui siamo stati informati della tua decisione di recedere dal presente contratto.
Detti rimborsi saranno effettuati utilizzando lo stesso mezzo di pagamento da te usato per la transazione iniziale, salvo che tu non abbia espressamente convenuto altrimenti; in ogni caso, non dovrai sostenere alcun costo quale conseguenza di tale rimborso. Il rimborso può essere sospeso fino al ricevimento dei beni oppure fino all'avvenuta dimostrazione da parte tua di aver rispedito i beni, se precedente.
Ti preghiamo di rispedire i beni o di consegnarli a Rarewaves.com UK, Unit 144 The Lightbox, 111 Power Road, W4 5PY, London, London, United Kingdom, senza indebiti ritardi e in ogni caso entro 14 giorni dal giorno in cui hai comunicato il tuo recesso dal presente contratto. Il termine è rispettato se rispedisci i beni prima della scadenza del periodo di 14 giorni. I costi diretti della restituzione dei beni saranno a tuo carico. Sei responsabile solo della diminuzione del valore dei beni risultante da una manipolazione del bene diversa da quella necessaria per stabilire la natura, le caratteristiche e il funzionamento dei beni.
Eccezioni al diritto di recesso
Il diritto di recesso non si applica in caso di:
Modulo di recesso tipo
(Compilare e restituire il presente modulo solo se si desidera recedere dal contratto)
Destinatario: (Rarewaves.com UK, Unit 144 The Lightbox, 111 Power Road, W4 5PY, London, London, United Kingdom)
Con la presente io/noi (*) notifichiamo il recesso dal mio/nostro (*) contratto di vendita dei seguenti beni/servizi (*)
Ordinato il (*) /ricevuto il (*)
Nome del/dei consumatore(i)
Indirizzo del/dei consumatore(i)
Firma del/dei consumatore(i) (solo se il presente modulo è notificato in versione cartacea)
Data
(*) Cancellare la dicitura inutile.
Please note that we do not offer Priority shipping to any country.
We currently do not ship to the below countries:
Russia
Belarus
Ukraine
Israel
Please do not attempt to place orders with any of these countries as a ship to address - they will be cancelled.
| Quantità dell?ordine | Da 60 a 60 giorni lavorativi | Da 60 a 60 giorni lavorativi |
|---|---|---|
| Primo articolo | EUR 74.52 | EUR 114.64 |
I tempi di consegna sono stabiliti dai venditori e variano in base al corriere e al paese. Gli ordini che devono attraversare una dogana possono subire ritardi e spetta agli acquirenti pagare eventuali tariffe o dazi associati. I venditori possono contattarti in merito ad addebiti aggiuntivi dovuti a eventuali maggiorazioni dei costi di spedizione dei tuoi articoli.