Donald Ervin Knuth ([kə.ˈnuːθ]), né le à Milwaukee dans le Wisconsin, est un informaticien et mathématicien américain de renom, professeur émérite en informatique à l'université Stanford (en tant que « professeur émérite de l'art de programmer »). Il est un des pionniers de l'algorithmique et a fait de nombreuses contributions dans plusieurs branches de l'informatique théorique.
Knuth est l'auteur d'une centaine d'articles et d'une dizaine de livres sur l'algorithmique et les mathématiques discrètes ; les trois premiers volumes, avec les parties déjà publiées du (4A et 4B) de The Art of Computer Programming (TAOCP), demeurent des ouvrages de référence.
Afin d'avoir une bonne qualité de mise en page pour la deuxième édition de son TAOCP, Knuth crée deux logiciels libres, par la suite largement utilisés en typographie professionnelle et en mathématiques, TeX et Metafont. Son intérêt pour la typographie le pousse également à créer la police Computer Modern, police par défaut de TeX.
Né à Milwaukee, dans le Wisconsin, Knuth reçoit son bachelor's degree summa cum laude et son master's degree (les deux simultanément, le jury considérant son travail de B.Sc. comme valant un M.Sc.) en mathématiques du Case Institute of Technology (devenu depuis l'université Case Western Reserve) en 1960.
Sa première analyse d'algorithme remonte à l'été 1962. Il est alors impressionné par un ouvrage de l'informaticien soviétique Andreï Ershov.
Knuth découvre à cette occasion un lien entre l'efficacité d'un algorithme de hachage et des mathématiques remontant à Ramanujan.
En 1963, il soutient avec succès son Ph. D. (doctorat) en mathématiques au California Institute of Technology.
En 1968, il devient membre de la faculté de l'université Stanford, où il recevra finalement un titre académique créé à son intention : Professor Emeritus of the Art of Computer Programming. En 1971, Knuth est le premier à recevoir le prix Grace Murray Hopper de l'Association for Computing Machinery (ACM).
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
thumb|Fragment de code écrit dans le langage de programmation JavaScript. Un langage de programmation est un langage informatique destiné à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire, de significations, mais aussi d'un environnement de traduction censé rendre sa syntaxe compréhensible par la machine.
Pascal est un langage de programmation impératif qui, conçu pour l'enseignement, se caractérise par une syntaxe claire, rigoureuse et facilitant la structuration des programmes. Le langage Pascal a été le premier langage de ce type (Impératif) largement répandu dans le monde, et ce, 2 ans avant le langage C. Le pascal (à partir de Borland Pascal 4 ou au delà) a les caractéristiques suivantes : Langage verbeux (anglais) Blocs d'instructions avec Begin et End Les mots clés, variables, fonctions et procédures sont insensibles à la casse.
Un ordinateur est un système de traitement de l'information programmable tel que défini par Alan Turing et qui fonctionne par la lecture séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui font exécuter des opérations logiques et arithmétiques. Sa structure physique actuelle fait que toutes les opérations reposent sur la logique binaire et sur des nombres formés à partir de chiffres binaires.
The last twenty years have seen enormous progress in the design of algorithms, but little of it has been put into practice. Because many recently developed algorithms are hard to characterize theoretically and have large running_time coefficients, the gap ...