Essay über Sprache und Kommunikation 2

Posted on by Josephine

Essay Über Sprache Und Kommunikation 2




----

Eine leistungsstarke Möglichkeit, Ideen auszudrücken

Die Menschen sind es gewohnt, Prosa - und manchmal Bilder - zu produzieren, um sich auszudrücken. Aber im modernen Zeitalter der Berechnung ist etwas Neues möglich geworden, das ich den Rechenaufsatz nennen möchte.

Ich arbeite seit mehreren Jahrzehnten daran, die Technologie zur Unterstützung von Rechenaufsätzen zu entwickeln, aber erst vor kurzem habe ich erkannt, wie wichtig zentrale Aufsätze sowohl für die Art und Weise, wie Menschen lernen, als auch für die Art und Weise, wie sie Fakten und Ideen kommunizieren, ist.

Fachleute der Zukunft liefern routinemäßig Ergebnisse und Berichte als Rechenaufsätze. Pädagogen werden routinemäßig Konzepte mit Hilfe von Berechnungsaufsätzen erklären. Die Schüler werden routinemäßig Rechenaufsätze als Hausaufgaben für ihre Klassen erstellen.

Hier ist ein sehr einfaches Beispiel für einen theoretischen Aufsatz:

Es gibt grundsätzlich drei Arten von Dingen hier.

Erster, gewöhnlicher Text (hier in Englisch). Zweitens, Computer-Eingabe. Und drittens Computerausgabe. Und der entscheidende Punkt ist, dass alle zusammenarbeiten, um auszudrücken, was kommuniziert wird.

Der gewöhnliche Text gibt Kontext und Motivation.

Die Computereingabe gibt eine genaue Spezifikation dessen, worüber gesprochen wird. Und dann liefert die Computerausgabe Fakten und Ergebnisse, oft in grafischer Form. Es ist eine mächtige Darstellungsform, die das rechnerische Denken des menschlichen Autors mit rechnerischem Wissen und rechnerischer Verarbeitung vom Computer verbindet.

Aber das, was diese Arbeit wirklich macht, ist die Wolfram-Sprache - und die prägnante Darstellung von hochrangigen Ideen, die sie bietet, und eine einzigartige Brücke zwischen dem menschlichen Computerdenken und der tatsächlichen Berechnung und dem von einem Computer gelieferten Wissen definiert.

In einem typischen Computer-Essay wird jedes Wolfram-Eingabe-Stück normalerweise ziemlich kurz sein (oft nicht mehr als eine oder zwei Zeilen).

Aber der Punkt ist, dass solche Eingaben einen Computer-Gedanken auf hoher Ebene in einer Form kommunizieren können, die sowohl vom Computer als auch von einem Menschen, der den Aufsatz liest, leicht verstanden werden kann.

Für all das ist wichtig, dass die Wolfram Language so viel eingebautes Wissen hat - sowohl über die Welt als auch darüber, wie man Dinge darin berechnet. Weil dies es ermöglicht, nicht nur über abstrakte Berechnungen zu sprechen, sondern auch über reale Dinge, die in der Welt existieren und passieren - und letztlich eine echte computergestützte Kommunikationssprache bereitzustellen, die die Fähigkeiten von Menschen und Computern überbrückt.

Ein Beispiel

Lassen Sie uns einen theoretischen Aufsatz verwenden, um die theoretischen Aufsätze zu erklären.

Nehmen wir an, wir wollen über die Struktur einer menschlichen Sprache wie Englisch sprechen.

Englisch besteht hauptsächlich aus Wörtern. Lassen Sie uns eine Liste der üblichen bekommen.

Generieren Sie eine Liste gängiger Wörter auf Englisch:

Wie lange ist ein typisches Wort? Nun, wir können die Liste der gebräuchlichen Wörter nehmen und ein Histogramm machen, das ihre Längenverteilung zeigt.

Erstellen Sie ein Histogramm der Wortlängen:

✕ Histogramm [StringLength [WordList []]]

Machen Sie dasselbe für Französisch:

✕ Histogramm [StringLength [WordList [Sprache -> "Französisch"]]]

Beachten Sie, dass die Wortlängen in Französisch tendenziell länger sind.

Wir könnten untersuchen, ob Dokumente aus diesem Grund im Französischen länger sind als im Englischen, oder wie sich dies auf Größen wie Entropie für Text bezieht. (Natürlich, weil dies ein Rechenexemplar ist, kann der Leser die Berechnungen darin selbst wiederholen, indem er beispielsweise Russisch anstelle von Französisch versucht.)

Aber als etwas anderes vergleichen wir die Sprachen, indem wir ihre Übersetzungen vergleichen, zum Beispiel für das Wort "Computer".

Finden Sie die Übersetzungen für "Computer" in den 10 häufigsten Sprachen:

✕Nehmen [WordTranslation ["Computer", All], 10]

Finde die jeweils erste Übersetzung:

✕Erste / @ Take [WordTranslation ["Computer", All], 10]

Ordne gängige Sprachen im "Feature-Space" basierend auf ihren Übersetzungen für "Computer" an:

✕FeatureSpacePlot [Erstes / @ Take [WordTranslation ["Computer", All], 40]]

Aus dieser Handlung können wir beginnen, alle möglichen strukturellen und historischen Beziehungen zwischen Sprachen zu untersuchen.

Aber aus der Sicht eines Computer-Essays ist es wichtig, dass wir die Exposition zwischen gewöhnlichem Text, Computer-Input und Output teilen.

Der Text sagt, was der grundlegende Punkt ist. Dann gibt der Input eine genaue Definition dessen, was wir wollen.

Und die Ausgabe zeigt, was daran wahr ist. Aber sehen Sie sich die Eingabe an. Schon wenn man sich die Namen der Wolfram Language-Funktionen anschaut, kann man sich ziemlich gut vorstellen, worum es geht. Und während die Funktionsnamen auf Englisch basieren, kann man "code captions" verwenden, um es in einer anderen Sprache, etwa Japanisch, zu verstehen:

✕FeatureSpacePlot [Erstes / @ Take [WordTranslation ["Computer", All], 40]]

Aber sagen wir, man weiß es nicht.

Was ist es? Wenn es nur ein Wort oder eine Phrase in Englisch wäre, könnten wir vielleicht in ein Wörterbuch schauen, aber es würde keine genaue Antwort geben. Aber eine Funktion in der Wolfram Language ist immer genau definiert. Und um zu wissen, was es tut, können wir beginnen, indem wir einfach auf seine Dokumentation schauen.

Aber viel mehr können wir es selbst ausführen, um genau zu sehen, was es tut.

Und das ist ein entscheidender Teil dessen, was an Rechenaufsätzen großartig ist. Wenn Sie einen gewöhnlichen Essay lesen und Sie etwas nicht verstehen, dann müssen Sie am Ende wirklich nur den Autor fragen, was er gemeint hat.In einem Computer-Essay gibt es jedoch einen Wolfram Language-Input, der alles genau und eindeutig spezifiziert - und wenn Sie wissen wollen, was es bedeutet, können Sie es einfach ausführen und jedes Detail auf Ihrem Computer automatisch und ohne Rückgriff auf irgendetwas erkunden ein Gespräch mit dem Autor.

