>> [MUSIK]
DAVID MALAN: In Ordnung.
Dies ist CS50.
[Musikwiedergabe Tritonal, Bargeld Bargeld, "Unantastbar"]
[MUSIK]
Sprecher 1: Ich gehe zu Frankreich, und du gehst, zu.
[MUSIK]
DAVID MALAN: Dies ist CS50, Harvard University Einführung
an dem geistigen Unternehmen der Informatik
und die Künste des program-- und zum ersten Mal in der Geschichte
Yale University sowie der.
Tatsächlich, ob du bist hier in Cambridge oder in New Haven oder Miami oder St. Louis
oder Amsterdam oder überall auf der ganzen Welt
Einnahme CS50, Computer Wissenschaft E50, CS50X, CS50 AP,
wir sind alle ein und dasselbe.
Willkommen in CS50.
>> Was wir haben--
>> [BEIFALL]
>> [Lacht]
>> [BEIFALL]
>> Also machte ich einen Fehler selbst einige Zeit her, dass begann ich aus der Schule.
Und ich habe das College, und ich beschlossen, ehrlich gesagt, bleiben in meiner Komfort-Zone.
Ich landete eines Zusammenschlusses, oder in einem großen, von der Regierung.
Ant, die vor allem eine Funktion von mir war Sein ziemlich vertraut mit Regierung
oder zumindest die Geschichte oder mir sehr gut gefallen Verfassungsrecht in der High School.
Und so, als ich hier, ich Art von hingezogen zu den Dingen
mit dem ich bereits vertraut.
Recht?
Gott bewahre ich in der Klasse schlecht tun.
Ich wollte auf jeden Fall bleiben in meiner Komfort-Zone,
und es war nicht bis zweiten Jahr, dass ich endlich
bekam den Nerv zu intensivieren Fuß in einem Klassenzimmer genannt CS50.
Und an diesem Punkt habe ich endlich begreifen dass, mein Gott, Hausaufgaben könnte tatsächlich
sei lustig.
>> Tatsächlich war ich einer jener Kinder dass am Freitag Abend, wenn
die P-SETS würde ich entlassen, würde in mein Zimmer zurück und tauchen
in der P-SETS Nacht.
Und für mich war das ein Zeichen dass dies für mich ein Feld.
Aber was noch wichtiger war, war die Tatsache, dass ich diesen Nerv aufstehen tat
Gewässer vertraut mir zu erkunden und bekommen über meine eigene Komfortzone
und ehrlich gesagt, ich war nur in der Lage zu tun, dass zweiten Jahr durch diese Klasse nehmen
Pass / Fail.
>> Tatsächlich war es die letzte Tag, Ich wechselte schließlich über und schließlich
erklärt CS als meine Konzentration, Putting hinter mir gov an diesem Punkt.
Und so einstellen, dass wir nicht in dies natürlich alle von Ihnen zu drehen
in CS Majors oder Konzentratoren, aber vielmehr Ihnen die Möglichkeit zu geben,
hoffentlich zu gehen über die Welt mit dem Sie aktuell vertraut
und bringen von dieser Welt Fähigkeiten und Kenntnisse und versierte
dass Sie anwenden können, um Ihre eigene Welt, ob das
in den Geisteswissenschaften, Sozialwissenschaften, Naturwissenschaften, oder darüber hinaus.
>> Tatsächlich, wenn Sie das Gefühl ein wenig unerschrockenen
um in diesem Raum zu sein geschweige denn in dieser Klasse,
erkennen, dass wenn die Geschichte ist Anhaltspunkte dafür, 72% von Ihnen
noch nie ein CS-Kurs gemacht.
So ist es mit allen Mitteln nicht der Fall dass der Schüler auf der linken Seite sitzen
oder nach rechts oder nach vorne oder hinter weiß man viel mehr über CS
oder Programmier insbesondere als Sie.
Das ist nicht der Fall in der Tat.
Und in der Tat viel von die Trägerstruktur
dass wir in diese eingerichtet haben Kurs in den vergangenen Jahren
Seit genau gewesen, dass reason-- zu ein auf der Rampe zur Verfügung stellen, die noch beendet
ebenso rigoros und genauso hoch wie ever--
aber die Neigung, von denen können die Schüler weniger komfortabel und komfortabler
gleichermaßen unabhängig zum Erfolg von seiner bisherigen Hintergrund.
>> Ja, was letztlich Angelegenheiten in dieser Klasse nicht ist
so viel, wo Sie am Ende in Bezug auf Ihre Klassenkameraden
aber wo man in Woche 12 am Ende in Bezug auf sich selbst
in Woche null, das ist wo wir sind heute hier.
>> Tatsächlich, und dies kann sehr gut und wahrscheinlich sieht wie Griechisch
zu viele von Ihnen.
Aber seien Sie versichert, dass Dies und noch viel mehr
wird vollständig zu sein in Ihrem erfassen nur ein wenig Zeit in.
>> Aber heute konzentrieren wir uns auf einige der höheren Ebene Ideen
um Ihnen einen Vorgeschmack auf CS50 und Informatik
in einem Sinn, was Sie Wenn Sie sich für.
Und in der Tat, Informatik könnte destilliertem mehr
einfach als Rechen thinking-- Denken wie ein Computer, wenn man so will.
Und es gibt so viele verschiedene Dinge Zutaten, die in das gehen,
aber lassen Sie uns nur drei für heute vorschlagen.
Wenn das Ziel der Klasse schließlich wird nicht Sie programmieren, zu lehren
wird nicht Sie C oder PHP zu lehren oder SQL oder eine beliebige Anzahl der Worte
und Akronyme in der Kurs der Beschreibung,
sondern zu lehren Sie zu lösen Probleme besser
und methodisch zu denken und mehr algorithmisch, so zu sprechen.
Mal sehen, was genau das bedeutet.
>> So würde ich das Denken vorschlagen rechen läuft darauf hinaus,
zur Lösung von Problemen.
Was brauchen Sie, um ein Problem zu lösen?
Sie müssen input-- wie die Eingabe in den problem--
Sie benötigen einen Ausgang, der hoffentlich ist die Lösung,
und dann müssen Sie ein Verfahren, mit welche dieses Problem zu lösen, das
wir werden ein algorithm-- einem Satz nennen Anweisungen für ein Problem zu lösen.
>> Aber lassen Sie uns zuerst auf dem ersten Fokus und die letzte dieser Ein- und Ausgänge.
Computer immerhin offenbar versteht nur Nullen und Einsen.
Aber wie kann das wohl sein?
Auch wenn Sie nicht vertraut überhaupt mit dem, was unter der Haube ist,
Sie wahrscheinlich zumindest gehört, dass Computer verstehen binary--
nur Nullen und ones-- aber wie kann Sie tun vielleicht etwas interessant?
>> Nun, eines der Themen der Klasse wird
um dies layering-- heute, wo wir werden nehmen einen kurzen Blick auf das niedrigste Niveau
Details, aber mit jedem von Tag zu Tag, wo wir die Schicht
oder abstrakte oben auf jenen Details zu lösen, tatsächlich höhere Ebene
Probleme für uns von Interesse.
>> Also hier ist das, was wir nennen könnte binary-- mit nur einem Alphabet von 0 und 1.
Aber wir Menschen sind meist vertraut mit Nachkommastellen.
Dezember Bedeutung 10.
Bi bedeutet zwei.
Und so im Dezimalsystem System haben wir 10 Stellen
unsere disposal-- von Natürlich Null bis Neun.
Also, wenn Sie an einer Reihe aussehen wie diese, die meisten von euch
intuitiv erfassen nur, dass 123 ist.
Es gibt nichts wirklich schwer darüber.
Aber warum ist es 123?
Nun, wenn Sie denken, wieder zu Klasse school-- oder zumindest
die Art, wie ich das gelernt Art world-- Sie
vielleicht daran erinnern, dass wir diese behandelt Dinge in Spalten oder Orten.
>> So haben wir die Einerstelle auf der rechten Seite.
Die Zehnerstelle in der Mitte.
Die Hunderterstelle auf der linken Seite.
Und wie können wir dann bekommen von diesem Muster symbols--
1 2 3-- auf dieser höheren Ebene Idee, dass wir als 123 wissen?
Nun, es ist nur ein paar einfache Arithmetik.
Recht?
>> Die eine besteht im Wesentlichen bedeutet, geben uns 100 mal 1 plus 10-mal
2 plus 1 mal 3.
Und natürlich, wenn wir tun, um die Mathe gibt, dann ist es 100 plus 20
Plus 3-- sonst als 123 bekannt.
>> Also, wenn Sie auf die gleichen Seite wie dieses Recht
jetzt und sind bequem mit der Dezimalsystem als Mensch sogenannte
es ist eigentlich auch innerhalb Ihr Umfang der Komfort
nun das binäre System zu berücksichtigen.
Nehmen Sie eine wilde guess-- bedeutet dies, in der Welt der Computer
in binary-- welche Nummer?
Zero.
>> Aber warum ist das so?
Nun stellt sich heraus, dass die Spalten oder Orte hier-- sie nicht Faches von 10 sind.
1, 10, 100, 1000, und so weiter.
Sie sind stattdessen ganz einfach, Potenzen von 2.
So, 1, 2, 4, 8, 16, 32, und so weiter.
Und jetzt bekommen wir natürlich auf 0 hier einfach deshalb, weil wir haben 4 mal
0 plus 2 mal 0 plus 1 mal 0, was natürlich gibt uns 0.
>> Aber wie gehe ich über die die Nummer 1?
Was ist das Muster der Nullen und Einsen darstellen
die Zahl, die wir Menschen wissen, wie ein?
001.
Und 2?
010.
>> Und nun beginnt das Muster wiederholt.
Jetzt ist es 011.
Und weiter: 0 Vieren, eine 2, eine 1.
Also 2 plus 1.
Das sind 3.
>> Und nun 4 zu repräsentieren, wir ändern sich nicht nur die 0 auf eine 1.
Sie müssen irgendwie tragen, so zu sprechen, und die Zahlen
Start Spiegeln um nur wie im Dezimalsystem Welt.
>> Das ist also 4.
Dies ist 5.
Dies ist 6.
Dies ist 7.
Und so haben wir uns so hoch wie 7 gezählt.
>> Jetzt müssen wir nur brauchen, ist mehr ein bits-- mehr Nullen und die eigene.
Und in der Tat "Bits", wenn Sie noch Diese term-- binary digit gehört.
Bit ist, wo das herkommt.
Und so, wenn wir darstellen wollen größere Zahlen, wir brauchen mehr Bits.
Aber lassen Sie uns von Dias weg jetzt zu etwas mehr real.
Nehmen wir an, wir wollen tatsächlich repräsentieren diese Sache.
>> Nun lassen Sie uns einen Blick darauf werfen jetzt in einer kleinen Demonstration.
Also das ist eine webbasierte Anwendung dass einer von CS50 eigenen, Michael G,
stellen in diesem Sommer zusammen zu helfen uns aufzuklären genau diese Idee.
Und sollte jemand wie zu wagen, auf der Bühne
vor allem seine Klassenkameraden?
Genau dort vor.
Komm rauf.
>> Sie müssen bequem sein vor der Kamera und dem Internet.
Oh, genau hier.
OK.
Wir sind OK.
Gut.
Komm rauf.
Wie heißen Sie?
Emily kommen auf.
Das ist also Emily.
Welches Jahr bist du?
>> Freshman.
>> Emily, schön Sie zu treffen.
David.
>> Gut.
So, hier oben auf dem Bildschirm, wir haben diese Touchscreen
das wird uns erlauben, tatsächlich mit diesem Programm interagieren,
und es ist nur ein Browser.
Es ist Chrome voll abgeschirmt in dem Moment, aber es ist
wurde von Michael programmiert in einer Art und Weise reagieren, die erlaubt
uns mit binären Ziffern zu spielen, um.
>> So zum Beispiel, haben wir hier nicht drei, sondern acht bits-- Nullen und Einsen.
Gerade jetzt, wir sind unter der Nummer 0 suchen.
Und in der Tat, alle acht Nullen in dezimal bedeutet Null.
Also das ist alles, was ist werden an hier angedeutet.
>> Also, wenn Sie wollte für die Zahl 8,
was ist das Muster von Nullen und diejenigen, die Sie wollen?
Sie können tippen Sie einfach nach oben oder unten oder die Zahlen selbst.
Gut.
Also das ist natürlich 8, wie Sie es sehen können.
Und wenn wir wollten DO 16, was sollen wir tun?
>> Yep, berühren Sie es einfach wieder.
16.
Gut.
Also das ist alles schön und gut, es ist immer noch sehr niedrigen Niveau.
Wir müssen einen Weg in die realen Welt für Emily
repräsentieren diese Dinge tatsächlich.
Und so nehme an, dass wir diese drehen Nullen und Einsen, die sehr ist
konzeptionellen, in tatsächliche Glühbirnen.
Recht?
>> Ein Computer ist eine physikalische, mechanische, elektrische Gerät.
Und seine input-- zumindest, wenn Sie stecken Sie es in oder Ladungs ​​es--
ist die Batterie zu haben und Elektronen in und aus fließt.
>> So, jetzt, warum wir denken nicht zu stoppen über Bits als Nullen und Einsen,
aber etwas mehr körperliche wie Glühbirnen hier.
Und wenn Dan Armendariz könnte beitreten mich für nur ein moment-- kommen auf up--
wir werden einen Antrag in die Warteschlange einzureihen.
>> Kommen Sie vorbei, Emily.
Leider ist dies die umständlich Demo für Sie überhaupt.
Kommen Sie hier.
Wir gehen in die Warteschlange mit Dank an Dan
Armendariz, ein weiteres Mitglied unserer Mitarbeiter, eine Anwendung als binäre Lampe bekannt.
>> Also, was wir hier haben, ist eine iPad-Anwendung
das hat die folgenden Benutzer Schnittstelle auf dem Bildschirm für Emily.
Es hat nur exakt das gleiche UI Das ist im Wesentlichen dort.
Und wenn Sie jetzt wollen repräsentieren die Anzahl, sagen 8,
Wie würden Sie gehen über das Tun dies bemerkt an der rechten Seite,
die Glühbirnen, die wir hier haben?
Ah-ha.
Magisch.
Also, wenn wir jetzt wollen, schalten Sie diese in etwas ein wenig schwieriger,
und lassen Sie uns fortfahren und eine zufällige holen Zahl wie die Zahl 50 hier.
Eingangs dies.
Und wenn man nun in Frage gestellt werden zu kommen mit der Nummer 50,
wir werden für Sie einen tollen Preis haben.
>> Emily: OK.
Oh mein Gott.
DAVID MALAN: Arithmetik ist in der Tat schwer in Front
von Hunderten von deinen Klassenkameraden.
Aber 50 hat hier die Antwort.
>> [BEIFALL]
>> Und nun wird diese gemeint sein demonstrativ für Emily.
Also, hier ist etwas Licht Glühbirnen ganz wie diese,
aber es ist eigentlich die kleine Magnetstreifen.
Und was ist cool über diese und der Grund, warum wir sie in CS50 nutzen
ist, dass sie so genannte unterstützen ein API-- eine Programmierschnittstelle
Schnittstelle, die nur eine andere Art ist zu sagen, dass das, was einer unserer Mitarbeiter
hat über wurde die Sommer erstellen eine iPad-Anwendung hier
dass die Gespräche über das Internet zu den Glühlampen über hier,
welche drahtlos zu einem anderen Gerät verbunden ist.
Aber das ist jetzt eine Option für Abschlussarbeiten.
Und so Emily, wenn würden Sie so wie am Ende des Wortes,
Sie können Ihre Schlafsaal schmücken in der Zwischenzeit mit denen.
Vielen Dank auch an Emily.
>> [BEIFALL]
>> Aber jetzt, lassen Sie uns wenden unsere Aufmerksamkeit auf das, was
diese Nachricht ausgesehen haben könnte, wie, und es ist ein wenig so etwas wie dieses.
In der Tat ist dies ein Beispiel ebenso ein Teaser
von dem, was von zu kommen, was ist eine API-Anfrage genannt.
Und so, was wir hier haben, ist einfach genau die Art von Nachricht
dass nach ein paar Wochen Zeit in CS50, werden Sie
der Lage sein, etwas zu senden recht so vertraut, um tatsächlich
schalten Sie sie ein und aus.
Aber das ist alles schön und gut.
Recht?
Wir haben die mentale Modell hoffentlich zur Darstellung von Zahlen mit
Null ist und die eigene.
Und von Nullen und Einsen, können wir erhalten zu höheren Zahlen wie 50,
wie Emily tat nur, oder wir aus, dass nach oben bewegen.
Und ich behaupten, dass wir darstellen können Dinge wie auch Buchstaben.
Recht?
>> Computer sind weit mehr interessanter als nur Zahlen.
Und so, wie gehen Sie zu repräsentieren Worte
auf dem Bildschirm oder E-Mails oder Essays oder dergleichen?
Nun stellt sich heraus, dass die Computer einfach Zusammenfassung An der Spitze dieser niedrigen Niveau
vor Details, und einige Zeit Menschen kamen mit einer beliebigen, aber eine einheitliche,
Zuordnung von Zahlen zu letters-- so dass jederzeit sehen Sie einen Großbuchstaben
Ein auf dem Computer Bildschirm, stehen die Chancen, was
unter der Haube ist ein Muster von Nullen und Einsen
dass für die Zahl, pro diesem Diagramm 65.
>> Und mehr physisch innerhalb des Computers,
Millionen von Dingen, genannt transistors-- diese days-- die
nur sind schaltet, wenn man so will, Dinge das kann ein und aus gehen und so vorstellen.
Nicht acht dieser großen Glühbirnen aber Millionen dieser winzigen Licht
Glühbirnen oder Schalter oder Transistoren, das kann ein- und ausgeschaltet werden
je nachdem, wie sie programmiert.
Und jetzt haben wir einen Weg repräsentiert als auch Buchstaben.
>> In der Tat ist dies, wenn ich zu verwenden, Abbildung hier und versuchen, tatsächlich
buchstabieren etwas aus, wir aussehen könnte Bei diesem Muster der Dezimalstellen
jetzt sofort.
So werden wir nicht auf einmal mehr auf binäre konzentrieren.
Betrachten wir nur diese als Dezimalzahl 72, 73, 33.
Aber was könnte das bedeuten?
Wer noch eine ausreichend fotografisches Gedächtnis
zu wissen, was geschrieben ist hier auf dem Bildschirm?
Ja, ein paar.
Also hallo.
H-I und dann ein Ausrufezeichen, das war nicht wirklich auf dem Bildschirm.
Aber in der Tat gibt es eine Abbildung für jeden Buchstaben zu jeder Nummer
dass Sie vielleicht wollen Geben Sie auf der Tastatur.
>> Aber Zahlen müssen nicht stellen nur Buchstaben.
Recht?
Alle von uns wissen über Bilder und Fotos und Audiodateien
und Videodateien und dergleichen.
So klar können wir vertreten noch Höherem Niveau.
Und so, was ein Computer tut, ist einfach wählen
Muster von Null diejenigen zu interpretieren anders basierend auf dem Kontext.
>> Wenn Sie verdoppeln einem Klick Microsoft Word-Symbol,
sehen Sie Wörter auf dem Bildschirm anstelle von Farben und Bilder
weil Wort weiß, dass dies eine ist Essay, die Sie tatsächlich eingegeben haben.
Wenn Sie stattdessen Doppelklick auf einer JPEG oder GIF oder PNG,
es öffnet sich und ist ein Bild, weil das PNG oder .docx oder was auch immer die Datei
Erweiterung ist und was auch immer Software Sie verwenden weiß zu interpretieren
anders ein Muster von Nullen und Einsen auf das, was im Leben sein Zweck ist.
>> So zum Beispiel, diese gleiche Zahlenfolge
darstellen könnte, wie viel rot Sie tun wollen, wie viel Grün willst du,
und wie viel blau Sie wünschen.
Und in der Tat, wenn Sie überhaupt gehört haben RGB-- so einfach rot grün blau.
Und so, wenn ich sehe, Zahlen wie diese gib mir 72 rote, gib mir 73 grün,
und 33 blau, das ist, wie ein Computer mit drei bytes-- wo
ein Byte acht Bits oder 24 bits-- würde einen ziemlich böse Schatten
von braun oder gelb hier.
Und in verschiedenen Kontexten, könnten diese genau das gleiche Muster in Nullen und Einsen
bedeutet etwas völlig auch anders.
>> So haben wir nun einen Weg darstellt, information-- Nullen und Einsen.
Hinzu kommt, dass, bekommen wir Briefe.
Hinzu kommt, dass, könnten wir Farben.
Und lassen Sie uns für heute übernehmen dass wir können Audio- und Video bekommen
und die Dinge so viel mehr anspruchsvoll als das.
>> Aber jetzt laßt uns überlegen, wie wir diese Eingänge verwenden
und erzeugen jene Ausgänge jetzt, dass wir
ein Weg, um diese Informationen zu vertreten.
Nun, wir müssen etwas ein Algorithmus genannt.
Auch eine Reihe von Anweisungen für die Lösung ein Problem
Schritt step-- und Genauer gesagt, desto besser.
>> Und so ein Beispiel, mit dem der Mensch allerdings weniger bekannt in diesen Tagen,
aber dennoch ist immer noch bei uns in der Software,
ist der Prozess der Suche bis jemand in einem Telefonbuch.
>> Nun, immer weniger Leute wissen, jeder Jahr, was diese Reliquie tatsächlich hier ist.
Aber zurück zu meiner Zeit, dies war ein Telefonbuch
mit Tausenden von Seiten und Zahlen und Die Namen von A bis Z.
Und obwohl wir Art von Betrug ein bit-- dies ist meist Gelben Seiten.
Es gab auch weiß Seiten an der Zeit, die
all diese Namen hatten und Zahlen von tatsächlichen Menschen.
>> Und wenn ich wollte, dass jemand in eine nachschlagen Telefonbuch wie dieses heute, natürlich,
Ich tippe einfach in der ersten Zeichen von seinem oder ihrem Namen,
und mein Telefon findet, dass die Informationen.
Aber das Verfahren, mit dem Ihr iPhone oder Android-Handy
oder was auch immer ist eigentlich der Suche nach jemand in Ihrer Kontaktliste
ist identisch zu dem, was wir Menschen wahrscheinlich seit einiger Zeit durchgeführt.
>> Jetzt konnte ich nehmen diese Problem, wenn man so will,
und die Eingänge hier sind Nullen und Einsen nicht.
Sie sind pages-- wie, Lassen Sie uns 1000 Seiten sagen.
Und wenn ich wollte, dass jemand zu sehen wie Mike Smith in diesem Telefonbuch,
Ich konnte am Anfang beginnen und sehen, dass ich in der A-Sektion bin
und dann wieder Seite für Seite eine Zeit, auf der Suche und auf der Suche
als ich auf die B und die C-Marke und die D's und so weiter für Mike Smith.
Smith, beginnend mit einem S, werde ich hoffentlich schließlich ihn finden.
>> Ist das algorithm-- dass process-- richtig?
Ja.
Es ist richtig.
Ich werde Mike finden, wenn er hier ist, aber was ist die Einschränkung, die Sie anbieten können.
Es ist langsam.
Recht?
Ich weiß, dass Mike S ist eine Art zu in der zweiten Hälfte des Telefonbuchs.
Warum bin ich zum Teufel am Anfang beginnend
und gehen Seite für Seite für Seite.
So natürlich, ich könnte es klappen um und beginnen von der Rückseite,
aber das wird kommen mich dort mit der gleichen Geschwindigkeit,
wenn Sie willl-- Seite nach Seite für Seite.
Und es wird nicht funktionieren, wenn ich will für jemanden zu suchen, sonst deren
Name kommt früher im Alphabet.
>> So was, wenn ich tue, was ich in der Grundschule gelernt,
wieder, Dinge tun, nicht von denen aber zu zweit.
SO 2, 4, 6, 8, 10, 12, und so weiter.
Ist das korrekt?
Nein.
Es ist eine Art richtig.
Aber einige von euch, die keine murmelte wo ist das Problem, oder die Fehler,
die Fehler so zu sprechen.
Ja.
>> STUDENT: Sie können überspringen über den rechten Eintrag.
>> DAVID MALAN: Ja.
Ich könnte überspringen Mike Smith ist weil ich zwei Seiten habe auf einmal genommen
und er passiert einfach zu sein, zwischen den beiden Seiten eingeklemmt.
Ich könnte erkennen, dass Ich bin auf das T-Profil
Mike Smith noch nicht gefunden zu haben.
>> Und was könnte die dort festgelegt werden?
Nun, wenn ich traf die Ts im Telefonbuch,
Ich könnte müssen verdoppeln Sichern eines oder so Seite.
So ist es fixierbar, aber es ist nicht ganz so einfach
wie geht nur um zwei bis beschleunigen meine Leistung auf.
Aber was?
Komm schon.
Was ist es, was die meisten Menschen gehen mit dieser Art von Telefonbuch zu tun?
Sie sind das Telefonbuch gegeben.
Wie geht's?
>> Was ist das?
Gehen Sie auf die Mitte.
So hörte ich in die Mitte gehen, und ich finde mich etwa in der M Abschnitt,
sozusagen.
Und nun, was kann ich tun?
Gut gemacht.
Wie heißen Sie?
>> JAMES: James.
>> DAVID MALAN: James, alles in Ordnung.
Was mache ich als nächstes?
JAMES: Sie gehen in die Hälfte, die die S des hat.
DAVID MALAN: In Ordnung.
Ich gehe in die Hälfte zu gehen, dass hat die S bringt es denn, wieder,
eine Klausel, hier war dass dieses Ding wird sortiert.
Es ist eine ziemlich nutzlos 1000 Seiten, wenn Verizon nicht wirklich tut
sortieren, diese Dinge für uns ein bis Z.
Also, wenn ich weiß, Mike ist wahrscheinlich in in der zweiten Hälfte des Telefonbuchs,
Ich kann jetzt.
>> [Lacht]
>> Reißen Sie das Problem in zwei Hälften.
>> [BEIFALL]
Vielen Dank.
Reißen Sie das Problem in zwei Hälften.
Das war real-- tatsächlich diesen Kampf.
So reißen das Telefonbuch in zwei Hälften, so dass selbst
mit im Grunde das gleiche Problem.
Aber natürlich nur halb so groß.
Und wenn ich folgen James ' Beratung wieder, und ich gehe hier.
Ich sage, oh ich jetzt in der T-Abschnitt bin.
>> Und so natürlich, ich kann das Telefonbuch reißen
in Halb ein weiteres Mal, so dass mich mit einem Problem, das ist
jetzt ein Viertel der Größe.
So habe ich von 1000 bis 500 gegangen auf 250 bis 125 und so weiter.
Es fühlt sich an wie ich bin Herausnehmen größer Stiche
dieses Problem mit jedem Iteration, oder jeder Schritt darin.
>> Und in der Tat, ich die Zeit gehe zu verbringen Suche nach Mike Smith in diesem Beispiel
so viel kleiner ist, weil schließlich bin ich geht diese Hilfe bittet Buch einzuengen
auf nur eine einsame Seite.
Und wenn Mike auf dieser Seite ist, ich bin gehen, gehen Sie vor und geben ihn
ein Anruf ihn gefunden zu haben.
>> Aber wie viel besser ist, dass algorithm--
dass wage zu behaupten, intuitiv algorithm-- als wir die, die
gestartet, mit denen sind wir sehr linear-- links mit einer Geschwindigkeit von 1 oder 2x zu right--?
>> Nun, lassen Sie uns dies planen.
Wir haben nicht zu viele Sorgen über Mathematik oder Zahlen in diesem Fall hier.
Wir freuen nur auf einem Grundstück.
So auf den x oder horizontale Achse, ist die Größe des problem--
wie viele Seiten sind da.
Auf der y bzw. der vertikale Achse ist, wie viel Zeit
wird es mir zu nehmen, sie zu lösen.
Und vielleicht ist das, wie viele Seite dreht, wie viele Sekunden,
wie many-- eine Einheit von Maßnahmen.
>> Und ich habe ein rotes geraden Linien gezeichnet hier denn wenn jede weitere Seite
des Telefonbuchs, die ich benötige einen zusätzlichen Schritt zu machen.
Also, wenn Verizon fügt ein mehr Seite im nächsten Jahr,
Ich hätte eine weitere Seite zu kippen jemanden wie Mike Smith zu finden.
>> Inzwischen hat die zweite Algorithmus, der I zu zweit ging, ist die gleiche Form.
Es ist immer noch sehr linear, sehr gelassen rechts, gleich Bytes jeder Zeit nehmen,
aber die Steigung ist ein wenig niedriger.
>> Zum Beispiel, wenn die Größe Das Problem waren rund hier
und ich meine ersten Algorithmus, Ich könnte den ganzen Weg zu beenden
an der Spitze dieser roten Linie.
Aber wenn ich stattdessen verwenden zu twosies nähern,
die gelbe Linie deutet darauf hin, denn es ist niedriger,
dass es geht zu nehmen mir weniger Zeit das lösen.
>> Aber was ist die Form der dritte algorithm-- wieder, wohl
die intuitive Algorithmus?
Nun, es sieht ein wenig etwas wie das.
Es ist gekrümmt oder logarithmisch, in Form.
Und obwohl es nie Art flacht von aus,
es asymptotisch Zoll und und bis aber schrecklich langsam
im Vergleich zu allem anderen.
Und was nehmen die weg?
Nun, wir nennen es n log.
Aber was bedeutet das eigentlich?
Nun, wenn Verizon verdoppelt Zahl der Seiten im Telefonbuch
im nächsten Jahr von 1000 bis 2000.
Wie viele Schritte ist mein erste Algorithmus geht zu nehmen?
>> Meine erste Algorithmus.
Vielleicht 1000 weitere Schritte.
Wenn sie verdoppelt die Telefonbuch, ich werde
zu haben, um durch eine andere zu kippen 1.000 Seiten Mike zu finden.
Natürlich, wenn die zweite Algorithmus, vielleicht 500, weil ich bin
geht doppelt so schnell.
>> Aber wenn Verizon verdoppelt die Anzahl von Seiten zwischen diesem und im nächsten Jahr,
mit meinem dritten algorithm-- die Kluft und zu erobern, dass James vorgeschlagen,
gehen in halb und halb und half--, wie viele Schritte
sie nehmen mich im nächsten Jahr zu haben ein Telefonbuch mit einer Größe 2000?
Nur einer.
Denn mit einem Biss, kann ich nehmen, aus diesem Problem, die Hälfte der Seiten
ein Weg.
Und wenn Sie denken, dies über einen kleinen verrückt now-- wenn das Telefonbuch nicht tut
haben 1000 oder 2000 Seite, aber sagen wir mal 4 Milliarden pages--
es ist ein großes Telefon book-- wie viele Male oder wie viele Schritte
wird es mir zu nehmen zu finden Mike Smith im Telefonbuch
mit 4 Milliarden Seiten.
Sie können eine Art beginnen die Mathematik zu tun.
Gut.
4 Milliarden geteilt durch 2.
Das ist also 2 Milliarden von 1 geteilt.
Das ist eine Milliarde.
Dann eine halbe Milliarde.
Dann 250-- so können Sie dies wieder und wieder, aber nicht so oft vor
Sie erhalten auf einer Seite.
>> Und in der Tat, auch wenn das Telefon Buch ist 4 Milliarden Seiten lang
oder die Datenbank Sie suchen ist 4 Milliarden Datensätze lang,
es wird Sie geben oder nehmen zu nehmen 32 Stufen nur zu finden, Mike Smith.
Und wenn Sie verdoppeln das Telefonbuch nächste Jahr 4000000000-8000000000,
33 Stufen statt nur 32.
>> Und dies ist ein Beweis auf eine der Ideen
daß wir in Computer umarmen Wissenschaft ganz allgemein die
Dieses Rechen Denken und nähert sich einem Problem
offen mit Werkzeugen aus Ihre bereits bekannte Tool
kit-- Ihre reale Welt mit was du bist vertraut,
aber Nutzbarmachung diese Ideen tatsächlich Probleme zu lösen.
>> Aber wir müssen unsere zu formalisieren Lösungen für diese Probleme.
Und so lassen Sie mich für einen Moment vorstellen etwas, das wir Pseudocode nennen könnte.
Ein Großteil der Semester, wir verbringen mit eigentliche Code in Sprachen wie C und PHP
und JavaScript und SQL und dergleichen.
>> Aber jetzt, lass uns einfach aussehen auf etwas recht intuitiv
wie Englisch.
Ich könnte, dass destillieren Algorithmus, mit dem
Ich fand Mike in Schritten wie diesen.
>> Nehmen Sie den Telefonbuch
>> Geöffnet bis Mitte Telefonbuch
Schauen Sie sich den Namen des
Wenn Mike ist unter dem Namen des
rufen Mike
Else if Smith ist früher im Buch
Offen für die Mitte die linke Hälfte des Buches
Else gehen Linie 3
Else if Smith ist später in dem Buch
Nehme der Mitte des rechte Hälfte des Buches
Fahren Sie drei der Leitung
Sonst
Gib auf
Und es gibt ein paar Eigenschaften jetzt dies, dass es darauf hinzuweisen,.
So eine, alle Linien Ich habe in gelb hervorgehoben
wir gehen zu lostelefonieren Aussagen oder Funktionen oder Prozeduren.
Sie sind nur Aktionen durchführen dies, und es gibt nicht
alle, die viel Variabilität zu.
>> Der nächste Schritt hier aber handelt es sich um conditions-- if, else, sonst, wenn andere.
Und diese sind genannt Bedingungen oder Zweige, und sie sind Entscheidungspunkte.
Und sie erlauben es uns zu tun bedingt etwas.
>> Und in der Tat, lassen Sie uns einen kurzen nehmen Schauen Sie sich vielleicht eine vertraute face--
wir nennen ihn Bill-- und genau das, was diese Bedingungen,
wie diese könnte verwendet werden.
>> BILL GATES: Menschen machen Entscheidungen jeden Tag.
Zum Beispiel, bevor Sie außerhalb Sie gehen Art haben eine if-Anweisung, die sagt:
Wenn es regnet, dann ich muss meine Jacke zu bekommen.
>> Und Computer sind erstaunlich, wenn Sie diese Art von Aussagen entscheiden
dass sie zuverlässig auszuführen diese Dinge zu unglaublichen Geschwindigkeit.
Und so ein Computerprogramm wirklich ist ein wenig Mathematik und einige
if-Anweisungen, wo die Entscheidung wird gemacht.
>> DAVID MALAN: Also Fokus jetzt lassen auf ein paar verschiedene lines--
die, die ich hervorgehoben habe in gelb hier.
Und es stellt sich heraus, es ist anders Möglichkeiten, diese Idee auszudrücken.
Aber intuitiv, was unsere Linien 8 und 11 dass ich hier hervorgehoben Ihnen mitteilt,
tun?
Ja, gehen 3 zu Zeile, aber was Verhalten ist, dass wirklich Induktion?
Es ist eine Art von Schleife oder mit dem Fahrrad, und Sie können Art es zu sehen.
Recht?
Wenn in Zeile 8, gehen Sie zurück zur Linie 3, und dann schlagen Sie die Linie 8 wieder,
Sie könnten 3 bis Linie zurückgehen, zurück zur Linie 3, zurück 3 auszukleiden.
Es ist diese Art von Zyklus oder eine Schleife.
Und in der Tat, das ist induziert in Linie 11 möglicherweise auch.
Und dies ist ein Grund Programmierung sowie konstruieren.
>> Vielleicht möchten Sie nicht nur etwas zu tun mit einer Erklärung
oder etwas tun, bedingt mit einer Bedingung oder Zweig.
Vielleicht möchten Sie etwas zu tun zyklisch mit einer Schleife.
Und wir werden jemanden haben, mit denen Sie könnte sein familiar-- wir ihn nennen wollen
Mark-- dieses Konzept hier erklären.
Mark Zuckerberg: Ein Sache, die Computer sind
wirklich gut wiederholt Befehle.
Als eine Person, würden Sie bekommen wirklich langweilen, wenn Sie
hatte die gleiche Sache zu tun viele Male in Folge,
aber ein Computer kann das gleiche tun Millionen oder sogar Milliarden Mal
und nicht zu langweilen und in der Lage zu tragen wirklich gut, dass aus.
>> So zum Beispiel, wenn ich wollen, dass jeder zu wollen
Auf Facebook alles Gute zum Geburtstag indem sie eine E-Mail,
es könnte mir mehr nehmen, als ein Jahrhunderts tatsächlich schreiben
alle diese E-Mails an alle.
Aber mit nur wenigen Codezeilen, kann ich haben ein System eine E-Mail an alle senden
Auf Facebook wollen ihnen alles Gute zum Geburtstag.
>> Also das ist, was Schleifen sind und warum sie sind wertvoll und etwas
dass Computer kann sehr gut tun.
>> DAVID MALAN: Vielen Dank an unsere Freunde bei für diese beiden Filme Code.org.
Und erst letzte Woche, haben Sie vielleicht gesehen, dass Mark Zuckerberg und Facebook
diese Ankündigung veröffentlicht, Das ist, dass sie einfach
haben eine wichtige weitergegeben Meilenstein zum ersten Mal überhaupt.
1 Milliarde Menschen genutzt Facebook in ein Tag, speziell am vergangenen Montag.
Einer von sieben Menschen auf der Erde offenbar bei Facebook angemeldet.
>> Nun, das scheint eine gute Gelegenheit, zurück zu blicken, wo Facebook begann,
und wir gingen durch CS50 eigenen Archive, weil es im Jahr 2005 stellte sich heraus,
Mark gab einen Gastvortrag in CS50.
Sie feststellen, dass die Produktion Werte sehen dann waren nicht ganz dasselbe zurück
in Bezug auf die Technologie zur Verfügung, und Sie werden auch
sehen, dass das Vorhandensein dieses Gastvortrag
wecken nicht unbedingt das Interesse der Studentenschaft, Ihr Vorgänger,
so viel wie es haben könnte nur ein paar Jahre später.
>> Lassen Sie uns also einen Blick bei Science Center C.
Sprecher 2: Verbinden Sie mich bitte, und begrüßen.
[BEIFALL]
Mark Zuckerberg: Yo.
Gut.
Kühle dies ist das erste Mal, dass ich habe gehabt haben eines dieser Dinge zu halten.
Also werde ich nur zu befestigen Sie es wirklich schnell.
Gut.
Kannst du es hören?
Ist das gut?
Ist das überhaupt verstärkt?
Gut.
Süß.
Also, das ist wie eine der ersten Zeiten Ich habe an der Harvard zu einem Vortrag gewesen,
aber--
>> DAVID MALAN: Also schließlich die Wissenschaft Mitte tat auf dem Video zoomen,
aber nicht, bevor diese Erfassung Auszug wo Marks Reden,
die er besprochen sein Mitbewohner, Dustin, der
wollte eine Hand mit diesem zu verleihen Website namens der Facebook.com
und erkannte, dass Mark ist zu erwähnen in die Programmierung languages--
ein Perl genannt, ein genannt PHP-- wie er diskutiert
Die Ursprünge von Dustin Beitrag.
Mark Zuckerberg: Ich begann die Website läuft
und leitete sie an Harvard im Februar 2004.
Also ich denke, fast zwei Jahre her.
Und innerhalb von ein paar Wochen, ein paar tausend Menschen hatten sich angemeldet,
und wir begannen ein paar E-Mails bekommen von Menschen an anderen Hochschulen gefragt
für uns ist es an ihren Schulen zu starten.
>> Und ich war 161 an der Zeit.
Also ich weiß nicht, ob euch wissen, die Bekanntheit dieser Kurs,
aber es war irgendwie schwer.
Es war ein wirklich Spaß natürlich, aber es hat mich nicht mit viel Zeit lassen
irgendetwas anderes mit Facebook zu tun.
Also mein Mitbewohner Dustin, der ich denke, gerade fertig CS50 hatte, war wie, hey.
Ich will, um zu helfen.
Ich will die Expansion zu tun und helfen Sie herausfinden, wie die Dinge zu tun.
>> So war ich wie, das ist ziemlich cool, Alter.
Aber Sie wissen nicht wirklich PHP oder so etwas.
Also das Wochenende ging er nach Hause, das Buch Perl für Dummies gekauft haben,
kam zurück und war wie, alles in Ordnung.
Ich bin bereit zu gehen.
>> Ich war wie, Kumpel, ist die Seite geschrieben in PHP nicht Perl, aber das ist cool.
>> Also nahm er PHP über bis wie ein paar Tage, weil ich
versprechen, dass, wenn Sie einen guten Hintergrund in C,
PHP ist eine sehr einfache Sache zu holen.
Und er ging nur irgendwie an die Arbeit.
>> Bevor wir einen Blick nun auf wo der Kurs wird,
erlauben Sie mir, um nur einige zu laden Personal up des SC50 auf der Bühne.
Einige von ihnen sind einkaufen ihre eigenen Kurse.
Aber wenn dieser Transkriptionsfaktoren und Zertifizierungsstellen und natürlich Köpfe, die hier sind, könnten kommen auf bis
und mit mir für ein schnelles hallo.
>> Erlauben Sie mir, insbesondere einzuführen, Hanna, Maria, Daven, und Rob,
Natürlich CS50 Köpfe hier in Cambridge.
>> [BEIFALL]
>> DAVID MALAN: In der Tat Beweis für die Tragstruktur, die den Kurs hat
in den letzten Jahren ausgebaut, CS50 Personal in diesem Jahr Zahlen fast 100,
und das ist hier in Cambridge allein.
Währenddessen sind in New Haven, gibt es einige 40 TF und Zertifizierungsstellen und Mitarbeiter gibt
laufen und den Kurs.
>> Lassen Sie uns zuerst, Rob Bowden einzuführen.
ROB BOWDEN: Hallo.
Ich bin Rob.
Das ist meine sechste Jahr TFing im Kurs.
So, den ganzen Weg zurück in mein ersten Jahr, ich habe CS50 nicht einnehmen.
Ihre Neuling fall-- könnten Sie vertraut sein
dass Sie nehmen nur vier Gängen und es gibt so viele Kurse heute.
Also ich bin wie, eh.
Ich nahm AP CS meinem letzten Jahr von High School war es schrecklich.
Also, ich bin wie, eh.
Informatik ist für mich nicht.
>> Also war es über die Kurs von meinem ersten
fallen, dass ich einen Freund in CS50 hatte, und Ich denke, dass ich einen Vortrag mit ihr besucht.
Es ist wie, oh, das ist ein bisschen besser als das, was ich in der High School hatte.
>> Und über den Verlauf der Jahr hatte ich mein eigenes Problem Sets
in den Kursen nahm ich tatsächlich.
Aber ich fand, dass, wenn ich wollte auf diejenigen zu verschleppen,
Ich würde wieder in CS50 gehen und Blick auf einige dieser Sachen.
Also, ja.
Ich bin cool.
Ich Verschleppung mit Codierung.
Also ist es am Ende der der Fall, dass ich erkennen, hey,
Informatik ist ziemlich cool.
Ich am Ende CS51 nehmen.
Im nächsten Semester, Ich am Ende CS61 nehmen.
Und das alles von dort aus, dann habe ich am Ende zu erklären
Informatik, die ich hatte absolut keine Absicht zu tun
als ich in der Schule.
Und jetzt bin ich hier.
So ist der Kurs ist, was man daraus macht.
Ich hoffe du genießt es.
>> [BEIFALL]
DAVID MALAN: Wir danken Ihnen, Rob.
>> Und jetzt Maria, unsere Natürlich Stv.
>> Maria: Hey guys.
Mein Name ist Maria.
Ich bin im zweiten Jahr in Cabot House, aus Bulgarien,
und ich bin super aufgeregt zu sein, Teil der Mitarbeiter in diesem Jahr.
Ich nahm CS50 als Neuling im letzten Jahr, und ich noch nie
vorher darüber nachgedacht, CS.
Also ich liebe das natürlich, und ich hoffen, dass Sie alle es genauso lieben wie ich.
Und, ja.
Willkommen in CS50.
DAVID MALAN: Vielen Dank an Maria.
[BEIFALL]
Jetzt Hanna, unseren Kopf Lehre Kerl.
HANNA: Hallo, ich bin Hanna.
Ich bin ein Senior in Cabot Studium der Informatik.
Ich nahm CS50 als Neuling und hatte gewesen TFing-- dies werde mein drittes Jahr.
So werden ich glücklich beteiligt in CS50 für alle vier Jahre
und ich freue mich darauf, auf die Zusammenarbeit mit Ihnen allen.
DAVID MALAN: Vielen Dank an Hanna.
[BEIFALL]
Und schließlich Daven, unsere precepter.
DAVEN: Hey Jungs.
Ich bin ein Gebot über in Informatik hier.
Das wird mein viertes Jahr Lehre sein.
Ich helfe auch den Kurs verwalten.
Also ich bin sicher, dass Sie mich sehen werde um, insbesondere bei der Bürozeiten.
Ich bin immer auf der Bürozeiten.
Also, wenn Sie mich sehen zu Fuß um, kommen auf jeden Fall sagen, hallo.
Ich liebe alle zu erfüllen.
Ansonsten viel Spaß, und ich werde Sie herum sehen.
>> DAVID MALAN: Danke auch an Daven.
Also werde erfüllen Sie alle diese Leute vor lang.
Aber ohne weitere Kurzerhand, wenn euch würde
gerne Ihre Plätze von früher wieder aufzunehmen.
Lassen Sie mich aus der Ferne nun vorstellen einige unserer Freunde aus New Haven,
insbesondere Köpfe der Kurs des Wer wird werden die Überwachung CS50 there-- Professor
Brian Scassellati, Jason, und Andi, die just-- so, dass wir nicht das Schicksal herausfordern haben
mit jedem Facetime oder der like-- gerade gesendet haben uns Minuten
Vor dem folgenden Video, in dem sie sagen, hallo vom Hörsaal
in Yale, in dem Vortrag wird jetzt gestreamt.
>> Also unsere Freunde von der Yale.
BRIAN Scassellati: Hallo, David.
Hallo, alle an der Harvard.
Wir sind so aufgeregt zu sein, bringen CS50 nach Yale in diesem Semester.
Mein Name ist Brian Scassellati, aber alle nennen mich nur SCA.
Und ich bin hier heute vorstellen Sie das CS50 Personal.
>> [JUBEL]
>> Und was noch wichtiger ist, ich bin hier vorstellen und
alle Schüler an Yale, die ab diesem Morgen
dies ist die beliebteste gemacht haben Natürlich an der Yale die CS50 Studenten.
>> [JUBEL]
>> So sind wir sehr aufgeregt werden sehen Sie hier
am Freitag und am Samstag für Puzzle Tag und haben einen großen Vortrag.
Tschüss.
>> [BEIFALL]
>> DAVID MALAN: Auf dem Bildschirm ist hier die Namen der einige 140 Mitarbeiter
Mitglieder, die Sie über das erwarten Natürlich von der einige von ihnen semester--
hier in Cambridge, einige von ihnen hier in New Haven.
Und in der Tat werden Sie haben eine Gelegenheit an diesem Samstag,
wie SCA Einträge, CS50 Puzzle Tag besuchen.
Sie haben vielleicht wenig Puzzleteile gesehen vor kurzem unter den Türen gerutscht.
Wir haben ein paar Extras hier später, wenn es dich gibt.
Wenn Sie alle vier Puzzle zusammenbauen Stücke und verschmelzen Kräfte mit Zimmer
in der Nähe bei Ihnen in Ihrem Haus oder Wohnheim, werden sie
versammeln in einen QR code-- oder ein zweidimensionalen Barcode, dass
einmal montiert und überprüft mit dem Telefon werden Sie führen
bis zu einem gewissen tollen Preis oder-- Ich nehme an Sie könnte dies gerade fotografieren
auch.
>> Aber finden dennoch diese Puzzleteile um diesen tollen Preis zu gewinnen.
Und in der Tat eine der Traditionen in SC50-- ah, zu langsam.
Eine der Traditionen in CS50 ist zu Kuchen nach dem ersten Vortrag dienen.
>> Und so in der Tat, in ein wenigen Minuten ab jetzt,
es wird Kuchen serviert außerhalb hier und auch New Haven.
>> Aber first-- dekoriert wir sie selbst.
Aber first-- und hoffentlich es werde genügen.
>> Doch zunächst ein kurzer Blick.
So wird Vorträge in der Tat werden meist hier in Cambridge produziert.
Aber jeden Monat, wir hüpfen bis Yale mit CS50 des Produktionsteams und Strom
die natürlich in umgekehrter Richtung als auch so
Da diese zwei Standorte zu bringen tatsächlich zum ersten Mal in der Geschichte
so nah wie möglich beieinander wie man in der gleichen Reihe.
>> In Bezug auf die Tragstruktur, die ist in Cambridge und stand auf hier wurden
wie in New Haven, sind Abschnitte.
Tatsächlich ist, wie einige von euch vielleicht wissen, haben wir verschiedene Spuren
innerhalb des Kurses für die weniger bequem, bequemer,
und irgendwo dazwischen, so dass unabhängig von Ihrer vorherigen Hintergrund,
Sie können schließlich in der Klasse gelingen.
>> Öffnungszeiten der Zwischenzeit sind ein Gelegenheit am Montag und Dienstag
und Donnerstag abends beide arbeiten Hier und in New Haven auf unserem Kurs des
Problem setzt mit Dutzenden von den Kurs des Personals in Ihrer Nähe.
>> Problem setzt unterdessen sind von Dingen unterstützten wir nennen
Komplettlösungen, die Video basieren Lernprogramme, die wirklich beantworten FAQ
von wo eine Woche Herausforderung zu beginnen.
Und Autopsien Sie gehen durch mögliche Lösungen
so dass das Ende der Problem zu setzen, Sie
genau wissen, was Sie getan haben könnte anders oder ganz anders.
>> Das Problem stellt sich kommen in zwei Versionen, eine Standard-Ausgabe
dass wir erwarten, und laden die meisten die class-- rund 90% sowie zu do--
und ein sogenannter Hacker edition auf dem jeder Seite schmückte
Hacker Auflage, Hacker Auflage, Hacker-Ausgabe,
so dass man in dieser Karma wenn man so will, für das Tauchen
in weiter fortgeschrittenen Versionen der Problemstellungen Kurs
dass Abdeckung angeblich das gleiche Material aber mit einem besseren Ansatz
und mit zusätzlichen Hintergrund manchmal eingeführt.
>> Mittlerweile gibt es neun späten Tage, Sie können das Problem des Selbstverständlich gelten
sowie der niedrigsten Punktzahl setzt, was wir im Hinblick Ende fallen.
>> Aber was erwartet?
Nun, ein Vorgeschmack auf das Problem bei der Hand legt am Freitag
und nächste Woche, wo wir plantschen nur für ein paar Tage in etwas
genannt Scratch, eine grafische Programmier Sprache, die von unseren Freunden entwickelt
am Media Lab des MIT, mit dem Sie entweder zum ersten Mal zu programmieren
oder in einer neuen Umgebung ganz per Drag-and-Drop-Typ Umwelt.
Wobei Puzzleteile nur zusammen verzahnen
wenn es logisch, sinnvoll ist, dies zu tun.
>> Inzwischen in Problem eingestellt zwei im vergangenen Jahr zum Beispiel,
haben führen wir die Klasse in die Welt der Kryptographie,
Die Kunst der Verschlüsselung oder Scrambling-Informationen.
Tatsächlich ist dieser Text hier, wenn tatsächlich entschlüsselt werden
führen Sie bis zu einem gewissen Spaß Ziel.
Und das Problem eingestellt, was wir Schüler hatten
Sie ist genau die Umsetzung Arten von things-- eines Algorithmus,
oder der Satz von Instruktionen zum Verschlüsseln und Scrambling-Informationen.
>> Und in der Hacker-Ausgabe des gleichen Problems Satz,
haben wir Studenten fordern ein zu nehmen verschlüsselte Datei von einem typischen Computer
System mit vielen Benutzernamen und verschlüsselte Passwörter
und zu knacken diese passwords-- tatsächlich heraus
was sie waren, ohne etwas zu wissen A priori über jene tatsächlichen Passwörter.
Unterdessen tun wir Übergang in dem Problem
setzt, um dann bei der Suche die Welt der Grafik.
Und in der Tat, man könnte sich vorstellen, jetzt, dass dies könnte vielleicht
die einfachste Weise zu repräsentieren ein Schwarz-Weiß-Bild.
>> Ein weißer Pixel, oder quadratisch, wie oben rechts gibt,
vielleicht werden dargestellt mit a 1 und ein schwarzes Quadrat
könnte mit einem 0 dargestellt werden.
Und nur durch mehr Bits wie wir mit vorgeschlagen zuvor mit 72 und 73 und 33,
konnten wir Farbpixel als gut vertreten.
Und was wir tun während Dieses Problem Satz ist
nehmen im Allgemeinen einen Spaziergang durch Campus mit einer Digitalkamera,
fotografieren Personen, Orten und Dingen.
Dann irgendwie in jedem Semester, wir scheinen zufällig zu
gelöscht oder die Speicherkarte beschädigen auf denen all diese Fotos sind,
und so werden Sie herausgefordert dann schreiben Software
mit denen diese JPEGs zu erholen von einer Kopie unserer Kamera-Karte.
>> Inzwischen haben wir von Hand später in der Begriff ein Wörterbuch der englischen Wörter
dass 143.000 Wörter haben, und Sie müssen zu kommen
mit einer intelligenten Art und Weise der sie in den Speicher geladen wird,
oder RAM sozusagen zu beantworten Abfragen der Form: Das ist ein Wort,
das ist ein Wort, das die Umsetzung schnellste Rechtschreibprüfung, dass Sie können,
Pinning sich selbst möglicherweise gegen Mitschüler
wer von euch zu sehen, nutzt der kürzesten Zeit
wenn Ihr Code ausgeführt wird und auch die geringste Menge an Speicher.
>> Später im Begriff sind Sie eigentlich Ihren eigenen Web-Server implementieren.
Also nicht nur eine Website in eine Sprache namens HTML und mehr,
aber ein Webserver, der tatsächlich hört auf Anfragen über das Internet
und reagiert auf sie.
Und in der Tat, das ist, wie wir überbrücken unsere Welt von C mit dem es
Kennenlernen der nächsten Woche und PHP und HTML und JavaScript
und CSS und dergleichen.
>> Da einer der ersten Web-basierte Projekt, das wir tun, später in der Laufzeit
CS50 Finance ist historisch.
Etrade.com Stil eine Website, die erlaubt Sie Aktien zu kaufen und zu verkaufen praktisch
während auch das Schreiben von Code zu Yahoo zu sprechen Finanzen immer halbEchtZeit Lager
zu aktualisieren zitiert, um Ihr eigenes Portfolio.
>> Aber schließlich natürlich, ist der letzte project--
eine Gelegenheit, zu tun fast alles von Sie interessieren hier ein Problem zu lösen
oder darüber hinaus von Interesse Sie, das ist irgendwie inspiriert
durch den Unterricht in der Klasse gelernt.
>> Und die Klasse, wie Sie vielleicht wissen, gipfelt in sogenannten CS50 Hackathon
und CS50 Messe und eine beliebige Anzahl andere kulturelle Veranstaltungen
während des Semesters , mit denen Sie zu engagieren
mit einander und die Mitarbeiter des Kurses.
>> Zum Beispiel bei Feuer und Eis in Sitar in diesem Jahr, gut, am Freitagnachmittag,
laden wir einige 50 Studenten zum Mittagessen, wer
möchte sich uns anzuschließen, mich, und das Personal,
und unsere Freunde aus der Industrie und Alaune über das Leben in der realen Welt zu chatten
und darüber hinaus, während ein gutes Mittagessen zu genießen.
Am Hackathon werden sehen Sie solche Bilder
wie diese, darunter viele candy-- und ab 2014 zum ersten Zeit--
Gemüse.
>> [BEIFALL]
>> Aber nach 05.00 Uhr, wird die Szene in der Regel schauen ein wenig so etwas wie dieses.
Und dann nur eine Woche oder so später ist der CS50 Messe
zu denen einige 2000 plus Studenten und Mitarbeiter und Dozenten
Mitglieder aus über den Campus und über Standorte in diesem Jahr
kommen, um zu sehen und Freude an der Errungenschaften der CS50 Studenten, die
ist man jetzt.
>> Und in der Tat, während in diesem Jahr werden wir einladen und Büsing jedermann
an der Yale, die gerne zu kommen Cambridge an diesem Samstag für CS50 Puzzle
Tag, und wir werden genau dasselbe tun im Dezember für das CS50 Hackathon
so dass Harvard und Yale Studenten gleichermaßen haben teil an diesen beiden Veranstaltungen.
>> Wir halten auch CS50 Messen Cambridge und in New Haven in diesem Jahr
so dass die Schüler sowohl auf Campus und Mitarbeiter und Dozenten
sehen kann jede jeweilige Campus der Leistung.
Und diese Leistungen induziert solche Speicher
wie dies und dies und schließlich dies, in dem alle von Ihnen
verlassen die Klasse ein wenig tragen etwas, in dem man hoffentlich waren
glücklich oder stolz zu sagen, dass ich CS50 nahm.
>> Aber vorher und bevor wir servieren Kuchen,
wir haben together-- dank CS50 ist gesetzt Produktionsteam und eine gewisse Selbst
Stick, die eine Gelegenheit, die wir verwenden solche Dinge for--, wenn wir es geschickt
nicht nur hier zu Cambridge sondern auch nach New Haven
ein paar hellos von der zu sammeln Natürlich Mitarbeiter und all die Leute
Sie werden sowohl hier als auch in New treffen Haven in den folgenden Monaten.
>> Erlauben Sie mir, eine Einführung einige der Mitarbeiter des CS50.
Mark Zuckerberg: Hat diese machen es gehen?
Oh, es geht.
Es geht.
Oh.
Yarr!
>> [Musikwiedergabe ANDY GRAMMER, "Honig, bin ich GUT"]
>> MARY: Dies ist Caitlin.
Das ist Jay, und ich bin Maria.
SATO: Hallo, Jungs.
Ich bin Sato.
MICHAEL G .: Hallo.
Mein Name ist Michael, G.
DOUG LLOYD: Ich bin es nicht.
Nein.
Ich bin Doug Lloyd.
Ich kann nicht glauben, dass ich halten ein selfie kleben jetzt rechts.
Lautsprecher 4: Hallo.
Lautsprecher 5: Hallo.
Lautsprecher 6: Hallo.
Lautsprecher 7: Hallo.
Lautsprecher 8: Hey.
Wir hängen an der Yale heraus.
Wir freuen uns sehr für in diesem Semester, weil es
das erste Mal, dass es kommt zu Yale.
Es wird großartig sein!
>> [MUSIK]
>> JACOB Scherba: Mein Name ist Jacob Scherba.
Ich bin gespannt zu lehren CS50, weil ich denke,
es Informatik bringen Menschen in und zugänglich Weg.
9 Lautsprecher: Ich bin wirklich aufgeregt CS50 zu lehren
weil ich die Klasse im letzten Jahr stattfand, und es ist eines der besten Klassen.
10 Lautsprecher: Ja.
Mein Rat ist, sollten Sie CS50 nehmen.
JACOB Scherba: Ich habe mich für CS weil Ich denke, es ist ein Spaß und kreative Art und Weise
Probleme in einer analytischen Art und Weise zu lösen.
11 SPRECHER: Damals, als ich war ein wenig Neuling und Angst der Informatik
und Angst zu tun Engineering und Sachen,
es war das erste Festklasse I nahm, und es war auch meine Lieblingsklasse überhaupt.
DOUG LLOYD: Das ist mein neunten Jahr Lehre CS50.
Das macht mich so alt klingen!
Es gibt immer etwas Neues.
Es gibt immer etwas Aufregendes.
Es gibt immer neue Herausforderungen für neue Studenten, und es macht Spaß, ihnen zu helfen
und erleben diejenigen, Herausforderungen mit ihnen
und ihnen helfen, ihre Probleme zu lösen.
>> 12 SPRECHER: Als ich das erste gelernt, wie CS zu tun,
Es war wie eine Supermacht zu lernen.
Und wie in anderen Studenten sehen und sie durch diesen Prozess zu helfen
ist einer der am meisten lohnende Dinge habe ich überhaupt.
>> 7 Lautsprecher: Ich habe mich für CS, weil in der Anfangs war ich ein Mathe-Konzentrator
und ich nahm CS50 und verliebte sich in sie.
Ich fühlte auch, dass mit CS, konnte ich die Dinge zu bauen.
Und das, dachte ich, war ein wirklich cooler Aspekt.
>> 13 SPRECHER: Einige Ratschläge für neue Studenten ist zu Bürozeiten gehen
und hängen mit dem genial TF.
14 SPRECHER: Beginnen Sie Ihren P-SET gehen Sie früh, zu Bürozeiten,
werden frends mit TF.
15 SPRECHER: Ja.
Alles, was sie sagte.
16 SPRECHER: Lassen Sie sich nicht Angst, um Hilfe zu bitten.
17 SPRECHER: Ja.
18 SPRECHER: Beginnen Sie Ihren P-SET früh.
19 SPRECHER: Es ist ein große soziale Erfahrung.
Machen Sie viele Freunde auf diese Weise.
14 SPRECHER: Zum Abschnitt Spaß Es ist.
11 SPRECHER: Ich meine, gehen für sie.
Es ist wirklich schwer.
Sie werden aus ihm heraus was man hineinsteckt,
aber es ist ein wirklich Spaß Klasse besonders wenn Sie
bereit, die Zeit hineingesteckt, aber es hilft, wenn Sie Zeit hineingesteckt.
Sie werden viel mehr bekommen aus der es später.
MIKE: Ich bin Mike.
Camille: Ich bin Camille.
Hanya: Ich bin Hanya.
MATT: Ich bin Matt.
PETER: Ich bin Peter.
PHILLIP: Ich bin Phillip.
PATRICK: Ich bin Patrick.
ROB BOWDEN: Ich bin Rob Bowden.
BRIAN Scassellati: Mein Name ist SCA und this--
ALL: --is CS50.
Lautsprecher 20: In Yale.
SPRECHER 21: In Yale.
[LACHEN]
DAVID MALAN: Das ist es für CS50.
Wir werden Sie von der Yale siehe Freitag, Puzzle-Tag am Samstag.
Kuchen wird nun serviert.
Dies ist CS50.
>> [MUSIK]