Quali sono alcune buone risorse per imparare il calcolo scientifico?

La mia risposta di base è: leggete molto al di fuori del campo dell'informatica.

Vale la pena cercare di capire cosa significa "scienza" in "Computer Science" e cosa significa "ingegneria" in "Software Engineering".

"Scienza" nel suo senso moderno significa cercare di conciliare i fenomeni in modelli che siano il più possibile esplicativi e predittivi. Ci possono essere "scienze dell'artificiale" (vedi l'importante libro di Herb Simon). Un modo di pensare a questo è che se le persone (specialmente gli ingegneri) costruiscono ponti, allora questi presentano fenomeni per gli scienziati da capire facendo modelli. Il bello è che la scienza indicherà quasi sempre modi nuovi e migliori per fare ponti, così le relazioni amichevoli e collegiali tra scienziati e ingegneri possono davvero fare progressi.

Un esempio nell'informatica è John McCarthy che pensa ai computer alla fine degli anni '50, alla vasta gamma di cose che possono fare (forse AI?), e crea un modello di calcolo come un linguaggio che potrebbe servire come proprio metalinguaggio (LISP). Il mio libro preferito su questo è "The Lisp 1.5 Manual" del MIT Press (scritto da McCarthy et al.). La prima parte di questo libro è ancora un classico su come pensare in generale, e sull'informatica in particolare.

(Un libro successivo ispirato a tutto questo è "Smalltalk: the language and its implementation" (di Adele Goldberg e Dave Robson - il "Blue Book"). Contiene anche un'implementazione completa in Smalltalk scritta in se stesso, ecc.)

Un libro ancora successivo che mi piace molto e che è "vera informatica" è "The Art of the Metaobject Protocol" di Kiszales, Bobrow, Rivera,). La prima parte di questo libro è molto illuminante.

Una delle prime tesi (1970) che è vera informatica è "A Control Definition Language" di Dave Fisher (CMU).

Forse il mio libro preferito sull'informatica può sembrare lontano, ma è meraviglioso e la scrittura è meravigliosa: "Computation: Macchine finite e infinite" di Marvin Minsky (1967 circa). Solo un bellissimo libro.

Per aiutare con la "scienza", di solito consiglio una varietà di libri: I "Principia" di Newton (il libro di scienza per eccellenza e documento fondatore), "The Molecular Biology of the Cell" di Bruce Alberts, et al. C'è un libro di articoli di Maxwell, etc.

Devi finire di capire che "Computer Science" è ancora un'aspirazione, non un campo compiuto.

"Engineering" significa "progettare e costruire cose in modi esperti e basati su principi". Il livello di questo è molto alto per i campi dell'ingegneria civile, meccanica, elettrica, biologica, ecc. Ingegneria. Questi dovrebbero essere studiati attentamente per ottenere il senso più ampio di ciò che significa fare "ingegneria".

Per aiutare con l'"ingegneria" provate a leggere la costruzione dell'Empire State Building, della diga di Boulder, del Golden Gate Bridge, ecc. Mi piace "Now It Can Be Told" del maggiore generale Leslie Groves (il capo del progetto Manhattan). Lui è un ingegnere, e questa storia non è molto dal punto di vista di Los Alamos (di cui era anche responsabile), ma su Oak Ridge, Hanford, ecc. e l'incredibile mobilitazione di più di 600.000 persone e un sacco di soldi per fare l'ingegneria necessaria a creare i materiali necessari.

Poi pensate a dove "l'ingegneria del software" non è - di nuovo, dovete finire per capire che "l'ingegneria del software" in qualsiasi senso "ingegneristico" è al massimo ancora un'aspirazione non un affare fatto.

L'informatica è anche un tipo di "media" e "intermediario", quindi dovete capire cosa questi fanno per noi e per noi. Leggete Marshall McLuhan, Neil Postman, Innis, Havelock, ecc. Mark Miller (commento qui sotto) mi ha appena ricordato che ho raccomandato "Technics and Human Development", Vol. 1 della serie "The Myth of the Machine" di Lewis Mumford, come un grande predecessore sia delle idee sull'ambiente dei media che di un importante aspetto dell'antropologia.

Non conosco un grande libro di antropologia (forse qualcuno può suggerire), ma la comprensione degli esseri umani è la cosa più importante da realizzare nella tua formazione. In un commento qui sotto, Matt Gaboury ha raccomandato "Human Universals" (penso che intenda il libro di Donald Brown). Questo libro certamente dovrebbe essere letto e compreso - non è nella stessa classe dei libri su un campo, come "Biologia molecolare della cellula".

Mi piacciono i libri di Ed Tufte su "Envisioning Information": leggeteli tutti.

I libri di Bertrand Russell sono ancora molto buoni solo per riflettere più profondamente su "questo e quello" ("A History of Western Philosophy" è ancora formidabile).

I punti di vista multipli sono l'unico modo per combattere il desiderio umano di credere e creare religioni, quindi il mio libro di storia attuale preferito da leggere è: "Destiny Disrupted" di Tamim Ansary. È cresciuto in Afghanistan, si è trasferito negli Stati Uniti all'età di 16 anni, ed è in grado di scrivere una storia chiara e illuminante del mondo dai tempi di Maometto dal punto di vista di questo mondo, e senza suppliche speciali.