Praktisch

Wie erstellt man eigentlich einen Rechenessay? Mit dem Technologie-Stack, den wir haben, ist es sehr einfach - hauptsächlich dank des Konzepts von Notebooks, das wir 1988 mit der ersten Version von Mathematica eingeführt haben.

Ein Notebook ist ein strukturiertes Dokument, das Zellen aus Zellen mit Zellen von Wolfram vermischt Spracheingabe und -ausgabe, einschließlich Grafiken, Bildern, Sounds und interaktiven Inhalten:

In der heutigen Zeit ist es eine großartige (und sehr schwer zu erreichende) Sache, dass vollständige Wolfram Notebooks nahtlos über Desktop, Cloud und Mobile laufen.

Sie können ein Notebook in der nativen Wolfram Desktop-Anwendung (Mac, Windows, Linux) oder im Web über einen beliebigen Webbrowser oder auf einem Mobilgerät über die Wolfram Cloud-App erstellen.

Dann können Sie es über die Wolfram Cloud freigeben oder veröffentlichen und im Internet oder auf Mobilgeräten darauf zugreifen oder es auf Desktop- oder jetzt iOS-Geräte herunterladen.

Manchmal möchten Sie, dass der Leser eines Notizbuches es nur betrachtet und vielleicht Zellengruppen öffnet und schließt.

Manchmal möchten Sie auch, dass sie die interaktiven Elemente bedienen können. Manchmal möchten Sie, dass sie den Code bearbeiten und ausführen können oder das gesamte Notebook modifizieren können. Und das Entscheidende ist, dass all diese Dinge mit dem von uns entwickelten Cloud-Desktop-Mobile-System einfach zu erledigen sind.

Eine neue Form der Studentenarbeit

Computational Essays sind ideal für Studenten zu lesen, aber sie sind auch ideal für Studenten zu schreiben.

Die meisten der gegenwärtigen Modalitäten für die Studentenarbeit sind bemerkenswert alt. Schreibe einen Aufsatz. Gib eine mathematische Herleitung. Diese gibt es schon seit Jahrtausenden. Nicht, dass mit ihnen etwas nicht in Ordnung wäre. Aber jetzt gibt es etwas Neues: Schreibe einen Rechenessay.

Und es ist wunderbar lehrreich.

Ein Computer-Essay ist eine intellektuelle Geschichte, die durch die Zusammenarbeit zwischen einem menschlichen Autor und einem Computer erzählt wird.

Der Computer verhält sich wie eine Art intellektuelles Exoskelett, mit dem Sie sofort riesige Rechenleistung und Wissen bereitstellen können. Aber es ist auch ein Vollstrecker des Verständnisses. Um den Computer durch die Geschichte zu führen, die Sie erzählen möchten, müssen Sie sie selbst verstehen.

Wenn Schüler gewöhnliche Essays schreiben, schreiben sie typischerweise über Inhalte, die in gewissem Sinne "bereits existieren" ("Diskutiere diesen Abschnitt"; "erkläre dieses Stück Geschichte"; .).

Aber bei der Berechnung (zumindest mit der Wolfram-Sprache) ist es so leicht, neue Dinge zu entdecken, die mit einem im Wesentlichen unerschöpflichen Angebot an neuen Inhalten enden, die noch nie zuvor gesehen wurden. Die Schüler werden erforschen und entdecken sowie verstehen und erklären.

Wenn Sie einen Rechenaufsatz schreiben, muss der Code in Ihrem Rechenaufsatz Ergebnisse liefern, die zu der Geschichte passen, die Sie erzählen. Es ist nicht so, dass du eine mathematische Herleitung machst, und dann sagt dir ein Lehrer, dass du die falsche Antwort hast.

Sie können sofort sehen, was Ihr Code macht und ob er zu der Geschichte passt, die Sie erzählen. Wenn nicht, dann ist dein Code vielleicht falsch - oder deine Geschichte ist falsch.

Was sollte das eigentliche Verfahren für Studenten sein, die Rechenaufsätze produzieren? Auf der diesjährigen Wolfram Summer School haben wir das Experiment gemacht, alle unsere Schüler zu bitten, einen Rechenaufsatz über alles zu schreiben, was sie wussten.

Wir hatten 72 interessante Essays, die eine große Bandbreite von Themen behandelten.

In einer eher typischen pädagogischen Umgebung könnte die "Aufforderung" für einen rechnerischen Essay etwas wie "Was ist die typische Länge eines Wortes auf Englisch?" Oder "Explore Wortlängen auf Englisch" sein.

Es gibt auch einen anderen Workflow, den ich ausprobiert habe.

Als "Klassenzimmer" -Komponente einer Klasse, Livecoding (oder ein Live-Experiment). Erstellen oder entdecken Sie etwas, wobei jeder Schüler seine eigenen Berechnungen durchführt.

Am Ende des Kurses wird jedem Schüler ein Notizbuch zur Verfügung gestellt. Dann haben Sie ihre "Hausaufgaben", um dieses Notizbuch in einen Rechenaufsatz zu verwandeln, der erklärt, was getan wurde.

Und das ist meiner Erfahrung nach eine sehr gute Übung, die das Verständnis der Studenten wirklich prüft und festigt. Aber es gibt noch etwas anderes: Wenn Schüler einen theoretischen Aufsatz erstellt haben, haben sie etwas, das sie für immer behalten und direkt verwenden können.

Und dies ist eine der großen allgemeinen Eigenschaften von Computer-Essays.

Wenn Schüler sie schreiben, erstellen sie in Wirklichkeit eine benutzerdefinierte Bibliothek von Rechenwerkzeugen für sich selbst, die sie jederzeit in der Zukunft verwenden können. Es ist viel zu häufig, dass Schüler Notizen in einer Klasse schreiben und sich dann nie wieder auf sie beziehen.

Ja, sie könnten in eine Situation geraten, in der die Notizen hilfreich wären. Aber es ist oft schwer zu motivieren, zurückzugehen und die Noten zu lesen - nicht zuletzt, weil das nur der Anfang ist; es geht immer noch darum, was auch immer in den Notizen steht.

Aber der Punkt ist, dass mit einem Computer-Essay, sobald Sie gefunden haben, was Sie wollen, der Code, um es zu implementieren ist genau dort - sofort bereit, auf was auch immer gekommen ist angewendet werden.

Jedes gewünschte Thema

Worum geht es in theoretischen Aufsätzen? Fast alles! Ich habe oft gesagt, dass es für jedes Studienfach X (von der Archäologie bis zur Zoologie) entweder ein "Rechen-X" gibt oder bald geben wird.Und jedes "computational X" kann sofort mit Hilfe von Rechenaufsätzen erforscht und erklärt werden.

