Quelles sont les bonnes ressources pour apprendre le calcul scientifique ?


Ma réponse de base est : lisez beaucoup en dehors du domaine de l'informatique.

Il vaut la peine d'essayer de comprendre ce que "science" signifie dans "Computer Science" et ce que "engineering" signifie dans "Software Engineering".


"Science" dans son sens moderne signifie essayer de réconcilier les phénomènes dans des modèles qui sont aussi explicatifs et prédictifs que possible. Il peut y avoir des "sciences de l'artificiel" (voir le livre important de Herb Simon). Une façon de voir les choses est que si les gens (en particulier les ingénieurs) construisent des ponts, ceux-ci présentent des phénomènes que les scientifiques doivent comprendre en créant des modèles. Ce qui est amusant, c'est que la science indiquera presque toujours de nouvelles et meilleures façons de construire des ponts, de sorte que les relations collégiales amicales entre les scientifiques et les ingénieurs peuvent vraiment faire progresser les choses.


Un exemple en informatique est John McCarthy qui réfléchit aux ordinateurs à la fin des années 50, à la gamme vraiment large de choses qu'ils peuvent faire (peut-être l'IA ?), et qui crée un modèle d'informatique comme un langage qui pourrait servir de son propre métalangage (LISP). Mon livre préféré à ce sujet est "The Lisp 1.5 Manual" de MIT Press (écrit par McCarthy et al.). La première partie de ce livre reste un classique sur la façon de penser en général, et sur l'informatique en particulier.


(Un livre ultérieur inspiré par tout cela est "Smalltalk : the language and its implementation" (par Adele Goldberg et Dave Robson - le "Blue Book"). Contient aussi une implémentation complète en Smalltalk écrite en elle-même, etc.)

Un livre encore plus tardif que j'aime beaucoup et qui est de la "vraie informatique" est "The Art of the Metaobject Protocol" par Kiszales, Bobrow, Rivera,). La première partie de ce livre en particulier est assez éclairante.

Une thèse ancienne (1970) qui est de la vraie science informatique est "A Control Definition Language" par Dave Fisher (CMU).

Peut-être que mon livre préféré sur l'informatique peut sembler éloigné, mais il est merveilleux et l'écriture est merveilleuse : "Computation : Machines finies et infinies" de Marvin Minsky (ca 1967). Juste un beau livre.

Pour aider à la "science", je recommande généralement une variété de livres : "Principia" de Newton (le livre de science ultime et le document fondateur), "The Molecular Biology of the Cell" de Bruce Alberts, et al. Il y a un livre des papiers de Maxwell, etc.

Vous devez finir par réaliser que "Computer Science" est encore une aspiration, pas un domaine accompli.

"Engineering" signifie "concevoir et construire des choses de manière experte et fondée sur des principes". Le niveau de cela est très élevé pour les domaines de l'ingénierie civile, mécanique, électrique, biologique, etc. Ingénierie. Ceux-ci devraient être étudiés attentivement pour obtenir le sens plus large de ce que signifie faire de l'"ingénierie".

Pour aider à l'"ingénierie", essayez de lire la fabrication de l'Empire State Building, du barrage de Boulder, du pont Golden Gate, etc. J'aime bien "Now It Can Be Told" du Maj Gen Leslie Groves (le honcho du projet Manhattan). C'est un ingénieur, et cette histoire n'est pas du tout du point de vue de Los Alamos (dont il était également responsable) mais de Oak Ridge, Hanford, etc. et de l'incroyable mobilisation de plus de 600 000 personnes et de beaucoup d'argent pour faire l'ingénierie nécessaire à la création des matériaux requis.

Pensez ensuite à ce que le "génie logiciel" n'est pas - encore une fois, vous devez finir par réaliser que le "génie logiciel" dans n'importe quel sens "d'ingénierie" est au mieux encore une aspiration pas une affaire faite.

L'informatique est aussi une sorte de "média" et d'"intermédiaire", donc vous devez comprendre ce que ceux-ci font pour nous et à nous. Lisez Marshall McLuhan, Neil Postman, Innis, Havelock, etc. Mark Miller (commentaire ci-dessous) vient de me rappeler que j'ai recommandé "Technics and Human Development", Vol. 1 de la série "The Myth of the Machine" de Lewis Mumford, comme un grand prédécesseur à la fois des idées sur l'environnement médiatique et d'une facette importante de l'anthropologie.

Je ne connais pas de grand livre d'anthropologie (peut-être que quelqu'un peut suggérer), mais la compréhension des êtres humains est la chose la plus importante à accomplir dans votre éducation. Dans un commentaire ci-dessous, Matt Gaboury recommande "Human Universals" (je pense qu'il veut parler du livre de Donald Brown.) Ce livre doit certainement être lu et compris - il n'est pas dans la même classe que les livres sur un domaine, comme "Molecular Biology of the Cell".

J'aime les livres d'Ed Tufte sur "Envisioning Information" : lisez-les tous.

Les livres de Bertrand Russell sont encore très bons juste pour réfléchir plus profondément à "ceci et cela" ("Une histoire de la philosophie occidentale" est encore formidable).

La multiplicité des points de vue est le seul moyen de lutter contre les désirs humains de croire et de créer des religions, donc mon livre d'histoire actuelle préféré à lire est : "Destiny Disrupted" de Tamim Ansary. Il a grandi en Afghanistan, a déménagé aux États-Unis à l'âge de 16 ans, et est capable d'écrire une histoire claire et éclairante du monde depuis l'époque de Mahomet du point de vue de ce monde, et sans plaidoyer spécial.