So ist es meine größte Freude begrüßen Sie heute alle hier
für die erste Vorlesung von, na ja, Einführung
zu Computing und Programmierung.
Auch bekannt als CS50 oder gut, CPSC 100, offiziell hier in Yale.
>> So konnten wir nicht mehr angeregt werden zu begrüßen Sie alle hier.
Mein Name ist Patrick Rebeschini.
Ich bin der Chef-Instruktor für die Klasse.
Ich vertrete hier eine Gruppe von etwa 60 Mitarbeiter
das wird mit Ihnen zusammenarbeiten während des Semesters.
Diese Zahl ist fast 60 von uns.
Doch entlang der außerordentlichen Höhe der Verpflichtungen
dass wir in diese setzen Klasse, macht CS50 die Klasse
an der Yale Universität, bietet das größte Maß an Unterstützung
An euch alle.
Und wir konnten nicht mehr stolz sein Auch hier bietet diese Klasse.
>> In der Tat wird, wie Sie bald erfahren, CS50 ist viel mehr als eine Klasse.
Es ist eine Gemeinschaft.
Und Sie werden Teil sein bald dieser Gemeinschaft.
Dies ist das zweite Jahr, dass Yale bietet diese Klasse.
Wir bauen auf die extreme Erfolg des letzten Jahres, in dem
zum ersten Mal, hier an dieser Universität,
Bachelor-Lernassistent wurden in den Klassenräumen angenommen.
Es begann alles mit diese Klasse im letzten Jahr.
>> So wie Sie wissen, ist die Klasse gelehrt gemeinsam mit der Harvard University.
Zu lehren diesen Kurs wir sind relying-- wir können
zählen auf die große Kompetenz von David Malan und der Harvard-Team.
Und David war Lehre CS50 für gut, 10 Jahre jetzt.
Und jedes Jahr ist er gewesen an die Grenzen
und die Verbesserung der Unterrichtserfahrung.
Auch hier konnten wir nicht glücklicher sein weiterhin diese Zusammenarbeit mit ihnen.
>> In der Tat, eine der interessanteste Teile,
Ich werde jetzt diese Klasse von Lauf sagen, sowohl an der Harvard und hier in Yale,
ist das wirklich unglaublich Kreuzbefruchtung
von Ideen, die auf die Verbesserung der Ziel Lernerfahrung an euch alle.
So als Ergebnis dieses umfangreichen Zusammenarbeit zwischen den beiden
Universität, CS50 ist stolz darauf, die neue Version in diesem Jahr ankündigen
mit spürbaren Veränderungen.
David wird uns alles über sie sagen jetzt.
So please-- dieses Wesen sagte, kommen Sie mir bitte
und willkommen zu geben, ein großen Applaus
begrüßen David und Harvard-Team hier an der Yale.
>> [BEIFALL]
>> DAVID MALAN: Vielen Dank.
Vielen Dank.
Dies ist CS50, Harvard University und Yale University Einführung
zum intellektuellen Unternehmen der Informatik
und die Kunst der Programmierung.
Und das, was bedeutet, dass dieser Kurs Letztlich geht es um Problemlösung.
viele von Ihnen könnte in der Tat aus der High School gekommen
oder haben die letzten paar Jahre damit verbracht, fragen, was einige Ihrer Freunde
hat im vergangenen Jahr oder in anderen Klassen.
Und doch, die Realität egal ist, was wir
nicht am Ende des Tages in dieser Klasse, es geht um Probleme zu lösen sein.
>> Und als solche, vielleicht nehmen einige Beruhigung in der Tatsache,
dass 73% der Schüler, dass nehmen Sie diese Klasse, die beide hier
an der Yale sowie an der Harvard, noch nie eine CS-Klasse übernommen.
Also, wenn Sie sitzen hier in das Publikum heute fragen,
warum Sie sitzen hier im Publikum heute
oder vielleicht auch nur dir gefolgt zusammen mit ein paar Freunden,
oder vielleicht haben Sie schon ein wenig neugierig, was
Informatik und Programmierung realisieren
dass die meisten Ihrer Mitschüler die links und rechts von Ihnen
sind sehr viel in der gleichen demographischen.
>> Und in der Tat, wenn wir uns im vergangenen Jahr Statistiken
innerhalb der Studentenschaft der CS50, beide hier und in Harvard, 58% der Studenten
beschreiben sich selbst als weniger komfortabel.
9% ist bequemer.
Und dann 33% liegt irgendwo dazwischen.
Und es gibt keine formale Definition von dem, was diese Eimer bedeutet.
Sie Art von weiß, du bist weniger komfortabel, wenn Sie sind.
Sie fühlen sich ein wenig unruhig mit vielleicht in der Klasse zu sein.
Sie sind nicht ganz sicher, ob ein Computer Science-Klasse ist letztendlich für Sie,
und erkennen, dass Sie in sehr guter Gesellschaft.
Und in der Tat die Einstufung, und die Beurteilung,
und die Rückkopplung, und all das Tragstruktur in der Klasse
letztlich ist sehr individualisiert.
Um so mehr, als die meisten jeder andere Klasse von Entwurf.
Und in der Tat, was letztlich Angelegenheiten in dieser Klasse nicht ist
so viel, wo Sie am Ende up relativ zum anderen,
aber wo man, in Woche 11 oder letzte, und in Bezug auf sich selbst in der Woche
0 hier unser erstes.
Also, was bedeutet das?
Nun, dies bedeutet, jener 73% der Studenten im letzten Jahr, die nie genommen hatte
ein CS-Klasse vor, durch die des Semesters beginnen sie
in einer Sprache, wurden Dilettantismus Scratch genannt, die wir uns selbst
siehe hier heute wird.
Und bis zum Ende der Semester war sie verschwunden
durch diese gesamte Liste der Herausforderungen.
Beginnend mit einer Sprache namens c.
Die Umsetzung, was ist Auf den ersten Blick geht
ein bisschen eine Herausforderung sein, für einige, aber recht erfreulich, wenn Sie
bekommen Super Mario Prellen oben und unten eine Pyramide
nur umgesetzt werden, wenn auch mit etwas ASCII-Art genannt.
Die Implementierung letzten year-- was die Studenten im letzten Jahr dann
hat danach wurde Umsetzung ihrer eigene Caesar-Chiffre und Vigenère.
So Verschlüsselungsalgorithmen mit denen konnte man
Gerangel Informationen und dann unscramble Informationen geheime Botschaften zu senden.
Das Spiel von 15.
Wenn Sie sich erinnern aus Kindheit oder einige parteibevorzugung,
dass kleine Plastikspiel, in dem Sie sich bewegen die Zahlen nach oben, unten, links und rechts
zu versuchen, sie zu erhalten, um, Umsetzung tatsächlich das Spiel
und die Lösung der Logik dort erforderlich.
Und dann dabbled wir in Forensik im letzten Jahr.
>> Also bis Mitte Semester, Studenten, die nie
verwendet ihre Tastaturen zu diesem Zweck vor,
wurden Schreiben von Software zu erholen, sozusagen
JPEGs oder Fotos dass wir hatten aus Versehen
aus einem digitalen gelöscht Speicherkarte aus der Kamera.
Wiederherstellen von geheimen Botschaften aus dem Inneren eines Bitmap-Bildes,
und andere solche Typen als auch von Grafiken.
>> Wir überführt dann zu geben die ganze Klasse ein Wörterbuch.
Nur eine wirklich große Textdatei mit 150.000 englischen Wörtern.
Und jeder wurde in Frage gestellt irgendwie zu lesen, sozusagen
diese Worte in den Speicher.
In den Speicher des Computers.
Und dann beantworten Fragen der Form, das ist ein Wort?
Ist das ein Wort?
Wirklich nur die Umsetzung eine Rechtschreibprüfung.
Und dann herausfordernd jede andere mit einem großen board--
ein Leaderboard zu sehen, wer könnte Verwenden Sie die geringste Menge an Speicher,
in der geringsten Menge an Zeit, buchstabieren tatsächlich große Dokumente überprüfen.
>> Wir transitioned von da an die eigene Web-Server zu implementieren.
So machen keine Webseiten in Sprachen wenn Sie wie HTML und CSS, vertraut sind.
Aber eigentlich Umsetzung Der Server, der
hört im Internet für Anforderungen von Browsern
und dann auf diese Anforderungen reagiert.
Dann Umsetzung unserer eigenen e-trade wie Website, wo
Studenten könnten Aktien kaufen und verkaufen.
Zeichnung in nahezu Echtzeit Aktienkurse von Yahoo Finance.
Und Studenten erlaubt, um zu sehen wie ihr Portfolio entwickelt.
Und dann schließlich ein Mash up von Google News und Google
Karten wobei Studenten durch Begriff von Begriffen Ende
hatte die Fähigkeit zu klicken, und Runde und Suche auf einer Google-Karte.
sehen und dann alle die Nachrichtenartikel
sind auf diese speziellen Bereiche proximal.
So geht wirklich von Null bis 60.
>> Und auf dem Weg zu haben, was wir hatten, im letzten Jahr genannt, Hacker Ergänzungen.
Das die Messlatte weiter für diejenigen unter Ihnen,
die sehr gut könnte eine gute haben Menge an Erfahrung in dieser 9% sein
von mehr bequem.
So erkennen, dass es eine sehr hohe Decke
auch innerhalb dieser Herausforderungen für Studenten
kommt aus einem anderen Grund.
Weil am Ende der der Tag, wir sind schließlich
ganz einfach auf diese konzentriert.
>> Aber was bedeutet dies bedeuten, Problemlösung?
Lassen Sie uns also, dass vorschlagen destillieren sie so.
So ist der Problemlösung wirklich gerade diese Art von Bild.
Sie haben also Eingaben zu einem gewissen Problem bekam, etwas, was Sie wirklich wollen, zu lösen.
Das Ziel ist, Ausgaben zu bekommen, eine Lösung für dieses Problem.
Und dann in der Mitte was wir eine Black-Box nennen.
Sie wissen nicht notwendigerweise oder sogar egal, was in diesem schwarzen Kasten ist.
Alles, was Sie wissen, ist, dass, wenn Sie füttern Eingang hinein,
Sie hoffentlich Ausgabe erhalten oder eine Lösung davon.
Und während heute werden wir schauen sowohl an den Eingängen und Ausgängen,
wir werden langfristig und über die Verlauf des gesamten Semesters
konzentrieren sich auf, was in der Kiste ist.
>> Und darin liegen wird so genannte Algorithmen.
Schritt für Schritt Anleitung für tatsächlich einige Probleme zu lösen.
Aber was ist ein Beispiel für einige Eingänge?
Also vielleicht eine einfache Sache bei der Beginn jedes Schuljahr, jemand
Vielleicht möchten die Teilnahme zu nehmen.
So könnten wir ein tun, zwei, drei, vier, fünf, sechs,
und wie würde ich halten Übersicht über diese Informationen.
Ich könnte gehen, nur ein, zwei, drei, vier, fünf, sechs.
Und gerade Art von einstelligen verwenden.
>> Oder ich könnte tatsächlich aufnehmen dies ein wenig längere Sicht.
Und wie gebe ich alle die Menschen in diesem Raum?
Nun, ich könnte etwas tun, wie, OK.
Ich sehe eine Person.
Gut.
Ich eine andere Person zu sehen, die ein dritte Person, und so weiter.
Aber niemand zählt Leute wie diese.
So wörtlich, die meisten von uns, wenn wir gehen sogar überhaupt etwas zu zeichnen,
wirst wahrscheinlich gehen eins zwei drei vier,
vielleicht ein wenig Phantasie bekommen, fünf, sechs, sieben, acht, neun, zehn und so weiter.
>> Und das ist eigentlich ein System namens unary.
Uno, wie uno impliziert ein, in dem Sie nur haben sie einen Buchstaben des Alphabets.
Sie haben gerade diese Hash-Symbol bekam.
Und ich, für Effizienz, zog nur Diese Hash-Zeichen, schließlich
als gerade Linien.
Aber ich konnte sie gezogen haben so wenig Strichmännchen.
Wo vertreten eine Person, ein Eingang,
Ich ziehe nur einen Stock Figur oder ein Hash-Symbol.
Aber das ist nicht alles, was ausdrucksstark.
>> Wenn alles, was ich habe, ist diese Hash Marken, allein Strichmännchen lassen,
wie könnte ich repräsentiere so etwas wie die Nummer 15?
Oder 15 Personen im Raum?
Ich könnte so etwas wie 1 zu tun haben, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15.
Es funktioniert einfach nicht sehr gut skalieren.
Da die Eingänge erhalten groß, wir brauchen ein besseres System als das.
>> Und es stellt sich heraus, dass die System, die Computer nutzen
nicht alle ist, dass verschiedene von dem, was Sie und ich wissen.
In der Tat, die meisten Menschen in diesem Raum, auch wenn Sie unter den weniger sind
komfortabel, nicht unbedingt wissen, wie Sie Ihren Mac oder PC wirklich funktioniert,
Sie haben wahrscheinlich zumindest gehört, dass unter der Haube sind 0 und 1 ist.
Die sogenannte binäre System.
Also in der Tat, haben Computer mehr als nur Hash-Zeichen in ihrem Wortschatz,
aber nicht so viel von einer Vokabular wie wir Menschen.
>> Tatsächlich wir Menschen benutzen binäre nicht.
Bi bedeutet, 2, 0 und 1.
Aber dezimal, Deca 10, 0 bis 9 bedeutet.
So haben wir viel mehr Ausdrucks Fähigkeiten in unserer normalen menschlichen Welt.
Aber ich würde behaupten, dass diese Systeme, binär und dezimal, und alles
dazwischen und darüber hinaus sind eigentlich alle sehr vertraut.
Betrachten wir zum Beispiel dieses Beispiel hier, 123.
Also das ist wirklich, natürlich, eine Zahl, die wir kennen als 123.
Aber alles, was ich zog gerade war gerade diese Muster von Symbolen sozusagen Glyphen.
Sortieren von Formen auf dem Brett in der Kreide.
>> Aber warum tun wir sofort und begreifen dies intuitiv als 123?
Nun, wenn Sie waren wie mich in der Grundschule,
Sie wahrscheinlich gelernt, dass dies das ist 1s Spalte, ist dies die 10s-Säule,
dies ist die 100s Spalte.
Und warum ist das nützlich?
Nun, es ist einfache Arithmetik Sie jetzt tun aus einem Muster von Symbolen zu erhalten
intuitiv zu einer Reihe verstehen wir.
Ist das, was 100 mal 1, und dann 10 mal 2 und 1 mal 3,
was natürlich nur 100, und dies ist 20, und dies ist drei.
Und so, wenn wir diese together-- ah hinzuzufügen.
So liegt darin, die Art der Argumentation hinter warum dieser Satz von Symbolen
bedeutet etwas real und numerisch.
>> Nun, Computer tun, um die genau die gleiche Sache, aber sie können nur so hoch wie ein zählen.
Während ich war in der Lage zu zählen so hoch wie drei.
Und in der Tat, wenn ich werde gehalten, ich könnte gehen so hoch wie neun in diesem System.
Computer haben nur Nullen und diejenigen, in deren Alphabet.
>> Also, was bedeutet das?
Nun, es bedeutet nur, dass, wenn ein Computer will darstellen, sagen die Zahl 0,
vielleicht mit Hilfe von drei characters-- drei Buchstaben des Alphabets so zu sprechen,
das ist, wie ein Computer 0 darstellt.
Also nicht so beängstigend so weit.
Es ist genau das, was wir Menschen tun würden.
Und in der Tat, die meisten von uns würde nur ignorieren ohnehin die führenden Nullen.
>> Ein Computer, wenn er will zu speichern, die Zahl 1,
stellt sich heraus, wird dies zu tun.
Und einen Computer zum Speichern von die Zahl 2 nicht
geht das einstellige System zu tun, die ich zuvor angesprochenen.
Es geht tatsächlich um dies zu tun.
Und das ist wahrscheinlich wo das Muster beginnt
werden weniger offensichtlich für die meisten Leute.
Das sind 2, ist dieses 3.
Merkwürdigerweise ist dies nun 4.
Und es nun wirklich tut scheinen vielleicht kryptisch sein,
aber es ist nicht, wenn man bedenkt, was für binäre wirklich bedeutet.
Es heißt, Sie haben zwei Buchstaben Ihres Alphabets.
So zwei mögliche Zeichen für jeden Platzhalter.
>> Also das wirklich bedeutet, wir werden ein 1s Ort oder 2s Platz benötigen,
ein 4s Ort und dann 8 und 16, 32 und 64.
Und was ist da der Unterschied?
Wie diese sind 1, 2, 4, 8, 16, 32, 64.
Und bevor wir hatten 110, 100.000, 10.000.
Was gibt es die Ähnlichkeit?
Und was ist das Muster?
Ja.
STUDENT: Powers of 2 anstelle von Befugnissen von 10.
DAVID MALAN: Ja.
Potenzen von 2 anstelle von Befugnissen von 10.
Und so, wenn ich wollte zu halten gehen, 8, 16s und so forth--
aber jetzt, wenn Sie diese Art haben der Hinweis, jetzt das binäre System
eigentlich ziemlich einfach.
Warum ist das Muster von 0-en in der Welt der Computer 0?
Nun, weil es 4 mal 0, 2 mal 0, 1 mal 0 und Sie 0 erhalten.
>> Warum ist dies die Nummer 1?
Gleiche Argumentation, aber jetzt sind wir haben eine 1 in der Spalte 1.
Warum ist das 2?
Wir haben eine 1 in der 2s-Spalte.
Und wie dann das bin ich sagen, die Nummer 7 in binär?
Sprich lauter.
>> STUDENT: Drei 1s.
>> DAVID MALAN: Drei 1s.
Also 1, 1, 1, weil wir gerade brauchen 4 plus 2 plus 1 gibt mir 7.
Gut.
Also von dort, wie wir tun repräsentieren 8 mit 3 Platzhalter?
Ja.
>> STUDENT: 1, 0, 0, 0.
>> DAVID MALAN: Ja 1, 0, 0, 0.
Und doch vielleicht, ich Art von technisch brauchen
einen weiteren Platzhalter in den Vorstand hinzuzufügen.
Wenn ich will, dass ich in der Tat passen brauchen so etwas wie dies zu tun.
Also muss ich jetzt eigentlich zu verwenden die 8s Säule, und das ist in Ordnung.
Aber das Merkwürdige in Computing dass das wird uns etwas kosten.
Sie brauchen mehr RAM in Ihrem Computer.
Sie benötigen mehr Speicher weil Sie etwas
physischen zu speichern, dass zusätzliches Bit, sozusagen.
Binär-Zahlen.
Und in der Tat alles, was passiert ist hier, wie das Dezimalsystem,
wenn wir Zahlen Halten Sie das Hinzufügen und bis und up, gehen wir auf 5 bis 6 auf 7 bis 8
es ist wie die 1, buchstäblich tragen.
Und dann alles andere geht zurück auf Null.
>> Aber wie stellen wir tatsächlich diese Dinge physisch in einem Computer?
Nun, am Ende des Tages, ist die einzige physikalischen Eingang in meinen Computer gehen
hier ist das Netzkabel, so Strom oder Elektronen, die von der Wand.
Und so wie ich von etwas bekommen dass körperliche wie tatsächlich
eine Idee, wie diese Stelle darstellt.
>> Nun, was können wir tun?
Das könnten wir betrachten, alles in Ordnung, vielleicht, wenn Strom fließt
Ich konnte es speichern und halten Sie es.
Und wenn ich festhalten bis zu einem gewissen Strom,
das wird nur zu willkürlich eine 1 repräsentieren.
Und wenn ich den Stecker ziehen und es gibt nichts dort,
Sie wissen, dass gerade los ist willkürlich eine 0 darstellen.
>> Also, wenn etwas ist da, ein.
Wenn nichts ist da, 0.
Oder Sie können das machen ein wenig mehr visuell.
Hier ist ein 0.
Es gibt nichts Interessantes passiert auf über die Rückseite meines Telefons.
Aber wenn ich damit ein wenig Bit-Strom zu fließen,
obwohl es ist ein wenig hell hier ging meine Taschenlampe auf.
Also ich bin Speichern einer Ladung und ergo, dieses Telefon stellt nun ein 1.
So 0 1.
>> Also mit 1 iPhone, wie hoch kann ich mit dieser Art von Ansatz zählen?
Ich meine: 1.
Es ist gar nicht so überzeugend.
Also, was kann man mehr tun?
Nun wollen wir sehen, ist jemand auf ihre Telefon jetzt, dass ich ausleihen könnte?
Jeder, der ein Telefon hat mit einer Taschenlampe eingebaut?
Kann ich ausleihen?
Ich brauche es nicht freigeschaltet.
Gut.
Vielen Dank.
Lassen Sie mich dies zu leihen.
Gut.
Also, wenn ich jetzt nach oben und hier, jetzt, was ich darstellen, ich?
Ja.
So ist es eine drei, weil dies in der ist 1s Spalte, ist dies in der Spalte 2s.
Also 1 plus 2 ist 3.
Und dann, wenn wir versuchen, zu erhalten wirklich creative-- oh, danke.
Sehr preemptive.
Gut.
Ich habe jetzt drei iPhones.
Gut.
>> Und jetzt werde ich nicht this-- tun weiter als diese.
Was soll ich jetzt darstellt?
Gerade mal sieben.
Aber ich brauchte körperlich mehr Speicher in diesem Fall.
Aber das ist alles, es ist.
Sie können sich vorstellen, was los ist on-- Dank Sie-- innerhalb des Telefons
als nur ein Schalter ist, der ist wird ein- und ausgeschaltet.
>> Und wenn Sie jemals gehört habe das Wort Transistor.
Oder wenn Sie je gehört haben die Marketing sprechen Intel inside,
das ist im Gespräch mit der Art von Hardware das ist im Inneren des Computers.
Intel macht CPUs, Zentralverarbeitungseinheiten,
die sind wie die Gehirne innerhalb des Computers.
Und diese CPUs und Dinge, die sie verbunden sind
viele, viele winzige Schalter zu haben.
Millionen, Milliarden von Schaltern das kann entweder ein- oder ausgeschaltet sein.
>> So Computer, zum Glück, wie unsere Macs und PCs,
zählen Weise höher als 7 oder 8 denn sie haben viel mehr als drei
oder vier Bits.
Viel mehr als das Äquivalent von der drei Taschenlampen, die wir gerade hatten.
Aber jetzt beginnt diese zu erhalten schnell ziemlich uninteressant.
Wenn ich will jetzt tatsächlich in der Lage sein, zu tun, etwas interessanter,
Ich möchte in der Lage sein zu springen zu so etwas wie.
>> So ASCII, dann ist es nicht wirklich eine nützliche Akronym, aber American Standard-Code
für Informationsaustausch.
Es bedeutet nur, einige Jahre Vor wir Menschen entschieden,
Sie wissen, was, wollen wir in der Lage zu sein, zu tun mehr mit Computern als nur Zahlen.
Wir haben sie nicht nur wollen teuer sein Taschenrechner,
Wir möchten in der Lage sein, die Dinge zu tun, wie Textverarbeitung, wenn auch sehr einfach.
Später hatten wir E-Mail und andere Medien.
>> Und so entschied sich die Welt ein paar Jahren vor nach diesem System ASCII,
Weißt du was?
In bestimmten Arten von Programme, die Sie jederzeit
siehe das Äquivalent der Nummer 65, wie das Muster von Bits.
Und wir könnten das tun Mathe hier auf dem Brett.
Das Muster von Bits, die 65 darstellen.
Denken Sie nicht, davon 65 in dezimal.
Betrachten Sie es als willkürlich, sondern global, konsequent als Hauptstadt
EIN.
Und dann wird die Welt entschieden, weißt du was?
Nehmen wir ein anderes Muster von Bits nehmen.
Und wenn wir jemals das sehen 66 Nummer, lassen Sie uns einfach
annehmen, dass die Kapital B. Schneller Vorlauf bis H
und ich, wenn Sie sehen, 72 oder 73, dass sollte eine H und eine I bzw. sein.
Und so lange, wie die gesamte Welt einigt sich auf diese.
So dass, wenn Sie eine E-Mail erhalten, oder Sie würde eine Datei auf einem USB-Stick,
oder so etwas wie dass-- wenn sehen Sie, dass die Muster von Bits,
Sie wissen, dass es das sein sollte Brief oder einem anderen Brief.
>> Aber es ist kontextspezifisch, richtig.
Eine E-Mail-Programm könnte interpretieren diese Dinge als Zeichen,
sondern ein Grafik-Taschenrechner oder Rechner darstellen könnte oder zu interpretieren
diese Dinge, natürlich, als Buchstaben.
>> Also mit dieser sagte, schnelle kleine Kritik.
Dies ist vielleicht ein drei Zeichen E-Mail, die an mich geschickt worden ist.
Unter der Haube ist alles in 0 und 1, aber wir kümmern uns nicht.
Wir gehen zu abstrakt zu starten über den 0 und 1 in Buchstaben.
Und wenn ich sehe, ein Muster von 0 und 1, dass wirklich 72 darstellen, Hauch, Hauch, 73,
und dann 33, was ist die Botschaft?
>> STUDENT: [unverständlich]
DAVID MALAN: Also, wenn Sie denken, zurück nur einen Augenblick vor, HALLO
Ich war die Botschaft versuchte, kommunizieren hier, weil H 72 ist,
I ist 73, und jetzt 33-- würden Sie nicht weiß, dass dies unbedingt im Voraus,
aber es stellt sich heraus, ob Sie wirklich Sie sehen mehr von der Karte und das System
dass die Menschheit vereinbarten Jahren vor, es ist nur ein Ausrufezeichen.
Und in der Tat gibt es ein Muster von Symbole und Zahlen für jedes Zeichen
dass Sie vielleicht auf Ihrer Tastatur.
>> Gut.
Lassen Sie uns abstrakt weiter.
Wenn wir wollen, haben nicht nur Dinge wie Zahlen und Buchstaben,
wir wollen eigentlich Grafiken zu implementieren.
Nun, wenn Sie jemals das Akronym RGB gehört.
Es ist eine Art jetzt von datiert, aber es ist immer noch von dort Art.
RGB ist rot, grün, blau.
Und es ist nur ein System zu sagen, weißt du was,
Lassen Sie uns drei Sätze von Bits verwenden.
Ein Satz von 8 Bits, ein weiterer Satz von 8 Bits, und ein anderer Satz von 8 Bit.
Und lassen Sie uns diese Bits verwenden zu speichern, wie viel Rot wir
wollen auf unserem Bildschirm, wie viel grün wir auf unserem Bildschirm wollen,
und wie viel Blau wollen wir auf unserem Bildschirm.
Und das bedeutet nur, dass, wenn Sie haben eine lot-- eine große Zahl für Rot,
das bedeutet, geben Sie mir eine Menge rot.
Wenn Sie eine große Zahl für grün, geben Sie mir eine viel Grün.
Und wenn Sie nur ein wenig von blau oder eine kleine Zahl wie 33,
gib mir ein wenig Blau.
Und wenn Sie geschehen, diejenigen zu kombinieren drei Grßen, sozusagen
Sie erhalten this-- kaum Sie sehen können, der Projektor hier, aber das trübe
Schatten von gelb oder braun.
>> Dies ist jedoch zu sagen, dass unter Verwendung von Muster von 8 plus 8 plus plus 8--
daß Muster von 24 bits ein Computer ist, wie würde
speichern, dass Gelbton in einem winziger Punkt ein Pixel auf dem Bildschirm.
Deshalb haben wir uns aus 0 und 1 weg in Dezimalzahlen Zahlen zu Buchstaben des Alphabets.
Oder interessanter, farbiger Punkte.
>> Nun, was natürlich dann kommt als nächstes?
Nun, was ist ein Bild, das Sie siehe Facebook oder in einer E-Mail erhalten?
Oder dergleichen?
Was ist die Definition technisch eines Bildes?
Ja.
Was ist ein Bild, wenn Sie zusammengesetzt sehen wirklich nah an Ihrem Bildschirm?
Ja.
Es ist nur eine ganze Reihe von Pixeln.
In der Tat, wenn Sie nehmen Sie Ihre Laptop vielleicht später,
und sehen wirklich eng bei es-- je
auf, wie teuer der Laptop ist und wie hoch die Qualität der Bildschirm ist,
Sie könnte sehr gut alle sehen die kleinen Punkte auf dem Bildschirm.
>> Und diese Punkte oder Pixel, was bedeutet, es gibt
24 Bit für jedes Pixel in der darstelle Foto, das Sie auf Facebook zu sehen,
oder dass Sie gerade aufgenommen haben auf Ihrem iPhone vor kurzem.
Und so ist, dass, wie wir bekommen um Dinge wie Grafiken.
Nun, was ist ein Video?
Ein Video ist nur eine Reihe von Grafiken fliegen wieder durch den Bildschirm
und immer wieder.
Und so wirklich Videos sind nur Muster von Bits, die Gitter, Reihen
und Spalten von Punkten, fliegen durch den Bildschirm Bild,
nach Bild, nach dem Bild, auch bekannt als
Spielfilm.
So ist das also für Ein- und Ausgänge.
>> Alles, was wir jetzt haben, ist ein Annahme, dass Sie
wissen, was, wenn wir einen Computer wollen repräsentieren Informationen,
Wir haben ein System, es zu tun.
Wir können es mit 0s tun und 1s am Ende des Tages.
Aber wir können abstrakt, so zu sprechen, oben auf, dass
so repräsentieren mehr interessante Dinge.
Und hier aus in CS50 und in Informatik allgemein,
wir stehen jetzt auf den Schultern von allen Menschen, die
kam vor uns, dass herausgefunden.
Und jetzt einfach davon ausgehen, dass Computer repräsentieren Ein- und Ausgänge können.
>> Aber jetzt wollen wir eigentlich tun Sie etwas mit ihnen.
So ist ein Algorithmus nur eine Reihe von Anweisungen, Schritt für Schritt,
für ein Problem zu lösen.
Und was könnte ein solches Problem sein.
Also das ist eine alte Schule Technologie, ein Telefonbuch.
Und innerhalb von ein Telefonbuch ist ein ganze Reihe von Namen und Nummern.
Und diese Namen sind in der Regel alphabetisch sortiert.
>> Also, wenn ich wollte, dass jemand in zu finden Dieses Telefonbuch wie Mike Smith,
was ist ein typischer Mensch tun?
Nun, man könnte einfach öffnen it up, Blick auf die erste Seite.
Ich sehe nicht, Mike Smith.
Wenden Sie sich an die zweite Seite, Ich sehe nicht, Mike Smith.
Und halten Sie gerade gehen und gehen.
Ist dieser Schritt für Schritt Ansatz richtig?
Ja.
Es ist eine Art von dumm, richtig.
Es ist ineffizient, richtig.
Denn es wird ewig dauern Mike zu bekommen, aber es ist richtig.
Denn wenn Mike ist hier Ich werde ihn finden in der Tat.
>> Also, was ist ein etwas vernünftige Mensch tun?
Sie könnten noch offen nach vorne, und vielleicht durch das Telefonbuch fliegen
zwei Seiten gleichzeitig.
Zwei, vier, sechs, acht.
Ich kann nicht wirklich physisch tun es sehr gut.
Aber in der Theorie sollte dies sein doppelt so schnell, zwei Seiten gleichzeitig.
Ist dieser Algorithmus korrekt?
>> STUDENT: [unverständlich]
DAVID MALAN: Nicht unbedingt.
Gut.
Warum die Einschränkung?
>> STUDENT: Weil er auf sein könnte der Seiten, die Sie übersprungen werden.
DAVID MALAN: Ja.
Also selbst wenn ich näher und näher.
Was ist, wenn er durch schlechte nur aus Versehen, dann ist Glück, zwischen den beiden Seiten eingeklemmt
dass ich fliegen über?
Also brauchen wir eine Lösung für dieses.
Wir brauchen eigentlich dann sagen, warten Sie eine Minute,
vielleicht, wenn wir zu weit gehen, vielleicht wenn wir den T Abschnitt getroffen,
für T nach Smith kommt, dann sollten wir zumindest eine Seite zurück mindestens verdoppeln.
So fixierbar, aber es gibt ein bedingtes Problem gibt.
Es ist also doppelt so schnell, aber man könnte haben nur ein wenig zu verdoppeln zurück.
Aber niemand in seinem Zimmer, auch wenn Sie nicht wirklich Telefon-Bücher mehr verwenden,
wird am Anfang zu beginnen.
Was wirst du machen Suche nach Mike Smith?
Sie werden in etwa den S ist zu gehen.
Oder wenn Sie nicht wirklich haben die Spickzettel auf dem Papier,
Sie gehen zumindest zu gehen in etwa der Mitte.
Und schon gar nicht zu die Vorderseite des Buches.
Sie gehen nach unten zu schauen.
Und mathematisch sind Sie wahrscheinlich gehen die M Abschnitt zu sehen, die
etwa in der Mitte ist.
Und dann wirst du erkennen, was wahr ist?
Wo ist Mike?
>> STUDENT: [unverständlich]
DAVID MALAN: Ja.
Er ist also mehr als auf dieser Seite.
Und was können Sie tun?
Nun, sowohl bildlich und buchstäblich können Sie das Problem in zwei Hälften einmal reißen?
Und dann wissen, dass Sie werfen diese Hälfte des Problems entfernt.
Und jetzt sind wir mit im Grunde links das gleiche Problem, aber es ist halb so groß.
Und nun, was ist das Satz von Anweisungen?
Was ist der Algorithmus für die Suche nach Mike Smith?
Es ist genau das gleiche.
>> Nun geschieht dies die M zu sein Abschnitt und dies ist der Z Abschnitt,
aber die grundlegende Formel ist immer noch die gleichen.
Gehen in etwa der Mitte, nach unten schauen, oh, stopfen es.
Jetzt bin ich im T-Profil, Ich habe zu weit gegangen.
Aber auch hier können Sie die gleiche Logik anwenden.
Wurf Hälfte des Problems weg und jetzt wir sind
mit einem Problem konfrontiert, das ist ein Viertel der Größe.
Und wir können wiederholen und wir können wiederholen, und wir können bis theoretisch wiederholen
es gibt nur eine Seite nach links auf die Mike entweder ist oder nicht.
>> Also, was ist so mächtig, von dieser Idee?
Ich meine, nach allem, es ist ziemlich intuitiv.
Niemand wird auf die zu beginnen Anfang des Telefonbuchs
und Flip 1000 Seiten Mike Smith zu finden.
Fast jeder in diesem Raum wird etwa diese Art von Algorithmus zu tun
sparen für das Reißen.
>> Und so warum tun wir das?
Nun betrachten wir die Effizienz.
Überlegen Sie, wie viel besser diese Algorithmus war, indem sie es brechen
in seine Bestandteile.
So was habe ich zuerst?
Ich nahm das Telefonbuch auf.
Und ein Informatiker, und ein Programmierer,
allgemeiner stellt sich heraus, geht zu starten alles bei 0 zu zählen.
>> Warum?
Nun, es ist ein wenig seltsam, dass wir Menschen zählen, in der Regel,
ausgehend von einem.
Denn was ist die kleinste Zahl können wir deutlich anhand darstellen
auch auf unserer alten Grundschule Mathe?
Nun, es war 0, ob es ist in dezimal oder binär.
Und so werden Sie in der Welt sehen der Informatik und Programmierung,
Insbesondere wir beginnen alles von 0 zu zählen.
>> Also nahm ich das Telefonbuch Schritt 0 auf.
Ich werde das zu öffnen Mitte des Telefonbuchs.
Und das ist in der Tat ein Ausdruck dessen, was ich tat.
Und dann Schritt zwei war Blick auf die Namen.
Schritt drei ein wenig konzeptionell anders.
Ich frage mich eine Frage.
Wenn Smith unter den Namen ist, Ich werde eine Entscheidung zu treffen.
Wenn er unter den Namen ist, dann werde ich Mike nennen.
Und ich werde eine Entscheidung zu treffen basierend auf diesem Stück von Informationen.
>> Wenn jedoch nicht, wenn Smith früher in dem Buch nach links,
Ich gehe in die Mitte zu öffnen der linken Hälfte des Buches.
Und dann ist hier die Klugheit, Ich gehe zurück zu Schritt zwei.
Ich gehe zu sortieren von stehen auf meinen eigenen Schultern
und nur die bisherige Arbeit wiederholen, die ich tat.
Aber die Arbeit, die ich verlassen haben, ist weniger und weniger und weniger.
Aber es wird noch zu arbeiten.
Aber wenn Mike stattdessen später in dem Buch auf der rechten Seite,
Ich gehe in die Mitte zu öffnen von der rechten Hälfte des Buches,
dann gehen Sie zurück zu Schritt zwei.
>> Aber es gibt tatsächlich ein viertes Szenario.
Mike entweder hier, oder hier oder hier, oder-
>> STUDENT: Nicht da.
DAVID MALAN: Nicht da.
Und in der Tat, wenn wir gehen nicht davon Diese vierte und letzte Szenario
unser Programm könnte fehlerhaft sein oder in irgendeiner Weise fehlerhaft.
Else, beenden Sie in dem Fall, dass wir haben Mike haupt nicht gefunden.
Und in der Tat, wenn Sie jemals bemerkt haben Ihr Computer hängen, oder alle
eines plötzlichen Wort oder einem anderen Programm beendet gerade unerwartet,
und manchmal dir Fehler Nachricht ist buchstäblich das.
Dieses Programm wurde unerwartet beendet.
Es kann für eine beliebige Anzahl von Gründen.
Aber manchmal ist es etwas so einfaches wie diese.
Der menschliche Programmierer der schrieb, dass die Software
war nicht klar, dass, oh, es gibt eine hervor, was eigentlich passieren kann.
Und wenn Sie nicht schreiben Code erfassen, die vierte Szenario,
es ist in der Tat unerwartet manchmal was kann der Computer tatsächlich tun.
wir rufen jetzt ein Einige dieser Dinge.
Also hier in gelb, ich haben hervorgehoben Begriffe
dass von nun an sind wir nur Gehen Funktionen aufzurufen.
Funktionen in der Welt der Programmierung sind ebenso wie Aktionen,
Aussagen von Aktionen.
So holen, offen zu suchen, an, rufen, offen, offen, beenden.
Das ist eine Funktion, ein Verfahren, eine Aktion, eine beliebige Anzahl von Synonymen
würde auch funktionieren.
Nun, was sind diese Dinge jetzt in Gelb?
Wenn sonst, wenn sonst, wenn diese sind sonst, was
wir gehen zu nennen Bedingungen in der Programmierung,
oder Zweige, Entscheidung Punkte, wenn man so will.
Aber wie Sie wissen, welche Gabel in der Straße zu nehmen, so zu sprechen?
Wir müssen hervorheben die Ausdrücke auf der rechten
gibt, welche diese ja, keine Fragen.
Diese true false Fragen.
Smith unter Namen?
Smith früher in Buch?
Smith später in Buch?
Dies sind Fragen dem ein Ja ist, oder nicht,
oder äquivalent wahr oder falsch ist, oder äquivalent, Eins oder Null Antwort.
>> Und in der Zwischenzeit gibt es nur noch ein letztes Stück.
Dieses hier hat, welche Art von Wirkung?
Unabhängig davon, ob Sie programmieren vor, wie würden Sie
Beschreiben Sie, was Schritt sieben und 10 tun?
Was hast du gesagt?
STUDENT: Eine rekursive Schritt.
DAVID MALAN: Eine rekursive Schritt.
Ja, im Wesentlichen.
Es ist technisch iterative hier, wenn Sie vertraut sind.
Aber wir werden darauf zurückkommen.
Aber es tut eindeutig etwas.
Wieder ist es induziert eine Zyklus, eine Schleife, richtig.
Sie gehen buchstäblich zu einem früheren Schritt zurück.
Und so in der Tat, das wird eine Art von Zyklus zu implementieren.
Aber du wirst nicht bekommen in diesem endlos stecken, richtig.
Denn wenn Sie ständig überprüfen ist Mike hier, oder nach links, oder hier nicht,
schließlich ist er nicht da sein.
Und Sie können nur ganz aufhören gemäß der letzten Zeile.
>> So ist das also für Vokabular.
Und das war, was würden wir im Allgemeinen nennen Pseudo-Code-Code.
Es ist nicht eine tatsächliche Sprache.
Es ist nur sehr kurz und bündig Englisch, aber es steht den Punkt.
Es gibt hier keine formale Struktur.
Sie verwenden nur, es ist wenige Worte, sondern als klare Worte
wie Sie können Ihre Idee zu kommunizieren.
>> Nun, wie gut ist, dass Algorithmus und wie viel besser ist es?
Nun, wir müssen in die nicht bekommen, Besonderheiten von Zahlen oder irgendetwas
so wie das.
Aber wir können bei der Suche Form dieser Lösung.
Also, wenn wir ziehen nur einige xy-Darstellung Hier auf der horizontalen Achse zu.
Lassen Sie uns einfach die Größe des Problems nennen.
Und ein Informatiker würde verwenden in der Regel n als die Variable hier.
So n Seiten oder n Personen im Raum oder was auch immer es ist, Sie zu zählen versuchen.
>> Und dann auf der vertikalen Achse auf dem verlassen würde, dass die Zeit zu lösen sein.
So, wie viele Sekunden tut es nimm mich Mike Smith zu finden?
Oder, wie viele Schritte dauert es?
Wie viele Seitenwechsel dauert es?
Also das ist, wie viel es kostet mich in der Zeit, ein Problem zu lösen.
Und wir könnten das erste Unentschieden Algorithmen Steigung, wenn man so will,
wie gerade dieser geraden Linie in rot.
Und ich werde es n nennen.
>> Warum n?
Warum ist es nur diese eine zu einer Beziehung?
Nun, wenn Verizon oder was auch immer Telefongesellschaft
fügt eine weitere Seite zu das Telefonbuch im nächsten Jahr,
das könnte schieben Mike ein mehr Schritt näher an das Ende,
je nachdem, wo die Seite.
Und so könnte der Effekt nur sein, um eine weitere Sekunde hinzuzufügen.
Oder eine weitere Seite der Reihe.
A 12.59 Verhältnis.
>> Im Gegensatz dazu der zweite Algorithmus.
Wie viel schneller war, dass intuitiv?
Wo bin ich zwei Seiten auf einmal?
Ja.
>> STUDENT: [unverständlich]
>> DAVID MALAN: Ja.
Es wird also doppelt so schnell sein.
Und wir würden hinweisen, dass hier in Abhängigkeit von der Skala.
Es ist noch eine gerade Linie, aber niedriger als die rote Linie.
Da für eine bestimmte Anzahl von Seiten, wenn es braucht
Sie so viele Schritte mit der erste Algorithmus,
es wird Sie die Hälfte zu nehmen so viele Schritte mit dem zweiten.
Und so ist die gelbe Linie Beschreibung des zweiten Algorithmus
wird unmittelbar darunter sein würde.
>> Aber was ist wirklich mächtig ist, denken Sie an die dritte und letzte,
und erstaunlich intuitive Algorithmus, der diese Form aufweist.
Technisch würden wir nennen dies eine logarithmische Kurve.
Log-Basis 2 von n in diesem Fall.
Aber das ist nicht wirklich wichtig.
Was ist wirklich wichtig ist, die grundsätzlich unterschiedliche Form, die es hat.
Und Sie können prüfen, wie viel kürzer wirklich diese Linie
ist auf lange Sicht.
Es wird ständig erhöht.
Es ist flach nicht perfekt.
Aber es wird immer so viel langsamer wie das Problem wird größer und größer.
Und man kann davon halten diese way-- wenn Verizon nicht nur tut
eine Seite im nächsten Jahr hinzufügen, aber verdoppelt die Anzahl der Seiten im Telefonbuch,
der erste Algorithmus könnte nehmen doppelt so viele Schritte.
Wenn es 1000 Seiten dieses Jahr, 2.000 Seiten im nächsten Jahr,
Mike könnte, dass viel weiter weg sein.
So ist es 1000 zusätzliche Schritte, ihn zu finden.
Der zweite Algorithmus vielleicht nur 500 mehr sein
Schritte ihn, weil wieder zu finden, Ich bin durch sie zwei auf einmal fliegen.
>> Aber was ist mit dem dritten Algorithmus?
Wenn Verizon verdoppelt sich die Größe des Telefonbuchs
im nächsten Jahr von 1000 bis 2000 Seiten, wie viele Schritte
mein dritter Algorithmus geht zu nehmen?
Ja, es ist nur eine davon.
Und das ist die starke Idee.
Sie können 1000 Seite anbeiße aus diesem Problem einmal.
Und jetzt, wenn man bedenkt, eine dumme Szenario,
aber es spricht Art von an die Macht dieser Art von intuition--
wenn ein Telefonbuch hatte, wie, vier Milliarden Seiten, fühlt sich wie ein wirklich großes Problem.
Und in der Tat, es könnte nehmen Sie mich vier Milliarden Seite
Mike Smith dreht sich, dass zu finden Fall mit dem ersten Algorithmus.
Aber wie viele Schritte wäre es nehmen im dritten Algorithmus
zu finden Mike unter vier Milliarden Stück Papier?
Also vier Milliarden Sie reißen in zwei Hälften.
Sie erhalten zwei Milliarden.
Dann eine Milliarde und dann 500 Millionen, 250 Millionen, 125 million-- aber es
fühlt sich an wie das ist wird eine Weile dauern.
Ich könnte 32 Finger brauchen dass hoch zu zählen.
Aber es ist in der Tat als wenige als 32 Seite Tränen.
Sie können aus vier gehen Milliarden auf eine Seite Teilungs
die ursprüngliche Anzahl von Seiten in Hälfte 32-mal
bis Sie links mit nur, dass einzelne Seite.
>> Nun, natürlich, ich bin betrügt hier.
Es ist nicht, dass wir gerade erst zu sein sortieren dummer vollständig mit der ersten beiden
Algorithmen.
Ich bin in einem gewissen Sinn zu betrügen, oder Ich nutzt eine Annahme wirklich.
Was war wahr über das Telefonbuch das in seiner ursprünglichen Form erlaubt
mir sogar, dass dritte Algorithmus verwenden?
Ja?
PUBLIKUM: Es wurde alphabetisiert.
DAVID MALAN: Es wurde alphabetisiert, nicht wahr?
Wenn es nur in zufälliger Ordnung, ist dies eine Verschwendung
der Zeit, dieses ganze Gespräch.
Ich habe auf jeden aussehen Seite, wenn es in zufälliger Reihenfolge
Mike Smith, bevor ich zu finden er ist da oder nicht, kann abschließen.
Und so ist die Ecke wir geschnitten haben, ist, dass ich
vorausgesetzt, dass jemand anderes in Dieser Fall hat mir die Arbeit.
Und damit letztlich lädt ein die Frage, warten gut, eine Minute.
Wie sortiere Sie 1000 Seiten mit Namen und Nummern?
Das ist eigentlich eine andere Problem, etwas
wir werden in Zukunft wiederkommen.
Aber wenn man darüber Websites wie Facebook und Google für Google Mail
und Dinge wie Google eigene Suchindizes,
wenn man Millionen oder Milliarden von Stücke von Daten, die in diesen Tagen gelagert,
searching-- und nicht zu erwähnen Sortierung jene problems--
ist letztlich eine Herausforderung für sich.
Und in der Tat, dies ist dann nur eine von diesen Herausforderungen
dass wir suchen werde.
>> So, jetzt lassen Sie uns einen Moment Zeit nehmen, und werfen Sie einen Blick auf CS50
selbst und geben Ihnen ein Gefühl von was ist das Semester im Geschäft.
Ja, wenn Sie nicht bereits haben, nehmen Sie einen Blick auf diese URL.
Und als Patrick anspielte zu, in diesem Jahr sind wir
so dass alle eine bedeutende Investition die mehr in die Unterstützung der Kurs
Struktur in Bezug auf die TAs und die Zertifizierungsstellen, Öffnungszeiten,
Abschnitte Verfügbarkeit und digitale Materialien online, als auch.
Denn in Bezug auf den Kurs des Vortrag, sind wir heute hier.
Und die Erwartungen dieser Jahr offiziell des Kurses
sind heute teilnehmen, ist der Kurs letzte Vorlesung, und ein Kurs
etwa in der Mitte des Semesters mit jedem Vortrag in zwischen
allgemein zugänglich gemacht an einem Freitagnachmittag
online, sowohl für Yale Studenten und Harvard-Studenten in diesem Jahr.
Tatsächlich ist einer der grundlegende Änderungen ist
dass wir die Annahme an Harvard ein Paradigma sehr viel
wie wir hier im letzten Jahr und jetzt in diesem Jahr,
so dass ähnlich, Film, den wir immer noch die meisten der Kurs Vorlesungen in Cambridge
aber machen sie früher verfügbar als wir in der Vergangenheit
so dass diejenigen von Sie--, wenn Sie möchte zum Beispiel an,
erhalten einen Vorsprung auf Materialien am ersten Wochenende eher
als das zweite Wochenende werden, haben Sie Zugang zu diesen Arten von Materialien,
durchsuchbar, integrierbare, hyperlinkable zu verwandten Ressourcen die alle früher.
In Bezug auf die Themen, die Sie geben, ein Gefühl für die trajectory-- Kurs
und einige könnte dies sein Jargon für jetzt, aber nicht für lange, sicher sein.
Wir werden heute beginnen, schließlich, mit Blick auf einen Programmier
Sprache namens Scratch.
Wir werden über danach nächste Woche etwas namens C
und dann suchen Sie in anderen Gebäude Bausteine ​​für die Lösung von Problemen,
Dinge genannt Arrays und Algorithmen, wie wir Speicher zu unserem Vorteil nutzen
und Nachteile, und Dinge wie Datenstrukturen,
und dann zu dem hinteren Ende der Klasse zu suchen maschinelles Lernen
und schaut in eine andere Sprache namens Python,
wie das Web funktioniert, wie das Internet mehr funktioniert im Allgemeinen, Protokolle wie HTTP,
Sprachen für Datenbanken wie SQL, JavaScript für das Web,
und schließlich binden alle zusammen diese.
>> Und so in der Tat, bei der Ende des Tages, Sie
werden nicht in dieser Klasse Scratch lernen oder C oder Python oder SQL oder JavaScript.
Sie werden stattdessen lernen allgemeiner Informatik und die Fundamente
davon, und Sie werden lernen, wie man programmiert
in einer beliebigen Anzahl von diesen Sprachen auf dem Weg.
Also in der Tat, eines der Ziele des Kurses am Ende
ist der gesamte Verlauf des ausziehen Stützräder von den letzten Wochen
so dass nach diesem können Sie kehren Sie zu Ihrer eigenen fields--
ob das oder nicht Informatik
oder Maschinenbau, in der natürlichen Wissenschaften, Kunst, Geisteswissenschaften oder beyond--
und bringen einige dieser Natürlich Ideen und dieses Feld ist
Ideen und praktische Fähigkeiten, um Ihre eigene Domain
um Probleme darin zu lösen.
>> Was wir hier mittlerweile tun in den meisten donnerstags nach dem heutigen Tag
ist mit den Köpfen der Kurs führt was wir Lösungen nennen
des Problems setzt Kurs.
So wird jede Woche, wenn wir haben ein Problem festgelegt, werden wir
zu Fuß an einem Ort durch wie dies die Herausforderungen der Kurs,
bietet Ihnen einige Tipps und Tricks und Design-Techniken.
Aber wenn Sie nicht in der Lage diejenigen, die in Person zu machen,
realisieren die gleichen Ressourcen werden eingebettet
von einem Verlauf der Lehrassistenten
in dem Problem stellt sich, wie gut.
>> Das Problem stellt in diesem Jahr, im Gegensatz zu im letzten Jahr, basierend auf dem Feedback,
wird noch am Freitag veröffentlicht werden.
Aber anstatt durch die nachfolgende Freitag,
damit Sie nur sieben Tage damit, effektiv später fällig 10 Tage.
Und in der Tat, wird dies bedeuten, dass sie werden von einem Wochenende überlappen.
Aber wir hoffen, in diesem Jahr vor allem wird diese
können die Schüler besser aufnehmen Ebbe und Flut in ihre Zeitpläne,
ob es sich um Akademiker oder extracurriculars oder in der Leichtathletik
oder midterm Saison.
Sie können entweder Front-Last oder Back-Last Ihre Woche auf CS50 Fokussierung basiert
auf Ihrem aktuellen Kurs Last eigene Woche.
>> Das Problem stellt sich wird eine Reihe von Sprachen abdecken,
obwohl wir konzentrieren überwiegend früh auf C
bevor wir konzentrieren uns danach auf höhere Ebene, mehr Web-centric Sprachen.
Und dann ein paar Fragen und Antworten hier-- sollten Sie eine Klasse wie CS50 nehmen
als im ersten Jahr?
So absolut.
Und in der Tat ist es nicht notwendigerweise etwas
Sie sollten warten, bis Sie schneiden haben Ihre Zähne auf andere Arten von Klassen.
Aber vielmehr betrachten dass für viele Studenten,
mich eingeschlossen wieder in den Tag, dies ist ein sehr unbekannten Gebiet,
vor allem wenn Sie nie hat einen AP CSA nehmen
oder so ähnlich in der High School.
Aber erkennen, dass schon früh, ob es sich dieser Kurs
oder eine andere Einführungskurs, Jetzt ist in der Tat die beste Zeit,
Ich denke, einige neue Wege zu finden, oder einige neue wissenschaftliche Interesse, wie gut.
Und dann nehmen mit anderen courses-- so einer der wichtigsten Unterschiede hier
im Vergleich zu Harvard ist, dass wir nur nehmen vier Kurse pro Semester
um aus irgendeinem Grund Harvard.
Und ihr Jungs eigentlich ziehen Aus rund 36 Kurse in insgesamt
über den Verlauf Ihrer vier Jahren das bedeutet in der Regel vier oder fünf
Klassen.
Und ich denke, es ist ziemlich fair zu sagen, und lehnen CS50, durch Design, ist
wahrscheinlich nicht die Art der Klasse dass Sie sollten in der Regel
nehmen mit vier anderen Kurse für insgesamt fünf
weil psets sind durch Design ziemlich intensiv.
Tatsächlich habe ich auch gelernt, diese wieder in den Tag.
Ich würde CS50 nicht beschreiben und Informatik, Programmierung
wie so viel schwer, wie es ist nur zeitaufwendig.
Es ist nicht die Art der Sache wo nach dem Abendessen, Sie
gehen Sie zurück zu Ihrem Wohnheim kann Zimmer, hinsetzen, und starten
konzentriert sich auf die pset Denken, alles in Ordnung,
Ich werde Knall this out heute Abend und dann bewegen
zu meinem nächsten Thema am nächsten Tag.
Manchmal treffen Sie nur eine Wand.
Sie haben Fehler in Ihrem Code.
Sie wissen nicht notwendigerweise wie ein Problem zu lösen.
Und eines der wichtigsten Features von Programmierung für mich bis heute
ist, dass Sie nur irgendwie nehmen müssen einen Schritt manchmal zurück, schlafen auf sie
oder denken an sie über den Kurs von Joggen oder eine andere Tätigkeit,
und dann frisch darauf zurückkommen.
Und Sie brauchen nur diese Zeitfenster.
>> Und in der Tat, das ist, warum wir haben die Zeitspanne verlängert,
erhältlich für die Problemstellungen in diesem Jahr und auch, pro dieser URL
Ich habe früher auf, als zu Das ist neu in diesem Semester,
getrimmt setzt das Problem, so dass sie sind im Grunde nicht weniger streng,
und die Imbissbuden sind nicht weniger, aber es gibt viel weniger Titelei,
viel weniger Lauferei zu, die Sie benötigen tun an der Vorderseite jedes Problem Set,
wie Sie sehen werden, bevor Sie tatsächlich tauchen in das Fleisch davon.
So erkennen, dass diese und andere Veränderungen sind am Horizont
zu einer besseren Studenten aufnehmen, aber letztlich, um sicherzustellen,
dass die Imbissbuden sind in der Tat so hoch wie möglich.
Während also mehr Arbeit, als es könnte in einer typischen Klasse sein,
wir hoffen, dass die Renditen für Sie und die Take-away für Sie
und die Fähigkeiten und Ideen mit dem verlassen Sie
desto zwingender als Folge sind.
Und bekommen Sie there-- und dies ist einer der Schlüssel zum Mitnehmen,
wie Patrick erwähnt earlier-- ist Die Tragstruktur des Kurses.
Also nicht nur hat CS50 eine von die größten Kurs-Mitarbeiter auf dem Campus.
Es hat auch eine der die meisten Bachelor.
Tatsächlich CS50 im vergangenen Jahr war die erste Klasse
einen Bachelor-Lehrpersonal zu haben.
Und Beweis für diesen Erfolg jetzt tun viele andere Kurse innerhalb von Yale CS
haben, dass, wie gut.
Und für Studenten, speziell, werden diese TAs und natürlich Assistenten
unterstützen eine ganze Netzwerk von Support-Ressourcen,
unter ihnen Teile oder Rezitationen, wöchentliche Chancen
intimere Gespräche zu führen und Bewertungen von Material gezielt
für verschiedene Spuren, für Studenten weniger bequem, bequemer,
oder irgendwo dazwischen.
Diese werden folgen die Verfügbarkeit von die Vorträge von mehreren Tagen pro Woche
montags und dienstags.
Und dann Büro hours-- One-on-One-Möglichkeiten
um Hilfe aus dem Kurs CAs und TAs wird mittwochs und donnerstags
und Sonntag an mehreren Zeiten, von denen alle
wird auf den Kurs der Website veröffentlicht werden, noch mehr als im vergangenen Jahr, wie auch.
>> Aber was ist Schlüssel zum CS50, wenn nicht zugegebenermaßen ein bisschen ungewöhnlich,
ist die Kultur der Kurs, dass wir haben zu pflegen versucht,
beide in Cambridge seit vielen Jahren und jetzt zuletzt in New Haven.
Und in der Tat, kommen diese Samstag, wenn Sie nicht gehört haben,
ist CS50 Puzzle Day, der hat nichts mit Informatik zu tun
aber vollständig entwickelt zu schicken eine Meldung, dass der Informatik ist
um Probleme zu lösen.
Und in der Tat, wenn Sie möchten, dass Partner mit einem oder zwei oder drei Freunde
und bilden ein Team für CS50 Puzzle-Tag, werfen Sie einen Blick
bei den Anzeigen, die sich auf den Weg gibt.
Und drei Stunden Pizza und Puzzles und Preise warten.
Und in der Tat, für die Erstmals in diesem Jahr,
es wird nicht gemeinsam mit der Harvard statt.
Es wird an der Yale hier unabhängig sein.
So halten Sie ein Auge für diejenigen, wenn Sie nicht haben.
Die meisten jeden Freitag im Semester versuchen wir eine große Klasse zu machen
sich klein und rund 50 Studenten bringen zum Mittagessen mit den Mitarbeitern des natürlich
mit Alumni, Freunde aus der Industrie zu sprechen
über das, was das Leben ist wie nach einer Klasse wie CS50 und über den Sommer
und nach dem Abschluss.
So halten Sie ein Auge für Einladungen zu dem.
Zum ersten Mal immer wird in diesem Jahr wir
Halten Sie die erste CS50-Codierung Wettbewerb, eine optionale Opt-in-Möglichkeit
Mitte Semester, nachdem alle von uns gehabt haben etwa sechs oder sieben Wochen Programmierung
in C unter den Gürtel zu konkurrieren, wenn Sie würde so wieder wählen--
auf teams-- versuchen, lösen, wie viele Herausforderungen
wie Sie in der Programmierung können mit Freunde von Ihnen gegen andere.
>> Und gegen das Heck des Semesters werden wir Charter einige Busse,
tatsächlich einige Zeit verbringen wenn Sie in Cambridge, würde
gerne zu uns, für die CS50 Hackathon so genannte.
Am 07.00 werden wir beginnen.
Gegen 9 Uhr werden wir Pizza haben.
Rund um 01.00 Uhr, werden wir Burritos haben.
Und noch jemand wach auf die Fahrt mit dem Bus nach Hause um 05.00 Uhr,
wir werden für Pfannkuchen Stopp bei IHOP auf dem Weg home--
eine 12-Stunden-Gelegenheit einzutauchen sich mit Mitschülern und Personal
in der letzten Projektkurs, was eine Gelegenheit
zu gehen weit über die natürlich das Problem Sets
und entwerfen und implementieren die meisten etwas für Sie von Interesse,
das wird letztlich sein hier in Commons gekennzeichnet.
Die erste CS50 Messe wurde zuletzt Jahr, eine End-of-Semesterausstellung
oder eine Feier dessen, was jeder hatte in der Klasse erreicht,
vor allem diejenigen, wieder, der ging von nichts zu etwas, von Null bis 60 ist,
da sie keine vor Hintergrund und ausstellenden letztlich
etwas für den gesamten Campus und, wenn online, auf der Welt, aber auch zu sehen.
>> Nun, das sind hier nur einige der TAs und Zertifizierungsstellen, die CS50 möglich macht.
Erlauben Sie mir, jeder einladen dieser Mitarbeiter
die hier sind, auf die Bühne zu kommen, sowie die Köpfe des natürlich
zu bieten einige Worte Inspiration, wie gut.
>> ANDI: Hallo, Jungs.
Könnt ihr mich hören?
Vielen Dank für uns auf dieser Beitritt schön, am Nachmittag regnerischen Donnerstag.
Mein Name ist Andi.
Ich bin ein Junior in Berkeley.
Und zusammen mit Stelios und Sommer, wir werden Ihre drei Kopf Lehre sein
Assistenten für dieses kommende Jahr.
Also, ich denke, Show hands-- wie viele von Ihnen
haben nicht die Absicht, ein CS des Seins Dur noch wirklich tauchen tief
in Informatik als hier Major?
Genial.
Das ist hervorragend.
>> Ich bin also eigentlich um eine globale Angelegenheiten und Kognitionswissenschaft Dur.
Ich kam buchstäblich zu Yale mit der Absicht,
nie mit auf eine zu suchen Nummer nie wieder in meinem Leben.
Als ich nach Yale kam, war dies etwas, das nie auf meinem Radar war.
Ich wollte über Poesie zu lernen.
Ich wollte darüber zu erfahren, internationale Angelegenheiten.
Ich wollte darüber zu erfahren, Aquarellzeichnungen.
Ja, wir bieten eine Klasse auf Aquarellzeichnungen.
>> Aber ich war nie wirklich interessiert in etwas verwandten STEM.
Aber dann je älter ich bekam, erkannte, je mehr ich
dass jedes Feld wirklich in einigen Sinn beschäftigt Informatik,
oder wenn nicht Informatik, Berechnung.
In der Tat, für meine globalen Angelegenheiten capstone Projekt,
wir verwenden Datenanalyse Terroranschläge zu analysieren
für Boko Haram in Nigeria.
Und so wie Sie sehen können, und zwar unabhängig von welchem ​​Haupt Sie am Ende der Verfolgung
oder was Ihre Interessen hier in Yale sind, die Programmierung und die Fundamente
von was auch immer Fähigkeiten sind super nützlich.
Und CS50 ist wirklich gut gerüstet Art verleihen der viele seiner Ressourcen
Ihnen, unabhängig davon, wie gut Sie sind
oder, wie interessiert Sie in der Klasse zu verfolgen.
>> Sommer wird ein wenig zu reden Bit über das, was ihr seid
geht dieses Jahr zu lernen.
SOMMER: Hallo, alle zusammen.
Ich bin Sommer Wu.
Ich bin ein Junior in Morse.
Und ich begann tatsächlich aus als CS50 Schüler selbst.
So vor drei Jahren war ich auf eine Lücke Jahr.
Ich hatte noch nie ein CS genommen Klasse in der High School,
aber ich dachte, dass in meiner Freizeit, es wäre cool, zu lernen, wie man Code.
Also habe ich eine schnelle Google-Suche, sah für das, was online verfügbar,
und sah dieses Video mit Muppets und DJs und coole Websites.
Ich war wie, ich will lernen, wie das zu tun.
>> Also nahm ich den Kurs, und ich nur verliebte sich in sie.
Aber ich erinnere mich so neidisch auf das Wesen Kinder, die den Hackathon teilnehmen konnten,
besuchen Puzzle Tag, besuchen Büro Stunden, Hilfe von Tutoren persönlich bekommen.
Und so stellte ich mir nie dass ich würde die Chance bekommen,
hier einbezogen werden in der Kurs, erste bekam
mich interessiert sich für Computer Wissenschaft und ist der Grund, warum
Ich bin ein Informatik-Dur heute.
Also werde ich Sie warnen, diese Klasse wird Sie zu strecken.
Es wird Sie herausfordern.
Aber es wird auch zu beibringen, wie man Dinge tun
dass Sie nie gedacht man könnte.
>> STELIOS: Hallo, alle zusammen.
Mein Name ist Stelios.
Ich bin ein Junior in Branford College und ein CS-Dur.
Ich bin auch von Athen, Griechenland.
Ich freue mich wirklich zu allen von Ihnen zu treffen,
Chat mit Ihnen in Abschnitt, an Bürozeiten am Freitag Mittag.
Ich bin wirklich aufgeregt, weil wir haben so viel Mühe geben
in eine einzigartige Unterstützung zu schaffen Struktur für alle von Ihnen
machen Sie Ihre Erfahrungen mit die natürlich die bestmögliche.
Und ich hoffe, dass, obwohl die meisten Sie haben wahrscheinlich kein CS genommen
Kurs vor, ich hoffe, das ist CS50 Sie ist das, was Interesse Funken
weiter Computer verfolgen Wissenschaft in der Zukunft,
wie es mit so getan viele Menschen in der Vergangenheit.
Also vielen Dank für Ihre hier, aufgeregt, Sie zu sehen.
Jason Hirschhorn.
JASON HIRSCHHORN: Hallo, alle.
Mein Name ist Jason Hirschhorn.
Ich lebe in Silliman.
Und ich ging nach Harvard als under und studierte Sozialwissenschaften
und in der Informatik minored.
Und eine meiner Hauptrollen hier ist dieses wunderbare Personal zu unterstützen
wie sie unterstützen Sie alle.
In der Tat ist dies von ihnen nicht alle.
Es gibt 55 Diplomanden und Absolventen hier, Sie alle zu unterstützen.
Und ich wage zu behaupten, eine der besten Teile des Kurses für Sie
alles wird immer mit zu arbeiten sie, sie kennen zu lernen,
bekommen sie zu sehen, die beide in CS50 und außerhalb des CS50 in diesem Semester
und für viele Semester zu kommen.
Hoffentlich werde Sie die Natürlich, weil hoffentlich
erhalten mit der Interaktion wunderbares Personal haben wir auf der Bühne.
>> SPRECHER: Nun, lassen Sie mich ausreden mit den Worten: es wird Spaß machen.
DAVID MALAN: Nun, Dank unseres gesamten Teams.
Erlauben Sie mir, das Licht zu dimmen und etwas mehr von unserem Team ermöglichen,
sowohl von Cambridge und New Haven, Hallo zu sagen, wie diese Jungs aus Datei.
Und danach werden wir den Übergang zu das erste unserer Programmierung Engagements
mit dieser Sprache namens Scratch.
Also vielen Dank an das Team.
Lassen Sie uns die Lichter dimmen und hören von einigen anderen.
>> [BEIFALL]
>> [VIDEO-WIEDERGABE]
>> -Die Mission von CS50 ist es, Ihnen zu machen wohler mit einer völlig neuen Art und Weise
des Denkens, diese Rechen Mentalität.
-Es Gemacht Informatik interessant, die
ist etwas, das ich nicht wirklich erkennen, möglich war, bis ich die Klasse nahm.
-Ich War wie, whoa.
Ich übersetze wirklich meine Gedanken in diesem Augenblick einen Computer.
>> -Auch Wenn Sie irgendeinen Hintergrund nicht haben in der Informatik oder jede Erfahrung,
das ist eigentlich die Klasse für Sie.
>> -So Ich möchte auf jeden Fall meine Schüler nur
Aufregendes Informatik.
Nicht nur die Programmierung, aber Denken wie ein Informatiker
wirklich ist, was ich will versuchen, meinem ersten zu unterrichten.
>> -CS50 Ist hart und lohnend.
>> -Ein Erlebnis.
>> -Extravaganza.
>> -Es Ist uns auf die nächste Ebene zu bringen.
>> [MUSIK SPIELEN]
>> -Die TFs sind, glaube ich, die Lebenselixier des Kurses.
>> -Ich Bin aufgeregt zu haben meine Studenten Ich helfe
haben, dass aha Moment zu erkennen, was sie tatsächlich versuchen,
zu tun, um herauszufinden, wie ein pset zu tun.
>> -CS50 Ist auf jeden Fall ein harter Kurs.
Aber im Gegensatz zu allen anderen Kurs wirklich in Yale,
es hat eine so große, unterstützende Gemeinschaft.
-Sie Tun absolut nicht müssen nichts wissen
über Codierung der Lage sein, den Kurs zu nehmen.
-Es Ist erstaunlich, wie weit zu sehen Menschen kommen in einem Semester.
>> -Sie Saßen nicht allein in Ihr Zimmer Code lernen,
aber es war mehr als nur eine Klasse.
Es war ein Erlebnis.
-Der Beste Weg, Konzepte zu lernen und zu verarbeiten, sie durch die Lehre andere.
>> -Was Ist das Telefon Split?
>> [MUSIK SPIELEN]
>> -Und Das ist CS50.
>> [MUSIK SPIELEN]
>> -Das Ist CS50.
>> -Hab ein Problem?
Reißen Sie es in zwei Hälften.
>> [MUSIK SPIELEN]
>> Wirf es weg.
>> DAVID MALAN: Alles in Ordnung.
Also lassen Sie uns tackle-- in einem kleinen Bit, nebenbei bemerkt, ist es
diese Tradition seit einen Grund für 10 Jahre
dienen Kuchen bei der Start und das Ende des CS50.
So erwarten Sie am Ende heute, zusätzlich zu den Curricula,
wird auch ein Stück Kuchen, und die Mitarbeiter der Kurs um Hallo zu sagen.
Aber jetzt wollen wir Übergang in die erste unserer Sprachen, in denen
wir verbringen wirklich nur eine Woche und ein Problem setzen auf dieser Domain, Scratch.
Und Sie werden feststellen, wenn Sie haben programmiert vor, viele
der Ideen und der Möglichkeiten stehen Ihnen vertraut.
Aber Sie werden feststellen, dass es ist Spaß auf dem Weg
um herauszufinden, wie genau zu übersetzen einige der Ideen, die Sie bereits kennen
dieser besonderen Umgebung Beeindrucken Sie Ihre Familie wirklich
und Freunde mit Ihrer Arbeit, die kann online gehen, wenn Sie so wählen, danach.
>> Und wenn Sie nicht Vorkenntnisse und sind
bei der Mehrheit der Studenten weniger komfortabel,
erkennen, dass viele der Ideen, die wir nur mit reality-- Dinge erforscht
wie Telefon-Bücher und die Teilnahme und so forth-- übersetzen
ziemlich gut an einen Computer, aber nicht, wenn Sie verwenden,
zunächst eine Sprache wie diese.
Das ist also ein Programm geschrieben in einer Sprache namens C.
Und wir verbringen ziemlich viel Zeit in C schließlich.
Aber Chancen sind, wird dies ein bisschen aussehen auf den ersten Blick Sie kryptisch.
In der Tat gibt es eine Menge von seltsamen Syntax, Klammern, eckige Klammern,
geschweiften Klammern, Zitate und Semikolons.
Und in der Tat, wenn Sie tauchen ein in Programmierung zum ersten Mal
Blick auf und versuchen, Dinge zu schaffen wie diese, Sie bekommen ehrlich, so verstrickt
so oft in nur dumm Minutien, die nichts
intellektuell interessant darüber.
>> Aber wenn Sie sich vorstellen schaffen könnte diese gleiche program-- die,
wie Sie Art könnte, wahrscheinlich folgern druckt "Hallo, Welt" so oder so.
Wir können das gleiche Idee destillieren in nur zwei Puzzleteile, wenn man so will.
Tatsächlich Scratch ist interessant denn es ist diese grafische Sprache.
Sie können diese per Drag & Drop Puzzle-Teile, die nur Verriegelung
wenn es logisch, sinnvoll ist, dies zu tun.
Und so in Scratch, Wir werden bald sehen, das ist
wie würden Sie implementieren die gleiche Programm, mit nur zwei Puzzleteile
das ist ziemlich viel zu tun, was sie sagen.
>> Aber wir werden in nur einem Augenblick sehen, dass einige der Bausteine, die wir angespielt
zu früheren und ein paar mehr sind alles, was schließlich gehen zu bilden
einige unserer frühesten Programme.
Wir gehen die Dinge zu haben, wie functions-- nur
Aktionen, die etwas tun, wie sagen, hallo, Welt.
Wir gehen Schleifen zu haben, Dinge, die Zyklen induzieren
immer wieder, wie wir gerade ein Moment habe vor mit der Suche
Mike Smith.
Variablen, wie in der Algebra, wenn Sie haben x oder y, die eine Anzahl speichern kann.
Nun, in einem Programm, können Sie tatsächlich speichern mehr als nur Zahlen.
Sie können Wörter und Sätze speichern und Grafiken und andere Dinge noch.
Booleschen Ausdrücken, nur questions-- ja oder nein, wahr oder falsch.
Bedingungen, die Entscheidungen basierend auf diesen Ja / Nein-Antworten.
>> Und dann ausgefallenere Dinge wie Array und Themen und Ereignisse
und eine beliebige Anzahl anderer Eigenschaften, aber alle davon
Karte sehr gut bis sehr freundliche Blöcke wie diese.
Das wird eine Funktion, eine zu sein lila Puzzlestück, das nur sagt
was sein Name in diesem Fall ist--, sagen.
Und dann oft, gibt es ein weißes Feld, dass Sie
kann geben Sie einen Wert in oder ziehen.
Und das ist, was in der Regel ein Argument oder ein Parameter genannt.
Es ist ein Weg, der zur Veränderung Standardverhalten eines Puzzles
Stück oder eine Funktion, so dass es tut etwas speziell für Sie wie zu sagen,
hallo, Welt oder hallo, Andy oder hallo, Jason oder ein anderer Satz statt.
>> Wenn Sie wollen, dass ein zu sagen, lot-- buchstäblich forever--
Sie können eine andere nehmen Puzzlestück für immer genannt
und nur sandwichartig die zwei wie folgt zusammen.
Und das Schleife, wie das Bild vermuten lässt, hallo bedeutet nur sagen, Welt für immer,
wieder und wieder und wieder.
Oder, wenn Sie wollen es nur eine zu tun finite Anzahl von Malen, wie das 50-fache,
es geht um eine andere Rätsel zu sein Stück für dass-- wiederholen 50 mal.
>> Inzwischen, wenn Sie wollen haben eine veränderliche
in dieser Sprache sind wir etwa mit zu spielen,
Sie können einen orangefarbenen Block wie folgt verwenden.
Und diese Variable I willkürlich i für ganze Zahl genannt.
Und ich brachte es nur gleich 0.
Und so vielleicht ich, in dieser Fall-- diese'variable
stellt in einem Spiel der Gäste jemand.
Sie beginnen bei Null, und jedes Mal, wenn Sie machen, ein Ziel oder so etwas,
Sie erhalten einen zusätzlichen Punkt.
>> Sie können Fragen in Scratch fragen.
Wenn wir ziehen und Puzzle-Drop Stücke in einem Moment wie diesem,
Sie können wie Fragen stellen, gut, ich weniger als 50?
Vielleicht brauchen Sie 50 Punkte zu gewinnen.
Und so wäre dies die Frage, die Sie fragen würde.
Oder, allgemeiner, Sie sagen kann, ist x kleiner als y,
wo gibt es zwei Variablen beteiligt?
Nun, dies ist ein viel größer auf den ersten Blick
aber wirklich nicht allzu viel komplexer.
>> Dies ist nur eine Kombination von Bedingungen und Variablen
und Booleschen Ausdrücken zu stellen drei questions-- ist x kleiner als y?
Wenn ja, so sagen.
Sprich: x kleiner als y.
Sonst, wenn x größer ist als y, sonst muss x bis y gleich sein.
Und während bei Mike Smith, gab es vier Szenarien, hier
in der Welt der Zahlen, x entweder kleiner als, größer als oder gleich.
Alles, was wir haben, sind drei Gabeln in der Straße.
Und dann gibt es schicker Puzzleteile wie dieses
für Dinge wie Arrays, wo wir sind gehen in der Lage sein, Informationen zu speichern.
Wir werden Blöcke, um zu sehen, mit denen us mehrere Threads zu implementieren,
wir werden eine andere Funktion zu verwenden, und dann etwas auch Ereignisse genannt.
Aber bevor wir dazu kommen Punkt und schaffen sogar,
letztlich unsere eigene Puzzleteile, lassen Sie uns
öffnen tatsächlich das Programm selbst.
>> Das ist also Scratch.
Es ist bei scratch.mit.edu zur Verfügung.
Und Sie sind willkommen zu spielen jetzt oder später, wie auch.
Dies geschieht, die Offline-Version zu sein.
Für Menschen, die dies nicht tun haben notwendigerweise große Internet,
Sie können den Download gleiche Software, wie gut.
Und es gibt wirklich nur drei Komponenten dieser Software.
Auf der linken oberen Ecke der Bildschirm ist die Art von der Bühne
dass Scratch, die standardmäßig sieht aus wie eine Katze, innen lebt.
Er kann nach oben, unten bewegen, nach links und rechts und tun eine beliebige Anzahl von anderen Dingen,
und kann eine beliebige Anzahl von Möglichkeiten suchen, basierend auf die Kostüme, die Sie ihm zuweisen.
Aber das ist, was wir einen Anruf Sprite, eine Art von Charakter.
Und Sie können mehrere haben Zeichen, wie wir bald sehen.
>> In der Mitte sind jetzt alle diese Rätsel Stücke und diese Kategorien oder Paletten
davon.
So jetzt, klickte ich auf Motion.
Und so sah ich all die Bewegung bezogenen Puzzleteile oder Blöcke,
so Funktionen haben zu tun mit oben gehen,
unten, links oder rechts oder einige andere Operation.
Aber wenn ich auf Sieht aus geklickt haben, Sie sehen konnte, Dinge wie die sagen Block
dass wir sahen vor einem Augenblick gerade.
Und wenn ich auf der Control klicken, werden Sie sehen, Dinge wie die Wiederholung und die für immer
und der, wenn Block, wir sahen vor einem Augenblick.
>> Und so werden Sie feststellen, dass wir nur kratzen
die Oberfläche von einigen der Puzzleteile zusammen,
aber es ist alles recht intuitiv und Punkt und klicken.
Tatsächlich wurde Scratch entworfen für jüngere Schüler
helfen Sie ihnen einen Ausgang geben für kreatives Denken.
Und doch wunderbar, es ist ein wunderbares Sprungbrett
um genau die Ideen werden wir zu erforschen in C und Python und JavaScript,
als auch.
>> Auf der rechten Seite schließlich hier dies ist die so genannte Bereich Skripten.
Und das ist nur die leere Tafel mit die Sie beginnen, ein Programm zu schreiben.
Und ich werde genau das.
Nun, ich weiß zufällig, wo die Dinge sind denn ich habe dies einige Male getan.
Aber ich weiß, dass unter die Ereignisse der Kategorie,
da ist dieser Block hier-- wenn grüne Fahne geklickt.
Und merken, wenn ich vergrößern und zurück in mehr als hier auf der Bühne,
Scratch Leben innerhalb dieser kleine rechteckige Welt,
oben auf dem ein grün Flagge und ein rotes Stoppschild.
So gehen und aufhören, respectively.
>> Und so was muss ich tun möchte, wenn die grüne Fahne geklickt?
Nun, lassen Sie mich gehen, um diese Kategorie Looks.
Und lassen Sie mich gehen voran und ziehen diese.
Und bemerken, sobald es bekommt schließen, sie sind Art von magnetisch.
Also, wenn ich jetzt gehen lassen, es schnappt zusammen schön und sauber.
Und ich werde weitermachen und etwas sagen wie: Hallo Welt!
für zwei Sekunden.
Lassen Sie mich verkleinern und klicken Sie jetzt die grüne Flagge, und sagen, hallo, Welt.
Gut.
Also das ist alles schön und gut.
Nicht alles, was spannend.
Sagen wir es ein wenig netteres machen.
Und ich weiß, dass in Voraus, Scratch geschieht
mit einigen netten Dinge wie diese zu kommen.
So spielen Sound miauen bis getan.
Also lassen Sie uns dies tun.
>> [MIAU]
>> Ach, das ist liebenswert.
Und wenn ich es klicken again--
>> [MIAU]
>> Und wieder.
>> [MIAU]
>> Aber ich muss immer wieder Scratch zu reanimieren.
Aber ich kann besser als dies tun.
Warum ich ziehen nicht nur drei davon.
Und jetzt ist es dreimal so liebenswert.
>> [Miauen]
>> OK, eigentlich ist es ein wenig gruselig.
Also müssen wir etwas dazwischen gibt.
Wenn ich in der Systemsteuerung gehen, sieht es aus wie es gibt tatsächlich eine Warteblock.
Und so bemerken, wenn ich schweben über there-- und lassen Sie mich das ein wenig größer zu machen.
Wenn ich schweben, es geht zu einrasten.
So ein Sekunde warten eine Sekunde warten.
Lassen Sie uns wieder grüne Fahne getroffen.
>> [Miauen]
>> OK, ein wenig natürlicher, aber nicht sehr effizient.
Das ist also richtig, wenn mein Programm der Ziel war miauen dreimal.
Aber es ist nicht sehr gut gestaltet.
Ich schnitt Art von ein paar Ecken.
Ich habe ein wenig faul.
Was fühlt like-- was ich scheine zu haben, schlecht gemacht, würden Sie sagen?
Ja?
Ja, in der Mitte.
PUBLIKUM: Gebrauchte mehr Speicher, als Sie benötigt, um
weil Sie verwenden so viele verschiedene Linie.
DAVID MALAN: Ja, so mehr Zeilen.
Und es wäre nicht unbedingt Erinnerung sein, obwohl es als diese Weise gesehen werden konnte.
Aber es ist definitely-- gibt es Redundanz.
Und ich buchstäblich Art geschleppt und ließ die gleichen Dinge.
Und wenn Sie Art von extrapolate-- wenn es ist nicht gut hier-- offensichtlich, wie würde
Ich miauen 30 mal?
Ich würde ziehen, wie, 30 weitere Paare von Puzzle-Teile.
Und sicher, es gibt einen besseren Weg.
Und wir haben einen besseren Weg gesehen.
Was intuitiv würde der bessere Weg?
Ja, verwenden Sie nur eine Schleife.
Kein Kopieren und Einfügen.
Und in der Tat, zu jeder Zeit diese Semester, wenn Sie beginnen
finden sich Drag & Drop, oder wirklich Kopieren und Einfügen,
gefährliche Gewohnheit, weil in zu erhalten Das ist einfach nicht sehr wartbar.
Zum Beispiel, wenn ich ändern wollen der Ton, um etwas anderes,
Ich muss es jetzt in drei ändern Stellen anstatt nur einer.
Denn in der Tat, wenn ich brechen diese away-- Ich bin
nur geht es so zu entkoppeln.
Lassen Sie mich einen Wiederholungsblock greifen und dann drei klicken, geben Sie drei,
werfen einige davon weg von nur gehen zu lassen.
Und dann merken es sieht nicht so aus, wie es passt,
aber magnetisch, es wird einrasten nicht nur
aber wachsen die Form zu passen.
Also das ist gut.
Und jetzt, wenn ich spielen klicken Sie auf.
>> [Miauen]
Sehr schön.
Gut.
Und jetzt ist es sehr einfach, ändern, auch, weil ich kann einfach
ändern Sie eine Nummer an einem Ort.
Aber auch dies ist nicht alles, was interessant.
Lassen Sie uns tatsächlich haben Scratch nicht miauen, sondern bewegen.
Lassen Sie mich an Bewegung gehen und 10 Schritten bewegen innen von-- hoppla, lassen Sie mich dies zu beheben.
Lassen Sie mich haben es 10 steps-- bewegen tatsächlich, lassen Sie uns nicht noch wiederholen.
Lassen Sie mich einen Steuerblock greifen, und tun immer die folgende.
Für immer, bewegen sich 10 Stufen.
Und klicken Sie auf Wiedergabe.
>> OK.
Also zum Glück bleibt er stehen.
Andernfalls würde sich Kinder sehr aufgeregt wenn sie Art ihrer Katze verlieren.
Aber zumindest kann ich ziehen ihn zurück in den Bildschirm.
Aber das ist nicht alles, was groß von einem Spiel oder einer Animation.
Es wäre schön, wenn vielleicht er abprallte den Rand.
Also, was machen wir?
Welches Konstrukt brauchen wir haben Scratch entscheiden zu hüpfen, denken Sie,
Auch wenn Sie noch nie gesehen Scratch vor?
Ja, auf der Rückseite.
PUBLIKUM: Sie benötigen ein wenn Block oder if-then.
DAVID MALAN: Ja, so etwas Art, wenn Block oder if-then.
Also eigentlich haben wir eine von diesen hier.
So if-- so lassen Sie mich bekommen der Bewegung befreien.
Lassen Sie mich vergrößern, so dass es größer ist.
So wie über dieses.
Immer, wenn Sensing-- Wir haben dies bisher noch nicht gesehen.
Ich brauche einen Booleschen Ausdruck.
Und es stellt sich was, wenn rührend aus?
Wenn die Kante zu berühren, Was will ich tun?
Nun, wenn ich wieder zu Bewegung, stellt sich heraus, kann oh, drehe ich mich um.
Lassen Sie mich diese ziehen hier.
Warum gehe ich nicht weiter und drehen sich um 180 Grad?
>> Und jetzt lassen Sie mich einfach am Ende bewegen.
Ich konnte die Bewegung setzen bei der Beginn oder das Ende.
Aber logisch, bewegen jedesmal, wenn ich, ich prüfen wollen, bin ich den Rand zu berühren?
Berühre ich den Rand?
Damit logisch drehe ich mich um, wenn ja.
Also lassen Sie uns Spiel getroffen.
>> OK.
So ist es leicht fehlerhaft, so zu sprechen.
Und ein Fehler ist nur ein Fehler in einem Computerprogramm.
Aber zumindest, dass es funktioniert.
Und in der Tat kann ich gehen hier in.
Und lassen Sie mich es nicht mehr als 10 Stufen auf machen Zeit, aber dies ist alles Animation ist.
Das ist alles eine Karikatur oder sogar ein Film ist.
Lassen Sie mich zu einem Zeitpunkt 20 Schritten zu bewegen.
So 20 mal so viele Dinge passieren einmal oder zweimal so viele, in diesem Fall.
Und er bewegt sich schneller.
Lassen Sie mich zu 30 ändern.
100.
1,000.
Und es wird wirklich schnell.
Und das ist-- ja, OK.
>> So, jetzt sind wir in Unordnung nur mit ihm.
OK, so fehlerhaft.
Aber wir können ihn aus dem Weg hierher ziehen.
Aber wir können noch mehr Spaß mit diesem machen, auch.
Wie wäre es this-- er den Kopf ist.
Aber es stellt sich heraus Scratch-- und es ist eigentlich,
Ich habe zu verzichten, keine akademische Wert auf das, was ich bin zu tun.
Aber wenn ich das Mikrofon öffnen, lassen Sie uns stoppen ihn und tun so etwas.
Autsch!
>> [LACHEN]
>> Das war entzückend.
Vielen Dank.
Nun ist es das, was meine Stimme autsch aussieht, wenn ich schreien.
Ich glaube nicht, dass wir dein Lachen gefangen.
Das ist ok.
Lassen Sie mich das Speichern unter "Aua."
Lassen Sie uns dies als "autsch" speichern.
Und jetzt sind wir zurück zu Scripts gehen.
Und jetzt need-- ich mal sehen, Ton.
Oh, spielen Sound autsch.
Also, wenn ich den Rand zu berühren, lassen Sie mich erste Spiel autsch, und dann umdrehen.
Und jetzt wollen wir ihn in der Mitte setzen.
>> [SAGEN "OUCH"]
>> Doppelt so schnell.
>> OK.
Aber es ist buchstäblich zu tun, was ich sage.
So ist es in der Tat richtig, ist es nur ein wenig ärgerlich schnell.
Also lassen Sie uns noch etwas hinzufügen interessanter zu diesem.
Lassen Sie mich öffnen, tatsächlich eine, die ich im Voraus,
treffend Pet genannt Katze, die dies tut.
Hier ist das Skript hier oben.
Was wird dies tun in englischen Begriffen?
Was ist das entworfen, um zu tun?
Ja, wir gehen some-- ja?
>> PUBLIKUM: Wenn Sie pet die Katze, es miaut.
DAVID MALAN: Ja, also, wenn Sie Haustier die Katze, geht es zu miauen.
Also mit anderen Worten, es ist jetzt noch immer Schleife, kombiniert
mit einem Zustand, kombiniert mit einem Booleschen Ausdruck,
mit einem Paar kombiniert Funktionen, die Wirkung
einmal von denen, die ich spiele Dieses Programm ist nichts
geschieht, bis ich den Cursor zu bewegen näher und näher und näher und-
>> [MIAU]
Dann ist es wie die Katze streicheln.
[MIAU]
wenn Sie nur tatsächlich bewegen Sie den Cursor über ihn.
Nun, ich peitschte auch nicht streicheln die Katze, die in diesem stattdessen tut.
>> [Miauen]
>> So ist er nur ständig Miauen.
>> [Miauen]
>> Aber wenn ich zu close--
>> [Miauen]
>> [BRÜLLEN]
>> Also, wie funktioniert das?
Ich habe jetzt nur ein Zwei-Wege-Gabel in der Straße.
Wenn berühren Mauszeiger, spielen dann den Löwen-Sound.
spielen Else nur die miauen Sound, und dann drei Sekunden warten, so
dass es eine Art tut es ist sehr ruhig.
Gut.
Das ist also die Kombination von einige weitere Ideen immer noch.
Lassen Sie uns an diesem Beispiel einen Blick Ich peitschte genannt Threads.
Und dieses ist grundsätzlich anders, dass es Hebel
ein Merkmal vieler Programmiersprache namens
Fäden, die Fähigkeit eines Programms, buchstäblich tun zwei Dinge gleichzeitig.
Tatsächlich, in diesen Tagen, wenn Sie verwenden Google Text & Tabellen oder Microsoft Word,
und Ihr Dokument ist ständig sein Rechtschreibüberprüft auch, wie Sie type-- oder Sie
Hit Befehl-P oder Strg-P und Druck etwas,
es Druck, während Sie die Eingabe fortsetzen.
Programme heute kann in der Tat zu tun mehrere auf einmal Dinge, genau wie in Scratch
Hier.
>> Also hier, ich habe zwei Sprites Jetzt, ein Vogel und eine Katze.
Und wenn ich auf jeden Klick von jene Zeichen ein zu einer Zeit,
Ich sehe jetzt die Vogel Skripte oben rechts.
Jetzt sehe ich die Katze.
Vogel, Katzen.
Also jeder von ihnen ihre eigene Schrift haben.
Beachten Sie aber, was für Puzzleteil tun sie beide beginnen mit?
Wenn grüne Fahne geklickt.
Und Vogel, wenn grüne Fahne geklickt.
Also, wenn ich auf die grüne Fahne, beide dieser Skripte oder Programme
werden parallel laufen zu lassen.
Und Sie werden feststellen, dass der Vogel nur abprallen gedankenlos den Rand.
Die Katze eindeutig programmiert wurde einen strategischen Vorteil.
Und--
>> [BRÜLLEN]
Gut.
So fing die Katze den Vogel in diesem Fall.
Warum das?
Nun, Ankündigung zuerst haben wir nur der Vogel geht nur gedankenlos
zu dieser ersten Lage, und dann für immer,
wenn die Katze nicht zu berühren, nur bewegen.
Und wenn Sie am Rand sind, prallen.
Und gerade bewegen.
Und wenn Sie am Rand sind, prallen.
Aber die Katze, inzwischen hat einige zusätzliche Logik
das sagt this-- erste, nur so dass dies nicht vollständig vorgespannten
gegen den Vogel bemerken, dass ich ein grünes Puzzlestück verwendet es
dass tatsächlich wählt eine Zufallszahl.
Ein Merkmal von vielen Sprachen ist zu geben, Sie zufällige oder Pseudo-Zufallszahlen.
So in diesem Fall zunächst die Katze wählt eine Zufallszahl zwischen, wie,
90 Grad und 180 Grad, im wesentlichen, so
, dass es ein wenig Varianz.
Und dann für immer, wenn bei Berührung der Vogel, den Löwen-Sound spielen.
Ansonsten weisen nur in Richtung der Vogel.
Richten Sie in Richtung des Vogels.
Punkt in Richtung der Vogel, der ein Puzzleteil an sich in diesem Fall.
Nun, wir können hier noch eine Sache zu tun.
Lassen Sie mich hier, um das Veranstaltungsprogramm eröffnen.
Und hier haben wir wieder zwei Sprites haben, die aussehen wie diese beiden Puppen hier.
Und was interessant ist, hier ist dies.
Der orangefarbene Kerl hat diese Set hier der Puzzleteile.
Für immer tun, um die following-- wenn die Leertaste gedrückt wird,
dann sagen, Marco, und dann Broadcast ein Ereignis.
Und in der Zwischenzeit, hier die blaue Kerl hat this--, wenn Sie das Ereignis empfangen,
sagen Polo.
So stellt sich heraus in Scratch und in anderen Sprachen,
es gibt Möglichkeiten für zwei Programme oder zwei Skripte, in diesem Fall
miteinander kommunizieren, so dass, wenn ich traf die Leertaste, er sagt Marco.
Und der andere hört, dass, wenn man so sprechen, und sagt Polo in der Antwort.
So können Sie Programme schreiben, die tatsächlich auf diese Weise interagieren.
Und wenn ich diese eine Stelle, Ich kann sogar Variablen hinzufügen,
nur mit einem Sprite in diesem Fall.
Dieses ist besonders ärgerlich.
>> [SEAL BARKING]
>> Nun beachtet auf der rechten Seite wir haben einige zusätzliche Logik hier.
Wie verhindere ich, dieses Siegel vom Bellen?
>> [SEAL BARKING]
>> Es sieht aus wie auf der rechten Seite ist, was den Ton zu spielen.
Aber es spielt nur eine klingen, wenn, was wahr ist?
Wenn ein'variable Orange BLOCK-- stumm geschaltet ist Null.
Wie kann ich stumm geschaltet ändern 1 zu sein, Sinn wahr, diese gedämpfte machen?
Offenbar das andere Skript, kann ich traf die Leertaste, und jetzt bleibt er stehen.
So können wir diese Zwischenverbindung haben über Skripte, als auch,
nur durch eine Variable teilen über die beiden so.
Nun, dies ist nicht alles, was interessant.
Fahren wir fort und tun dies und kombinieren viele dieser Ideen mit diesem Programm
Hier.
Bevor wir das tun, obwohl, wie etwa ein Freiwilliger?
Lassen Sie mich den Druck ausziehen von mir, weil ich nicht wirklich
spiele dieses Spiel.
Lassen Sie uns jemand haben wir haben noch nie zuvor gesehen.
Sie müssen bequem sein Kommen auf der Bühne hier, vor der Kamera.
OK, kommen auf.
Sehr mutig.
Wie heißen Sie?
>> IDRIS: Idris.
DAVID MALAN: Es tut uns leid?
IDRIS: Idris.
DAVID MALAN: Idris, schön Sie zu treffen.
Komm rauf.
Und nun, auf Ihrem eigenen Handy Telefon, spielen Sie Pokemon GO?
>> IDRIS: Nein.
DAVID MALAN: Wirklich?
IDRIS: Ja.
DAVID MALAN: OK.
Gut.
Auch schön dich kennen zu lernen.
Komm rüber.
Ich auch nicht.
Also werden wir gemeinsam herauszufinden, wie man spielen diese, die jemand tatsächlich
ging und in Scratch umgesetzt durch die Katze Veränderung im Wesentlichen auf
alle zusammen verschiedene Charaktere.
Und wenn ich Vollbild dies hier, wir gehen
das folgende Spiel zusammen zu sehen.
Noch Laden immer noch geladen werden.
Komm schon.
Lassen Sie mich dies tun.
Komm schon.
Dieses Spiel ist so groß, dass es abgestürzt ist.
Bereithalten.
Versuchen Sie, diese noch einmal.
Komm schon.
Gut.
>> Da gehen wir.
OK.
Grüne Flagge.
Auf geht's.
>> [MUSIK SPIELEN]
>> Wählen Sie die mittlere Ebene hier.
Klicken Sie auf den blauen Kerl da.
Gut.
Und Sie können den Pfeil verwenden keys-- nach oben, unten, links, rechts.
Nun lassen Sie uns überlegen, wie wir this-- tun und gehen dann nach dem Charakter gibt.
Ja.
Und klicken Sie ihn jetzt mit der Maus.
Oh ja.
Bewegung.
Wo ist der Pfeil?
Bitte schön.
So klicken Sie dort auf.
Ja.
Gut.
So, jetzt, ich habe gehört, dass Sie ein Poke Ball haben, dass, wenn es klicken, wird es tun, dass.
Sehr gut.
Bei der praktischen Durchführung für heute, ich diese Version des Spiels gefunden
eigentlich nicht sehr hart.
Also, wenn Sie wollen, wieder zu gehen hier, gehen Sie zu diesem Poke Ball.
Und dann gehen Sie rechts ab.
Versuchen Sie darauf klicken.
Oh, wirklich, das ist das Geschäft, anscheinend.
OK so schließen, dass.
Nie getan, dass vor.
Vielleicht hier oben zu dieser Sache steigen.
Oh, da Sie gehen.
Warten Sie, gibt es da drüben.
Oh, es ist eine andere.
OK.
Nach unten.
Ja, klicken Sie auf.
>> OK, das ist sehr nett.
OK, sehr gut gemacht.
Dieses Spiel ist nicht sehr hart.
OK.
Herzliche Glückwünsche.
Hier haben wir ein CS50 Stress-Ball für Sie.
Aber bedenken Sie nur für einen Augenblick, was einige der Imbissbuden gibt es.
Einfacher als das eigentliche Spiel, anscheinend.
Aber alles, was wir haben, gehen hier ist ein Zeichen
das hat wahrscheinlich eine Art der Schleife zugeordnet ist.
Es ist nicht eine Katze.
Es ist dieser Charakter statt.
Und diese Schleife ist nur ständig sagen, wenn Pfeil nach oben gedrückt,
wenn Pfeil nach unten gedrückt wird, wenn Pfeil nach links gedrückt oder rechts
Pfeil gedrückt, nach oben oder nach unten oder nach links oder rechts.
Oder wenn es ein weiteres Puzzlestück dort das sagt, wenn ein anderes Sprite zu berühren,
wenn eines der Zeichen berühren zum Poke Ball, wenn berühren,
dann tun dies.
>> Also all die Ideen, die wir haben so wurde mit weit wirklich
kann nur in diesem speziellen angewendet werden Kontext dieses Spiel zu spielen, wie gut.
Lassen Sie mich gehen Sie vor und ziehen Eine andere hier in der Tat.
Lassen Sie mich gehen Sie vor und ziehen up, lassen Sie uns sagen, dies.
Dies ist etwas, das wir wieder gemischt.
Hergestellt von einem unserer Studenten in Cambridge,
und dann ging ich durch und verändert so ziemlich jede Instanz von Harvard
diesmal nach Yale.
Würde jemand gerne Wettbewerb gegen die Ivies
hier in einer anderen Anhäufung von all diese Ideen?
Komm runter, ja.
Wie heißen Sie?
>> DINA: Dina.
>> DAVID MALAN: Adina?
>> DINA: Dina.
>> DAVID MALAN: Dina, komm nach unten.
Alle Rechte, Dina.
Also dieses Spiel wird noch schwieriger, und härter, weil in diesem Spiel,
es gibt Variablen als auch verwendet werden die ständig zu verfolgen sind
von welcher Ebene sind Sie im Spiel.
So schön, Sie zu treffen.
Kommen Sie hier in der Nähe.
Und so ist das Ziel hier ist zu sortieren von machen Sie Ihren Weg durch ein Labyrinth
dass dieser Schüler umgesetzt.
>> Und gerade auf die Bühne gesetzt, die jeweils dieser Bilder auf dem Bildschirm
ist seine eigene Sprite, seinen eigenen Charakter.
So waren diese standardmäßig Katzen, aber der Schüler verändert sie
zu den verschiedenen Ivies Logos hier.
Und dann werden Sie genau sehen von Bedingungen und Schleifen mit
und Funktionen und mehr, erhalten Sie diese.
>> [MUSIK SPIELEN]
[MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
>> Ja ok.
Ja, halten zu gehen.
Erste Ebene ist sehr einfach.
Sie haben gerade dort muss gehen.
Aber noch einmal, zu prüfen, dies ist nur ein Schleife hören für den Pfeil keys--
rauf runter links rechts.
Und nun ein Erfassungsblock.
Sehr schön.
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
>> Sehr schön.
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
>> Sehr schön.
Ziemlich einfach, Purpurrot.
Gut.
Levels-- uh-oh.
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
>> Und wieder in diese drei Harvard kämme,
Sie müssen nur Logik wenn auf der Kante zu sagen, bounce.
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
>> OK, was Sie tun, ist interessanter als warum.
Sehr schön.
Uh-oh.
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
Ich denke, man muss sich opfern.
[MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
Schnell!
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
Nett.
Das ist ok.
Du wirst es verstehen.
Ja ja!
Sehr schön.
>> [JUBEL]
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
>> Nett!
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
Ich habs.
Komm schon!
Vorletzter Ebene.
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
>> Gut.
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
Ja.
Gute Verwendung von Variablen hier.
[MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
Ja.
[MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
Nett.
[MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
Es ist in Ordnung.
Wir haben bis zum Ende zu kommen.
Dort.
Oh!
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
>> Könnte heute spät laufen, aber es wird sich lohnen.
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
>> Du kannst es schaffen!
Ja!
>> [JUBEL]
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
>> Das hier ist wirklich hart.
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
>> Registrieren Sie sich noch zwei weitere Leben geben.
Kannst du es machen?
>> [MUSIC - MC HAMMER "U CAN NOT TOUCH DIES"]
>> Gut.
Wie über eine große Runde dennoch Applaus.
Sie kam zu dem vorletzten Ebene.
Vielen Dank.
>> [BEIFALL]
>> Also das ist nur, wie viel zu sagen, Sie kann mit dieser Art von Dingen zu tun.
Und erkennen auch, daß, wenn Puzzleteile exist-- nicht
und in der Tat, dies wird derjenige sein, der Kräfte mit dem ersten Problem
Sets und beyond-- ist tatsächlich eigene erstellen.
Und das ist nur ein Ausschnitt eines der Beispiele
Sie werden in der Lage sein zu spielen mit online, wo
wenn Sie nicht in Scratch gebaut so etwas wie ein Husten Puzzleteil,
Sie können es eigentlich selbst machen.
>> Und so all dies und noch viel mehr erwartet.
Und nur ein Finale zu malen Bild von der Tat, was ist
voraus im Speicher für die Klasse für Sie, basierend auf einige Bilder von Mitschülern
Vergangenheit, lassen Sie mich das Licht zu dimmen ein letztes Mal und zeigen Ihnen CS50.
>> [MUSIK SPIELEN]
>> Gut.
Das war es für CS50.
Kuchen wird jetzt serviert.
>> [MUSIK SPIELEN]