Come progettare programmi - How to Design Programs

Come progettare programmi
Come progettare programmi (copertina) .jpg
Autore Matthias Felleisen , Robert Bruce Findler , Matthew Flatt , Shriram Krishnamurthi
Nazione stati Uniti
Soggetto Programmazione computer
Genere Manuale
Editore MIT Press
Data di pubblicazione
12 febbraio 2001
Tipo di supporto Stampa
Pages 720
ISBN 0-262-06218-6
Classe LC QA76.6 .H697 2001
Sito web htdp .org

How to Design Programs ( HtDP ) è un libro di testo di Matthias Felleisen , Robert Bruce Findler , Matthew Flatt e Shriram Krishnamurthi sulla progettazione sistematica di programmi per computer . MIT Press ha pubblicato la prima edizione nel 2001 e la seconda edizione nel 2018, che è disponibile gratuitamente online e in formato cartaceo. Il libro introduce il concetto di una ricetta di progettazione , un processo in sei fasi per la creazione di programmi da una dichiarazione di problema. Mentre il libro è stato originariamente utilizzato insieme al progetto educativo TeachScheme! (ribattezzato ProgramByDesign ), è stato adottato in molti college e università per insegnare i principi di progettazione dei programmi.

Secondo HtDP, il processo di progettazione inizia con un'attenta analisi di una dichiarazione di problema con l'obiettivo di estrarre una descrizione rigorosa dei tipi di dati che il programma desiderato consuma e produce. La struttura di queste descrizioni dei dati determina l'organizzazione del programma.

Quindi, il libro introduce con attenzione forme di dati di complessità crescente. Inizia con i dati di forme atomiche e poi progredisce in forme composte , inclusi i dati che possono essere arbitrariamente grandi. Per ogni tipo di definizione dei dati, il libro spiega come organizzare il programma in linea di principio, consentendo così a un programmatore che incontra una nuova forma di dati di costruire ancora un programma in modo sistematico.

Come la struttura e l'interpretazione dei programmi per computer (SICP), HtDP si basa su una variante del linguaggio di programmazione Scheme . Include il proprio ambiente di sviluppo integrato di programmazione (IDE), denominato DrRacket , che fornisce una serie di linguaggi di programmazione. Il primo linguaggio supporta solo funzioni, dati atomici e strutture semplici. Ogni lingua aggiunge forza espressiva a quella precedente. Ad eccezione della più grande lingua di insegnamento, tutte le lingue per HtDP sono linguaggi di programmazione funzionali .

Nel documento del 2004, The Structure and Interpretation of the Computer Science Curriculum , gli autori distinguono il focus pedagogico di HtDP da quello di SICP e mostrano come HtDP è stato progettato come libro di testo per affrontare alcuni problemi che alcuni studenti e insegnanti avevano con SICP.

Utilizzare nell'istruzione post-secondaria

Molti college e scuole hanno utilizzato HtDP nelle loro classi, tra cui:

Riferimenti

link esterno