Aber selbst wenn es noch kein klares "Computer-X" gibt, können Computer-Essays immer noch eine mächtige Möglichkeit sein, Material zu organisieren und zu präsentieren.

In gewissem Sinne hilft die Tatsache, dass eine Sequenz von Berechnungen typischerweise benötigt wird, um in einem Aufsatz "die Geschichte zu erzählen", ein klares Rückgrat für den gesamten Aufsatz. In der Tat hilft die strukturierte Natur der computergestützten Präsentation, Struktur für die Erzählung vorzuschlagen, was es den Schülern (und anderen) leichter macht, Aufsätze zu schreiben, die leicht zu lesen und zu verstehen sind.

Aber was ist mit tatsächlichen Themen?

Stellen Sie sich vor, Sie studieren Geschichte - sagen Sie die Geschichte des englischen Bürgerkrieges. Nun, in der Wolfram Language ist sehr viel Wissen über die Geschichte (so wie viele andere Dinge) enthalten.





So können Sie den englischen Bürgerkrieg durch eine Art Dialog damit darstellen. Zum Beispiel können Sie nach der Geografie von Schlachten fragen:

✕GeoListPlot [\!

\ (\ * NamespaceBox [ "LinguisticAssistant", DynamicModuleBox [{Typeset`query $$ = "englischen Bürgerkrieg", Typeset`boxes $$ = TemplateBox [{ "\" englischen Bürgerkrieg \ "", RowBox [{"Entity", "[", RowBox [{"\" MilitaryConflict \ "", ",", "\" EnglishCivilWar \ ""}}, "]"}], "\ Entity [\\" MilitaryConflict \\ ", \ \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\", Clash "," Wort "->" Englischer Bürgerkrieg "," Vorlage "->" Angenommen, \ "$ {word} \" ist $ {desc1}.

Verwenden Sie stattdessen \ $ {desc2} "," count "-> "3", "Werte" -> {{"name" -> "MilitaryConflict", "desc" -> "ein militärischer Konflikt", "Eingabe" -> "* C.English + Civil + War -_ * MilitaryConflict- "}, {" name "->" Wort "," desc "->" ein Wort "," Eingabe "->" * C.English + Civil + War -_ * Word- "}, {" name "- > "HistoricalEvent", "desc" -> "ein historisches Ereignis", "input" -> "* C.English + Civil + War -_ * HistoricalEvent- "}}}, {" type "->" Unterkategorie "," Wort "->" Englischer Bürgerkrieg "," Vorlage "->" Angenommen $ {desc1}.

Benutze stattdessen $ {desc2} "," count "->" 4 "," Werte "-> {{" name "->" EnglishCivilWar "," desc "->" Englischer Bürgerkrieg (1642 - 1651) "," " Eingang“-> "* DPClash.MilitaryConflictE.English + Zivil + Ist -_ * \ EnglishCivilWar-"}, { "name" -> "FirstEnglishCivilWar", "ab" -> "englischer Bürgerkrieg (1642 - 1646)", "Eingabe" -> "* DPClash.MilitaryConflictE.English + Civil + War -_ * \ FirstEnglishCivilWar-"}, {"Name" -> "SecondEnglishCivilWar", "desc" -> "Zweiter englischer Bürgerkrieg", "Eingabe" -> "* DPClash.MilitaryConflictE.English + Civil + War -_ * \ SecondEnglishCivilWar-"}, {"name" -> "ThirdEnglishCivilWar", "desc" -> "Dritter englischer Bürgerkrieg", "input" -> " * DPClash.MilitaryConflictE.English + Civil + War -_ * \ ThirdEnglishCivilWar- ​​"}}}}, Setze`Anpassungen $$ = {}, Typeset`open $$ = {1, 2}, Typeset`querystate $$ = { "Online" -> True, "Erlaubt" -> True, "mparse.js p“-> 1.305362`6.5672759594240935, "Nachrichten" -> {}}}, DynamicBox [ToBoxes [AlphaIntegration`LinguisticAssistantBoxes [ "", 4, Automatik, Dynamisch [Typeset`query $$] Dynamisch [Typeset`boxes $$]Dynamisch [typeset`lasslumptions $$], dynamisch [typeset`assumptions $$], dynamisch [typeset`open $$], dynamisch [typeset`querystate $$]], StandardForm], ImageSizeCache -> {265., {7 ., 17.}}, TrackedSymbols:> {Typeset`query $$, Typeset`boxes $$, Typeset`allassumptions $$, Typeset`assumptions $$, Typeset`open $$, Typeset`querystate $$}], DynamicModuleValues :> {}, UndoTrackedVariables:> {Typeset`open $$}], BaseStyle -> { "Deploy"}, DeleteWithContents-> True, Editable-> false, SelectWithContents-> True] \) [ "Battles"]]

Du könntest nach einer Zeitlinie für den Beginn des Krieges fragen (du brauchst nicht "erste 15 Schlachten" zu sagen, denn wenn man sich darum kümmert, kann man das nur aus dem Wolfram Language Code lesen):

✕TimelinePlot [Take [\!

\ (\ * NamespaceBox [ "LinguisticAssistant", DynamicModuleBox [{Typeset`query $$ = "englischen Bürgerkrieg", Typeset`boxes $$ = TemplateBox [{ "\" englischen Bürgerkrieg \ ""RowBox [{"Entity", "[", RowBox [{"\" MilitaryConflict \ "", ",", "\" EnglishCivilWar \ ""}}, "]"}], "\ Entity [\ \ "MilitaryConflict \\", \ "EnglishCivilWar \\"] \ \ "", "\" militärischer Konflikt \ ""}, "Entity"], \ typeset \ 'allascumptions $$ = {{"type" - > "Clash", "Wort" -> "Englischer Bürgerkrieg", "Vorlage" -> "Angenommen, \" $ {word} \ "ist $ {desc1}.Verwenden Sie stattdessen \ $ {desc2} "," count "->" 3 "," Values ​​"-> {{" name "->" MilitaryConflict "," desc "->" ein militärischer Konflikt "," input "- > "* C.English + Civil + War -_ * MilitaryConflict-"}, {"name" -> "Wort", "desc" -> "ein Wort", "Eingabe" -> "* C.English + Civil + War -_ * Word- "}, {" name "->" HistoricalEvent "," desc "->" ein historisches Ereignis "," input "->" * C.English + Civil + War -_ * HistoricalEvent- "}}}, {" type "->" Unterkategorie "," Wort "->" Englischer Bürgerkrieg "," Vorlage "->" Angenommen $ {desc1}.

Benutze stattdessen $ {desc2} "," count "->" 4 "," Werte "-> {{" name "->" EnglishCivilWar "," desc "->" Englischer Bürgerkrieg (1642 - 1651) "," " Eingabe "->" * DPClash.MilitaryConflictE.English + Civil + War -_ \ * EnglischCivilWar- ​​"}, {" name "->" FirstEnglishCivilWar "," desc "->" Englischer Bürgerkrieg (1642 - 1646) ", "Eingabe" -> "* DPClash.MilitaryConflictE.English + Civil + War -_ \ * FirstEnglishCivilWar-"}, {"Name" -> "SecondEnglishCivilWar", "desc" -> "Zweiter englischer Bürgerkrieg", "Eingabe" -> "* DPClash.MilitaryConflictE.English + Civil + War -_ \ * SecondEnglishCivilWar-"}, {"name" -> "ThirdEnglishCivilWar", "desc" -> "Dritter englischer Bürgerkrieg", "input" -> " * DPClash.MilitaryConflictE.English + Civil + War -_ \ * ThirdEnglishCivilWar- ​​"}}}}, Setze`Annahmen $$ = {}, Typeset`open $$ = {1, 2}, Typeset`querystate $$ = { "Online" -> Wahr, "Erlaubt" -> Wahr, "mparse.jsp" -> 1.305362`6.5672759594240935, "Nachrichten" -> {}}}, DynamicBox [ToBoxes [AlphaIntegration`LinguisticAssistantBoxes ["", 4, Automatisch, Dynamisch [Typeset`query $$], Dynamisch [Typeset`Boxen $$], Dynamisch [Typeset`allascumptions $$], Dynamisch [Typeset`assumptions $$], Dynamisch [Typeset`open $$], Dynamisch [Typeset`querystate $$]], StandardForm], ImageSizeCache -> {275.{7., 17.}}, TrackedSymbols:> {typeset`query $$, typeset`boxes $$, typeset`allascumptions $$, typeset`assumptions $$, typeset`open $$, typeset`querystate $$} ], DynamicModuleValues:> {}, UndoTrackedVariables:> {Typeset`open $$}], BaseStyle -> {"Deploy"}, DeleteWithContents-> True, Editable-> False, SelectWithContents-> True] \ "[Battles] ], 15]]

Man könnte anfangen zu sehen, wie Armeen sich bewegt haben oder wer gewonnen hat und wer an verschiedenen Punkten verloren hat.

Zunächst können Sie einen Computer-Essay schreiben, in dem die Berechnungen im Grunde nur benutzerdefinierte Infografiken generieren, um Ihre Erzählung zu illustrieren. Aber dann können Sie weiter gehen - und wirklich "Rechengeschichte" machen.

Sie können damit beginnen, verschiedene statistische Maße für den Verlauf des Krieges zu berechnen. Sie können Wege finden, um es quantitativ mit anderen Kriegen zu vergleichen, und so weiter.

Kannst du einen "Rechenaufsatz" über Kunst machen? Absolut. Vielleicht über Kunstgeschichte. Wähle 10 zufällige Gemälde von van Gogh:




✕EntityValue [RandomSample [\!

\ (\ * NamespaceBox ["LinguisticAssistant", DynamicModuleBox [{Typeset`query $$ = "van gogh", Typeset`boxes $$ = TemplateBox [{"" Vincent van Gogh ", RowBox [{"Entity", "[", RowBox [{"Person \" ",", "," \ "VincentVanGogh :: 9vq62 \" "}],"] "}]," \ Entity [ \\ "Person \\", \\ "VincentVanGogh :: 9vq62 \\"] \ "", "\" person \ ""}, "Entity"], Typeset`allascumptions $$ = {{" Geben Sie "->" Clash "," Wort "->" Van Gogh "," Vorlage "->" Angenommen, \ "$ {word} \" ist $ {desc1}.

Verwenden Sie stattdessen \ $ {desc2} "," count "->" 4 "," Werte "-> {{" name "->" Person "," desc "->" eine Person "," Eingabe "->" * C.van + gogh -_ * Person - "}, {" name "->" Film "," desc "->" ein Film "," Eingabe "->" * C.van + gogh -_ * Film- "}, {" name "-> "SolarSystemFeature", "desc" -> "eine Solaranlage", "Eingabe" -> "* C.van + gogh -_ * SolarSystemFeature-"}, {"name" -> "Word", "desc" - > "aw ord "," input "->" * C.van + gogh -_ * Wort- "}}}}, Typeset`ascumptions $$ = {}, Typeset`open $$ = {1, 2}, Typeset`querystate $$ = {"Online" -> True, "Erlaubt" -> True, "mparse.jsp" -> 0.472412`6.125865914333281, "Nachrichten" -> {}}}, DynamicBox [ToBoxes [AlphaIntegration`LinguisticAssistantBoxes ["", 4, Automatisch, Dynamisch [Typeset`query $$], Dynamisch [Typeset`boxes $$], Dynamisch [Typeset`allascumptions $$], Dynamisch [Typeset`assumptions $$], Dynamisch [Typeset`open $$], Dynamisch [Typeset`querystate $$]], StandardForm], ImageSizeCache -> {227.,{7., 17.}}, TrackedSymbols:> {typeset`query $$, typeset`boxes $$, typeset`allascumptions $$, typeset`assumptions $$, typeset`open $$, typeset`querystate $$}]DynamicModuleValues:> {}, UndoTrackedVariables:> {typeset`open $$}], BaseStyle -> {"Bereitstellen"}, DeleteWithContents-> True, Editable-> False, SelectWithContents-> True] \) ["NotableArtworks"]10], "Bild"]

Dann schau dir an, welche Farben sie verwenden (eine überraschend enge Auswahl):

✕ChromaticityPlot [%]

Oder vielleicht könnte man einen Computer-Essay darüber schreiben, Kunst oder Musik zu erschaffen.

Was ist mit Wissenschaft? Sie könnten Keplers Gesetze wiederentdecken, indem Sie Eigenschaften von Planeten betrachten:

✕ \! \ (\ * NamespaceBox ["LinguisticAssistant", DynamicModuleBox [{Typeset`query $$ = "Planeten", Typeset`boxes $$ = TemplateBox [{"\ planeten \" ", RowBox [{" EntityClass ", "[", RowBox [{"Planet \" ",", "," All "}],"] "}]," \ EntityClass [\\ "Planet \\", All] " "," \ "planets \" "}," EntityClass "], Typeset`allascumptions $$ = {{" type "->" Clash "," Wort "->" Planeten "," Vorlage "->" Angenommen \ "$ {word} \" ist $ {desc1}.

Verwenden Sie stattdessen \ $ {desc2} "," count "->" 4 "," Values ​​"-> {{" name "->" PlanetClass "," desc "->" bezieht sich auf Planeten "," Eingabe "->" * C.planets -_ * PlanetClass- "}, {" Name "->" ExoplanetClass "," desc "->" bezieht sich auf Exoplaneten "," Eingabe "->" * C.planets -_ * ExoplanetClass- "}, {" name "->" MinorPlanetClass "," desc "->" auf kleine Planeten bezogen "," input "->" * C.planets-_ * MinorPlanetClass- "}, {" name "->" Wort "," desc "->" ein Wort "," Eingabe "->" * C.

planets -_ * Word- "}}}}, Typeset` Annahmen $$ = {}, Typeset`open $$ = {1, 2}, Typeset`querystate $$ = {"Online" -> True, "Allowed" -> True, "mparse.jsp" -> 0.400862`6.054539882441674, "Nachrichten" -> {}}}, DynamicBox [ToBoxes [AlphaIntegration`LinguisticAssistantBoxes ["", 4, Automatisch, Dynamisch [Typeset`query $$], Dynamisch [Typeset`boxes $$], Dynamisch [Typeset`allascumptions $$], Dynamisch [Typeset`assumptions $$], Dynamisch [Typeset`open $$], Dynamisch [Typeset`querystate $$]], StandardForm], ImageSizeCache- > {171., {7., 17.}}, TrackedSymbols:> {typeset`query $$, typeset`boxes $$, typeset`allascumptions $$, typeset`assumptions $$, typeset`open $$, typeset` Abfragezustand $$}], DynamicModuleValues:> {}, UndoTrackedVariables:> {Typeset`open $$}], BaseStyle -> {"Deploy"}, DeleteWithContents-> True, Editierbar-> False, SelectWithContents-> True] \) [{"DistanceFromSun", "OrbitPeriod"}]

✕ListLogLogPlot [%]

Vielleicht könntest du weitermachen und nach Exoplaneten Ausschau halten.

Oder Sie könnten anfangen, die Bewegungsgleichungen für Planeten zu lösen.

Sie könnten Biologie betrachten. Hier ist der erste Anfang der Referenzsequenz für das menschliche Mitochondrium:

✕ GenomeData [{"Mitochondrion", {1, 150}}]

Sie können beginnen, es in mögliche Codons zu brechen:

String-Partition [%, 3]

Es gibt eine immense Menge an Daten über alle Arten von Dingen, die in die Wolfram-Sprache eingebaut sind.

Aber es gibt auch das Wolfram Data Repository, das alle Arten von spezifischen Datensätzen enthält. Wie hier ist eine Karte der staatlichen Messe in den USA:

✕ GeoListPlot [ResourceData ["U.S. State Fairgrounds"] [Alle, "GeoPosition"]]

Und hier ist eine Wortwolke der Verfassungen von Ländern, die seit 2010 erlassen wurden:

✕WordCloud [StringJoin [Normal [ResourceData ["Weltverfassungen"] [Wählen Sie [#YearEnacted> \!

\ (\ * NamespaceBox ["LinguisticAssistant", DynamicModuleBox [{Typeset`query $$ = "Jahr 2010", Typeset`boxes $) $ = RowBox [{"DateObject", "[", ZeilenBox [{"{", "2010", "}"}], "]"}], typeset`lasslumptions $$ = {{"type" -> " MultiClash "," Wort "->" "," Vorlage "->" Angenommen, $ {word1} verweist auf \ $ {desc1}.

Verwenden Sie \ "$ {word2} \" als $ {desc2}. "," Count "->" 2 "," Werte "-> {{" name "->" PseudoTokenYear "," Wort "->" Jahr 2010 "," desc "->" ein Jahr "," Eingabe "->" * MC.Jahr + 2010 -_ * PseudoTokenJahr- "}, {" Name "->" Einheit "," Wort "->" Jahr "," desc "->" eine Einheit "," Eingabe "->" * MC .year + 2010 -_ * Unit- "}}}}, Typeset`ascumptions $$ = {}, Typeset`open $$ = {1}, Typeset`querystate $$ = {" Online "-> True," Erlaubt "-> Wahr," mparse.jsp " -> 0.542662`6.186074404594303, "Nachrichten" -> {}}}, DynamicBox [ToBoxes [AlphaIntegration`LinguisticAssistantBoxes ["", 4, Automatisch, Dynamisch [Typeset`query $$], Dynamisch [Typeset`boxes $$], Dynamisch [Typeset`lasslumptions $$], dynamisch [typeset`assumptions $$], dynamisch [typeset`open $$], Dynamisch [Typeset`querystate $$]], StandardForm], ImageSizeCache -> {86., {7., 18.}}, TrackedSymbols:> {typeset`query $$, typeset`boxes $$, typeset`lasslumptions $$Typeset`assumptions $$, typeset`open $$, typeset`querystate $$}], DynamicModuleValues:> {}, UndoTrackedVariables:> {Typeset`open $$}], BaseStyle -> {"Deploy"}, DeleteWithContents- > True, Editierbar-> False, SelectWithContents-> True] \) &], "Text"]]]]

Oft ist man daran interessiert, nicht mit öffentlichen Daten zu arbeiten, sondern mit irgendwelchen lokalen Daten.

Eine nützliche Quelle hierfür ist der Wolfram Data Drop. In einer Lernumgebung können bestimmte Datenbänke (oder Cloud-Objekte im Allgemeinen) so eingestellt werden, dass sie von einer bestimmten Gruppe gelesen (und / oder hinzugefügt) werden können.

Hier ist eine Datenbank, die ich für mich selbst angehäuft habe, um meine Herzfrequenz durch den Tag zu zeigen. Hier ist es für heute:

✕DateListPlot [Zeitserien [YourDatabinHere]]

Natürlich ist es auch einfach, ein Histogramm zu erstellen:

✕ Histogramm [TimeSeries [YourDatabinHere]]

Was ist mit Mathe?

Ein Schlüsselproblem in Mathematik ist es zu verstehen, warum die Dinge wahr sind. Der traditionelle Ansatz dafür ist, Beweise zu geben.

Aber theoretische Aufsätze bieten eine Alternative. Die Art der Schritte in ihnen ist anders - aber das Ziel ist das gleiche: zu zeigen, was wahr ist und warum.





Betrachten wir als einfaches Beispiel Primzahlen. Hier sind die ersten 50:

✕Tabelle [Prime [n], {n, 50}]

Finden wir den Rest Mod 6 für all diese Primzahlen:

✕Mod [Tabelle [Prime [n], {n, 50}], 6]

Aber warum treten nur 1 und 5 auf (naja, nach den trivialen Fällen der Primzahlen 2 und 3)?

Wir können dies durch Berechnung sehen. Jede Zahl kann als 6n + k für einige n und k geschrieben werden:

✕Tabelle [6 n + k, {k, 0, 5}]

Aber wenn wir Zahlen in dieser Form faktorisieren, werden wir sehen, dass 6n + 1 und 6n + 5 die einzigen sind, die keine Vielfachen sein müssen:

Was ist mit Informatik?

Man könnte zum Beispiel einen Rechenaufsatz über die Implementierung des Euklid-Algorithmus schreiben, seine Laufzeit untersuchen und so weiter.

Definieren Sie eine Funktion, um alle Schritte in Euclids Algorithmus anzugeben:

✕gcdlist [a_, b_]: = NestWhileList [{Letztes [#], Übernehmen [Mod, #]} &, {a, b}, Letztes [#]!

= 0 &, 1]

Finden Sie die Verteilung der Lauflängen für den Algorithmus für Zahlen bis 200:

✕Histogramm [Flatten [Tabelle [Länge [gcdlist [i, j]], {i, 200}, {j, 200}]]]

Oder in der heutigen Zeit könnte man maschinelles Lernen erforschen, indem man beispielsweise ein Merkmalsraumdiagramm eines Teils des MNIST handgeschriebenen Ziffern-Datensatzes erstellt:

✕FeatureSpacePlot [RandomSample [Schlüssel [ResourceData ["MNIST"]], 50]]

Wenn Sie tiefer in das Software-Engineering einsteigen möchten, könnten Sie einen Rechenaufsatz über das HTTP-Protokoll schreiben.

Dies ruft eine HTTP-Antwort von einer Site ab:

✕URLLesen ["https://www.wolfram.com"]

Und das zeigt die Baumstruktur der Elemente auf der Webseite unter dieser URL:

✕TreeForm [Import ["http://www.wolframalpha.com", {"HTML", "XMLObject"}], VertexLabeling -> False, AspectRatio -> 1/2]

Oder - in einer völlig anderen Richtung - könnte man über Anatomie sprechen:

✕AnatomyPlot3D [Entität ["AnatomicalStructure", "LeftFoot"]]

Was macht einen guten Computer-Essay?

Soweit es mich betrifft, muss es für einen theoretischen Aufsatz so einfach wie möglich zu verstehen sein.

Das Format hilft natürlich sehr. Weil ein Rechenexamen voller (oft grafischer) Ausgaben ist, die leicht zu überfliegen sind und die sofort einen Eindruck davon vermitteln, was der Essay zu sagen versucht. Es hilft auch, dass Computer-Essays strukturierte Dokumente sind, die Informationen in gut gekapselten Stücken liefern.

Aber letztlich ist es Sache des Autors eines Rechenaufsatzes, dies deutlich zu machen. Aber eine andere Sache, die hilft, ist, dass die Natur eines Berechnungsaufsatzes ist, dass es eine "Rechenerzählung" haben muss - eine Abfolge von Stücken Code, die der Computer ausführen kann, um zu tun, was in dem Aufsatz diskutiert wird.

Und während man vielleicht in der Lage ist, einen gewöhnlichen Essay zu schreiben, der nicht viel Sinn ergibt, aber immer noch gut klingt, kann man in einem Rechenessay nicht so etwas tun. Denn am Ende ist der Code der Code und muss tatsächlich laufen und Dinge tun.

Was kann also schiefgehen?

Wie englische Prosa kann Wolfram Language Code unnötig kompliziert und schwer zu verstehen sein. In einem guten theoretischen Aufsatz sollten sowohl der gewöhnliche Text als auch der Code so einfach und sauber wie möglich sein. Ich versuche, dies für mich selbst durchzusetzen, indem ich sage, dass jede Eingabe höchstens eine oder vielleicht zwei Zeilen lang sein sollte - und dass die Beschriftung für die Eingabe immer nur eine Zeile lang sein sollte.

Wenn ich versuche, etwas zu tun, wo der Kern davon (vielleicht unter Ausschluss von Dingen wie Anzeigeoptionen) mehr als eine Codezeile benötigt, dann zerlege ich es und erkläre jede Zeile einzeln.

Ein weiterer wichtiger Grundsatz, soweit es mich betrifft, ist: sei explizit. Haben Sie keine Variable, die implizit eine Liste von Wörtern speichert.Zeigen Sie zumindest einen Teil der Liste, damit die Leute sehen können, wie es ist.

Und wenn die Ausgabe kompliziert ist, finden Sie eine tabellarische Darstellung oder Visualisierung, die die Funktionen, an denen Sie interessiert sind, offensichtlich macht. Lass das "Schlüsselergebnis" nicht in etwas versteckt sein, das in der Ecke versteckt ist; stellen Sie sicher, dass die Art und Weise, wie Sie die Dinge einrichten, es in den Mittelpunkt stellt.

Nutzen Sie die strukturierte Natur von Notebooks.

Zerlegen Sie Rechenaufsätze mit Abschnittsüberschriften, was wiederum dazu beiträgt, dass sie leicht überflogen werden können. Ich folge dem Stil einer "Untertitelzeile" vor jeder Eingabe.

Mach dir keine Sorgen, wenn das etwas wiederholt, was ein Absatz des Textes gesagt hat; Betrachten Sie die Überschrift etwas, dass jemand, der nur "die Bilder anschaut" lesen könnte, um zu verstehen, was ein Bild ist, bevor sie tatsächlich in die vollständige Texterzählung eintauchen.

Die Technologie von Wolfram Notebooks macht es einfach, interaktive Elemente in Berechnungsaufsätze einzubauen.

Und manchmal ist das sehr hilfreich und vielleicht sogar wichtig. Interaktive Elemente sollten jedoch nicht überstrapaziert werden. Denn immer wenn ein Element eine Interaktion erfordert, reduziert dies die Fähigkeit, den Aufsatz zu überfliegen.

Manchmal ist eine große Menge an Daten - oder Code - erforderlich, um einen bestimmten Rechenaufsatz zu erstellen. Die Cloud ist sehr nützlich für den Umgang damit.

Stellen Sie die Daten (oder den Code) einfach in der Wolfram Cloud bereit und legen Sie die entsprechenden Berechtigungen fest, damit sie automatisch gelesen werden können, wenn der Code in Ihrem Aufsatz ausgeführt wird.

Notizbücher erlauben auch das "umgekehrte Schließen" von Zellen, wodurch eine Ausgangszelle sofort sichtbar ist, obwohl die Eingangszelle, die sie erzeugt hat, anfänglich geschlossen ist.

Diese Art des Versteckens von Code sollte im Allgemeinen in einem Rechenexemplar vermieden werden, aber es ist manchmal am Anfang oder am Ende eines Essays nützlich, um entweder einen Hinweis darauf zu geben, was kommt, oder etwas Höheres einzubeziehen, wenn Sie Ich möchte im Detail sehen, wie es gemacht wird.

OK, also, wenn ein Rechenexempel gemacht wird, sagen wir, als Hausaufgabe, wie kann er bewertet werden?

Eine erste, einfache Frage lautet: Läuft der Code? Und das kann ziemlich automatisch festgestellt werden. Dann ist das Bewertungsverfahren sehr ähnlich wie bei einem gewöhnlichen Essay.

Natürlich ist es einfach und schön, Zellen in ein Notizbuch einzufügen, um zu kommentieren, was da ist. Und diese Zellen können ausführbaren Code enthalten, der zum Beispiel Ergebnisse in dem Essay verarbeiten und verarbeiten oder überprüfen kann.

Gibt es Prinzipien für gute Rechenaufsätze? Hier sind ein paar Kandidaten:

0. Verstehe, wovon du redest (!)

1. Finden Sie den einfachsten und direkten Weg, um Ihr Thema zu repräsentieren

2. Behalte den Kern jeder einzelnen Wolfram Language-Eingabe in einer oder zwei Zeilen

3.

Verwenden Sie so oft wie möglich eine explizite Visualisierung oder eine andere Informationsdarstellung

4. Versuchen Sie, jede Eingabe + Beschriftung unabhängig voneinander verständlich zu machen

5. Brechen Sie verschiedene Themen oder Richtungen in verschiedene Unterabschnitte

Die Sprache lernen

Im Zentrum der theoretischen Aufsätze steht die Idee, Computergedanken mit der Wolfram Language auszudrücken.

Aber um das zu tun, muss man die Sprache kennen. Im Gegensatz zu den menschlichen Sprachen ist die Wolframsprache explizit darauf ausgelegt (und ja, genau das habe ich in den letzten 30 Jahren getan), bestimmten Prinzipien zu folgen und so leicht wie möglich zu lernen. Aber es gibt immer noch zu lernen.

Ein Merkmal der Wolfram Language ist, dass sie - ähnlich wie bei menschlichen Sprachen - normalerweise einfacher zu lesen als zu schreiben ist. Und das bedeutet, dass ein guter Weg für die Leute, um zu lernen, was sie in der Lage sind, Rechenaufsätze zu schreiben, darin besteht, dass sie zuerst eine Reihe von Aufsätzen lesen.

Vielleicht können sie dann anfangen, diese Aufsätze zu modifizieren. Oder sie können mit der Erstellung von "Notizenaufsätzen" beginnen, die auf Code basieren, der in Live-Coding- oder anderen Klassensitzungen generiert wurde.

Wenn die Leute fließender die Wolfram-Sprache schreiben, passiert etwas Interessantes: Sie fangen an, sich selbst in der Sprache auszudrücken, und benutzen den Beitrag von Wolfram Language, um wesentliche Teile der Erzählung in einem Computer-Essay zu transportieren.

Als ich eine elementare Einführung in die Wolfram-Sprache schrieb (die selbst zu einem großen Teil als eine Folge von theoretischen Aufsätzen geschrieben wurde), hatte ich eine interessante Erfahrung.

Am Anfang des Buches war es anständig, Rechenübungen auf Englisch zu erklären ("Mach einen Tisch mit den ersten 10 Quadraten"). Aber ein wenig später in dem Buch wurde es ein frustrierender Prozess.

Es war einfach zu sagen, was ich in der Wolframsprache wollte. Aber es auf Englisch auszudrücken war lang und peinlich (und hatte die Tendenz, wie Legalese zu klingen).

Und genau darum geht es, die Wolfram Language zu verwenden, und den Grund dafür, dass ich mehr als 30 Jahre damit verbracht habe, sie zu bauen: weil sie eine bessere und schärfere Möglichkeit bietet, Rechenaufgaben auszudrücken.

Es wird manchmal von menschlichen Sprachen gesagt, dass die Sprache, die du benutzt, deine Denkweise bestimmt. Es ist nicht klar, wie wahr das von menschlichen Sprachen ist.

Aber es stimmt absolut für Computersprachen. Und eines der mächtigsten Dinge an der Wolfram Language ist, dass es hilft, klares Rechendenken zu formulieren.

In traditionellen Computersprachen geht es darum, Code zu schreiben, der beschreibt, was ein Computer tun soll. Der Sinn der Wolfram-Sprache ist es, etwas viel Höheres zu bieten - das kann sofort über Dinge in der Welt sprechen, und das kann Menschen so direkt wie möglich erlauben, es als ein Medium des Computer-Denkens zu benutzen.Und in gewissem Sinne ist das ein guter rechnerischer Essay.

Der lange Weg zu Computational Essays

Jetzt, da wir vollwertige Computer-Essays haben, merke ich, dass ich seit fast 40 Jahren auf dem Weg zu ihnen bin.

Zuerst nahm ich interaktive Computerausgabe und Scotch-Taping-Beschreibungen darin:

Als ich 1981 SMP baute, schrieb ich routinemäßig Dokumente, die Code und Erklärungen durchsetzten:

Aber erst 1986, als ich anfing, zu dokumentieren, was Mathematica und die Wolfram-Sprache wurden, begann ich ernsthaft, einen Stil zu entwickeln, der dem nahekommt, was ich heute für Computer-Essays bevorzuge:

Und mit der Veröffentlichung von Mathematica 1.0 im Jahr 1988 kam ein weiteres kritisches Element: die Erfindung von Wolfram Notebooks.

Notizbücher kamen in einer Form an, die zumindest oberflächlich sehr ähnlich zu der heutigen ist (und schon in vielerlei Hinsicht ausgefeilter als die Nachahmungen, die 25+ Jahre später erschienen!): Sammlungen von Zellen, die in Gruppen angeordnet sind und Text enthalten können, ausführbarer Code, Grafiken usw.

Anfangs waren Notebooks nur auf Mac und NeXT Computern möglich.





Ein paar Jahre später wurden sie auf Microsoft Windows und X Windows (und später Linux) erweitert. Aber sofort begannen die Leute, Notizbücher zu benutzen, um Berichte über ihre Arbeit zu erstellen und um umfangreiches Erklärungs- und Lehrmaterial zu erstellen.

Innerhalb weniger Jahre begannen Kurse auf Notebooks und Bücher, die auf Notizheften gedruckt wurden, mit interaktiven Versionen auf CD-ROM auf der Rückseite:

In gewissem Sinne bestand das Ausgangsmaterial für Rechenaufsätze bereits Anfang der 1990er Jahre.

Aber um wirklich Rechenaufgaben zu machen, brauchte man die Entwicklung der Cloud - und das ganze breite Spektrum des Computerwissens, das jetzt Teil der Wolfram Language ist.

Bis 1990 war es durchaus möglich, ein Notizbuch mit einer Erzählung zu erstellen, und die Leute taten es, besonders über Themen wie Mathematik. Aber wenn es reale Daten gab, wurden die Dinge unordentlich.





Man musste sicherstellen, dass alles, was benötigt wurde, von einer CD-ROM oder was auch immer erhältlich war. Wir haben sehr früh einen Player für Notebooks entwickelt, der manchmal mit Notebooks ausgeliefert wurde.

Aber in den letzten Jahren, besonders mit der Entwicklung der Wolfram Cloud, sind die Dinge viel schlanker geworden. Denn jetzt können Sie Dinge nahtlos in der Cloud speichern und überall verwenden.

Und Sie können direkt mit Notebooks in der Cloud arbeiten, indem Sie einfach einen Webbrowser verwenden. Dank der zahlreichen Neuerungen bei der Benutzerhilfe (einschließlich natürlicher Spracheingabe) ist es sogar noch einfacher, in der Wolfram Language zu schreiben - und es kann noch mehr erreicht werden.

Und das Wichtigste, von dem ich denke, dass es jetzt definitiv passiert ist, ist, dass es leicht genug ist, um einen guten Rechenaufsatz zu produzieren, der es sinnvoll macht, es als Routine zu machen - entweder professionell beim Schreiben von Berichten oder als Schüler bei Hausaufgaben.

Alte Bildungsgeschichte

Die Idee, dass Studenten Rechenaufsätze produzieren, ist für die moderne Zeit etwas Neues, das durch einen ganzen Stapel aktueller Technologie ermöglicht wird.

Aber es gibt eine merkwürdige Resonanz mit etwas aus der fernen Vergangenheit. Sehen Sie, wenn Sie vor ein paar hundert Jahren in den USA ein Fach wie Mathe gelernt hätten, wäre es eine große Sache, ein sogenanntes Chiffrierungsbuch zu schreiben, in dem Sie im Laufe mehrerer Jahre vorsichtig sind schrieben die Lösungen für eine Reihe von Problemen aus und mischten Erklärungen mit Berechnungen. Und die Idee war dann, dass Sie Ihr Verschlüsselungsbuch für den Rest Ihres Lebens behalten und sich darauf beziehen, wann immer Sie Probleme wie die darin enthaltenen lösen mussten.

Nun, mit Berechnungsaufsätzen können Sie sehr genau dasselbe tun.

Die Probleme, die Sie angehen können, sind weitaus komplexer und umfangreicher, als Sie mit der Handberechnung erreichen könnten. Aber wie bei Chiffrierbüchern können Sie Rechenaufsätze schreiben, damit sie Ihnen in Zukunft nützlich sein werden - obwohl Sie jetzt Berechnungen nicht mehr manuell nachahmen müssen; Stattdessen editierst du einfach dein Computer-Essay-Notizbuch und führst sofort die Wolfram Language-Eingaben darin erneut aus.

Ich habe erst vor kurzem über die Chiffrierung von Büchern erfahren.

Seit ungefähr 20 Jahren hatte ich im Wesentlichen als Kunstwerk ein merkwürdiges handgeschriebenes Notizbuch (das 1818 von einem gewissen George Lehman, offenbar aus Orwigsburg, Pennsylvania, geschaffen wurde), mit Seiten wie diesem:

Ich weiß jetzt, dass es sich um ein Verschlüsselungsbuch handelt - das auf dieser Seite beschreibt, wie man die "Höhe eines senkrechten Objekts .

findet, indem man die Länge des Schattens angibt". Und natürlich kann ich einem modernen rechnerischen Essay-Analog nicht widerstehen, was natürlich etwas aufwendiger sein kann.

Finde die aktuelle Position der Sonne als Azimut, Höhe:

Finden Sie die Länge eines Schattens für ein Objekt der Einheitshöhe:

✕1 / Tan [Sonnenposition [] [[2]]]

Bei einem 10-Fuß-Schatten finden Sie die Höhe des Objekts, das es gemacht hat:

✕Tan [Sonnenstand [] [[2]]] 10ft

Der Weg voraus

Ich schreibe gerne Textessays (wie Blogposts!).

Aber ich schreibe gerne mehr auf Computational Essays. Weil ich zumindest für viele der Dinge, die ich kommunizieren möchte, eine reinere und effizientere Art finde, dies zu tun. Ich könnte viele Wörter damit verbringen, eine Idee auszudrücken - oder ich kann nur ein kleines Stück von Wolfram Language geben, das die Idee sehr direkt ausdrückt und zeigt, wie es funktioniert, indem man (oft sehr visuelle) Ergebnisse damit erzeugt.

Als ich mein großes Buch Eine neue Art der Wissenschaft (von 1991 bis 2002) schrieb, war weder unsere Technologie noch die Welt für rechnende Aufsätze in der Form, in der sie jetzt möglich sind, bereit.

Meine Recherche für das Buch füllte Tausende von Wolfram Notebooks. Aber als es tatsächlich darum ging, das Buch zusammenzustellen, zeigte ich nur die Ergebnisse dieser Hefte - darunter auch ein wenig des Codes von ihnen in den Hinweisen auf der Rückseite des Buches.

Aber jetzt kann die Geschichte des Buches in Rechenaufsätzen erzählt werden, die ich angefangen habe zu produzieren.

(Nur zum Spaß habe ich einen Teil der Arbeit, die ich mache, um diese zu erstellen, live übertragen.) Und es ist sehr befriedigend, wie klar und deutlich die Ideen in dem Buch in Rechenaufsätzen kommuniziert werden können.

Es gibt so viel Potenzial in Rechenaufsätzen.

Und tatsächlich beginnen wir gerade mit dem Projekt, "Themenerforschungen" zu sammeln, die mit Hilfe von Berechnungsaufsätzen eine große Bandbreite von Themen auf beispiellos klare und direkte Weise erforschen. Es wird so etwas wie unser Wolfram Demonstrations Project (das jetzt über 11.000 Wolfram-Language-Demonstrationen hat).

Hier ist ein typisches Beispiel, das ich geschrieben habe:

Computational Essays eröffnen alle Arten von neuen Arten der Kommunikation. Forschungsarbeiten, die direkt Computerexperimente und Explorationen präsentieren. Berichte, die Dinge beschreiben, die gefunden wurden, aber andere Fälle sofort untersuchen lassen.

Und natürlich definieren Rechenaufsätze einen Weg für Studenten (und andere), um sehr direkt und nützlich darzustellen, was sie gelernt haben.

Es gibt etwas Befriedigendes sowohl bei Schreib- als auch bei Lese-Rechenaufsätzen. Es ist, als ob wir in der Kommunikation von Ideen endlich in der Lage sind, über reine menschliche Anstrengung hinauszugehen - und tatsächlich die Macht der Berechnung zu nutzen.

Und für mich ist es wunderbar zu sehen, wie man die Wolfram-Sprache als Computer-Kommunikationssprache einsetzen kann, um so effektiv in Rechenaufsätzen zu kommunizieren.

Es ist so schön, wenn ich etwas als wohlgeformten Computer-Essay bekomme. Weil ich sofort weiß, dass ich eine klare Geschichte bekomme, die ich wirklich verstehen kann. Es wird nicht alle möglichen fehlenden Quellen und versteckten Annahmen geben; es wird nur ein Beitrag von Wolfram Language sein, der alleine steht und den ich für mich selbst übernehmen kann.

Die moderne Welt des Internets hat uns ein paar neue Formate für kommunikationsähnliche Blogs und soziale Medien und Dinge wie Wikipedia gebracht. Aber all dies folgt immer noch dem Grundkonzept von Text + Bildern, das seit Beginn des Zeitalters der Alphabetisierung existiert.

Mit Rechenaufsätzen haben wir endlich etwas Neues - und es wird spannend, alles zu sehen, was es möglich macht.

Aufmerksamkeit auf




Top

Leave a Reply