Come progettare programmi - How to Design Programs
| 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 |
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:
- Università di Chicago , Chicago IL, Stati Uniti
- Northwestern University , Evanston IL, Stati Uniti
- Suffolk County Community College , (Ammerman Campus) Selden NY, Stati Uniti
- Adelphi University , Garden City NY, Stati Uniti
- Università della California, Irvine , Irvine CA, Stati Uniti
- California Polytechnic State University , San Luis Obispo, CA, Stati Uniti
- Northeastern University , Boston MA, Stati Uniti
- Seton Hall University , South Orange NJ, Stati Uniti
- Università del Delaware , Newark DE, Stati Uniti
- Westmont College , Santa Barbara CA, Stati Uniti
- Vassar College , Poughkeepsie NY, Stati Uniti
- Worcester Polytechnic Institute , Worcester MA, Stati Uniti
- Università di Notre Dame , South Bend IN, Stati Uniti
- Università di Waterloo , Waterloo, Canada
- Università Nazionale Autonoma del Messico (UNAM), Messico
- Rhode Island College , Providence RI, Stati Uniti
- Pacific Union College , Angwin CA, Stati Uniti
- Università di Tubinga , Tubinga, Germania
- Università di Friburgo , Friburgo, Germania
- Università di Dallas , Irving TX, Stati Uniti
- Indiana University , Bloomington IN, Stati Uniti
- Istanbul Bilgi University , Istanbul, Turchia
- South Carolina State University , Orangeburg SC, Stati Uniti
- Berry College , Rome GA, Stati Uniti
- Monmouth College , Monmouth IL, Stati Uniti
- Manhattanville College , Purchase NY, Stati Uniti
- University of Minnesota, Morris , Stati Uniti
- Università della British Columbia , Canada
- Brown University , Providence RI, Stati Uniti
- Zefat Academic College, Israele
- Università del Cile , Cile
- Università Federale del Rio Grande do Sul , Porto Alegre, Brasile
Riferimenti
link esterno
-
Sito ufficiale , 2a edizione 2018, 1a edizione 2003