CS101 erforscht die wesentlichen Eigenschaften von Computern, wie sie funktionieren, was sie können und was nicht, und erfordert keinerlei Computererfahrung.
Dankeschön: Vielen Dank an Nick Parlante für seine Materialien. Von Nick: „Danke an Google für die Unterstützung meiner frühen Forschung, die zur Erstellung dieses Kurses beigetragen hat. Dank an Mark Guzdial, der die Idee, digitale Medien zur Einführung in den Computer zu nutzen, populär gemacht hat.“
Grundgleichung von Computern
Die Grundgleichung von Computern lautet:
Computer = Mächtig + Dumm
- Mächtig genug, um Massen von Daten zu durchschauen
-Milliarden von „Operationen“ pro Sekunde - Dumm, weil jede Operation einfach und mechanisch ist.
-Nichts wie „Einsicht“ oder „Denken“ (HAL 9000 Video) - Mächtig + Dumm … wird in unseren Übungen herauskommen
- Warum sind Computer trotz ihrer Beschränkung nützlich?
- Darum geht es in CS101
-Besuche diese lustige Welt der Computer, sieh, wie sie funktionieren
-Verstehe, was sie tun können und wie Menschen sie nutzen
-Lass dich nicht einschüchtern - Versteckte Agenda: Augen öffnen für einige, mehr Informatikkurse
Computer sind sehr leistungsfähig, wenn es darum geht, große Datenmengen schnell zu durchsuchen. Computer können buchstäblich Milliarden von Operationen pro Sekunde durchführen. Die einzelnen „Operationen“, die Computer durchführen können, sind jedoch extrem einfach und mechanisch, nicht vergleichbar mit menschlichen Gedanken oder Einsichten. Typische „Operationen“ sind der Vergleich zweier Zahlen oder das Addieren zweier Zahlen.
Obwohl die Computer also schnell sind, sind die Operationen, die sie ausführen können, extrem starr, einfach und mechanisch. Oder anders gesagt, Computer sind nicht wie HAL 9000 aus dem Film 2001: Odyssee im Weltraum: HAL 9000 video.
Eine wichtige Erkenntnis ist, dass ein Computer nicht wie ein menschliches Gehirn funktioniert. Der Computer ist ein mechanisches Werkzeug, das erstaunliche Dinge tun kann, aber er braucht einen Menschen, der ihm sagt, was er tun soll.
Hohes Niveau – Wie funktioniert ein Computer?
- Der Computer folgt einer Reihe von „Code“-Befehlen
- Jeder Befehl ist einfach (z.B. 2 Zahlen addieren)
- Der Computer „läuft“ eine lange Reihe von Anweisungen
- Rein mechanisch
Computer sind sehr nützlich
- Denken Sie an all die nützlichen Computerfunktionen (Telefon, Kamera)
-Messaging, E-Mail
-MP3 Audio
-Rote-Augen-Reduzierung - Wenn Computer so dumm sind…. wie können sie dann so nützlich sein?
- Was verbindet die beiden Seiten?
Programmierer
- Programmierer machen sich die Macht des Computers zunutze!
- Der Programmierer denkt sich eine nützliche Funktion aus
-Erfordert Kreativität, Einsicht in die menschlichen Bedürfnisse und Wissen über Computer - Programmierer brechen die Schritte ab, indem sie Code für den Computer schreiben
– Verkleinern ihn für den Computer! - Beste Eigenschaften beider Seiten: billige/schnelle Verarbeitung des Computers + kreativer Einblick des Programmierers
- CS101 Erkundungen: Algorithmen und Code
Warum sind Computer so allgegenwärtig, wenn sie doch so mechanisch und dumm sind? Die Lücke zwischen dem Computer und dem, was er tun kann, ist die, in der der menschliche Programmierer Lösungen schafft. Programmieren erfordert von einem Menschen Kreativität und Einsicht in ein Problem sowie die Fähigkeit, die Lösung in Anweisungen aufzuschlüsseln, denen ein Computer folgen kann.
Code bezieht sich auf die Sprache, die der Computer verstehen kann. In diesen Vorlesungen werden wir kurze Codeschnipsel schreiben und ausführen, um die wesentlichen Eigenschaften von Computern und insbesondere ihre Stärken und Grenzen zu verstehen.
Beim Experimentieren mit Code wird das Wesen von Computern sehr deutlich … auf ihre eigene Art leistungsstark, aber mit einer begrenzten, mechanischen Qualität. IMHO ist diese gemischte Natur von Computern etwas, das jeder verstehen sollte, um sie gut zu benutzen und sich nicht von ihnen einschüchtern zu lassen.
Vor dem Programmieren – Geduld
- Wir werden mit einigen einfachen Programmierungen beginnen
- Code ist wie Legosteine…
- -Einzelne Teile sind super einfach
- -Schließlich bauen wir großartige Kombinationen auf
- Aber wir müssen klein anfangen
Foreshadowing
In ein paar Stunden Vorlesung werden wir Spezialeffekte mit Bildern wie den folgenden machen:
Aber für den Moment haben wir nur print()!
Geduld Wir werden zunächst ein paar Programmierelemente und die verschiedenen Teile eines Computers kennenlernen, und später werden wir diese wenigen Elemente neu kombinieren, um viele Probleme zu lösen. Diese ersten Elemente sind einfach, so dass sie für sich allein betrachtet nicht viel hergeben. Sei geduldig, bald werden wir diese Elemente zusammensetzen – wie Lego-Steine – um ziemlich ordentliche Projekte zu machen.
Javascript Computer Langauge
- Javascript Code plus einige Erweiterungen nur für CS101
- Unsere Code-Sätze sind klein…
- -Just big enough to experiment with key ideas
- -Not full, professional programs
- -But big enough to show the real challenges of coding
Für diesen Kurs werden wir eine Variante der Sprache verwenden, die als Javascript bekannt ist, mit einigen zusätzlichen Funktionen für diesen Kurs. Die Sprache Javascript funktioniert im Webbrowser, so dass alle unsere Experimente direkt im Browser durchgeführt werden können, ohne dass etwas anderes erforderlich ist. Wir werden nur die Teile von Javascript verwenden, die wir für unsere Experimente brauchen, und nicht die komplette Sprache, die man in der professionellen Anwendung von Javascript sehen würde. Trotzdem ist Javascript eine echte Sprache, und unser Code ist echter Code. Unsere kleinen Programme zeigen die wichtigen Funktionen des Codes, während wir die Dinge schnell und klein halten.
Erstes Codebeispiel – Drucken
Hier ist der Code, der die Funktion „Drucken“ aufruft. Klicken Sie auf die Schaltfläche „Ausführen“ unten, und Ihr Computer führt diesen Code aus, und die Ausgabe des Codes erscheint rechts.
- Ausführen führt jede Zeile einmal aus, von oben nach unten
- Druck ist eine Funktion, ein Verb, das eine Aktion darstellt, die der Computer ausführen wird.
- Daten innerhalb der Klammern werden an die print-Funktion übergeben (Substantive)
-diese Daten sind das Objekt des „Verbs“
-die Daten werden als Argumente der Funktion bezeichnet - Mehrere Werte werden durch Kommas getrennt
- Experimente ändern den Code und run nach jeder Änderung die neue Ausgabe:
-Ändern Sie eine Zahl
-Fügen Sie weitere Zahlen durch Kommas getrennt innerhalb des print(…)
-Kopiere die erste Zeile und füge sie zweimal nach der letzten Zeile ein
-Ich verspreche, dass die Ausgabe interessanter wird! - -Enge Syntax nicht freie Form
-Erlaubte Syntax ist superstreng und eng
– z.B. kann die rechte Klammer nicht weggelassen werden )
-Ein Spiegelbild der inneren, mechanischen Natur des Computers
-Don’t be put off – „When in Rome..“
-Wir besuchen die Welt des Computers - Bitte beachten Sie, dass „print“ kein normaler Teil von Javascript ist, ich habe es für CS101 hinzugefügt
Print And Strings
- Ein Kommentar beginnt mit // und reicht bis zum Ende der Zeile. Eine Möglichkeit, Notizen über den Code zu schreiben, die vom Computer ignoriert werden.
Warum benutzen Programmierer Kommentare? - Eine Zeichenkette ist eine Folge von Zeichen, die in Anführungszeichen geschrieben und als Daten im Code verwendet werden
z.B. „Hallo“ oder „123“
-Strings funktionieren mit der Druckfunktion, zusätzlich zu Zahlen
-Strings speichern im Computer Text, wie z.B. URLs oder den Text von Absätzen usw. - Experimente:
-Bearbeiten des Textes innerhalb eines Strings
-Hinzufügen weiterer Strings, die durch Kommas getrennt sind
-Hinzufügen des Strings „print“ – knifflig!
-Innerhalb der Anführungszeichen sind nur Daten - Code = Anweisungen, die ausgeführt werden
- Daten = Zahlen oder Zeichenketten; werden vom Code verarbeitet
Beachte, dass „print“ als Funktion im Code erkannt wird, im Gegensatz zur Zeichenkette „hello“, die nur passive Daten sind (wie Verben und Substantive).Der Computer ignoriert die Kommentare, also sind sie nur eine Möglichkeit für dich, dir Notizen darüber zu machen, was der Code tut. Kommentare können verwendet werden, um eine Codezeile vorübergehend zu entfernen – „auskommentieren“, indem man ein „//“ links daneben setzt.
Über Syntax und Fehler nachdenken (die heutige Kernbotschaft!)
- Syntax — Code ist für den Computer strukturiert
- Sehr häufiger Fehler — Code eintippen, mit leichtem Syntaxproblem
- Professionelle Programmierer machen diese Art von „Fehler“ die ganze Zeit
- Glücklicherweise ist er sehr leicht zu beheben … Mach dir keine Sorgen darüber
- Es spiegelt nicht irgendeinen Fehler des Programmierers wider
- Es liegt einfach in der Natur der Sache, Ideen in die mechanische Computersprache einzutippen
- Anfänger können durch den Syntaxschritt entgleisen und denken, dass sie einen großen Fehler machen
- Versuchen Sie, eine Reihe von typischen Syntaxfehlern zu machen und sie zu beheben
- Das Beheben dieser kleinen Fehler ist ein kleiner, normaler Schritt
- Hinweis: Firefox gibt die besten Fehlermeldungen aus
Syntax Die oben gezeigte Syntax muss strikt eingehalten werden, sonst funktioniert der Code nicht: Funktionsname, Klammern, jede Zeichenkette hat öffnende und schließende Anführungszeichen, Kommas trennen die Werte für einen Funktionsaufruf.
Die Strenge der Syntax spiegelt die Beschränkungen von Computern wider, da ihre natürliche Sprache fest und mechanisch ist. Das ist wichtig, wenn man mit Computern arbeitet, und ich glaube, das ist der Punkt, an dem viele Leute bei ihren Anfängen mit Computern entgleist sind. Sie schreiben etwas, das jeder Mensch verstehen könnte, aber der Computer kann den Code nur verstehen, wenn er in die mechanische Syntax des Computers passt.
Triviale, oberflächliche Syntaxfehler sind beim Schreiben von Code sehr häufig. Die erfahrensten Programmierer der Welt machen diese Art von Fehlern ständig und denken sich nichts dabei. Die Syntaxfehler spiegeln nicht eine fehlerhafte Strategie des Autors wider. Sie sind nur ein natürlicher Schritt bei der Übersetzung unserer Gedanken in die eher mechanische Sprache des Computers. Wie wir weiter unten sehen werden, lassen sich diese Fehler sehr schnell beheben.
Es ist wichtig, sich von diesen kleinen, oberflächlichen Fehlern nicht entmutigen zu lassen. Um Ihnen zu helfen, die Muster zu lernen, haben wir unten viele Beispiele mit typischen Fehlern, so dass Sie sehen können, wie die Fehlermeldungen aussehen und wie man sie beheben kann. Wie lautet die Fehlermeldung für jeden der folgenden Codeschnipsel? Manchmal weist die vom Computer erzeugte Fehlermeldung genau auf das Problem hin, aber manchmal zeigt die Fehlermeldung nur, dass der Fehler den Computer so sehr verwirrt hat, dass er keine genaue Fehlermeldung erzeugen kann. Firefox produziert derzeit die hilfreichsten Fehlermeldungen und zeigt Ihnen oft die spezifische Zeile mit Problemen an.
Syntaxfehlerbeispiele
Diese Syntaxprobleme sind schnell zu beheben.