>> [VIDEO PLAYBACK]
>> [AUTOTÜR Herunter]
>> [AUTO MOTOR STARTEN]
>> [Musikwiedergabe]
>> -Umzug Rechts entlang auf der Suche gute Zeiten und gute Nachrichten.
Mit guten Freunden kann man nicht verlieren.
>> -einer Könnte zur Gewohnheit werden.
>> -Opportunity Stößen Lassen Sie uns nur erreichen und packen es.
-Ja!
-Together Wir es nab.
Wir `ll hitch Wanderung, Bus oder gelbes Taxi es.
-Dammit.
-Wir Rechts entlang bewegen.
-Footloose Und extravagantes freies.
-Guter Ist der halbe Spaß.
Kommen Sie und teilen Sie es mit mir.
>> -Wir Rechts entlang bewegen.
>> -Wir Gehen, um die Last zu teilen.
>> -Wir Keine Karte benötigen erhalten diese Show auf die Straße.
-Hey Fozzy, ich will dich nach links abbiegen wenn Sie kommen zu einer Weggabelung.
-Ja Sir.
Biegen Sie an der Weggabelung nach links.
Biegen Sie links ab.
>> -Ich Glaube nicht, dass.
>> -Cruising Rechts entlang fanden wir die Lichter auf der Autobahn.
>> -Und Sie Ihren Weg oder Weg.
>> -So Vertraue meinem Navigation.
>> -Movie Sternen mit auffälligen Autos und das Leben mit der Oberseite nach unten.
>> -Wir Stürmen die großen Hügel.
>> -Ja, Ist Sturm Recht.
Sollte es schneien?
>> Nein, ich glaube nicht.
>> Rechts entlang -Umzug.
>> -Footloose Und extravagantes freies.
>> -Du Bist bereit für die große Zeit.
>> -Ist Es bereit für mich?
>> Rechts entlang -Umzug.
Rechts entlang zu bewegen.
-Ich Glaube, Sie besser ziehen vorbei.
-Ja Sir.
>> [END PLAYBACK]
>> [Applaus]
>> David J. MALAN: Dies ist CS50.
Und dies ist das Ende der Woche 0, aber der Beginn einer wunderbaren Freundschaft.
Wir sind so aufgeregt, hier an der Yale University
zum ersten Mal mit unseren Freund Scaz und Jason und Andy.
Alle 40 von der CS50 TF und CA ist hier an der Yale.
Und ihr alle.
Und in der Tat ist es wahrscheinlich Zeit zu--
>> [Applaus]
>> Also, auch wenn die meisten der Vorträge wird in der Tat in Cambridge in diesem Jahr,
die Realität ist, dass durch die Gestaltung und sehr bewusst CS50,
Ich denke, dass wir kurz vor dem Punkt, technisch und pädagogisch,
wo es eine überlegene lehr Erfahrung, um mit einigen engagieren
Material Online des Kurses.
Tatsächlich ist die reality-- und wenn ich glaube, Diese philosophically-- ist, dass Vorträge
sind nicht besonders wirksame Mittel zur Abgabe
ziemlich komplexe Informationen.
Sicherlich mehr als Stunde zzgl lange Zeitspannen.
Und in der Tat alle paar minutes-- Ich erinnere mich, mich in college--
Sie out-Zone für einen Moment, Sie vermissen eine komplexes Thema,
und du bist so ziemlich verschwunden für die nächsten 45 Minuten.
Und die Realität ist, dass, ob du bist hier in New Haven oder Cambridge
oder darüber hinaus, die Einfachheit mit die Fähigkeit, anhalten und vorspulen,
Zurückspulen, Hyperlinks zu verwandten Ressourcen Suche Volltext Transkripte
und dergleichen ist eine Chance, Ich wage zu sagen für unsere Online-Schüler
weit über New Haven, bietet ihnen die Möglichkeit
um wirklich zu begreifen, die konzeptionelle Material, das wir
Einführung in Vorträgen umso besser.
>> Aber letztlich in CS50 ist der Schüler Erfahrungen
wird so charakterisiert, so dass viel mehr von Problemstellungen des Kurses,
oder Wochenprogrammierung Projekte, die natürlich die Abschnitte durch die Lehre geführt
Stipendiaten, geleitet die nächtlichen Bürozeiten die Vorlesung und die Lehr
Gefährten, und zwar derart, Veranstaltungen finden als CS50 Puzzle
Tag, CS50 der Hack-a-thon, die CS50 Fair, wöchentliche Mittagessen, und so vieles mehr.
Und so ob Sie hier in New Haven, oder Tuning-in aus der Ferne,
heute in Cambridge, und wir werden uns bald wieder sehen,
die Realität ist, dies ist ein und derselben Klasse.
Und wir sind so aufgeregt, heute hier alle zusammen.
Und so am Ende des Semesters ob hier oder Ferne, gut
hoffentlich haben Sie tragen stolz, glücklich, und vielleicht mit ein wenig Erleichterung,
das Hemd, das Zeugnis ablegt um Sie mit CS50 gemacht.
>> Also, wo sind wir stehen geblieben am Mittwoch?
Wir haben einen Blick auf rechnerische Denken.
Und das ist, was wir in Richtung destilliert Informatik zu, zumindest
für jetzt.
Aber wir haben es destilliert etwas weiter in mindestens drei Komponenten Elemente.
>> Eingänge, so was ist der Problem, das wir versuchen zu lösen?
Ausgänge, was dass beantworten wir hoffen, zu bekommen?
Und die Darstellung von dort.
Und wir werden nicht hier wohnen, nach dem auf binäre oder auch ASCII,
und dergleichen, so viel, aber für selbstverständlich lieber
dass wir diese Informationen darstellen, weil die weitaus interessanter Teile
dieser Probleme sind nicht nur die Eingänge und Ausgänge, aber die Algorithmen
, dass in die Lösung dieser Probleme gehen.
>> Und Sie könnten vom erinnern den anderen Tag, dass wir
nahm einen ziemlich traditionell Begriff suchen jemanden
in einer ziemlich großen Telefonbuch, oder allgemeiner digital in diesen Tagen,
nur eine sehr große Datenmenge.
Ein wirklich großer Kontaktliste mit viele Namen alphabetisch sortiert sind.
Und wir erkannten, dass, während ich könnte dieses Problem einfach zu nähern
unter Verwendung eines linearen approach-- Seite für Seite,
oder sogar zwei der an einem Zeit-- wir erkannt dass die intuitivere algorithm--
nur irgendwie teilen und zu erobern das Problem wieder und wieder,
und again-- mit jeder Halbierung es Zeit, gab uns dieses Grün Ergebnis.
Und es ist so viel flacher denn es deutet darauf hin,
dass man auch als dieses Problem wird größer und größer,
wie es der Fall in diesen Tagen mit Daten Sets und reality-- Facebook und Google
Suchergebnisse und die like-- tut unser Algorithmus
führen genauso effektiv mit diesen größeren Bissen
wie damals, auch bei den kleineren Bissen.
>> Jetzt ist die Frage, was bittet können wir tatsächlich in ähnlicher Weise zu lösen
mit dieser Art von Intuition?
Diese Art der Teilung und Eroberung?
Nun, wir könnten etwas tun, wie diese heute hier.
Wir konnten die Teilnahme zu nehmen.
Also vielleicht, wie 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11--
nicht dabei, alles sein, effizient.
Also warten, grundschule.
2, 4, 6, 8, 10, 12, 14, 16, 18 und so weiter.
Aber können wir tun, ein wenig besser?
>> Ich bin mir ziemlich sicher, dass ich nicht kann tun dies, indem ich selbst.
Also, wenn Sie werde humor uns für nur ein Moment, bei uns brachten wir
ein Algorithmus, der ist gerade drei Schritte,
aber es bedeutet, wenn Sie require-- nicht mind-- uns alle aufstehen,
wenn du würdest.
Also, mit uns allen jetzt stehen, Schritt einem dieses Algorithmus ist der folgende.
Steh auf und ordnen Sie sich die Nummer 1.
So an diesem Punkt in der Zeit, buchstäblich jeder in diesem Raum
hoffentlich wird sich selbst zu denken, aber ungeschickt, die Nummer 1.
>> Nun treten zwei dieser Algorithmus ist gehen, um die folgende beinhalten.
Schritt zwei, paar mit jemandem stehen,
fügen Sie Ihre Zahlen zusammen, und erlassen die Summe als Ihre neue Nummer.
Schnellplausibilitätsprüfung.
Welche Nummer wird jeder denken, jetzt?
>> SO 2, außer vielleicht für ein, ungeschickt, einsame Person.
Wenn wir eine ungerade Anzahl von Menschen in dem Raum.
So eine Person kann immer noch sein, die Nummer 1, das ist in Ordnung.
Aber Schritt drei hier, eine der sollte man sich setzen.
Die anderen sollten zurück zum Schritt zwei, und wiederholen Sie, wenn Sie möchten.
>> Also, wenn noch stehen, sollten Sie unter denen, gehe zu Schritt zwei zurück.
Mach weiter.
Ein paar Leute noch.
>> Also, wenn noch stehen, Paar mit jemandem.
In Ordnung, schwinden nach unten.
Ein paar Leute noch.
Ich werde dir helfen, wenn nötig.
Denken Sie daran, den Schlüssel zum Mitnehmen Hier ist, wie viel schneller ist als ich zählen.
>> Also mal sehen.
Ich kann helfen.
Also welche Zahl sind Sie immer noch an?
>> Publikum: Ich bin am 44.
>> David J. MALAN: 44, so Sie voran gehen und setzen Sie sich.
Welche Zahl denken Sie?
ZIELGRUPPE: 74.
>> David J. MALAN: 74.
Also gut, gehen Sie vor und setzen Sie sich.
Wer sonst noch steht?
86.
Und ist jemand anderes noch stehen?
>> Welche Nummer?
Ich habe gehört, 67.
Und dann in Top?
32.
Wer sonst noch stehen und denke an eine Zahl?
>> Oh hallo.
Es tut uns leid.
Ich komme gleich wieder.
42.
Wer sonst?
>> ZIELGRUPPE: 47.
>> David J. MALAN: 47.
Ist jemand still die nicht gezählt worden ist?
So dass die endgültige Zahl der Menschen in einem Raum das hat 497 Sitze ist-- die sämtlich
sind filled-- ist 390.
Also das ist großartig.
>> Wir werden in Kürze die Vorstellung diskutieren eines Fehlers in einem Computerprogramm.
Aber wir werden darauf zurückkommen, bevor lang.
Aber in der Theorie, was wolle haben gerade jetzt passiert?
Also auch wenn es drei große Schritte dieses Algorithmus, wobei jeder
war nur irgendwie eine große Operation.
Und da war diese Zyklizität, um es dadurch gekennzeichnet, dass, wenn Sie standen noch,
Sie Gang gehalten von Schritt drei auf zwei, Schritt drei auf zwei Schritt drei auf zwei.
>> Aber was immer geschieht, bei jeder Iteration?
Jeder Zyklus dieser Schleife?
Was ist passiert an anderer Stelle im Raum?
Nicht nur die gleiche Sache, aber was geschah, um die Hälfte von euch?
Sitzen.
Und so gibt es in der Lüge diese Einsicht, ähnlich wie die Telefonbuch Beispiel
dadurch gekennzeichnet, dass, wenn die Hälfte von euch sind jedes Mal sitzen,
Das Problem beginnt, mit vielleicht 400 Personen,
dann auf 200 Personen, als 100 Menschen, dann 50 Personen, und so weiter.
>> Und so haben wir vernichte man in Theorie nur eine Person,
Denken des Gesamtwerts aller.
Jetzt Wirklichkeit einige soziale Dynamik, und einige Rechenfehler
vielleicht das ultimative Fehler leisten.
Aber in der Theorie, während ich noch Zählen entfernt,
wobei mehrere Dutzend Stufen oder Hunderte von Schritten
euch zählen, zu zählen, ein Raum voller 500 Personen oder so
sollte weit weniger Schritte unternommen haben, weil Sie nur teilen kann 500 und 1/2
so oft.
Und so wie mit dem Telefon Buchung Beispiel den anderen Tag,
haben wir etwas haben, logarithmische sozusagen
wobei, wenn wir alle Betrieb im Gleichklang,
und ignorieren die Zusätzlich Fehler, würden wir
haben genau das erreicht, diese Art von Laufzeit?
>> Nun, um fair zu sein, irgendwie betrogen, in dass ich nutzte eine andere Ressource.
Es ist nur eine von mir, Ich Leveraged Hunderte von dir.
Aber das gesagt werden könnte, zu sein Beispiel für die parallele Verarbeitung,
oder ein Stand der Technik voll im Trend wo Computer in diesen Tagen haben
mehrere CPUs oder mehr technisch, noch mehrere Kerne,
und kann wirklich mehreren tun Dinge auf einmal, genauso wie Sie
alles, was wir dort tun, parallel.
Aber sich erinnern, dass das, was wir Auch am Mittwoch tat
wurde versucht, diese Intuition zu erfassen und zu formalisieren es im Code.
So etwas wie Pseudo-Code.
Und in der Tat, und ich hoffe, dass Sie verzeihen, es ist wie 80 Grad hier.
Also ich werde dies nehmen off für nur ein wenig.
Was ich dachte, wir würden zu tun ist, Übergangs nun auf eine Anwendung, wobei
engagieren wir uns wieder das Publikum, aber ein Programm schreiben, auf Englisch
ähnliche Syntax, mit denen dieses Problem zu lösen hier.
[VIDEO PLAYBACK]
-Es Ist Erdnussbutter-Gelee-Zeit.
Erdnussbutter-Geleezeit.
>> Way ya!
Way ya!
Jetzt kann es losgehen!
Dort gehen Sie!
Erdnussbutter-Gelee!
>> Erdnussbutter-Gelee!
Erdnussbutter-Gelee!
Erdnuss, Erdnussbutter-Gelee!
Erdnussbutter-Gelee!
Erdnussbutter-Gelee mit einem Baseballschläger.
>> [END PLAYBACK]
David J. MALAN: --that Video, aber es ist ein wenig süchtig,
wenn nicht ein wenig nervig.
Aber um dies zu tun, dachte ich, was wir uns tun wird versuchen, ein Programm zusammen zu schreiben,
für die wir drei Freiwilligen.
Haben Sie bequem zu sein vor der Kamera und Internet.
Sam, komm herauf.
Lila T-Shirt, genau hier, komm herauf.
>> Und von hier, lass mich gehen ein wenig weiter zurück.
Purpurnen und blauen Hemden, komm herauf.
Perfect.
Komm jetzt.
Komm up, kommen Sie auf.
>> Und was ist Ihr Name?
Erica.
David, schön dich zu treffen.
Wenn Sie möchten, um diesen Sitz hier zu nehmen.
Dies ist Sam.
>> Wie heißen Sie?
Antonio.
Antonio, schön dich zu treffen.
Erica und Sam, wenn Sie möchten, Lust auf einen Sitz hier haben.
Was wir bereit mit zu kommen, wie diese Jungs entdecken,
ist die Zutaten, mit denen zu machen, ein Erdnussbutter und Gelee-Sandwich.
>> Nun, das könnte etwas sein, dass Sie nehmen viel für selbstverständlich.
Aber jeder von uns gegeben haben unserer drei Freiwilligen
hier-- zwei Freiwillige und Sam hier, ein Laib Brot jeden, eine Platte, ein Messer,
ein Glas Gelee oder Marmelade, und ein Glas Erdnussbutter.
Und das Ziel bei der Hand ist jetzt gehen, um für diese drei sein
um eine Erdnussbutter machen und Gelee Sandwich.
Aber das, was wir tun werden, ist zu erwarten die audience-- da alle von Ihnen
sicherlich wissen, wie zu tun dies so gut in reality--
gehen, um uns zur Verfügung stellen die Anweisungen Schritt für Schritt.
Der Pseudo-Code, wenn man so will.
>> Also werde ich die Rolle der Schreiber hier zu spielen.
Und ich habe eine kleine Aufgabenliste stand, und so, wie jeder von euch, ein zu einer Zeit,
ruft eine Potential Lehr, werde ich
schreiben Sie es auf, wiederholen Sie es nach Bedarf.
Und dann, euch gehen zu machen ein Erdnussbutter und Gelee-Sandwich
nur durch das, was Ihnen gesagt wird.
Also denken Sie an sich selbst als Computer.
>> Sie können nur das tun, was man dir sagt.
Keine Annahmen, keine Fragen.
Sie müssen nur, es zu tun.
Also, die gerne die erste riskieren würde Anweisung für die Herstellung einer PBJ Sandwich?
Auf dem Balkon.
>> ZIELGRUPPE: Öffnen Sie den Beutel mit Brot.
>> David J. MALAN: Öffnen Sie die Tasche von Brot, wenn man so will.
Also mal sehen.
Lassen Sie durchlaufen, und erhalten etwas genauer.
>> Gute Möglichkeit, wenn auch zu beginnen.
Schritt zwei, jemand anderes.
Jetzt will niemand freiwillig.
Schritt zwei, vor.
ZIELGRUPPE: Öffnen Sie die Innen Tüte mit Brot auch.
David J. MALAN: Öffnen Sie die Innenbeutel Brot auch.
Großartig, wir lernen.
Ein wenig genauer.
Lassen Sie uns diese Arbeit.
Ja, in grünen T-Shirt.
>> ZIELGRUPPE: [unverständlich]
David J. MALAN: Scheiben brot.
Entfernen Sie vorsichtig zwei Scheiben Brot.
Das ist gut.
Schritt vier, jemand anders?
Hier drüben, ja?
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: Platz Brot auf Platte.
Fünfter Schritt?
Schritt fünf, ja?
>> ZIELGRUPPE: [unverständlich]
David J. MALAN: Oben von-- oh, Hand.
Zeigen Hand oben auf Erdnussbutter.
Ist das, was ich den Kopf?
>> ZIELGRUPPE: Ja, und schrauben.
>> David J. MALAN: und-- sage es noch einmal.
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: und setzen Sie den Deckel neben der Erdnussbutter.
Leicht legen Hand an Anfang der Erdnussbutter,
und schrauben, und setzen Sie den Deckel neben der Erdnussbutter.
OK, Schritt sechs.
Schritt sechs, jemand anderes.
Ja?
>> ZIELGRUPPE: [unverständlich]
David J. MALAN: Sag es noch einmal.
ZIELGRUPPE: Wiederholen Sie Schritt fünf wieder.
David J. MALAN: Und wiederholen Sie Schritt fünf wieder,
die gehen zu erstellen ein bisschen ein Problem,
Jetzt, wenn wir tun, dieses Schritt für Schritt.
So, jetzt gehen wir zurück zu Schritt fünf.
Leicht zu platzieren Hand oben Erdnussbutter und abschrauben
und legte Deckel neben der Erdnussbutter.
Dann greifen die Erdnussbutter und wiederholen Schritt fünf.
>> Also werden wir, dass außer Kraft setzen Endlosschleife, wenn man so will.
Schritt sieben, jemand anderes.
Ja, auf der Rückseite.
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: --on Anfang der anderen Seite.
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: Auf der andererseits auf der anderen oben.
Möchten Sie nur kommen hier?
Wie kann ich den Befehl zu beenden?
Was ist der Rest des Befehls?
>> AUDIENCE Ignoriert, dass ein Teil.
>> David J. MALAN Ignoriert, dass ein Teil.
Lassen Sie uns beginnen.
Schritt sieben.
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: Fassen Sie mit Gegen hand-- das ist gut.
Dies ist eigentlich gut.
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: und Kunststoff jar--
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: Und twist--
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: für zwei Sekunden.
Öffnen Sie einfach die Erdnussbutter jar.
Ich hoffe, Sie verzeihen.
Nehmen wir also an wir dort ankamen.
Öffnen Sie die Erdnussbutter jar.
>> [Applaus]
>> David J. MALAN: Schritt acht, lass uns gehen.
Schritt acht, ja, im Rücken.
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: Good.
Schritt neun, ja?
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: --out von die Erdnussbutter jar.
Und-- und was?
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: Und legte Messer zurück in Erdnussbutter.
Schritt Ten.
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: Setzen Sie das Messer heraus, und entfernen Sie die Dichtung.
Nett.
Aus der Erdnussbutter.
Alles klar, Schritt 11.
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: OK, grauen Computer folgen blau oder rot-Computer.
Gut.
>> [Applaus]
David J. MALAN: Bringen Sie uns zu Hause.
Paar mehr Schritte.
Was kommt als nächstes?
Schritte 12.
Schritt 12.
Ja?
>> ZIELGRUPPE: Setzen Sie eine der Scheiben Brot vorsichtig auf eine Ihrer Hände.
>> David J. MALAN: Einer der Ihren Händen.
Und dann, Schritt 13 fort.
Ja?
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: --on Scheibe Brot.
Gut.
Ziemlich gut.
Schritt 14, yeah.
>> ZIELGRUPPE: Rückgängig Schritt 13.
>> David J. MALAN: Rückgängig Schritt 13.
Kommen wir nun zu Gelee.
Es ist ein 100-Schritte-Programm, aber wir waren auf Schritt 15.
Ja.
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: 7 bis 13 mit Gelee, weil die, so gut geklappt hat.
Wiederholen Sie die Schritte 7 bis 13. Verwendung des Gelee.
So greifen die untere Hälfte der Marmeladenglas mit einer Hand an der Spitze.
Auf der anderen Seite des andere Top und ignorierte, dass ein Teil,
greifen mit entgegengesetzten Händen, der Deckel und das Kunststoffgefäß
an der Unterseite, und verdrehen für zwei Sekunden.
Öffnen Sie dann das Marmeladenglas.
Und schließlich wollen wir versuchen, geben Sie uns etwas Essbares.
Schritt 16.
Also, warum nicht wir sie dort zu lassen.
Vielen, vielen Dank an unsere drei Freiwilligen.
[Applaus]
>> Wir haben eine kleine CS50 Stress-Ball für Sie.
Es würde eine sein, Sandwich aber-- so was
war der Punkt, über mit einer bisschen Spaß mit dem Algorithmus?
Aber die Realität ist, dass, selbst wenn Sie Programmierung eines Computers,
Sie brauchen, um Super-präzise sein.
Wie komplex oder einschüchternd wie Ihrem eigenen Computer
könnte sehr gut sein, dass Sie bei dest dann, wenn etwas schief geht,
die Realität ist, es ist eine ziemlich dumme Gerät, das von uns Menschen erfunden wurde,
und kann nur eine Teilmenge von was wir do-- manchmal sicherlich faster--
aber es bedeutet nicht, wie Annahmen zu machen.
Es weiß nicht, wie man auf sein die gleiche Wellenlänge wie Sie.
>> Es wird nur genau das tun, was Sie erzählen.
Und du wirst geschlagen werden, vielleicht, wie wir anfangen
Schreiben eigentlichen Code mit dem erste Problem Sätze und darüber hinaus,
wie einfach es ist, eine Annahme, wie einem Menschen,
und nicht davon aus, ich brauche zu handhaben daß Fall oder die Ecke Fall
so zu sprechen, das sehr gut könnte entstehen, wenn zum Beispiel Sam hatte das nur
squeezable Glas Gelee, während jeder hatte sonst ein paar Gläsern als
auch.
Also, bevor wir unsere Aufmerksamkeit auf einige tatsächliche Code,
erlauben Sie mir, die Einführung Natürlich Köpfe hier in Yale.
Unsere Freunde Scaz, Andy, und Jason zu kommen und sagen hallo.
>> [Applaus]
>> SCAZ: Wir haben Jason vorübergehend verloren.
Hallo, mal wieder, jeder.
Mein Name ist Scaz.
Ich habe an der Yale unterrichtet seit 2001.
Und wenn ich nicht lehren, meiner Forschung ist in der Robotik
und künstliche Intelligenz.
>> Und die Ankündigung, die ich heute habe ist, dass in ein paar Wochen beginnen,
wir werden werden einige bringen Ergänzungsmaterial zu CS50 zu sprechen
zu-Intelligence-Software.
Wir werden, wie zu sprechen Orte wie Netflix und Hulu
können Filme empfehlen, die möchten Sie vielleicht zu beobachten.
Wo wir darüber, wie zu sprechen fahrerlose Autos tatsächlich funktionieren.
Und wir werden in der Lage zu schleif diese Dinge in den Konzepten
dass Sie lernen in dieser Klasse noch heute.
>> Da alle diese Dinge sind auf dem gleichen Fundament.
Und das ist, was diese Serie wird zu erkunden.
Also ich freue mich wirklich darauf zu sehen, mehr von dir
alle, und du wirst zu bekommen sind mehr sehen von uns allen sehr bald.
Lassen Sie mich dann einzuführen Jason.
>> JASON: Hallo allerseits.
Mein Name ist Jason.
Ich leider ging nach Harvard als under.
Das wird geschnitten bekommen aus dem aktuellen Strom.
>> Und jetzt bin ich hier als Dozent Die Fakultät für Informatik.
Und ich helfe führen Sie den Kurs mit Scaz, David und Andy.
>> ANDY: Hey guys.
Mein Name ist Andy.
Ich bin eigentlich der einzige Yale Studenten auf der Bühne jetzt.
>> [Applaus]
>> Ich bin in Berkeley College, ursprünglich aus Solon, Ohio.
Und ich eines dieser Kinder war wo, wann ich nach Yale kam,
Ich dachte wirklich, dass ich nie müssen bei einer Reihe immer wieder anzusehen.
Und dann erkannte ich, dass Sie benötigt sowohl Wissenschaft und QR Credits zu absolvieren.
Und so meinem ersten Feder, nahm ich eine Klasse, ein CS, CS intro Klasse hier
an der Yale.
Ich war wie, das ist wie eigentlich ziemlich cool.
>> Und während ich eigentlich gelandet erklärt wie eine globale Angelegenheiten Dur, die Fähigkeiten,
I in CS und Programmierung gelernt sind so auf jedes Feld
Sie wählen, um zu tun.
Und das Personal hier in Yale, wir waren so hart bei der Arbeit
um für euch vorzubereiten.
Und wir freuen uns auf Ihren Besuch Alle im Schnitt und Bürozeiten.
Also ja.
>> [Applaus]
David J. MALAN: Vielen Dank.
So kurz vor dem Unterricht begann, Wir hatten Gelegenheit
um rund um den Campus zu Fuß mit einem Mobiltelefon und nehmen Sie
einige selfies in Videoform wirklich meine erste Tour von Campus Yale hier.
Und so dachten wir, wir würden eine grobe teilen Schnitt genau dies als Scaz und Andy
und Jason hat mich rund um den Campus.
[VIDEO PLAYBACK]
[Sirenen]
-David.
Begrüßungs nach Yale.
-Schön, Dich zu sehen.
-Schön, dich zu sehen.
-Kann Wir auf einer Tour zu gehen?
-Lassen Die auf einer Tour zu gehen.
-Road Tour.
-einer Zeichen hat es für eine Weile gewesen.
-Whah, CS50.
>> -Hurry!
Go, go, go, go.
Sie sollten [unverständlich] Harkness Turm.
>> -Und Wir sahen, dass ein paar Mal.
>> [Applaus]
>> -Look Für das Fahrrad!
Ahh!
Hallo Frank.
>> -Was ist los Jungs?
-Wie geht es dir?
-Schön, Dich zu sehen.
-Willkommen Zum Video.
Handeln Sie nicht zu aufgeregt.
>> -Ich Liebe Silliman.
Ahh!
>> -Es Ist seitdem etwa drei Stunden Jason hatte Eis und Nutella.
Also müssen wir wieder zu stoppen Silliman für ein wenig.
>> -Es Ist nicht einmal [unverständlich] doch nur die Tatsache,
dass sie es hier haben, ist so erstaunlich.
Dude, es gibt Nutella zu jeder Mahlzeit.
>> -Es War im letzten Jahr auch.
>> -Ja.
>> -Sag viel über Yale so weit.
Aber ich weiß jetzt, wo ist da drüben TD.
Und das ist außerhalb des Campus berücksichtigt.
>> -Hier Wir gotische Architektur.
Weltberühmt.
Wir haben etwas mehr gotische Architektur.
Und den Bau und mehr gotische Architektur.
Hallo.
Dies ist, wo wir mit der Bürozeiten Dienstags bis donnerstags in Hogwarts,
als [unverständlich].
-Gut.
Das ist es für die Tour.
Wir sind an der Yale University Law School, wo
heutigen Vorlesung ist in Kürze stattfinden.
Lassen Sie den Kopf in.
>> [END PLAYBACK]
>> David J. MALAN: Und das bringt uns jetzt hier.
Also bis jetzt waren wir in der Schwerpunkt auf Pseudocode,
was diese Englisch-ähnliche Syntax.
Es hat keine vorgeschriebenen Spezifikation.
Es ist nur, dass Sie einige verwenden intuitive Sprache, wenn Sie
will erklären, was Sie tun möchten.
>> Aber lassen Sie uns jetzt beginnen, den Übergang Code, da die meisten Leute würden sagen.
Aber genauer gesagt, etwas, als Quellcode bekannt.
Das ist die Sprache, die Menschen schreiben, dass Computer ultimately--
gegebenenfalls nach einer bestimmten Anzahl von steps-- schließlich versteht,
um zu wissen, wie etwas zu tun.
Dass Sie einen Blick auf sah dies vielleicht am Mittwoch.
>> Dies ist ein Beispiel, unglaublich, underwhelming
Wenn führen Sie einfach sagt "Hallo Welt."
Und es ist in einer Sprache namens geschrieben C, die syntaktisch sehr ähnlich ist
auf eine Menge von anderen Sprachen dass Sie vielleicht nicht wissen,
aber vielleicht der wie Java gehört haben, und C ++ und Python und Ruby,
und dergleichen, und in der Tat, wir verbringen einen Großteil des Semesters mit C,
und dann gegen Ende der Semester, aufbauenden,
und die Einführung von jeder Anzahl von anderen Sprachen.
Unter ihnen PHP und JavaScript, eine Datenbanksprache namens SQL.
Aber mit C, was wir haben, Diese Bottom-up-Verständnis
genau, wie Computer funktionieren, was man mit ihnen machen kann,
und wie Sie Probleme lösen umso wirksamer dadurch
Schichtung, dass wir diskutiert am Mittwoch, und Stehen
auf den Schultern des anderen.
Aber mehr dazu kommen.
>> Heute betrachten wir eine einfachere Umgebung sondern eine grundsätzlich identisch
Umwelt als Scratch bekannt durch unsere Freunde bei MIT Media Lab.
Dies ist eine grafische Programmiersprache, Scratch,
wobei Sie ziehen können and-Drop Dinge,
sehen aus wie Puzzleteile, nur Interlock, ob es sinn
logische oder programmatisch voll ist.
Aber es geht um uns, damit haben ein Gespräch über all
des gleichen Programmier Grundlagen, dass einige von euch
vielleicht schon wissen, dass viele von euch vielleicht nicht
nichts von wissen, ohne nach unten offen verzetteln,
in der intellektuell uninteressant Syntax der Semikolons,
und Klammern, und zitiert, und dergleichen.
All das, frühe weiter, sind eine Ablenkung
zu dem, was interessant sind und wirklich nützliche Ideen.
Also lassen Sie uns einen kurzen Blick auf die Umwelt
Hier, so dass Sie wissen, was Sie erwartet.
Und in der Tat, zu den Spielen, die wir spielen können, sind ein paar Programme geschrieben
von CS50 eigenen ehemaligen Studenten.
Einer von ihnen, mich selbst, ich werde diese sein in Graduiertenschule für mich geschrieben.
>> Wenn ich ein Freiwilliger nehmen die bereit sind, zu spielen ist
ein Spiel für die erste Zeit.
Sicher.
Komm auf.
Wie heißen Sie?
>> ZIELGRUPPE: Angela.
David J. MALAN: Angela, komm herauf.
So Scratch ist seit ein paar Jahren aus.
Und wenn ich in Graduiertenschule war, Ich war übergreif am MIT registriert,
unter Professor Mitchel Resnick Kurs über Bildungstechnologien.
Und wir waren unter den ersten Studenten in der Welt, um tatsächlich Beta-
Test Scratch.
Und mein Projekt war es, was Angela hat nun gnädig freiwillig
genannt Oscartime spielen.
>> Also werde ich voran gehen und Doppel Klicken Sie hier auf das Symbol.
Es wird zu öffnen, eine Programmierung Umfeld, das wir bald in zu tauchen.
Ich bin in den Vollbild gehen es für Angela, hier.
Ich werde das Grün schlagen Flagge in nur einem Augenblick.
Und dann eine ganze Menge Müll wird sich vom Himmel fallen.
Und Sie gehen, um die Maus zu verwenden sind hier, um tatsächlich ziehen
der Müll in Oscars Mülleimer.
Also, wenn Sie, gehen Sie vor und klicken Sie auf die grüne Flagge, wird das Spiel zu beginnen.
>> [Musikwiedergabe]
>> Oh, ich liebe Müll.
Alles, was schmutzig oder schmuddelig oder verstaubt.
Alles, zerlumpten oder faul, oder rostig.
Ja, ich liebe Müll.
Wenn Sie wirklich wollen, um zu sehen etwas kitschig, sieh dir das an.
Ich habe hier einen Sneaker das ist zerfetzt und abgenutzt.
Es ist alles voller Löcher hält und die Schnürsenkel sind zerrissen.
Ein Geschenk von meiner Mutter der Tag, als ich geboren wurde.
Ich liebe es, weil it's--
David J. MALAN: --green diesen Tagen gerade sein warf alles in den Papierkorb.
Und so, was man von CS50 eigenen Mitarbeiter did--
Jordan, der Sie vielleicht treffen today-- hat tatsächlich
Dieses aktualisiert für die heutige Zeit.
Und so lassen Sie mich zu öffnen, ein Remix stattdessen für Angela.
Und wir werden diese stattdessen zu spielen ein paar Augenblicke, wo jetzt bist du
gehen zu unterscheiden, ob sich entscheiden, haben etwas in den Papierkorb zu werfen,
oder recyceln oder kompostieren.
Es gibt also ein bisschen Druck auf Sie zu bekommen,
dies direkt vor Ihrer 392 bis 497 Schüler hier in der Halle,
wenn du würdest.
[VIDEO PLAYBACK]
[Musikwiedergabe]
Oh ich liebe Müll.
Alles, was schmutzig oder schmuddelig oder verstaubt.
Alles, zerlumpten oder faulen oder rostig.
Ja, ich liebe Müll.
>> Wenn Sie wirklich wollen, um zu sehen etwas kitschig, sieh dir das an.
Ich habe hier einen Sneaker das ist zerfetzt und abgenutzt.
Es ist alles voller Löcher und die Schnürsenkel sind zerrissen.
Ein Geschenk von meiner Mutter der Tag, als ich geboren wurde.
Ich liebe es, weil es Müll.
>> Oh, ich liebe Müll.
Alles, was schmutzig ist, oder schmutzig oder staubig.
Alles, zerlumpten oder faulen oder rostig.
Ja, ich liebe Müll.
Hier ist etwas mehr faulen Zeug.
Ich habe hier einige newspaper--
>> [END PLAYBACK]
David J. MALAN: --are tatsächlich kompostierbar.
Aber ich danke Ihnen für unsere Freiwilligen, Angela.
Wir haben eine Stress-Ball für Sie auch hier.
Ich danke Ihnen.
>> So wurde dieses von mir geschrieben.
Aber jetzt ein durch eine tatsächliche ehemaliger Schüler die dies realisiert, was ein Spiel ist.
Alle in dieser Sprache genannt Scratch, dass wir bald
Ziehen Sie die Schichten.
Aber wenn wir würden like-- how zu einem anderen Freiwilligen?
Recht.
>> Komm auf.
Wie heißen Sie?
Blick?
Lance.
Lance, komm herauf.
Nett, dich zu treffen.
Kommen Sie auf diesem Weg.
Also dieses ist ein haben könnte Thema vertraut, einige von Ihnen.
Aber auch Sie, dass sehen werden Es können Interaktivität,
wobei Sie könnte tatsächlich sein, die Rolle des Charakters bewegen.
Nett, dich zu treffen.
David.
>> Ich gebe Ihnen, Pikachu.
Anweisungen werden über auf dem Schirm kommen.
Aber kurz gesagt, du bist zu gehen wollen die leckeren Sachen zu fangen,
und vermeiden Sie die Bomben und andere Dinge.
Mit den Cursor ganz.
Also die Leertaste.
-Pikachu.
David J. MALAN: Catch der Stoff, auf der linken Seite,
nicht das Zeug auf der rechten zu fangen.
>> [Musikwiedergabe]
>> So ein letztes hier.
Wenn wir eine haben Weitere freiwillige hier.
Wir dachten, wir würden etwas neu from-- im gelben shirt--
ab Mittwoch.
Wie heißt du?
Mary, komm up Mary.
>> Und erinnern wir uns am Mittwoch vorgestellt der Begriff der binären und binäre Glühbirnen.
Dies ist tatsächlich heute ein Umsetzung dieser gleichen Schnittstelle
dass wir auf dem iPad mit dem Licht Glühbirnen, aber hier digital gerendert.
Und anstatt zu tun eine stress ball-- schön, Sie kennenzulernen, David.
Wir brachten ein paar Licht Glühbirnen von Cambridge.
>> Wenn Sie können, Sie auf diejenigen, Leuchtmittel, um sie ein- und auszuschalten,
kommen mit dem binären Darstellung sagen, 256.
Und du wirst in der zu sehen Mitte, die aktuelle Tally.
So dass man es auf.
So das Bit ganz links eingeschaltet ist.
>> MARY: Ja, [unverständlich]
>> David J. MALAN: Nun, so haben wir just-- oh.
Das ist also der 128 Spalte.
So sind wir bis zu 128.
Wir müssen auf 256 zu bekommen.
Und Sie können basteln an und ausgeschaltet, keine große Sache.
Oder Sie können die 128 getroffen mehrmals, wenn Sie wollen.
>> Also gut, gut.
24.
Ja, immer näher.
Closer!
Oh, was ist das Problem?
Also, was ist das Problem?
>> Also, was tun wir brauchen, um dieses Problem zu lösen?
Also brauchen wir ein weiteres Stück.
Und das ist perfekt vernünftig in der Realität, nicht wahr?
Wenn Sie aus der Anzahl zählen möchten 1 bis 2 auf 3 bis 4 bis 5, 6, 7, 8, 9
tatsächlich rollen bis 10, du bist werde ein zusätzliches Bit benötigen.
Lassen Sie uns also tatsächlich zurückspulen hier, und kommen
mit-- das war offensichtlich bedeutet, um eine Einrichtung zu sein.
>> Sie können das nicht 256 mit nur einer Glühbirne.
Wie wäre es also einfach die Zahl 50?
Nummer 50.
Ausgezeichnet.
Ein großer Applaus Mary und ihr auch.
Danke.
>> Also das topic-- vorsätzliche als dass was-- tatsächlich wiederkehren.
Der größte Wert, den Sie stellen mit acht Bits oder ein Byte,
ist in der Tat 256.
Aber nicht, wenn Sie beginnen gezählt von 0, wie wir
scheinen zu tun, indem er zu halten alle diese Bits aus.
Doch jetzt tauchen in das darunterliegende lassen Umsetzung dieser Umgebung,
und necken neben einige dieser Ideen.
>> So in einem Augenblick sind wir dabei, einen zu sehen paar verschiedene Programmiergrundlagen.
Von denen das erste wir Anweisung aufrufen.
Sortierung der Verben, wenn man so will.
Aktionen.
Dinge, die getan werden sollte.
>> Und in einem Moment werden Sie sehen, Blöcke, die wie folgt aussehen.
Sagen Sie "Hallo Welt", zum Beispiel.
Oder warten Sie eine Sekunde.
Oder spielen Schall miauen.
Und in der Tat die Umgebung, in was werden wir tun dies
heißt Scratch.
>> Und wenn ich nach oben ziehen, ohne Scratch Vorbelastung keine eigentliche Code,
lassen Sie uns einen kurzen Blick auf diese Benutzerschnittstelle so zu sprechen.
Die Kontrollen, mit denen wir interagieren.
Auf dem Gipfel von hier links Bildschirm, unterhalb der Menüs,
haben wir die Bühne, so zu sprechen.
So Scratch ist das, was wir Sprite nennen.
Es ist ein Zeichen.
>> Und er kann gesteuert werden Schreiben von Programmen gegen ihn.
Und er wird in der Lage, nach oben und unten zu bewegen und links und rechts in dieser Umgebung,
nicht nur, indem die Maus, aber programmatisch.
Ich kann ihm sagen, gehen Sie rechts, zu Fuß links, oben, unten oder dergleichen.
Und ich kann es anderen vorstellen Sprites oder Zeichen auch.
>> Tatsächlich auf dem Boden ist hier, wo können Sie Ihre Liste der Sprites zu sehen.
Im Moment, ich habe , aber ich kann noch mehr zu schaffen,
und sie werden genau dort angezeigt.
Also, wenn Sie für einen Augenblick Rücklauf, wie Oscartime-- zum Beispiel Oscar,
auf der linken Seite, der Papierkorb können, war ein Sprite.
Und die Sache in der Mitte, die Recyclingbehälter, war ein weiterer Sprite.
Und die Biotonne war ein weiterer Sprite.
Und jedes Stück Müll oder Wertstoffe
das war vom Himmel fallen ist auch ein Sprite, von denen jede
wurde individuell programmiert.
>> Wie werden die?
Nun, hier auf der rechten Seite auf Seite ist die Skripte Bereich.
Und das ist, wo wir können Drag & Drop Puzzle-Stücke.
In einer Woche, es geht zu sein wo wir in äquivalenter Code schreiben
mit einer Tastatur, aber heute werde Ziehen und Ablegen
Puzzleteile, die Paletten für die alle
hier direkt in der Mitte gefunden werden.
Zwar in der Mitte Hier gibt es eine ganze Reihe
Kategorien von puzzle Stücke oder Blöcke.
Einer ist, um eine Bewegung bezogen, schauen, Sound, einen Stift auf und ab gehen,
Daten, Steuer Veranstaltungen.
Nicht ganz sicher, doch was all diese bedeuten,
aber Sie werden sehen, dass sie haben schön kategorisiert.
Und ein Programm in Schreib Scratch, lassen Sie genau das tun.
>> Ich werde unter beginnen Veranstaltungen, und ziehen Sie diese hier.
Wenn grüne Flagge geklickt.
Nun, warum das so ist?
Nun erinnern, dass unsere Freiwilligen kam, das erste, was ich
oder sie taten, war, dass grüne klicken Flagge in der rechten oberen Ecke.
Und das bedeutet, nur das Programm starten.
>> Also, wenn das Ereignis eintritt, was will ich machen?
Ich werde unter Looks zu gehen, und ich werde tun, "Hallo sagen."
Und ich werde, dies zu ändern und etwas sagen wie: "Hallo Yale."
Und jetzt werde ich vergrößern aus, klicken Sie auf die grüne Fahne,
und voila, ich habe ein Programm geschrieben.
Es ist nicht alles so aufregend nur noch, aber diese
ist genau das, wo jeder von denen, Autor begann,
beide mit Pikachu und die Binär-Lampen, und Oscartime,
und so viele weitere Beispiele.
>> Sie starten super einfach und dann beginnen zu Schicht,
und fügen Sie auf Features und Funktionen.
Also, was sind diese Schichten gehen zu bestehen?
Nun, über Erklärungen, werden wir auch haben sich die Dinge, die wenig mehr fancily sind
genannte Boolesche Ausdrücke, nach jemandem namens Bool.
Und ein boolescher Ausdruck ist einfach ein Ausdruck, der entweder wahr oder falsch ist,
ja oder nein, 1 oder 0.
>> Etwaige polaren Gegensätze so.
Es ist entweder wahr oder nicht.
Aber wir sind auch zu sehen, diejenigen, die wie folgt aussehen könnte.
So zum Beispiel, ist die Maus nach unten?
Sie sind Art von Fragen, wenn man so will.
>> Die Maus ist sowohl nach unten, wahr oder es ist nicht false.
1 oder 0 ist, wenn man so will, neigt dazu, die Abbildung.
Wahr ist 1, falsch ist 0.
Nun was ist weniger als das?
Oder so, das ist weniger als das?
Das ist eine Frage der Arten.
>> Und wenn Sie zwei Zahlen gibt, entweder x
wird zu weniger als y oder sein gleich y ist, oder größer als y,
aber dieses Blocks werden wir sehen, ist nur gehen, um die Frage zu beantworten,
dies ist weniger als das?
Wir können auch sehen, so etwas wie dieses.
Berühren Mauszeiger.
So in Scratch, können Sie fragen die Frage ist die Sprite
Berühren Sie mit der Maus?
Mit anderen Worten ist der Cursor Schweben über die Kappe oder den Gegenwert?
>> Wir werden anding Dinge zusammen zu sehen.
Sie können zwei Fragen zu stellen, und stellen Sie sicher, dass beide von ihnen
geben Ihnen yes oder true Antworten vor eine Entscheidung, etwas zu tun.
Aber dann, wie Sie Entscheidungen zu treffen?
Nun, wir haben diese Bedingungen.
>> Und wir sahen dies in unserer Beispiel für das Telefonbuch.
Auf der Suche nach links oder Richtige für Mike Smith.
Und in dem Zustand, Sie etwas zu tun, möglicherweise,
wenn ein Boolean Ausdruck wahr ist.
>> Und in der Tat feststellen, jetzt die Formen.
Es gibt diese Platzhalter jetzt auf dem Overhead, wo wir fit-- kann
wenn ich zurückspulen einem slide-- dieser Form.
Es ist nicht ganz die gleiche Größe.
Und in der Tat, werden Sie sehen, dass Scratch die Größe Dinge dynamisch
, Puzzleteile passen, aber die Form ist, was wichtig ist.
Das Ding sieht aus wie , dass, ja, es ist
ungefähr die gleiche Form das sollte es passen.
Und wenn wir etwas tun wollen so oder so, wenn sonst,
Wir haben dieses Puzzle Stück in Scratch auch.
>> Angenommen, Sie wollten tun, wenn, else if, sonst.
In anderen Worten, ein Drei-Wege-Gabel in der Straße.
Nun, was können Sie tun, nur durch einen Blick auf das?
Ich kann dieses Puzzle-Stück zu nehmen, und es scheint nicht zu passen,
aber wieder, ist kratz gehen um schön die Größe neu für uns.
Ich könnte anfangen zu Schicht diese Dinge zusammen.
>> So, jetzt habe ich eine Drei-Wege- Gabel wenn das wahr ist, dies zu tun.
Else, wenn dies andere, was wahr ist, diesen Weg gehen, sonst gehen diese andere Art und Weise.
Und in der Muppet Film, der Gabel in der Straße, so zu sprechen,
zwischen Yale oder Stanford, war genau das, nur zwei Bedingungen.
Entweder gehen diesen Weg, sonst gehen auf diese Weise.
>> Nun, Schleifen auch in der Programmierung existieren.
Und wir haben diese bereits verwendet Klasse und in Pseudocode,
und sicherlich diejenigen, Scratch-Programme für immer.
Scratch hat dieses Puzzle Stück, wird nur lassen Sie immer etwas zu tun.
Und manchmal wollen um etwas für immer zu tun.
Es ist nicht unbedingt ein Fehler, es ist weil Sie eine Uhr zu gehen zu halten möchten,
oder ein Spiel zu spielen zu halten.
Oder Sie können eine endliche Anzahl von angeben Schritte, die als mit diesem Wiederholungsblock hier,
die etwas 10-mal wiederholen wird.
Wir können Variablen setzen, werden wir bald sehen.
Und mit Variablen, im Geiste Algebra, wie x oder y oder z.
Es ist etwas, symbolische, die gespeichert werden können einen gewissen Wert, einige Stück von Informationen,
dass Sie vielleicht um für eine spätere erinnern.
>> Bestes Beispiel hierfür könnte sein, ein Spiel, wo Sie eine Punktzahl haben,
wie in Pikachu.
Wie viele Stücke des Kuchens und was nicht alles haben Sie fangen?
Nun, das könnte eine Variable sein genannt Partitur, die bei 0 beginnt.
Und dann jedes Mal, wenn wir nahmen ein Stück Kuchen oder Süßigkeiten oder dergleichen,
Es wird erhöht.
Es wird auf ein zu einer Zeit aufgenommen.
Und so eine Variable speichert ein Information so.
Dann gibt es Arrays und wir kommen zurück, diese in ein oder zwei Wochen Zeit,
aber ein Array ist ein bisschen wie ein Inventar oder eine Schultasche, innen
von denen Sie virtuelle Dinge setzen.
Es ermöglicht Ihnen, mehr zu speichern als ein Stück von Informationen.
Und das könnte nützlich sein, wenn in das Spiel, du bist
Art herum Dinge aufzuheben.
Und vielleicht die Sie behalten möchten alle diese Stücke des Kuchens
herum, und nicht nur zu essen sie nacheinander.
Und dann gibt es ein schicker Konstrukt wir werden
gekommen, um genannte Funktionen oder Prozeduren.
Und obwohl wir gehen schnellere Hier werden wir
zu sehen, dass dies ein sehr natürliche Lösung für Probleme
dass wir gehen Begegnung.
Da unsere Programme zu starten immer größer wir werden
beginnen, Muster in bemerken der Code, den wir schreiben,
Die Puzzleteile sind wir Ziehen und Ablegen.
Und sobald man sich merken zu tun etwas wieder und wieder, oder noch schlimmer
Kopieren und Einfügen von Programmier Code, den Sie geschrieben haben,
das ist wahrscheinlich ein Gelegenheit, ausklammern
was auch immer Sie das Kopieren zu halten und Einfügen, und legt es
in einem so genannten "Funktion."
Sondern mehr auf diejenigen, die in viel genauer vor lang.
>> Und dann gibt es noch schicker Funktionen.
Für diejenigen von euch noch komfortabler, oder unter APCS oder gleichwertig,
Scratch tatsächlich unterstützt Dinge wie Fäden und Veranstaltungen und vieles mehr.
So erkennen, dass es eine ziemlich hohe Decke,
obwohl es auch sehr breit zugänglich folks
die noch nie programmiert haben.
Also ja, lassen Sie uns einen Blick bei einem einfachen Programm oder zwei.
>> Wir haben bereits, wie wir sahen könnte hallo mit Scratch sagen.
Lassen Sie mich gehen Sie vor und eröffnen ein wenig interessanter Programm
dass ich schrieb im Voraus.
Und dieser aufgerufen Pet the Cat.
Alle diese Programme werden auf CS50-Website.
In der Tat, schon da.
>> So können Sie herunterladen sie und mit ihnen zu spielen,
und mit Problem Set 0, die ist auch auf der Website der natürlich
Sie werden aufgefordert sind, um durch diese gehen.
Und darüber hinaus bieten wir ein Anzahl der Walk-Through-Videos
Online in der ich und CS50-Team wirklich zu Fuß
durch jedes dieser Beispiele bei einem viel langsameren Tempo, eine sehr schnelle forward,
oder wiederwickelbarer Tempo, so dass Sie gehen können durch diese in Ihrer Freizeit auch.
Also hier ist Scratch auf der linken Seite.
Hier ist ein Programm zum richtigen dass ich bereits vorgefertigt.
Also lassen Sie mich heran zu diesem Thema.
Und könnte jemand in Englisch, zu wissen, was Sie wissen, gerade von nun als
, wie Scratch Werke, eine Art zu sagen in einem englischen Ausdruck oder einen Satz,
was hat das Programm anscheinend tun?
>> Ja, im orange Hemd.
>> ZIELGRUPPE: [unverständlich]
>> David J. MALAN: Ja, wenn Ihr Cursor auf Scratch die Katze,
spielen eine Miauen Sound.
Aber beachten Sie, wie wir uns ausdrücken, dass.
Es gibt anscheinend ein Schleife gibt, für immer.
Und dann gibt es ein Bedingung, die, wenn Ausdruck.
Und kollektiv, was geben die das?
Es bedeutet dieses Programm ist eben immer läuft,
und es ist nur immer wartet und sehen und hören
für mich, meine Maus über die Katze zu bewegen.
>> Denn jedes Mal, wenn ich das tue, wie Sie schlagen vor, es geht um dies zu tun.
Lassen Sie mich das Programm starten.
Nichts scheint zu sein, passiert, aber merken, wie
es ist jetzt in einer gelben Linie markiert.
Das bedeutet nur, es läuft.
Und weil es eine Ewigkeit Schleife, es ist immer noch aktiv.
>> Also lassen Sie mich meinen Cursor über Scratch. [MEOW] [MEOW] Und wenn ich mich bewege es ab,
[MEOW] Jetzt zum Anschlag, aber die Programm läuft noch. [MEOW] Und so liebenswert.
[MEOW] Lassen Sie uns also eröffnen etwas weiter fortgeschritten
Beispiel nannte die Katze Pet nicht.
>> Und jetzt wollen wir mal sehen, was hier geschieht. [MEOW] Miauen.
Also ist es ein wenig auf Autopilot, wenn man so will.
--pet die Katze.
Ich wundere mich warum.
[ROAR] [MEOW] Wie kam das?
Nun, Sie können Art von Grund durch sie intuitiv, vielleicht.
>> Aber schauen wir uns den eigentlichen Code.
Also noch einmal, wenn die grüne Flagge angeklickt wird, tun dies für immer.
Was wollen Sie für immer zu tun?
Nun, wenn die Maus berühren Zeiger, dann spielen
ein Sound, der anscheinend genannt wird Lion 5, das innerhalb dieses Projektes, sonst
spielen Schall meow, und dann zwei Sekunden warten, so
dass es nicht unaufhörlich Miauen.
In der Tat, können Sie sehr schnell starten um sich und Ihre Mitbewohner zu ärgern.
>> Lassen Sie uns diesen Block zu entfernen.
Und bemerken, was ist schön zu Scratch.
Dinge einfach Art von Drag and-Drop und Verriegelung.
Also noch einmal, um es wächst zu füllen, was Sie wollen.
Aber wenn ich diese entfernen, und dann Hit spielen, [COMPUTER BLIP SOUND]
>> --es seiner Art Stolper selbst, weil es buchstäblich
zu tun, was ich sage.
Es wird immer sagen, spielen dieses Sound, aber Ich gebe ihm eine Chance zu beenden.
Und damit würde ein Fehler sein.
Und das ist, warum wir dieses Ding hier jetzt.
Lassen Sie uns also tatsächlich von scratch-- starten Art von Wortspiel leicht intended--
in der wir jetzt die Katze in Bewegung.
>> Also werde ich dies im laufenden Betrieb zu tun.
Ich werde hier zu vergrößern, nur um mich auf Events loszulegen.
Und grüne Flagge geklickt.
Und es gibt noch andere Wege, die Skripte zu starten.
Wir werden es hier einfach zu halten.
>> Und jetzt werde ich gehen voran und gehen unter Kontrolle.
Und wieder, wenn Sie vergessen, wo Dinge, klicken Sie einfach in der Umgebung,
und schließlich werden Sie sie wieder zu finden.
Deshalb möchte ich immer das tun, was?
Ich möchte den Fahrsatz verwenden dass ich weiß, existiert, bewegen 10 Stufen.
>> Also mal sehen, was passiert, hier, wenn ich dieses Spiel spielen.
Zum Glück ist es nicht zu weit gehen.
Ich kann ihn immer noch Art greifen durch den Schwanz, und ziehen Sie ihn zurück.
Aber das Programm ist immer noch läuft, also ist er Art von mir kämpfen.
Aber es wäre ganz nett, wenn ich bedingt dieses Problem beheben in Code.
>> Weil dies nicht-- tatsächlich ist dies wirklich
nicht ein lustiges Spiel für jedermann in jedem Alter.
Also lassen Sie uns versuchen, dies durch zu beheben mit eine Art von Bedingungen.
Also werde ich untergehen Kontrolle, und dann, wenn.
Ich mag die Idee.
So nach dem Umzug 10 Stufen, if-- ließ mich spüren, wo ich bin.
Ich werde unter Sensing zu gehen, und dann sieht es ich hier zu gehen.
Zeile in die Form Treffern.
>> Größe nicht, aber es ist gehen zu wachsen, um zu füllen.
Und jetzt ist dies ein kleines Menü.
Und jetzt der Maus pointer-- ich nicht möchten Sie die Maus, ich möchte den Rand.
So Scratch ist klug genug zu wissen wenn ein Sprite den Rand zu berühren.
Was will ich ihn eigentlich?
>> Lassen Sie mich gehen Sie vor und ändern Bewegung.
Weißt du was?
Ich werde ihn umzudrehen.
Also bei 15 Grad ist wirklich, mir zu helfen.
Ich will, dass er sich umdrehen und gehen den anderen Weg.
>> Also mal sehen, was passiert, hier, wenn ich traf Jetzt spielen.
OK, ziemlich blöd aus, aber es tut genau das, was ich gesagt habe.
Und es ist das gesamte Sprite dreht.
Jetzt stellt sich heraus, dass ich dieses Problem beheben.
Und ich wusste nicht, wie dies auf den ersten fix.
Ich hatte solche auf rund futz und finden Sie in der beste Weg, dies zu tun.
Aber wenn ich mal sehen, Bewegungs zu-- lassen.
Oh, ich fand diese.
Eigentlich Set Rotation Stil.
Links, rechts, oder nicht drehen oder ganz herum.
Und es stellt sich heraus, dass das, was ich will.
Und ich werde diese setzen nicht mein Schleife, weil ich nicht brauchen, um eingestellt
die Dreh Stil mehrmals.
Ich werde legen Sie sie an der Spitze der Dieses Programm, so dass es einmal eingestellt wird,
und dann erinnert.
Und jetzt werde ich dies noch einmal zu versuchen.
Lassen Sie mich das Programm zu beenden.
>> Und jetzt, da festgelegt, dass die Fehler.
Also ich bin iterativ zu verbessern auf diese.
Das Programm ist immer ein wenig komplexer und größer,
aber ich nehme Babyschritte so zu sprechen, und kleine Bissen aus dem Problem
es besser und besser zu werden.
Aber auch dies ist irgendwie lahm.
>> Weißt du was?
Würde jemand mit einem wirklich guten fragen, furchtbare Stimme wie zu kommen?
Jemand mit einer Stimme.
Äh, ja.
Komm auf.
Im grünen T-Shirt.
>> So stellt sich heraus, es gibt einige andere lustige Dinge, Ästhetik und klingt gleichermaßen.
Hier ist der meow.
I auf der Registerkarte Sounds klicken.
[MEOW] Da ist der meow. [MIAU MIAU] [MEOW] --actually Rekord etwas
unserer eigenen hier.
>> Lassen Sie uns also genau das tun.
Anstelle der Verwendung dieses cat Klang, lassen Sie uns gehen Sie vor da, und was ist Ihr Name?
Nick, schön dich zu treffen.
Es ist David.
So in einem Moment, ich werde um die Aufnahme-Taste getroffen.
Und wenn du kannst einfach schreien in den Laptop,
"Autsch", als ob Sie ging einfach in die Wand,
dass wird sehr geschätzt.
1, 2.
>> NICK: Autsch!
David J. MALAN: Awesome.
Und nun ein wenig bearbeiten tun.
Geht die Beseitigung der ruhigsten Stadtteile zu bekommen.
Und ich denke, das ist gut.
Danke sehr.
>> NICK: Pleasure.
David J. MALAN: Ich habe nur umbenannt "ouch"
aber jetzt bin ich zu gehen gehen Sie zurück zu meiner Skripte.
Und Hinweis Es ist in der Tat Ton hier.
Und ich werde weitermachen und spielen Sie den Sound autsch,
und ich werde das tun, wenn es ist nur die Berührung der Kanten.
Und dann bin ich los haben sie sich umdrehen.
Also mal sehen, was hier passiert.
Lassen Sie uns gehen Vollbild.
[VIDEO PLAYBACK]
-Ouch!
Autsch!
>> [END PLAYBACK]
>> David J. MALAN: Sie erkennen, So dass wir immer ein wenig Glück.
Ich werde ihn zu bewegen wie 100 Schritte auf einmal.
Die Wirkung davon wird jetzt auf [Computerfehler SOUND] be-- So
im Rahmen des Zumutbaren.
So eine Gelegenheit, dass zu verfeinern weiter, wenn wir wirklich wollen.
>> So, jetzt lassen Sie uns vorstellen ein anderes Konzept.
, Lassen Sie mich in eine genannte gehen Zählung der Schafe oder der Benutzung ein
Variable genannt.
Dieses ist eine entzückende kleine Schafe und Ich änderte sein Kostüm sozusagen.
So, obwohl die Standardeinstellung ist ein Katze, können Sie laden, können Sie zurückgreifen können,
Sie beliebig viele tun können Zeichen auf Ihrem Sprite.
Hier ist ein Programm, das ist gehen, um das, was auf Englisch zu tun?
>> Wieder, basierend auf genau das, was Sie jetzt wissen.
Was ist dieses Programm?
Ja, es geht um zu zählen.
Eine Zahl zu einem Zeitpunkt.
Wir haben offenbar haben diesen Satz Zähler.
>> Ich weiß nicht, was das ist, aber vielleicht ist es eine Variable.
Es ist nur ein Container, x- oder y.
Aber das Wort Zähler mehr deskriptiv als Mathematikers x- oder y.
So können wir englische Wörter für Dinge verwenden.
Für immer, bedeutet nur, zu halten, dies zu tun.
>> Sagen Zähler.
Jetzt, wo kommt das her?
Nun stellt sich heraus, dass Zähler ist eine Variable.
So ist es nur eine weitere Puzzle- Stück, das ich im Voraus erstellt.
Und auch wenn es passiert, nicht auf die gleiche Form hier zu sein,
Normalerweise würden Sie sagen so etwas wie hallo hier.
>> Sie können auch eine Variable ziehen so dass das ist, was gesagt zu werden.
Dann habe ich für eine Sekunde warten, I ändern Sie den Zähler um eins,
Erhöhen sie durch Zugabe von einem.
So dass der Nettoeffekt ist, dieses entzückende Schafe zählen.
Obwohl er sich selbst zu zählen.
Jetzt ist es sehr schnell gehen langweilig zu werden
weil er zu gehen tun dies wirklich für immer,
aber das ist genau das, was die Programmentwurf vorschreibt.
Hier können nun versuchen, ein anderes Beispiel dass nutzt eine Variable.
Diese sogenannte Hallo Hallo Hallo, dass hat zu schnell ärgerlich.
Nun hat man zwei Skripte.
Und so wieder, wir nehmen kleine Schritte.
>> Wir begannen mit etwas super klein ist, hinzugefügt, zugegeben wurden.
Jetzt möchte ich etwas zu tun noch mehr Dynamik,
so möchte ich für Ihre Aufmerksamkeit werden zwei verschiedene Dinge auf einmal.
Also auf der linken Seite, wenn grüne Flagge angeklickt wird,
I eine Variable, die ich schrieb, gesetzt rief im Voraus Muted.
Und ich willkürlich auf 0 gesetzt.
So Scratch nicht den tatsächlichen falsch, aber es hat 0 und 1.
>> So kann ich die gleiche Idee anzunähern.
Und dann für immer, wenn Sie die Leertaste ist gedrückt wird, dann setzen Sie die Variable auf 0.
Oder sorry.
Wenn der Raum gedrückt wird, und wenn gedämpft, die Variable ist 0,
dann auf 1 stumm geschaltet, sonst auf 0 gesetzt stumm geschaltet.
Dies scheint ein bisschen wie wir sind nur tun, und Lösen der Arbeit.
>> Aber was ist der Effekt?
Jedes Mal wenn ich die Leertaste, Was passiert mit meinen variable
genannt stummgeschaltet, logisch?
Art wird umgedreht.
Es ändert sich von 0 auf 1 oder von 1 nach 0.
So dauerte es ein paar Blocks , das auszudrücken, aber alles,
Ich tue, ist das Umschalten des Zustands diese Variable auf 0 oder 1 bzw. 0 oder 1
jedes Mal, wenn ich auf die Leertaste.
Jetzt hier, was ist das denn?
Für immer, wenn stummgeschaltet ist 0, so dass, wenn stummgeschaltet ist falsch.
Also, wenn es nicht stumm geschaltet, ist die Semantik gibt, spielen Schall Seelöwen,
und denken Hallo Hallo Hallo für zwei Sekunden, zwei Sekunden warten.
So bemerken jetzt diese Skripts effektiv sind
werde parallel laufen, so dass man werden für eine Aktion zu hören, die andere
eine Entscheidung auf der Grundlage dieser Aktion zu machen.
Und es kann für immer zu tun.
>> [SEELÖWE BARKING]
>> Es wird für immer so zu tun und [SEELÖWE BARKING] wie ich gerade getan habe.
Und jetzt ist es noch läuft aber ich habe "stummgeschaltet" das Spiel.
[SEELÖWE BARKING] Und das ist, all dies Kerl tut jetzt auch.
>> Wir öffnen ein weiteres Beispiel hier.
Lassen Sie mich in Veranstaltungen zu gehen, und jetzt dieses entzückende zu.
Aber merken es hat zwei Sprites.
Also nicht nur zwei Skripte einem Sprite, aber zwei Sprites.
Und wenn ich auf den blauen Kerl wie ich klicken schon, ich sehe er als einer Programm
hier oben, die buchstäblich nur sagt, Dies, wenn ich ein Ereignis zu empfangen,
sagen: "Polo" für zwei Sekunden.
>> Also, wenn Sie jemals gespielt haben einen Pool, das Spiel Marco Polo,
wenn das Skript Orange Kerl ist jede Angabe, anscheinend
jedes Mal wenn ich die Leertaste, was ist der orangefarbenen Kerl tun?
Er wird sagen: "Marco".
Und dann ist dies ein neuer Block.
Wir haben das nicht gesehen, aber ausgestrahlt ein Ereignis.
Und ich konnte es nennen Ereignis, was wir wollen.
>> Wir werden darauf zurückkommen vielleicht schon bald.
Aber Rundfunk ein Ereignis ist ein Weg für einen Sprite
um zu einem anderen durch sprechen im wesentlichen übergeben Sie eine Nachricht.
Es ist keine Nachricht, die Sie sehen.
Es ist nicht etwas visuelle.
Es ist eine Art von einem Computer senden dass der andere Typ ist für das Hören.
Denn in der Tat, der blaue Kerl, Rückruf nicht, wenn grüne Flagge geklickt.
>> Er hat stattdessen, wenn ich eine Veranstaltung zu erhalten.
Wenn er in der Klasse übergeben diese Notiz, so zu sprechen, er sagen sollte "Polo".
Und so ist der Nettoeffekt ist, dass, wenn ich schlug die grüne Fahne, passiert nichts.
Aber wenn ich die Leertaste, sagt er, "Marco", antwortet er mit "Polo".
Aber die einzige Sprite Ich bin Interaktion mit der orangefarbenen.
Das ist also ein Weg der Art von Weitergabe von Nachrichten zwischen Sprites
und mit ihnen zu kommunizieren miteinander.
>> Jetzt schauen wir uns ein letztes hier genannten Themen.
Und beachten Sie dies, indem es zu spielen.
Das sind also zwei Sprites.
Der Vogel Art herumfliegen.
Er prallt.
Es gibt keinen "Autsch", aber dieselbe Idee.
>> Aber die Katze scheint ziemlich smart.
Was ist die Katze offenbar gerade?
Und warten Sie.
Was ist die Katze offenbar gerade?
Es ist nicht nur Prellen.
>> Er ist nach dem Vogel.
Und so scheint, ist auch ein Weg mit einer Kombination von Blöcken hier--
und lassen Sie uns die Katze ganz schnell.
Für immer, wenn berühren Vogel, dann spielen der Klang Lion 4, was immer das ist.
Wir haben gehört, es einmal.
Ansonsten weisen auf Vogel, und bewegen einen Schritt.
Nun ist die Tatsache, dass es eine Schritt ist es, was den Vogel
ein bisschen ein Vorteil, zunächst, aber wenn wir statt
machen diese 10, zum Beispiel, so dass jeder Iteration der Schleife, er ist
Bewegen 10 Stufen der Zeit.
Also mehr Platz.
Mal sehen, was dann passiert.
[Lion Roar] Nicht alle, dass viel besser.
So, jetzt versuchen, verbessern lassen auf diese ein wenig iterativ,
und wieder zu, dass Vorstellung einer Funktion.
>> Und in der Tat eines der Grund Imbissbuden der Klasse Design.
Nicht nur die Programme schreiben, die funktionieren und, die richtig sind, aber sind gut
gestaltet.
Und Design ist viel mehr subjektive, und Sie werden besser auf sie bekommen im Laufe der Zeit.
Aber lassen Sie uns ein paar kleine Schritte in Richtung beginnend mit einem Programm arbeitet,
absolut, aber es ist nicht sehr gut.
Es ist nicht sehr gut geschrieben.
>> Also hier ist ein Programm, das dies tut.
Husten, Husten, Husten.
Was bedeutet das Programm aus?
Sieht richtig für mich.
Es ist zu sagen Couch für ein Sekunde, dann wartet er.
>> Dann heißt es wieder, dann wartet er.
Dann heißt es wieder, dann wartet er.
Und dann wird das Programm implizit endet, weil es keine Schleife.
Aber warum ist das ein schlecht geschriebenes Programm?
Auch wenn Sie noch nie programmiert haben?
Wie, was reibt die falsche Weg, vielleicht hier?
Ja?
>> ZIELGRUPPE: [unverständlich]
David J. MALAN: Genau.
Sie sind zu wiederholen sich selbst wieder und wieder.
Und buchstäblich, kopiert und eingefügt I zwei dieser Blöcke wieder und wieder.
Und das ist genau die Art von Vernunft überprüfen Sie, dass Sie sollten machen.
Warte eine Minute.
Soll ich wirklich werden, dies zu tun?
Also, was ist das, was ist das offensichtliche Lösung vielleicht?
Haben eine Art von Schleife.
Und ich weiß nicht recht Rückruf was das Puzzlestück ist,
aber wenn ich mir die nächste Iteration Hier
in der Tat, es gibt nicht nur der Endlosschleife,
es wiederholt eine Anzahl von Malen.
Und so habe ich drei festgelegt.
Und nun merken, wie viel enger, wie viel mehr prägnante dieses Programm ist.
Und in einem Sinn, wie viel besser wartbar.
Wenn ich das Wort ändern möchten Husten, etwas anderes,
wie achoo, wie er Niesen.
Dann habe ich es in einem ändern Ort und nicht drei.
Also das schon fühlt sich an wie etwas besseres Design.
Lassen Sie mich stattdessen offene Husten 2, unserem dritten Beispiel.
>> Beachten Sie als Informatiker, Ich beginne bei 0 zu zählen, in der Regel.
Nun, das sieht ein bisschen gruseliger an erste, aber die Wirkung ist die gleiche.
Husten, Husten, Husten.
Aber wie es scheint, grundlegend sein Neues im oberen Teil des Programms?
Ich habe das Wort entfernt.
>> Ich habe die Wartezeit entfernt.
Und was habe ich eingesteckt statt?
Eine Funktion.
Ein Husten Block.
Ich meine, ehrlich gesagt, scheine ich Art ein Idiot, wenn ich nicht gerade
beginnen mit dem Block das ist anscheinend genannt
"Husten", wenn es das ist alles was ich will ihn tun.
Aber das heißt nicht im Scratch existieren.
Vielmehr ging ich zu einem in der Palette aufgerufen mehr Blöcke hier,
und ich ziehen diese großen lila Sache Hier, das lässt mich eine Funktion definieren.
Es lässt mich im wesentlichen schaffen sie meine selbst puzzle
Stück, das alles, was ich nennen kann möchten, dass alles, was ich will zu tun,
aber sie gibt ihm einen Namen.
Es gibt mir eine neue, lila Puzzleteil dass jetzt tut, was ich sage, es zu tun.
Also das lila Stück hier entspricht dieser hier.
>> Und was tut sie?
Er sagt, Husten für ein zweiten, und dann wartet er.
Und jetzt habe ich eine Art erstellt meine eigene benutzerdefinierte Puzzleteil,
so daß sie sich verhält genau das gleiche Weise.
So kann ich weiter machen.
Und in der Tat, es geht um mehr, und mehr Möglichkeiten für die Modularisierung,
und für die Schichtung, Komplexität übereinander.
Aber diese Grundidee, in der Tat bei der Problem sagte 0.
Was Sie zu gehen herausgefordert, tun können, ist
um Scratch herunterladen, oder es einfach verwenden, über das Internet, und nur wenige haben Spaß mit ihm.
Registrieren Sie einen Satz geben Anforderungen, mit einem Ton,
und einige Reihe von Puzzle-Stücke.
Aber Sie werden genau dieses zu tun.
Und du wirst erkennen, dass du zu gehen wollen einige kleine Schritte zunächst zu nehmen,
bis Ihr Programm wird mehr und mehr komplex.
Aber wenn man bedenkt das ist das beste Weg, ich könnte dies zu tun?
Kann ich diesen Instinkt zu vermeiden vielleicht, zu kopieren und einzufügen?
>> Aber bevor Problem Set 0, und bevor wir zu vertagen,
dachte, wir nehmen ein Weitere freiwillige, wenn wir könnten,
für eine endgültige Programm das ist vielleicht der
passüberhaupt, angesichts der heutigen Veranstaltungsort.
Komm runter.
Ja.
Wie heißen Sie?
UH Oh.
Das ist ok.
Beide kommen nach unten.
Und ich habe mit diesem irgendwie umgehen innerhalb dieser nächsten zehn Sekunden.
So kommen auf Sie.
Komm runter.
>> Lassen Sie mich auf kommen hier.
Komm schon.
Gut.
Lassen Sie uns sehen Sie hier.
So bemerken ganz schnell hier wenn Sie möchten, um nach oben zu kommen.
>> Wir werden zwei Runden der dies zu tun.
Und was ist Ihr Name?
>> SABRINA: Sabrina.
>> David J. MALAN: Sabrina und?
>> YING GEE: Ying Gee.
>> David J. MALAN: Ying Gee.
Schön, dass Sie beide zu erfüllen.
David.
So, hier ist unser letztes Beispiel genannt Hardest Game Ivy.
Und warum haben wir nicht Sie tun Stufe 1 und Stufe 2, die Sie tun.
>> Und wir werden sehen, wie weit darüber hinaus, dass wir eigentlich gehen.
Geschrieben von einem Studenten im vergangenen Jahr, von mir remixed
so dass dies gehen mehr als gut in New Haven.
Und ich gebe Ihnen ein Spiel, das auf los ist das Bewegen Sie die Pfeile nach oben und unten,
und immer Yale bis zur Ziellinie.
Auf geht's.
>> [VIDEO PLAYBACK]
>> [MUSIC - NFL Fox THEME SONG]
[MUSIC - MC Hammer, "U Can not Touch DIES"]
>> U Can not Touch This.
U Can not Touch This.
Can not Touch This.
My, my, my, trifft meine Musik mich so hart, macht mich sagen, oh, mein Herr.
Vielen Dank für segnet mich mit ein etwas dagegen, reimen und zwei Hype Füßen.
>> Das ist gut, wenn man weiß, du unten bist.
Ein Super-dope Homeboy vom Oaktown.
Und ich bin als solche und dies bekannt ein Beat uh, kann man nicht berühren.
Ich sagte Ihnen, homeboy U Can not Touch This.
Ja, das ist, wie wir leben und Sie wissen, U Can not Touch This.
>> Schau mir in die Augen, man.
U Can not Touch This.
Yo, lassen Sie mich zu sprengen die flippige Texte.
U Can not Touch This.
Frische neue Kicks und Hose.
>> Du hast es so und Sie wissen, Sie wollen tanzen.
So aus dem Sitz bewegen und ein Mädchen fliegen und fangen diese Beat.
Während es rollen Halt auf zu pumpen ein wenig Bit- und lassen Sie sie wissen, was los ist.
So wie das.
>> Kaltes auf einer Mission, so ziehen Sie an sich zurück.
Lassen Sie sie wissen, dass Sie zu viel sind und dies ist ein Schritt, uh kann man nicht berühren.
Yo, ich sagte Ihnen U Can not Touch This.
Warum Sie stand da ein Mann?
U Can not Touch This.
>> Yo, klingt die Glocke Schule in, sucker.
U Can not Touch This.
Geben Sie mir ein Lied, ein Rhythmus macht sie schwitzen, das ist, was ich ihnen jetzt geben.
Sie wissen, wenn Sie über die Hammer sprechen Sie eine Show, die gehypten ist zu sprechen.
Und enge Sänger Schwitzen, so geben sie ein Mikrofon.
>> Oder ein Band zu erfahren, was es geht zu nehmen und jetzt
er wird in den Charts zu verbrennen.
Legit entweder hart arbeiten, oder Sie könnte genauso gut beenden.
Weil Sie wissen, U Can not Touch This.
U Can not Touch This.
Break it down.
Stopp.
Hammer time.
So mit dem Fluss in einem Spin- wenn Sie nicht, dies zu bewegen
dann haben Sie wahrscheinlich tot sind.
So bewegen Sie Ihre Hände in die Luft [unverständlich]
>> Das ist es für einen Gewinner Tanz dies und du wirst dünner zu werden.
Bewegen Sie schieben Sie Ihren Hinterteil gerade für eine Minute wir alle tun die Beule.
Ja.
U Can not Touch This.
>> U Can not Touch This.
Sie besser hyped Jungen U Can not Touch This.
Klingeln Schule zoomen.
Break it down.
Stopp.
Hammer time
>> David J. MALAN: Das ist es für CS50!
Vielen Dank für Ihre Teilnahme!
Wir sehen uns draußen.
>> [END PLAYBACK]
[VIDEO PLAYBACK]
[MUSIC - "Seinfeld" Titelsong]
-Hey David.
-Hey, David.
Wie geht's?
>> -Gute Job, heute.
-So Haben Sie darüber nachgedacht, was wirst du zu dem Witze machen?
Nein, habe ich nichts.
-Was If-- was, wenn dies der aus Witz?
-like, Auspacken Karren?
-Uh-Huh.
Sie wissen, es geht um nichts.
>> -SO Mögen, keine Geschichte, keine Konflikt keine Lösung.
Ich verstehe nicht.
Worum geht es dann?
>> -Gar nichts.
>> -So Wir haben Witz ist zu nichts, und wir haben keine Schauspieler.
Wer wird in das sein?
>> -Nein nein Nein.
Ich meine, ich werde dabei sein.
>> -You'll Drin sein?
-Ja!
Die Menschen sind immer erzählen mir, ich bin ein Charakter.
>> Nun, ich meine, es ist wahr.
Aber wer sonst wird sich in das sein?
Es kann nicht nur Sie.
>> -Sie Werden dabei sein, Gavin, Dan, Dan, Colton, Z'Myla, Alysse, Doug,
David, alle.
>> -So Geht es um nichts, und jeder ist drin?
>> -Absolut gar nichts.
>> -Das ist lächerlich.