1 Punkte von GN⁺ 4 시간 전 | 1 Kommentare | Auf WhatsApp teilen
  • Man kann dem vollständigen Ablauf von MIT 6.001 Structure and Interpretation of Computer Programs in 20 Videovorlesungen folgen; damit eignet sich das Material gut, um SICP systematisch zu wiederholen.
  • Die Vorlesungen wurden im Juli 1986 für Mitarbeiter von Hewlett-Packard gehalten und professionell von Hewlett-Packard Television produziert.
  • Die Videos sind sowohl über MIT OCW als auch über eine separate Bereitstellungsseite verfügbar und stehen unter einer mit kommerzieller Nutzung kompatiblen Creative-Commons-Lizenz.
  • Der Vorlesungsinhalt basiert auf der 1. Auflage von SICP aus dem Jahr 1985; in der 2. Auflage von 1996 wurden einige Programme neu geschrieben und neues Material ergänzt.
  • Die Gesamtthemen und die Reihenfolge der Präsentation bleiben gleich, daher sind die Vorlesungen auch für Lernende mit der 2. Auflage weiterhin wertvoll.

Aufbau der Vorlesungen und Bereitstellung

  • Hal Abelson und Gerald Jay Sussman behandeln in 20 Vorlesungen den MIT-6.001-Kurs Structure and Interpretation of Computer Programs in vollständiger Form.
  • Die Vorlesungen wurden im Juli 1986 für Mitarbeiter von Hewlett-Packard gehalten und professionell von Hewlett-Packard Television produziert.
  • Die Videos wurden von Hal Abelson und Gerald Jay Sussman bereitgestellt und mit Genehmigung verwendet.
  • Dieselben Videos werden neben MIT OCW auch auf einer separaten Bereitstellungsseite angeboten und folgen einer mit kommerzieller Nutzung kompatiblen Creative-Commons-Lizenz.

Hinweise zu den Buchauflagen

  • Diese Vorlesungen basieren auf der 1. Auflage von Structure and Interpretation of Computer Programs, erschienen 1985.
  • In der 2. Auflage von 1996 wurden mehrere in den Vorlesungen behandelte Programme neu geschrieben und neues Material hinzugefügt.
  • Da sich die Gesamtthemen und die Reihenfolge der Präsentation nicht geändert haben, sind diese Videovorlesungen auch für Studierende mit der 2. Auflage nützlich.

Vorlesungsliste

1 Kommentare

 
GN⁺ 4 시간 전
Meinungen auf Hacker News
  • Wer SICP durcharbeiten möchte, kann MIT Scheme verwenden; alternativ kann man Racket oder DrRacket mit diesem Add-on-Paket nutzen: https://docs.racket-lang.org/sicp-manual/

    • Für Bildungszwecke halte ich es für richtig, nur MIT Scheme zu empfehlen.
      Die anderen haben zu viele Zusatzfunktionen und können ablenken.
    • Ich stimme diesen beiden Empfehlungen zu, aber mit einer Einschränkung:
      MIT Scheme wurde nicht dafür gebaut, auf Apple Silicon zu laufen. Mit ein paar Tricks kann man zwar die amd64-Version auf aktuellen Macs nutzen, aber wenn Apple Rosetta 2 abschafft, dürfte das verschwinden.
      Deshalb könnte Racket die bessere Wahl sein.
      Fast jede ordentliche Scheme-Implementierung lässt sich für SICP verwenden, aber ich würde es nicht empfehlen, weil sich die Sprache auch nach der 2. Auflage noch verändert hat.
      Sobald man jedoch eigene Projekte startet, kann man auch andere Systeme verwenden; um moderne Entsprechungen alter Idiome zu finden, muss man eventuell die Dokumentation lesen.
    • MIT Scheme ist die „einfachste Option, die wahrscheinlich funktioniert“.
  • Alle Programmierer sollten LISP lernen oder es zumindest ernsthaft studieren.
    Die meisten Anwendungsprogrammierer können nur prozedural denken, wie C-Programmierer.
    LISP ist eine „schöne“ Sprache, die nicht Hardware, sondern Konzepte behandelt; als ich sie 1990 an meiner Alma Mater einige Jahre lang in Graduiertenprojekten verwendet habe, hat sie meine Denkweise völlig verändert.

  • Ich habe SICP früher nur mit dem Buch ausprobiert; meiner Meinung nach sind die Vorlesungen viel besser, und das Buch dient eher als ergänzendes Nachschlagewerk.

    • So lief Universitätsbildung ursprünglich ungefähr 1000 Jahre lang.
  • Man muss weder die Übungen lösen noch dem Buch folgen.
    Egal, ob man neu in diesem Feld ist oder jahrzehntelange Erfahrung hat: Wenn man diese Videos noch nicht gesehen oder den SICP-Kurs noch nie besucht hat, dürfte er fast jedem etwas bringen.

  • Ich habe diese Videos und das gesamte Buch bis zum Ende durchgearbeitet und über Newsgroups auch eine Offline-Study-Group organisiert.
    Es hat wirklich Spaß gemacht und war ein großer Durchbruch, aber ungefähr ab der Mitte des Buchs begann die Teilnehmerzahl der Study-Group zu sinken.

  • Der Rat, SICP zu lesen, war der beste Rat, den ich auf /g/ bekommen habe.

  • Damit habe ich Lisp gelernt, danach Clojure, und anschließend meine Karriere darum aufgebaut.

    • Großartig. Mich würde interessieren, wie du Clojure gelernt hast.
      Ich mag die Sprache ziemlich gern.
  • Absolut dringend zu empfehlen.
    Schon die erste Vorlesung zieht einen sofort hinein.

  • Was kann jemand, der sich für Systemprogrammierung interessiert, daraus mitnehmen?

    • Diese Vorlesungen arbeiten die Kernfragen zu Themen wie Mutabilität, Zustandsverwaltung und Abstraktion auf eine fast einzigartige Weise heraus.
      Insofern Systemprogrammierung hauptsächlich Zustandsverwaltung und Abstraktion betrifft, halte ich das für sehr tiefgehend relevant.
      Wenn man unter „Systemprogrammierung“ allerdings eher versteht, bereits existierende, unordentliche Systeme irgendwie zusammenzukleben oder ein Gefühl für Third-Party-Libraries zu entwickeln, ist es vielleicht weniger relevant.
      Trotzdem steckt auch hier Einsicht drin. Ich habe ein Video gesehen, in dem Sussman erklärt, warum er SICP beiseitegelegt und gefordert hat, am MIT einen neuen Einführungskurs zu schaffen; es wirkte, als würde er das Juwel, das er über Jahre geschliffen hatte, respektvoll und bedacht zur Seite legen.
      Gemeint war, dass die Zeit vorbei ist, in der wir erwarten konnten, über alle Abstraktionsschichten hinweg den Durchblick zu behalten.
  • Bei diesen Vorlesungen ist die Tonqualität sehr schlecht.
    Gibt es eine Möglichkeit, sie sauber zu verbessern?