1 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Permettant de suivre l’ensemble du parcours de MIT 6.001 Structure and Interpretation of Computer Programs en 20 cours vidéo, cette ressource est idéale pour réviser SICP de manière structurée
  • Les cours ont été donnés en juillet 1986 à des employés de Hewlett-Packard, et produits professionnellement par Hewlett-Packard Television
  • Les vidéos sont disponibles sur MIT OCW ainsi que sur un site de diffusion séparé, sous une licence Creative Commons compatible avec un usage commercial
  • Le contenu des cours est basé sur la 1re édition de SICP publiée en 1985 ; dans la 2e édition de 1996, certains programmes ont été réécrits et de nouveaux contenus ajoutés
  • Les thèmes et l’ordre général de présentation ayant été conservés, ces vidéos restent une référence utile même pour les apprenants travaillant avec la 2e édition

Structure des cours et mode de diffusion

  • Les 20 cours de Hal Abelson et Gerald Jay Sussman couvrent dans son intégralité le cours MIT 6.001 Structure and Interpretation of Computer Programs
  • Les cours ont été donnés en juillet 1986 à des employés de Hewlett-Packard, et produits professionnellement par Hewlett-Packard Television
  • Les vidéos proviennent de documents fournis par Hal Abelson et Gerald Jay Sussman et sont utilisées avec autorisation
  • Les mêmes vidéos sont disponibles, en plus de MIT OCW, sur un site de diffusion séparé et sont soumises à une licence Creative Commons compatible avec un usage commercial

Remarques sur les éditions du manuel

  • Ces cours s’appuient sur la 1re édition de Structure and Interpretation of Computer Programs, publiée en 1985
  • Dans la 2e édition de 1996, plusieurs programmes abordés dans les cours ont été réécrits et de nouveaux contenus ont été ajoutés
  • Les thèmes et l’ordre général de présentation n’ayant pas changé, ces cours vidéo restent utiles aux étudiants qui utilisent la 2e édition

Liste des cours

1 commentaires

 
GN⁺ 4 시간 전
Avis sur Hacker News
  • Pour étudier SICP, on peut utiliser MIT Scheme ; autre option, utiliser Racket ou DrRacket avec ce paquet additionnel : https://docs.racket-lang.org/sicp-manual/

    • À des fins pédagogiques, je pense qu’il vaut mieux recommander uniquement MIT Scheme
      Les autres offrent trop de fonctionnalités autour, ce qui peut distraire
    • Je suis d’accord avec ces deux recommandations, mais avec une réserve
      MIT Scheme n’est pas fait pour fonctionner sur Apple Silicon ; avec quelques astuces, on peut utiliser la version amd64 sur les Mac récents, mais elle risque de disparaître si Apple supprime Rosetta2
      Racket peut donc être un meilleur choix
      Presque n’importe quelle implémentation correcte de Scheme peut servir pour SICP, mais je ne le recommanderais pas, car le langage a changé depuis la 2e édition
      Cela dit, une fois que l’on a lancé ses propres projets, on peut utiliser d’autres systèmes, et il faudra peut-être lire la documentation pour trouver les équivalents modernes d’anciens idiomes
    • MIT Scheme est le choix « le plus simple qui puisse marcher »
  • Tous les programmeurs devraient apprendre LISP, ou au moins l’étudier sérieusement
    La plupart des programmeurs applicatifs ne savent penser que de manière procédurale, comme des programmeurs C
    LISP est un « beau » langage qui traite des concepts plutôt que du matériel, et quand je l’ai utilisé pendant plusieurs années sur un projet de troisième cycle dans mon ancienne université, vers 1990, cela a complètement changé ma façon de penser

  • J’avais autrefois essayé SICP uniquement avec le livre, et je trouve que les cours sont bien meilleurs, le livre servant plutôt de référence d’appoint

    • C’est en gros ainsi que l’enseignement universitaire a fonctionné pendant environ 1000 ans
  • Il n’est pas nécessaire de faire les exercices ni de suivre le livre pas à pas
    Que l’on débute dans le domaine ou que l’on ait des décennies d’expérience, si l’on n’a pas encore vu ces vidéos ou suivi un cours SICP, cela peut être utile à presque tout le monde

  • J’ai étudié ces vidéos et tout le livre jusqu’au bout, et j’ai aussi monté un groupe d’étude hors ligne via les newsgroups
    C’était vraiment agréable et cela a été un grand déclic, mais vers le milieu du livre, le nombre de participants a commencé à diminuer

  • Le conseil de lire SICP a été le meilleur que j’aie reçu sur /g/

  • C’est avec ça que j’ai appris Lisp, puis j’ai appris Clojure et construit ma carrière autour de ce langage

    • Excellent. Je suis curieux de savoir comment tu as appris Clojure
      C’est un langage que j’aime beaucoup
  • Je recommande vraiment très fortement
    Il suffit de regarder le premier cours pour être immédiatement accroché

  • Qu’est-ce qu’une personne intéressée par la programmation système peut en retirer ?

    • Ces cours isolent, presque comme nul autre, les questions fondamentales autour de la mutabilité, de la gestion de l’état et de l’abstraction
      Donc, dans la mesure où la programmation système consiste surtout à gérer l’état et l’abstraction, je pense que c’est très profondément pertinent
      En revanche, si par « programmation système » on entend surtout rafistoler des systèmes existants et désordonnés, ou développer un instinct pour les bibliothèques tierces, cela peut être moins pertinent
      Il y a tout de même des enseignements à en tirer. J’ai vu une vidéo où Sussman explique pourquoi il a mis SICP de côté et demandé la création d’un nouveau cours d’introduction au MIT ; on y voyait quelqu’un ranger avec respect et réflexion le joyau qu’il avait poli
      Cela signifiait que l’époque où l’on pouvait espérer voir à travers toutes les couches d’abstraction était révolue
  • La qualité audio est vraiment mauvaise dans ces cours
    Existe-t-il un moyen de la nettoyer correctement ?