1 00:00:00,000 --> 00:00:03,440 >> [Musik zu spielen] 2 00:00:03,440 --> 00:01:57,217 3 00:01:57,217 --> 00:02:00,710 >> [Applaus] 4 00:02:00,710 --> 00:02:05,700 5 00:02:05,700 --> 00:02:09,669 >> David J. MALAN: Dies ist CS50, Einführung der Harvard University 6 00:02:09,669 --> 00:02:12,370 auf das geistige Unternehmen der Informatik 7 00:02:12,370 --> 00:02:14,180 und die Kunst der Programmierung. 8 00:02:14,180 --> 00:02:17,530 Nun, wenn Sie zu denen sind, dass jedes Jahr hier sitzen 9 00:02:17,530 --> 00:02:21,450 mit ein bisschen Nerven im Kopf, wie dass Sie nicht denken, du gehörst hier, 10 00:02:21,450 --> 00:02:24,270 Sie denken, dass die meisten jemand sitzen um Sie 11 00:02:24,270 --> 00:02:27,730 weiß, weit mehr als Sie, ist in der Tat komfortabler, als Sie am Computer 12 00:02:27,730 --> 00:02:30,430 Wissenschaft oder Computer allgemein realisieren 13 00:02:30,430 --> 00:02:36,140 dass 78% der Studenten, die jetzt nehmen CS50 haben keine Erfahrung. 14 00:02:36,140 --> 00:02:39,570 >> In der Tat, gibt es 100 Punkte gibt auf der Anzeige, von denen 78 15 00:02:39,570 --> 00:02:43,540 sind grün, die Sie bedeutet, Wenn Sie zu dieser demografischen sind, 16 00:02:43,540 --> 00:02:46,420 sind in sehr guter Gesellschaft hier an. 17 00:02:46,420 --> 00:02:50,320 Und wenn du unter die sind statt 22% der Studenten, die in der Tat CS50 tun 18 00:02:50,320 --> 00:02:53,920 haben bereits Erfahrung, ob in High School oder ein anderes Programm, 19 00:02:53,920 --> 00:02:56,430 erkennen, dass auch Sie, wird im Laufe fochten werden. 20 00:02:56,430 --> 00:02:59,930 >> Nicht nur wir haben verschiedene Spuren für Studenten weniger komfortabel und mehr 21 00:02:59,930 --> 00:03:03,789 komfortable gleichermaßen in den Abschnitten, die wir haben auch so genannte Hacker-Ausgaben 22 00:03:03,789 --> 00:03:06,080 Problem der meisten setzt, dass werden die Schüler herausfordern 23 00:03:06,080 --> 00:03:09,650 mit, dass weitere Erfahrungen ähnliche Material erkunden 24 00:03:09,650 --> 00:03:12,140 aber aus einem anspruchsvolle Perspektive. 25 00:03:12,140 --> 00:03:13,900 >> Aber was ist Informatik? 26 00:03:13,900 --> 00:03:17,750 Nun, letztlich, was los ist, Egal, wie Sie dieses Feld erkunden, ist nicht 27 00:03:17,750 --> 00:03:20,500 so viel, wo Sie am Ende in Bezug auf Ihre Klassenkameraden, 28 00:03:20,500 --> 00:03:25,350 aber, wo man sich am Ende in Woche 12 gegenüber, wo man hier beginnen 29 00:03:25,350 --> 00:03:26,720 in Woche Null. 30 00:03:26,720 --> 00:03:31,850 Jetzt Computer science-- gut, lassen Sie uns nennen es die Wissenschaft der computation-- 31 00:03:31,850 --> 00:03:35,910 wo Berechnung ist wirklich nur eine andere Art zu sagen, wobei eine Eingabe, 32 00:03:35,910 --> 00:03:39,460 Herstellung eine Ausgabe, und Dabei indem Algorithmen, 33 00:03:39,460 --> 00:03:43,700 Sätze von Anweisungen zur Lösung ein Problem auf diesen Eingängen 34 00:03:43,700 --> 00:03:48,460 , um eine Ausgabe zu produzieren oder Lösung, bei der Sie interessiert sind. 35 00:03:48,460 --> 00:03:51,310 >> So haben wir vor kurzem hatte Anlass zu reisen aus 36 00:03:51,310 --> 00:03:53,170 nach Kalifornien, um mit einer Absolventin erfüllen. 37 00:03:53,170 --> 00:03:54,650 Ihr Name ist Susan Wojcicki. 38 00:03:54,650 --> 00:03:57,190 Und sie würde gerne sprechen , Sie hier auf Video 39 00:03:57,190 --> 00:04:01,690 um zu bezeugen, wie zutreffend auch nur ein Vorgeschmack auf Computer 40 00:04:01,690 --> 00:04:03,770 Wissenschaft an der Einführungs Ebene sein kann. 41 00:04:03,770 --> 00:04:06,870 Auch wenn Sie nicht weiter zu verfolgen, Informatik als einem Feld, 42 00:04:06,870 --> 00:04:09,330 oder auch Engineering, oder Stammzellen allgemein 43 00:04:09,330 --> 00:04:12,360 Sie werden sehen, in der Tat, wie ein bestimmter Natürlich, so beeinflusst ihr Leben. 44 00:04:12,360 --> 00:04:16,630 Und sie nahm einfach nur, wenn sie war ein leitender hier am Harvard College. 45 00:04:16,630 --> 00:04:19,482 >> Wenn wir die Lichter für Susan dimmen. 46 00:04:19,482 --> 00:04:20,690 SUSAN Wojcicki: Hallo, Welt. 47 00:04:20,690 --> 00:04:22,100 Ich bin Susan Wojcicki. 48 00:04:22,100 --> 00:04:24,110 Ich bin der CEO von YouTube. 49 00:04:24,110 --> 00:04:29,150 Und ich nahm CS50, als ich ein Senior an der Harvard im Jahr 1990. 50 00:04:29,150 --> 00:04:31,220 Ich war eigentlich eine Geschichte und Literatur-Dur. 51 00:04:31,220 --> 00:04:36,760 >> Und mein Junior Sommer Ich erkannte, dass ich vielleicht 52 00:04:36,760 --> 00:04:39,060 wollte etwas lernen über Computer. 53 00:04:39,060 --> 00:04:40,930 Und so kam ich zurück. 54 00:04:40,930 --> 00:04:42,500 Ich nahm CS50. 55 00:04:42,500 --> 00:04:46,940 Es war schwer, aber es war die erstaunlichsten Klasse nahm ich. 56 00:04:46,940 --> 00:04:49,630 >> Es verändert, wie ich über alles denken. 57 00:04:49,630 --> 00:04:55,810 Und wenn ich von der Harvard absolvierte 1990 ging ich in Silicon Valley. 58 00:04:55,810 --> 00:04:57,140 Und ich bekam einen Job. 59 00:04:57,140 --> 00:05:00,150 Und ich habe gearbeitet in Tech seitdem. 60 00:05:00,150 --> 00:05:02,650 David J. MALAN: Nun, was Susan nicht in diesem Video zu erwähnen, 61 00:05:02,650 --> 00:05:05,340 , dass es eigentlich in ihrem Garage, die Google selbst war 62 00:05:05,340 --> 00:05:07,420 von Larry und Sergey gegründet. 63 00:05:07,420 --> 00:05:11,169 >> Jetzt auch erreichten wir an unsere Freunde bei code.org, eine Organisation, die 64 00:05:11,169 --> 00:05:13,460 im vergangenen Jahr war immer Menschen besonders 65 00:05:13,460 --> 00:05:16,520 aufgeregt über Informatik und die Programmierung, insbesondere. 66 00:05:16,520 --> 00:05:20,590 Aber es ist bemerkenswert, dass die Planung ist nicht per se der Informatik. 67 00:05:20,590 --> 00:05:22,090 Informatik ist nicht programmieren. 68 00:05:22,090 --> 00:05:24,560 Vielmehr Programmierung ist nur ein tool--, mit dem alle von Ihnen 69 00:05:24,560 --> 00:05:27,510 wird nur zu gut sein von Semester end-- vertraut 70 00:05:27,510 --> 00:05:30,650 so, dass Sie nicht anwenden können nur auf zukünftige Kurse in CS 71 00:05:30,650 --> 00:05:33,670 sondern auf das, was Felder, von wo Sie kommen, in Geisteswissenschaften, 72 00:05:33,670 --> 00:05:36,090 Sozialwissenschaften, Natur Wissenschaft, oder dergleichen. 73 00:05:36,090 --> 00:05:39,740 >> Tatsächlich erlauben ein paar andere Alumni und ihre Kollegen 74 00:05:39,740 --> 00:05:43,400 um die Anwendbarkeit zu sprechen des Feldes, das erwartet. 75 00:05:43,400 --> 00:05:52,340 76 00:05:52,340 --> 00:05:57,350 >> BILL GATES: Ich war, als ich 13 zum ersten Mal Zugriff auf einen Computer. 77 00:05:57,350 --> 00:06:00,485 >> Jack Dorsey: Meine Eltern kaufte mir einen Macintosh im Jahr 1984 78 00:06:00,485 --> 00:06:01,640 als ich acht Jahre alt. 79 00:06:01,640 --> 00:06:02,990 >> Mark Zuckerberg: Ich war in der sechsten Klasse. 80 00:06:02,990 --> 00:06:04,670 >> Sprecher 1: Ich habe gelernt, in der Schule zu codieren. 81 00:06:04,670 --> 00:06:09,080 >> RUCHI Sanghvi: Freshman Jahr, erste Semester, Intro in die Informatik. 82 00:06:09,080 --> 00:06:11,850 >> BILL GATES: Ich schrieb ein Programm, dass gespielt tic-tac-toe. 83 00:06:11,850 --> 00:06:14,100 >> DREW HOUSTON: Ich glaube, es war recht bescheidenen Anfängen. 84 00:06:14,100 --> 00:06:16,370 Ich denke, dass das erste Programm Ich schrieb, fragte Dinge wie: 85 00:06:16,370 --> 00:06:17,820 Was ist Ihre Lieblingsfarbe? 86 00:06:17,820 --> 00:06:18,696 Oder wie alt sind Sie? 87 00:06:18,696 --> 00:06:21,070 ELENA Silenok: Ich habe zuerst wie man einen grünen Kreis zu machen 88 00:06:21,070 --> 00:06:23,670 und ein rotes Quadrat auf dem Bildschirm erscheinen. 89 00:06:23,670 --> 00:06:25,420 Gabe Newell: Die erste Zeit hatte ich eigentlich 90 00:06:25,420 --> 00:06:27,360 etwas kommen und sagen, hallo, Welt. 91 00:06:27,360 --> 00:06:29,710 Und ich habe ein Computer tun. 92 00:06:29,710 --> 00:06:30,850 Es war einfach erstaunlich. 93 00:06:30,850 --> 00:06:33,224 >> Mark Zuckerberg: Lernen, wie Programm nicht starten 94 00:06:33,224 --> 00:06:35,450 wie wollen lernen alle Informatik 95 00:06:35,450 --> 00:06:38,630 oder versuchen, diese zu meistern Disziplin oder so etwas. 96 00:06:38,630 --> 00:06:41,591 Es begann gerade weg, weil ich wollte diese eine einfache Sache zu tun. 97 00:06:41,591 --> 00:06:44,340 Ich wollte etwas machen, dass war lustig für mich und meine Schwestern. 98 00:06:44,340 --> 00:06:46,399 >> Und ich schrieb dieses kleine Programm. 99 00:06:46,399 --> 00:06:48,440 Und dann im Grunde nur hat ein bisschen dazu. 100 00:06:48,440 --> 00:06:49,930 Und dann, als ich brauchte, etwas Neues zu lernen, 101 00:06:49,930 --> 00:06:52,210 Ich sah es, entweder in ein Buch oder im Internet, 102 00:06:52,210 --> 00:06:53,240 und dann ein wenig zu. 103 00:06:53,240 --> 00:06:56,300 >> DREW HOUSTON: Es ist wirklich nicht anders als ein Instrument zu spielen oder etwas 104 00:06:56,300 --> 00:07:00,007 oder beim Sport. 105 00:07:00,007 --> 00:07:01,090 David J. MALAN: In Ordnung. 106 00:07:01,090 --> 00:07:04,120 Also lassen Sie uns nun tatsächlich tauchen in ein wenig tiefer. 107 00:07:04,120 --> 00:07:07,430 Was sind diese Eingänge und Ausgänge dass wir über reden hier? 108 00:07:07,430 --> 00:07:09,110 >> So wie über etwas einfach? 109 00:07:09,110 --> 00:07:12,120 Sie wissen wahrscheinlich, auch wenn Sie keine Vertrautheit mit Informatik 110 00:07:12,120 --> 00:07:16,570 immer, dass Computer irgendwie verwenden und versteht nur Nullen und Einsen. 111 00:07:16,570 --> 00:07:20,500 Aber wie kann das möglicherweise gegeben werden, wie viel heutigen Desktops und Laptops gleichermaßen 112 00:07:20,500 --> 00:07:21,280 tun können? 113 00:07:21,280 --> 00:07:24,310 >> Die DNA des Tages, der einzige Alphabet, die sie verstehen 114 00:07:24,310 --> 00:07:26,410 eine Null oder eine Eins ist. 115 00:07:26,410 --> 00:07:27,470 Nun, darüber nachzudenken. 116 00:07:27,470 --> 00:07:30,840 Wir Menschen neigen dazu, die Verwendung Dezimalsystem. "Dezember", das heißt 10. 117 00:07:30,840 --> 00:07:33,970 Und das ist 10, weil wir 10 Ziffern, 0 bis neun. 118 00:07:33,970 --> 00:07:36,180 >> Jetzt Computern hingegen neigen dazu, binäre verwenden. 119 00:07:36,180 --> 00:07:37,270 "Bi", was bedeutet zwei. 120 00:07:37,270 --> 00:07:39,560 So neigen sie dazu, nur Null und Eins zu verwenden. 121 00:07:39,560 --> 00:07:42,680 Aber es stellt sich heraus, dass auch nur mit Nullen und Einsen, dass 122 00:07:42,680 --> 00:07:45,900 ein ausreichend großer Alphabet mit denen die meisten Betreiber 123 00:07:45,900 --> 00:07:48,490 jedes Stück von Daten Sie wollen, ob es sich um eine Zahl, 124 00:07:48,490 --> 00:07:52,100 ob es ein Brief, ob es sich um eine Grafik oder Video auf dem Bildschirm. 125 00:07:52,100 --> 00:07:57,140 >> Betrachten Sie zum Beispiel, wie wir Menschen Regel interpretieren diese Zahl hier. 126 00:07:57,140 --> 00:08:00,010 Dies ist nur drei Ziffern, eins, zwei, drei. 127 00:08:00,010 --> 00:08:04,570 Aber wir wissen, diese Zahl von Haus nun als 123. 128 00:08:04,570 --> 00:08:05,510 Aber warum ist das so? 129 00:08:05,510 --> 00:08:07,570 >> Nun, wenn Sie zurückdenken vielleicht der Grundschule, 130 00:08:07,570 --> 00:08:11,700 Sie waren wahrscheinlich gelehrt zu denken diese Zahlen als in den Spalten, 131 00:08:11,700 --> 00:08:14,700 wobei die eine in die Hunderte ist Ort, die beiden in der Zehnerstelle, 132 00:08:14,700 --> 00:08:16,360 und die drei in der Einerstelle. 133 00:08:16,360 --> 00:08:17,790 Warum ist das eigentlich sinnvoll? 134 00:08:17,790 --> 00:08:19,665 Nun, denken Sie an die Super einfache arithmetische 135 00:08:19,665 --> 00:08:22,219 dass wir alle haben Dabei seit Jahren. 136 00:08:22,219 --> 00:08:24,510 Effektiv, wenn du hast Ein in den Hunderter-Stelle, 137 00:08:24,510 --> 00:08:29,610 Sie die Schnell Mathematik zu tun 100 mal 1 plus 10-mal 2-- 138 00:08:29,610 --> 00:08:33,059 denn beiden ist in die Zehn place-- plus 1 mal 3-- 139 00:08:33,059 --> 00:08:34,830 weil drei in der Einerstelle. 140 00:08:34,830 --> 00:08:37,039 So natürlich, wenn man tatsächlich vermehren diese sich, 141 00:08:37,039 --> 00:08:39,600 was wir wirklich repräsentiert mit diesem pattern-- ein 142 00:08:39,600 --> 00:08:46,150 zwei three-- ist 100 plus 20 plus 3, die, natürlich, ist 123. 143 00:08:46,150 --> 00:08:51,130 >> Jetzt binäre und Computer wirklich, grundlegend die gleiche Sprache sprechen 144 00:08:51,130 --> 00:08:51,680 dass wir es tun. 145 00:08:51,680 --> 00:08:53,400 Sie müssen nur einen kleineren Alphabet. 146 00:08:53,400 --> 00:08:57,100 Also Computer nur Nullen und diejenigen zur Verfügung. 147 00:08:57,100 --> 00:09:02,500 Also wir Menschen haben im wesentlichen Befugnisse der 10 in jeder dieser places-- 148 00:09:02,500 --> 00:09:06,810 10 auf den Null, 10 zu der einen, zehn zu den beiden, so dass Sie 110 und 100 149 00:09:06,810 --> 00:09:07,700 jeweils. 150 00:09:07,700 --> 00:09:12,140 >> Da Computer nur zwei Werte sie verstehen können, Null und Eins, 151 00:09:12,140 --> 00:09:16,600 sie auf verschiedene Werte verwenden in diesen Spalten, eins, zwei, vier. 152 00:09:16,600 --> 00:09:20,480 Und wenn wir in Gang gehalten, acht, 16, 32, 64 und so weiter. 153 00:09:20,480 --> 00:09:24,220 Aber das Muster und die Denk ist genau das gleiche. 154 00:09:24,220 --> 00:09:27,340 >> Also von dieser Logik, jedermann, wie würde Ich über die die Anzahl gehen 155 00:09:27,340 --> 00:09:28,530 eine binär? 156 00:09:28,530 --> 00:09:33,080 Wenn Sie noch nie darüber nachgedacht, selbst dies vor, was ist Ihr Bauch sagen? 157 00:09:33,080 --> 00:09:33,777 >> ZIELGRUPPE: One. 158 00:09:33,777 --> 00:09:34,610 David J. MALAN: One. 159 00:09:34,610 --> 00:09:35,660 Genau. 160 00:09:35,660 --> 00:09:38,100 Wir brauchen nur ein eine in der diejenigen statt, weil die Nullstellen 161 00:09:38,100 --> 00:09:40,610 genügen, um uns zu geben weder ein vier noch ein zwei. 162 00:09:40,610 --> 00:09:42,440 So ein mal eins gleich eins. 163 00:09:42,440 --> 00:09:43,940 Nun wird es ein wenig interessant. 164 00:09:43,940 --> 00:09:46,830 Wenn ich in repräsentieren binär die Anzahl two-- aber, 165 00:09:46,830 --> 00:09:49,790 wieder, auch wenn Sie noch nie diese Sprache gesprochen, bevor, 166 00:09:49,790 --> 00:09:54,680 Wie können wir in binärer vertreten die Wert wir Menschen wissen, wie zwei? 167 00:09:54,680 --> 00:09:55,570 Null eins null. 168 00:09:55,570 --> 00:09:57,620 Einfach die eine in der Spalte, die Sie wollen. 169 00:09:57,620 --> 00:09:59,560 >> Jetzt wird es ziemlich einfach jetzt wahrscheinlich. 170 00:09:59,560 --> 00:10:02,950 Also, wenn ich will three-- zu vertreten gibt es drei Niemandssäule. 171 00:10:02,950 --> 00:10:06,770 Also, noch einmal, ich kann jetzt diese Werte hinzufügen zusammen, indem sie eine hier. 172 00:10:06,770 --> 00:10:10,320 Also 2 mal 1 plus 1 Zeiten 1 ist selbstverständlich, 3. 173 00:10:10,320 --> 00:10:13,480 >> Jetzt wird es ein wenig Spaß in dass die, die jetzt zu Nullen. 174 00:10:13,480 --> 00:10:15,480 Und stellen vier, bekomme ich diese. 175 00:10:15,480 --> 00:10:19,310 Und wenn wir langsam erhöhen hier-- das wäre fünf sein. 176 00:10:19,310 --> 00:10:20,700 Dies würde sechs sein. 177 00:10:20,700 --> 00:10:22,100 Dies würde sieben sein. 178 00:10:22,100 --> 00:10:25,310 >> Aber jetzt scheine ich zu haben, laufen in ein Problem. 179 00:10:25,310 --> 00:10:30,520 Wie könnte ich über, die gehen eight-- würde der nächste Wert. 180 00:10:30,520 --> 00:10:31,900 Ja, so brauchen wir eine neue Bit. 181 00:10:31,900 --> 00:10:33,899 Und in der Tat, wenn Sie noch vor gehört dieser Satz, 182 00:10:33,899 --> 00:10:37,380 Bits, das ist nur die Abkürzung für Binärziffer, Null oder Eins. 183 00:10:37,380 --> 00:10:41,520 >> Und so habe ich zufällig vertreten nur drei solcher Bits hier. 184 00:10:41,520 --> 00:10:44,900 Aber wenn ich eine Art der Speicherung nicht drei Bits, sondern vier, 185 00:10:44,900 --> 00:10:47,250 siehe, ich darstellen könnte acht, neun und dann, und dann 186 00:10:47,250 --> 00:10:49,400 10 und noch höher. 187 00:10:49,400 --> 00:10:52,140 >> Aber das ruft dann in Frage, wie wir können, 188 00:10:52,140 --> 00:10:54,540 gehen, die über diese Dinge in den ersten Platz. 189 00:10:54,540 --> 00:10:56,950 Es ist eine Sache zu ziehen sie hier auf einer Folie, 190 00:10:56,950 --> 00:11:00,660 aber wie kann man sie darstellen wenn Sie eine mechanische Vorrichtung sind? 191 00:11:00,660 --> 00:11:04,390 Was ist ein Computer tun, um stellen die Eingänge und Ausgänge, die 192 00:11:04,390 --> 00:11:09,020 grundlegend definieren Berechnung Am Ende des Tages? 193 00:11:09,020 --> 00:11:12,090 >> Nun, was ist mit etwas super einfach so? 194 00:11:12,090 --> 00:11:13,200 Es ist nur eine Glühbirne. 195 00:11:13,200 --> 00:11:15,460 Und ich kann diese auslösen Glühbirne zu gehen auf 196 00:11:15,460 --> 00:11:17,920 durch Drehen etwas Strom auf und ermöglicht Elektronen 197 00:11:17,920 --> 00:11:22,585 durchströmt, das ändert seinen Staat oder seinen Wert, so zu sprechen. 198 00:11:22,585 --> 00:11:24,460 Zum Beispiel ist dies eine alte Schule Schreibtischlampe 199 00:11:24,460 --> 00:11:27,250 hier mit einer solchen Glühbirne im Inneren. 200 00:11:27,250 --> 00:11:29,940 Und jetzt ist es nicht wirklich etwas Nützliches zu tun. 201 00:11:29,940 --> 00:11:32,680 Aber sobald ich stecken Sie es in eine elektrische Steckdose 202 00:11:32,680 --> 00:11:36,390 und dann diese switch-- oder wir können sie sogar als eine Transistor 203 00:11:36,390 --> 00:11:39,970 oder denken, es als such-- Ich kann jetzt stellen entweder 204 00:11:39,970 --> 00:11:44,120 dieser Wert ist, wo die Glühbirne offensichtlich aus, oder dieser Wert. 205 00:11:44,120 --> 00:11:46,060 Dieser Wert oder dieser Wert. 206 00:11:46,060 --> 00:11:47,520 Dieser Wert und so weiter. 207 00:11:47,520 --> 00:11:51,220 >> So innerhalb eines Computer vermutlich sind viel kleiner Teile der Hardware, 208 00:11:51,220 --> 00:11:52,970 aber am Ende des Tages haben einfach 209 00:11:52,970 --> 00:11:55,360 zu bedienen electricity-- vielleicht erfassen es-- 210 00:11:55,360 --> 00:11:59,730 und dann entweder etwas halten auf oder etwas aus. 211 00:11:59,730 --> 00:12:02,021 Natürlich ist dies nicht Besonders interessant zu tun 212 00:12:02,021 --> 00:12:03,270 mit nur einer einzigen Glühbirne. 213 00:12:03,270 --> 00:12:06,726 >> In der Tat, wie hoch kann ich zählen in Binärdatei mit dieser Schreibtischlampe hier? 214 00:12:06,726 --> 00:12:07,420 >> ZIELGRUPPE: One. 215 00:12:07,420 --> 00:12:08,545 >> David J. MALAN: Eine, oder? 216 00:12:08,545 --> 00:12:11,020 Ich brauche mehr Schreibtischlampen, wenn ich eigentlich wollen höher zu zählen. 217 00:12:11,020 --> 00:12:12,210 Aber wir besser machen können. 218 00:12:12,210 --> 00:12:14,460 Da die Glühbirnen, die wir in diesen Dingen gesetzt haben 219 00:12:14,460 --> 00:12:17,730 sind eigentlich schicker Glühbirnen als würde es gestern. 220 00:12:17,730 --> 00:12:20,310 Und sie sind tatsächlich vernetzten Glühbirnen. 221 00:12:20,310 --> 00:12:23,160 Und Trauben von Unternehmen machen, diese Dinge in diesen Tagen. 222 00:12:23,160 --> 00:12:25,190 >> Aber es stellt sich heraus, dass diese im besonderen 223 00:12:25,190 --> 00:12:27,680 kommt mit einer Funktion, bei der Sie können die Farben ändern. 224 00:12:27,680 --> 00:12:30,810 So zum Beispiel, wenn man geschmückt Ihr Zimmer im Studentenwohnheim 225 00:12:30,810 --> 00:12:33,200 mit ein paar von diesen Licht Glühbirnen, je nach Stimmung, 226 00:12:33,200 --> 00:12:35,366 je nachdem, wer hereinkommt, je nach Wetter, 227 00:12:35,366 --> 00:12:37,360 in Abhängigkeit von der Zeit Tages, können Sie tatsächlich 228 00:12:37,360 --> 00:12:40,300 Ändern Sie die Farben die Lampen im Zimmer. 229 00:12:40,300 --> 00:12:43,740 Und das ist, weil dieser Licht Glühbirnen und andere wie sie, was ist 230 00:12:43,740 --> 00:12:48,010 rief eine API, eine Anwendung Programmier-Schnittstelle, die 231 00:12:48,010 --> 00:12:50,920 ist ein Thema, mit dem Sie gut sein, vertraut bis Ende Semester. 232 00:12:50,920 --> 00:12:53,710 >> Und das ist nur eine Phantasie, kryptische Art zu sagen, 233 00:12:53,710 --> 00:12:57,570 Diese Licht Sie programmieren Glühbirnen, um Ihre Wünsche zu erfüllen. 234 00:12:57,570 --> 00:13:00,360 Sie können sie Nachrichten senden genau wie Sie, ein Mensch, 235 00:13:00,360 --> 00:13:03,640 kann eine Nachricht an einen Web-Server zu senden sagen, gib mir die heutigen Nachrichten 236 00:13:03,640 --> 00:13:05,110 oder geben Sie mir per E-Mail. 237 00:13:05,110 --> 00:13:08,010 >> Sie können mehr arkane senden Nachrichten an diese Glühbirnen 238 00:13:08,010 --> 00:13:09,700 zu sagen, einschalten und ausschalten. 239 00:13:09,700 --> 00:13:11,370 Aber das ist nicht so interessant. 240 00:13:11,370 --> 00:13:14,280 Man kann sagen, schalten auf rot, schalten auf Grün, biegen auf blau, 241 00:13:14,280 --> 00:13:15,990 alle mit der gleichen Lampe. 242 00:13:15,990 --> 00:13:20,990 Und Sie können sogar, mit ein bisschen mehr versierte, sagen, drehen Sie sich nach blau 243 00:13:20,990 --> 00:13:24,710 wenn es ein trüber Tag außerhalb, zum Beispiel. 244 00:13:24,710 --> 00:13:27,910 Es kann tatsächlich in patchen eine Wetter API und finden Sie heraus 245 00:13:27,910 --> 00:13:32,260 wie das Wetter ist, oder die Zeit Tages oder anderen solchen Trigger. 246 00:13:32,260 --> 00:13:35,550 >> So in der Tat zwei CS50 eigenen Mitarbeiter, 247 00:13:35,550 --> 00:13:38,827 Dan Bradley und Ansel Duff hier freundlicherweise beschafft 248 00:13:38,827 --> 00:13:40,410 uns eine ganze Reihe von diesen Glühbirnen. 249 00:13:40,410 --> 00:13:42,910 Und sie bauten die CS50 erste binäre Glühbirnen, 250 00:13:42,910 --> 00:13:46,850 wo wir vertreten hier-- mit diesen spielerischen kleinen magnets-- 251 00:13:46,850 --> 00:13:49,780 die verschiedenen Platzhalter wir um nur ein bisschen vor angespielt. 252 00:13:49,780 --> 00:13:52,572 >> So wie hier ist die diejenigen Platz, zwei, vier. 253 00:13:52,572 --> 00:13:54,030 Und wir haben nicht mehr als das zu sehen. 254 00:13:54,030 --> 00:13:55,613 Aber, natürlich, sie sind Potenzen von zwei. 255 00:13:55,613 --> 00:13:59,490 Acht, 16, 32, 64 und 128. 256 00:13:59,490 --> 00:14:03,320 Also, wenn ich jetzt ein wenig schicker zu sein als mit dieser alten Schule Schalter, 257 00:14:03,320 --> 00:14:07,310 Ich habe hier auf diesem iPad ein super einfaches Interface 258 00:14:07,310 --> 00:14:10,440 Dan Bradley, dass ein ehemaliger Student und unterrichtet nun Kerl, 259 00:14:10,440 --> 00:14:13,510 programmiert mit etwas HTML und JavaScript, die 260 00:14:13,510 --> 00:14:15,685 sind Markup und Programmierung Sprachen sind. 261 00:14:15,685 --> 00:14:17,560 Und man kann wohl see-- auch in der back-- 262 00:14:17,560 --> 00:14:21,670 gibt es ein großes Plus und ein großes Minus, sowie eine Taste für jede dieser Lampen. 263 00:14:21,670 --> 00:14:25,740 Und was, das wird mir zu erlauben, Sie ist zum Beispiel, klicken Sie auf das Plus 264 00:14:25,740 --> 00:14:28,250 und jetzt stellen, der Natürlich, was Nummer? 265 00:14:28,250 --> 00:14:28,750 One. 266 00:14:28,750 --> 00:14:30,220 Und ich kann es wieder zu schlagen. 267 00:14:30,220 --> 00:14:31,480 Zwei. 268 00:14:31,480 --> 00:14:32,800 Drei. 269 00:14:32,800 --> 00:14:33,950 Four. 270 00:14:33,950 --> 00:14:35,200 Five. 271 00:14:35,200 --> 00:14:36,360 Six. 272 00:14:36,360 --> 00:14:36,880 Sieben. 273 00:14:36,880 --> 00:14:40,740 >> Und hier jetzt bekommen wir diese Rollover, aber wir haben eine vierte Bit dieses Mal, 274 00:14:40,740 --> 00:14:42,180 so jetzt haben wir acht. 275 00:14:42,180 --> 00:14:44,000 So konnten wir diese für einige Zeit zu tun. 276 00:14:44,000 --> 00:14:46,530 Tatsächlich Nebenbei Wie hoch können wir zählen? 277 00:14:46,530 --> 00:14:48,318 Anyone? 278 00:14:48,318 --> 00:14:49,270 >> ZIELGRUPPE: 255. 279 00:14:49,270 --> 00:14:51,420 >> David J. MALAN: 255, oder? 280 00:14:51,420 --> 00:14:54,900 Sie nicht zu viel über die Mathematik für sich sorgen jetzt, aber das ist eine ziemlich anständige Zahl. 281 00:14:54,900 --> 00:14:59,140 Aber es ist tatsächlich nur gebunden wie viele Stücke von Informationen, 282 00:14:59,140 --> 00:15:01,760 wie ein Brief oder eine Grafik dass wir zu vertreten. 283 00:15:01,760 --> 00:15:02,697 >> Aber egal, für jetzt. 284 00:15:02,697 --> 00:15:04,530 Ich werde weitermachen und schalten Sie sie alle weg. 285 00:15:04,530 --> 00:15:09,670 Und wenn ich könnte, würde Ich mag, um zu bitten ein Freiwilliger, unsere erste volunteer-- 286 00:15:09,670 --> 00:15:11,342 oh, hello-- auf der Bühne. 287 00:15:11,342 --> 00:15:14,050 Der Haken ist, man muss komfortabel erscheinen, wie Sie klar 288 00:15:14,050 --> 00:15:17,421 sind vor allen Klassenkameraden, sowie auf dem Internet. 289 00:15:17,421 --> 00:15:20,420 Und lassen Sie mich ein wenig blicken über the-- wie wäre es hier in den weißen T-Shirt? 290 00:15:20,420 --> 00:15:20,920 Und Hand auf. 291 00:15:20,920 --> 00:15:22,071 Komm auf. 292 00:15:22,071 --> 00:15:22,820 Wie heißen Sie? 293 00:15:22,820 --> 00:15:23,760 >> ZIELGRUPPE: Jackie. 294 00:15:23,760 --> 00:15:24,718 >> David J. MALAN: Jackie. 295 00:15:24,718 --> 00:15:25,820 Jackie, komm auf. 296 00:15:25,820 --> 00:15:29,820 So was gibt es auch auf diese iPad ist eine Schaltfläche namens Game Mode. 297 00:15:29,820 --> 00:15:32,570 Und dieses Spielmodus ist wird mich zur Eingabe erlauben 298 00:15:32,570 --> 00:15:35,780 im Voraus eine bestimmte Dezimalstelle Anzahl, haben wir die Zahlen der Mensch 299 00:15:35,780 --> 00:15:36,760 vertraut mit. 300 00:15:36,760 --> 00:15:39,820 Und dann werden Sie herausgefordert werden hier, um die Tasten 301 00:15:39,820 --> 00:15:42,140 auf der top-- eine für jede dieser bulbs-- 302 00:15:42,140 --> 00:15:45,050 um tatsächlich herauszufinden, das Muster von Glühbirnen 303 00:15:45,050 --> 00:15:46,970 dass die Anzahl in Frage. 304 00:15:46,970 --> 00:15:47,790 >> Und es tut mir leid, was wieder war Ihr Name? 305 00:15:47,790 --> 00:15:48,250 >> ZIELGRUPPE: Jackie. 306 00:15:48,250 --> 00:15:48,620 >> David J. MALAN: Jackie. 307 00:15:48,620 --> 00:15:48,920 In Ordnung. 308 00:15:48,920 --> 00:15:49,740 Gut, Sie zu treffen. 309 00:15:49,740 --> 00:15:54,580 >> Also lassen Sie mich weiter und Programm gehen für die Welt, um die Zahl 15 zu sehen. 310 00:15:54,580 --> 00:15:56,360 Wir werden es auf den ersten hier klein zu halten. 311 00:15:56,360 --> 00:15:58,240 Und ich werde in den Spiele-Modus zu gehen. 312 00:15:58,240 --> 00:16:01,160 Und ich werde, um anzugeben, geben Sie die Anzahl 15. 313 00:16:01,160 --> 00:16:01,900 >> Ok. 314 00:16:01,900 --> 00:16:05,510 Und jetzt mit jeder watching-- wenn Sie stehen vielleicht auf diese Weise möchten, 315 00:16:05,510 --> 00:16:09,970 denn es wird säumen up-- voran gehen und wechseln die acht Tasten an der Oberseite 316 00:16:09,970 --> 00:16:12,530 um an die Lampen einschalten oder ausschalten, wie Sie sehen, passen. 317 00:16:12,530 --> 00:16:13,530 >> ZIELGRUPPE: OK. 318 00:16:13,530 --> 00:16:17,720 >> David J. MALAN: Und kein Betrug durch Schlagen plus 15 mal. 319 00:16:17,720 --> 00:16:19,275 Oh, werden wir das tun. 320 00:16:19,275 --> 00:16:20,069 >> ZIELGRUPPE: Oh, warten. 321 00:16:20,069 --> 00:16:20,610 Es tut mir leid. 322 00:16:20,610 --> 00:16:22,660 >> David J. MALAN: Sie können auch drehen Die Glühbirnen auf individuell 323 00:16:22,660 --> 00:16:24,076 wobei jede dieser Tasten auf. 324 00:16:24,076 --> 00:16:24,844 ZIELGRUPPE: Oh, OK. 325 00:16:24,844 --> 00:16:27,429 So wäre es like-- 326 00:16:27,429 --> 00:16:28,220 David J. MALAN: OK. 327 00:16:28,220 --> 00:16:29,100 So, jetzt haben wir acht. 328 00:16:29,100 --> 00:16:31,280 Lassen Sie uns also Pause für die Publikum, hier zu engagieren. 329 00:16:31,280 --> 00:16:34,300 Welche Zahl ist Jackie Derzeit vertritt? 330 00:16:34,300 --> 00:16:34,800 11. 331 00:16:34,800 --> 00:16:35,730 Also wir sind fast da. 332 00:16:35,730 --> 00:16:38,360 333 00:16:38,360 --> 00:16:39,630 Und ausgezeichnet. 334 00:16:39,630 --> 00:16:41,487 So haben wir unsere ersten Gewinner. 335 00:16:41,487 --> 00:16:42,445 Herzlichen Glückwunsch. 336 00:16:42,445 --> 00:16:48,200 >> Und wir dachten, wir müssten einige fabelhafte Werbegeschenke. 337 00:16:48,200 --> 00:16:50,860 Wenn Sie möchten, dass ein solcher sein Zimmer im Studentenwohnheim hier auf dem Campus, 338 00:16:50,860 --> 00:16:56,126 Sie selbst haben ein Abschlussprojekt mit nun diese API dank Jackie. 339 00:16:56,126 --> 00:16:57,050 So now-- 340 00:16:57,050 --> 00:16:58,902 >> [Applaus] 341 00:16:58,902 --> 00:17:01,690 342 00:17:01,690 --> 00:17:04,839 >> --wenn wir konnten, eine weitere wie dies in der Umgebung. 343 00:17:04,839 --> 00:17:07,690 Oh, jetzt will jeder ein paar Glühbirnen. 344 00:17:07,690 --> 00:17:11,790 Für die so genannten Hacker-Ausgabe, wir werden es Rampe bis a-- oh, 345 00:17:11,790 --> 00:17:12,770 ja, unverbindlich. 346 00:17:12,770 --> 00:17:16,010 Ich glaube, du bist jetzt kommen Wenn Ihre Hand geht nach unten. 347 00:17:16,010 --> 00:17:16,800 Wie heißen Sie? 348 00:17:16,800 --> 00:17:17,424 >> ZIELGRUPPE: Alex. 349 00:17:17,424 --> 00:17:19,440 David J. MALAN: Alex, komm hierher. 350 00:17:19,440 --> 00:17:26,190 Also für Alex, sind wir auf gehen Programm in einem etwas größeren Anzahl. 351 00:17:26,190 --> 00:17:27,790 Vielleicht in Ordnung. 352 00:17:27,790 --> 00:17:29,110 Die Zahl 50 ist. 353 00:17:29,110 --> 00:17:29,744 >> ZIELGRUPPE: OK. 354 00:17:29,744 --> 00:17:31,660 David J. MALAN: Aber, wie Ich said-- und man könnte 355 00:17:31,660 --> 00:17:33,580 will hier so stehen dass die Tasten antreten 356 00:17:33,580 --> 00:17:37,115 wie Sie expect-- würde, aber ich habe nennen dies die Hacker-Ausgabe. 357 00:17:37,115 --> 00:17:47,125 SO- viel Glück! 358 00:17:47,125 --> 00:17:48,416 >> [Gelächter] 359 00:17:48,416 --> 00:17:58,570 360 00:17:58,570 --> 00:18:02,050 >> Sie werden in der Lage sich zu drehen ihnen aus, wenn Sie-- OK. 361 00:18:02,050 --> 00:18:02,880 Ausgezeichnet. 362 00:18:02,880 --> 00:18:03,675 Wunderbar. 363 00:18:03,675 --> 00:18:04,341 Herzlichen Glückwunsch. 364 00:18:04,341 --> 00:18:08,730 >> [Applaus] 365 00:18:08,730 --> 00:18:10,355 Ich glaube, ich sollte zahlen. 366 00:18:10,355 --> 00:18:11,830 Herzlichen Glückwunsch an Alex auch. 367 00:18:11,830 --> 00:18:12,330 Ok. 368 00:18:12,330 --> 00:18:15,550 >> So die ultimative Mitnehmen Hier ist hoffentlich, ehrlich gesagt, 369 00:18:15,550 --> 00:18:18,109 die simplicity-- die Einfachheit, mit der 370 00:18:18,109 --> 00:18:20,650 Sie können etwas schönes Licht bekommen Glühbirnen, offenbar in [unverständlich]. 371 00:18:20,650 --> 00:18:23,000 Aber sie vertreten, letztlich die gleichen Ideen 372 00:18:23,000 --> 00:18:26,310 , mit der wir Menschen sind schon allzu vertraut. 373 00:18:26,310 --> 00:18:28,660 Also, was könnte die nächste Schritt in der Progression 374 00:18:28,660 --> 00:18:30,920 zu versuchen, etwas zu tun interessant, mit Daten 375 00:18:30,920 --> 00:18:34,950 und Vertretung von Eingaben, die nicht nur sind Zahlen sind aber vielleicht Buchstaben oder mehr? 376 00:18:34,950 --> 00:18:37,820 >> Nun stellt sich heraus, dass der Computerwelt seit vielen Jahren, 377 00:18:37,820 --> 00:18:43,300 einfach übernommen, sondern ein beliebig einheitlichen Standard, der Zahlen-Karten 378 00:18:43,300 --> 00:18:44,610 die Buchstaben des Alphabets. 379 00:18:44,610 --> 00:18:47,120 Beispielsweise ist hier ein Auszug aus dieser Zuordnung. 380 00:18:47,120 --> 00:18:48,350 Es heißt ASCII. 381 00:18:48,350 --> 00:18:53,220 A-S-C-I-I. Und das ist nur ein Tabelle, die Großbuchstaben letters-- Karten 382 00:18:53,220 --> 00:18:56,600 in diesem case-- in Dezimalzahlen. 383 00:18:56,600 --> 00:18:57,890 >> Aber was ist die Implikation? 384 00:18:57,890 --> 00:19:01,090 Nun, wenn Sie tatsächlich darstellen wollen so etwas wie eine E-Mail oder einen Text 385 00:19:01,090 --> 00:19:03,310 auf einer Web-Seite, können Sie offensichtlich wollen zeigen, 386 00:19:03,310 --> 00:19:06,100 die menschlichen Buchstaben des Alphabet, Zahlen nicht. 387 00:19:06,100 --> 00:19:09,140 So abhängig von der Rahmen des Programms 388 00:19:09,140 --> 00:19:12,600 dass ein Benutzer, wenn es ein Web-Browser oder E-Mail-Client, 389 00:19:12,600 --> 00:19:16,090 Zahlen können sicherlich sein als Buchstaben interpretiert. 390 00:19:16,090 --> 00:19:20,290 Das heißt, Muster von Bits einfach als Buchstaben interpretiert werden. 391 00:19:20,290 --> 00:19:24,700 >> Und was wir haben können ist der Buchstabe A Befinden 392 00:19:24,700 --> 00:19:28,410 65, B dargestellten als 66 dargestellt. 393 00:19:28,410 --> 00:19:30,900 Wenn wir also ein super kurzes Wort, wie hallo, 394 00:19:30,900 --> 00:19:35,740 was ein Computer würde letztlich Shop in Dezimal aber wirklich in binärer, 395 00:19:35,740 --> 00:19:40,070 mit etwas Folge von Bits, die Nutzung ein wenig von Strom in irgendeiner Weise 396 00:19:40,070 --> 00:19:44,010 würden die beiden Zahlen 72 und 73 sein. 397 00:19:44,010 --> 00:19:46,780 >> Aber das Muster von Bits, stellt diese Werte. 398 00:19:46,780 --> 00:19:49,820 So dass diese dann sind, wie wir können, vertreten unsere Eingänge und Ausgänge. 399 00:19:49,820 --> 00:19:52,630 Und es genügt zu sagen, wir können mehr tun, komplexe Darstellungen 400 00:19:52,630 --> 00:19:56,450 letztlich mit Dingen wie Grafiken, Videos, Musik und mehr 401 00:19:56,450 --> 00:19:58,190 wie wir später sehen diesen Begriff. 402 00:19:58,190 --> 00:20:00,630 >> So dass nur dann verlässt Algorithmen, diese Sätze 403 00:20:00,630 --> 00:20:03,490 von Anweisungen, mit denen wir lösen aktuelle Probleme. 404 00:20:03,490 --> 00:20:05,820 Wir sind in Eingängen vorbei, um Algorithmen. 405 00:20:05,820 --> 00:20:09,630 Und diese Algorithmen produzieren Ausgänge, hoffentlich richtigen Ausgänge 406 00:20:09,630 --> 00:20:14,160 und hoffentlich auch effizient gesammelt Ausgänge. 407 00:20:14,160 --> 00:20:16,890 In anderen Worten, es ist eine Sache, , etwas richtig zu implementieren. 408 00:20:16,890 --> 00:20:20,790 Es ist eine andere Sache, zu implementieren etwas gut oder effizient. 409 00:20:20,790 --> 00:20:23,690 >> Zum Beispiel, eine Demonstration dass wir gern im Rahmen 410 00:20:23,690 --> 00:20:24,460 das ist eine. 411 00:20:24,460 --> 00:20:26,345 Aber diese Dinge werden immer zunehmend schwer zu finden. 412 00:20:26,345 --> 00:20:28,930 Aber das ist in der Tat eine alte Schule Telefonbuch, in dessen Inneren 413 00:20:28,930 --> 00:20:32,580 sind über 1.000 Seiten Namen und Telefonnummern. 414 00:20:32,580 --> 00:20:34,830 Und wenn ich wollte schauen jemand in diesem Telefonbuch, 415 00:20:34,830 --> 00:20:38,640 Ich konnte einfach nicht ein sehr naiv-Algorithmus. 416 00:20:38,640 --> 00:20:42,150 Ich konnte bis zu der ersten Seite öffnen, und Ich konnte beginnen, für, sagen wir, jemand sucht 417 00:20:42,150 --> 00:20:43,130 namens Mike Smith. 418 00:20:43,130 --> 00:20:46,160 Und wenn er nicht auf der ersten Seite, Fortschritte, die ich auf die zweite, 419 00:20:46,160 --> 00:20:49,120 und dann in den dritten, und dann dem vierten, usw. 420 00:20:49,120 --> 00:20:51,430 bis ich endlich Mike Smith. 421 00:20:51,430 --> 00:20:53,010 >> Jetzt ist dieser Algorithmus korrekt? 422 00:20:53,010 --> 00:20:53,896 >> ZIELGRUPPE: Ja. 423 00:20:53,896 --> 00:20:54,248 >> David J. MALAN: Ja. 424 00:20:54,248 --> 00:20:56,039 Wenn er es in, ich werde ihn schließlich zu finden. 425 00:20:56,039 --> 00:20:58,820 Aber es ist wohl nicht sehr effizient, sicher nicht schnell, 426 00:20:58,820 --> 00:21:01,200 weil, mein Gott, warum bin ich meine Zeit Flipping 427 00:21:01,200 --> 00:21:04,500 durch all diese Seiten, wenn ich könnte sicherlich tun dies körperlich schneller? 428 00:21:04,500 --> 00:21:08,210 >> Nun, eine leichte Optimierung, so zu sprechen, vielleicht nicht eine Seite zu einem Zeitpunkt, 429 00:21:08,210 --> 00:21:11,610 aber zwei, vier, sechs, acht, 10. 430 00:21:11,610 --> 00:21:12,725 Noch richtig? 431 00:21:12,725 --> 00:21:14,030 >> ZIELGRUPPE: Nein 432 00:21:14,030 --> 00:21:17,040 >> David J. MALAN: Also nein, wenn ich für Beispiel überspringen, Mike Smith. 433 00:21:17,040 --> 00:21:20,530 Aber so lange ich Rücktritt eine Seite, wenn ich ihn hinausschießen, 434 00:21:20,530 --> 00:21:25,240 vielleicht werden wir korrigieren konnte, was sonst ein Gotcha sein. 435 00:21:25,240 --> 00:21:26,020 >> Aber ist es besser? 436 00:21:26,020 --> 00:21:27,469 Ist es schneller? 437 00:21:27,469 --> 00:21:28,010 Ich meine, ja. 438 00:21:28,010 --> 00:21:30,950 Es ist buchstäblich doppelt so schnell wenn ich zwei Seiten auf einmal. 439 00:21:30,950 --> 00:21:35,720 Also, wenn ich hatte ursprünglich 1.000 Seiten, Jetzt muss ich nur noch 500-mal umdrehen, 440 00:21:35,720 --> 00:21:39,429 nicht vollständig 1.000 Seiten zu bekommen möglicherweise im schlimmsten Fall 441 00:21:39,429 --> 00:21:41,220 bis zum Ende des Telefon Buch, in dem jemand 442 00:21:41,220 --> 00:21:44,380 wie Mike Smith oder jemanden mit ein späterer Name könnte in der Tat sein. 443 00:21:44,380 --> 00:21:46,540 >> Aber, natürlich, wir Menschen sind sicherlich nicht 444 00:21:46,540 --> 00:21:49,250 gehen zu tun, dass, natürlich an dieser Stelle nicht in unserem Leben. 445 00:21:49,250 --> 00:21:51,454 Was ist ein angemessener Menschen wahrscheinlich zu tun? 446 00:21:51,454 --> 00:21:52,870 ZIELGRUPPE: Gehen Sie direkt zu The9 S. 447 00:21:52,870 --> 00:21:53,860 David J. MALAN: Gehen Sie direkt zu den S? 448 00:21:53,860 --> 00:21:55,563 Wie kann ich direkt zu den S? 449 00:21:55,563 --> 00:21:57,342 >> ZIELGRUPPE: Rip es in der Hälfte. 450 00:21:57,342 --> 00:21:59,050 David J. MALAN: Nun, es gibt keine Kennzeichnung. 451 00:21:59,050 --> 00:22:02,116 Also, ja, wenn es tatsächlich ein Etikett oder eine klebrige Registerkarte für S, 452 00:22:02,116 --> 00:22:03,240 wir sollten genau dort zu springen. 453 00:22:03,240 --> 00:22:05,420 Aber es ist ziemlich harmlos. 454 00:22:05,420 --> 00:22:08,480 Also das Beste, was ich tun kann, ist etwa an den S Abschnitt oder vielleicht etwa 455 00:22:08,480 --> 00:22:09,650 in der Mitte. 456 00:22:09,650 --> 00:22:12,110 Aber der Schlüssel zum Mitnehmen now-- und der Intuition 457 00:22:12,110 --> 00:22:14,430 dass Sie genommen haben Jahren gewährt probably-- 458 00:22:14,430 --> 00:22:17,103 ist das, was du jetzt zu tun wissen über dieses Problem? 459 00:22:17,103 --> 00:22:19,320 >> ZIELGRUPPE: [unverständlich] 460 00:22:19,320 --> 00:22:22,290 >> David J. MALAN: Mike Smith ist sicher in dieser Hälfte des Problems 461 00:22:22,290 --> 00:22:25,600 weil Smith kommt nach der Mitte das ist in etwa die M Abschnitt, 462 00:22:25,600 --> 00:22:26,510 es scheint. 463 00:22:26,510 --> 00:22:30,340 So, wie Sie auch gesehen haben Visitas, können wir jetzt buchstäblich 464 00:22:30,340 --> 00:22:31,737 reißen dieses Problem in der Hälfte. 465 00:22:31,737 --> 00:22:32,320 ZIELGRUPPE: Woo! 466 00:22:32,320 --> 00:22:33,690 David J. MALAN: Es ist immer einfacher. 467 00:22:33,690 --> 00:22:34,666 [Applaus] 468 00:22:34,666 --> 00:22:36,618 Dort gehen Sie. 469 00:22:36,618 --> 00:22:39,060 [Gelächter] 470 00:22:39,060 --> 00:22:41,870 Und jetzt habe ich grundlegend habe das gleiche Problem, 471 00:22:41,870 --> 00:22:43,866 aber es ist buchstäblich halb so groß. 472 00:22:43,866 --> 00:22:45,240 Ich bin immer noch auf der Suche nach Mike Smith. 473 00:22:45,240 --> 00:22:47,950 Ich wage zu behaupten, und ich kann immer noch sucht ihn in der gleichen Weise, 474 00:22:47,950 --> 00:22:51,200 Aufteilung des Problems in der Hälfte wieder, reißt das Problem wieder 475 00:22:51,200 --> 00:22:54,140 in der Hälfte, die jetzt lässt mich mit ein Problem, ein Viertel der Größe, 476 00:22:54,140 --> 00:22:58,710 dramatisch zu werfen, dass die Hälfte weg, und wiederholen Sie diesen Vorgang immer und immer wieder 477 00:22:58,710 --> 00:23:01,150 und immer wieder und blickte nach unten an jedem Punkt zu sehen, 478 00:23:01,150 --> 00:23:03,400 wenn Mike Smith ist auf die Seite in Frage. 479 00:23:03,400 --> 00:23:06,190 >> Nun, wenn ich dieses Recht, schließlich werde ich mich selbst zu finden 480 00:23:06,190 --> 00:23:11,085 mit nur einer Seite, auf der Mike Smith ist, ob er tatsächlich im Telefonbuch. 481 00:23:11,085 --> 00:23:13,510 Natürlich könnte ich nie wieder Mike nennen. 482 00:23:13,510 --> 00:23:18,800 Aber der Punkt ist, dass, wenn wir begonnen mit 1.000 Seiten, meine erste Algorithmus, 483 00:23:18,800 --> 00:23:21,620 drehen Sie die Seite, vielleicht 1.000 times-- auf jeden Fall geringer, da es 484 00:23:21,620 --> 00:23:26,430 ein S Namen und nicht ein Z Name, sondern als weniger als 1.000 Seiten potentiell. 485 00:23:26,430 --> 00:23:27,590 >> Zweite Algorithmus, besser. 486 00:23:27,590 --> 00:23:28,480 500 Seiten. 487 00:23:28,480 --> 00:23:31,230 Dritte Algorithmus, obwohl, wie viele Schritte wäre es 488 00:23:31,230 --> 00:23:35,520 ergreifen, um eine 1000-Seite teilen Telefonbuch in der Hälfte so? 489 00:23:35,520 --> 00:23:37,000 10, geben oder nehmen. 490 00:23:37,000 --> 00:23:40,770 Also nur durch Durchblättern, dass Telefonbuch, Tauchen und erobern, 491 00:23:40,770 --> 00:23:46,130 so zu sprechen, 10-mal, werde ich meinen Weg auf nur einer einzigen Seite. 492 00:23:46,130 --> 00:23:48,880 >> Und so können wir diese Intuition zu erfassen jetzt ein wenig grafisch 493 00:23:48,880 --> 00:23:51,320 wenn Sie gerade betrachten Diese super einfachen Grafik. 494 00:23:51,320 --> 00:23:55,470 Wir sind auf der x-Achse, oder horizontal Achse ist die Größe meines Problems, 495 00:23:55,470 --> 00:23:57,100 die Anzahl der Seiten im Telefonbuch. 496 00:23:57,100 --> 00:23:59,040 Und Informatiker in der Regel gerne anrufen 497 00:23:59,040 --> 00:24:02,180 Die Größe eines Problems n, wobei n ist nur einige Variable, die 498 00:24:02,180 --> 00:24:04,310 represents-- in dieser case-- Anzahl der Seiten. 499 00:24:04,310 --> 00:24:07,412 >> Die vertikale oder Y-Achse, hier ist gehen, um die Zeit zu lösen, 500 00:24:07,412 --> 00:24:09,870 vielleicht die Zahl der Seiten Wendungen, vielleicht die Anzahl der Sekunden 501 00:24:09,870 --> 00:24:11,960 oder Minuten, was auch immer Ihre Maßeinheit ist. 502 00:24:11,960 --> 00:24:14,337 Und so diese rote Linie stellt den ersten Algorithmus, 503 00:24:14,337 --> 00:24:16,670 weil es eine 1-1 Beziehung zwischen Anzahl 504 00:24:16,670 --> 00:24:18,880 der Seiten und der Menge an Zeit, die. 505 00:24:18,880 --> 00:24:22,240 >> Wenn Verizon verdoppelt die Anzahl der Seiten im Telefonbuch im nächsten Jahr, 506 00:24:22,240 --> 00:24:24,590 meine Lauf Zeit-- die Zeit, die zum Ausführen 507 00:24:24,590 --> 00:24:27,610 dass erste algorithm-- verdoppelt im schlimmsten Fall. 508 00:24:27,610 --> 00:24:30,690 Aber der zweite Algorithmus, wo ich blätterte durch zwei, 509 00:24:30,690 --> 00:24:33,650 erfordert weniger Zeit für einer bestimmten Größe Problem. 510 00:24:33,650 --> 00:24:36,090 Also, wenn ich diese vielen Seiten hier-- Ankündigung 511 00:24:36,090 --> 00:24:38,870 dass die gelbe Linie schlägt vor kürzerer Zeit zu lösen. 512 00:24:38,870 --> 00:24:42,490 Und in der Tat stellt es, Wir sagen,, n über zwei. 513 00:24:42,490 --> 00:24:47,717 >> Aber was ist die Form des dritten und letzte Kurve aussehen würde? 514 00:24:47,717 --> 00:24:50,800 Ja, es ist in der Tat werde ich look-- weiß nicht, was Sie sagen wollten. 515 00:24:50,800 --> 00:24:52,300 Aber mal sehen, was Sie sagen wollten. 516 00:24:52,300 --> 00:24:53,280 >> ZIELGRUPPE: so. 517 00:24:53,280 --> 00:24:57,060 >> David J. MALAN: Es wird aussehen Damit eine logarithmische slope-- exactly-- 518 00:24:57,060 --> 00:24:59,770 wobei man diese merkwürdige Hang. 519 00:24:59,770 --> 00:25:01,235 Es ist nicht mehr eine gerade Linie. 520 00:25:01,235 --> 00:25:05,000 Und was ist überzeugend über das ist, dass auch wenn die Grafik jetzt abgeschnitten, 521 00:25:05,000 --> 00:25:07,790 Sie extrapolieren können Ihre daran, dass die grüne Linie ist nicht 522 00:25:07,790 --> 00:25:10,060 werde in zu erhöhen Höhe, dass alle viel 523 00:25:10,060 --> 00:25:13,500 wie Sie weiter vorgehen hinunter diesen horizontalen Achse. 524 00:25:13,500 --> 00:25:15,890 >> In der Tat, Verizon, für So verdoppeln könnte 525 00:25:15,890 --> 00:25:19,100 die Anzahl der Seiten im Telefon Buch zwischen diesem und im nächsten Jahr 526 00:25:19,100 --> 00:25:22,140 von 1000 bis 2000 Seiten, aber keine große Sache. 527 00:25:22,140 --> 00:25:24,960 Mit dieser dritten und letzten, gibt es eine intuitive Algorithmus 528 00:25:24,960 --> 00:25:26,209 teilen und zu erobern. 529 00:25:26,209 --> 00:25:29,000 Es geht um mich, wie viele Schritte im nächsten Jahr, jemanden zu finden 530 00:25:29,000 --> 00:25:29,700 wie Mike Smith? 531 00:25:29,700 --> 00:25:30,560 >> ZIELGRUPPE: One. 532 00:25:30,560 --> 00:25:31,230 >> David J. MALAN: Es gibt nur eine. 533 00:25:31,230 --> 00:25:34,430 Und sie können es vervierfachen, es ist werde mich nur noch zwei Schritte 534 00:25:34,430 --> 00:25:35,210 und so weiter. 535 00:25:35,210 --> 00:25:38,730 Und so ist dies Beweis für nur, wie einige sorgfältige Planung 536 00:25:38,730 --> 00:25:42,437 und einige Wertschätzung für das, was Ihre Eingaben sind noch besser zu tun. 537 00:25:42,437 --> 00:25:44,270 Jetzt sind wir ein Betrug etwas in dem Sinne, 538 00:25:44,270 --> 00:25:46,350 dass wir die Nutzung eine Annahme. 539 00:25:46,350 --> 00:25:48,500 Was ist meine Annahme über unsere Telefonbuch 540 00:25:48,500 --> 00:25:52,720 dass mir erlaubt, zu teilen und zu erobern in dieser intuitiven und dennoch richtige Weg? 541 00:25:52,720 --> 00:25:53,705 >> ZIELGRUPPE: [unverständlich] 542 00:25:53,705 --> 00:25:54,580 David J. MALAN: Ja. 543 00:25:54,580 --> 00:25:55,440 So ist es bestellt wurde. 544 00:25:55,440 --> 00:25:57,392 Es wurde von alphabetisiert das Telefonbuch Unternehmens. 545 00:25:57,392 --> 00:26:00,100 Wenn es in zufälliger Reihenfolge, dass wäre eine Hölle von einem Telefonbuch zu sein, 546 00:26:00,100 --> 00:26:02,850 aber es wäre sicherlich nicht selbst verleihen dem Algorithmus 547 00:26:02,850 --> 00:26:05,950 Ich habe, weil man es nie nur über Mike Smith passieren 548 00:26:05,950 --> 00:26:09,210 wenn Sie gehalten Aufteilung in Hälfte auf diese Weise durch Zufall. 549 00:26:09,210 --> 00:26:12,060 >> Also lassen Sie uns nun zu formalisieren was ist deutlich intuitiver. 550 00:26:12,060 --> 00:26:13,950 So etwas wie Pseudocode ist, wo wir 551 00:26:13,950 --> 00:26:15,780 beginnen einige unserer anfänglichen Problemen. 552 00:26:15,780 --> 00:26:20,410 Und dies ist ein allgemeiner Weg zur Beschreibung ein Algorithmus oder ein Computerprogramm, 553 00:26:20,410 --> 00:26:24,150 nicht mit C oder C ++ oder Java, oder eine bestimmte Sprache, 554 00:26:24,150 --> 00:26:27,430 aber nur mit Englisch, mit die jeder Mensch könnte vertraut sein. 555 00:26:27,430 --> 00:26:31,220 >> Und wir könnten den Pseudocode schreiben Für dieses Problem wie folgt. 556 00:26:31,220 --> 00:26:33,520 Schritt eins, nehmen Sie den Telefonbuch. 557 00:26:33,520 --> 00:26:35,840 Schritt zwei, offen für Mitte des Telefonbuches. 558 00:26:35,840 --> 00:26:37,730 Schritt drei, schauen Sie sich den Namen. 559 00:26:37,730 --> 00:26:40,630 Schritt vier, wenn Smith ist unter Namen colliders-- 560 00:26:40,630 --> 00:26:42,960 >> Und jetzt ist dies ein interessant Konstrukt. 561 00:26:42,960 --> 00:26:44,290 Es ist ein Entscheidungspunkt. 562 00:26:44,290 --> 00:26:47,920 Es ist eine Gabel in der Straße, wenn Sie werden, eine Niederlassung, so zu sprechen. 563 00:26:47,920 --> 00:26:50,810 Also werde ich einrücken nur durch Konvention step-- 564 00:26:50,810 --> 00:26:53,950 nicht five-- was ist sagen wir, ich werde Mike nennen. 565 00:26:53,950 --> 00:26:57,290 So dass diese Einbuchtung, total beliebige menschliche Konvention, aber es ist 566 00:26:57,290 --> 00:27:01,160 einfach soll semantisch vermitteln dass, wenn Smith ist unter Namen, 567 00:27:01,160 --> 00:27:03,310 dann sollte ich Mike nennen. 568 00:27:03,310 --> 00:27:06,630 >> Inzwischen in Schritt sechs, Ankündigung dass die Vertiefung ist weg. 569 00:27:06,630 --> 00:27:10,980 Also sonst ist die andere Gabel in die Straße, der andere Weg, den ich reisen könnte. 570 00:27:10,980 --> 00:27:14,130 Also, wenn sonst Smith ist früher in dem Buch, was ist 571 00:27:14,130 --> 00:27:16,964 mein nächster Schritt wahrscheinlich, hier zu sein? 572 00:27:16,964 --> 00:27:18,380 ZIELGRUPPE: Sie gehen auf die linke Seite. 573 00:27:18,380 --> 00:27:21,004 David J. MALAN: Ja, so gehen Sie zu die linke Hälfte des Telefonbuchs. 574 00:27:21,004 --> 00:27:24,140 Werfen Sie die rechte Hälfte, wenn Smith ist bereits in dem Buch. 575 00:27:24,140 --> 00:27:27,140 So auf die Mitte des offenen die linke Hälfte des Buches. 576 00:27:27,140 --> 00:27:30,240 >> Und dann Schritt acht, gehen Sie in die Linie drei. 577 00:27:30,240 --> 00:27:34,520 Und das ist eine seltsame Schleife Ich bin induzieren, eine Rekursion so zu sprechen. 578 00:27:34,520 --> 00:27:35,990 Aber mehr dazu in der Zukunft. 579 00:27:35,990 --> 00:27:39,590 >> Ich bin mit meinem gleichen Algorithmus, Mein gleichen Pseudocode, 580 00:27:39,590 --> 00:27:43,020 , das gleiche Problem wieder zu lösen weil das einzige, was sich verändert hat 581 00:27:43,020 --> 00:27:46,550 das Ausmaß des Problems nicht mein Ziel, und nicht die Person, 582 00:27:46,550 --> 00:27:47,340 Ich interessiere mich für. 583 00:27:47,340 --> 00:27:51,610 So kann ich den Algorithmus wiederverwenden dass ich bereits definiert. 584 00:27:51,610 --> 00:27:53,580 >> Else if Smith ist später in book-- Dir vielleicht 585 00:27:53,580 --> 00:27:56,200 guess-- offen Mitte die rechte Hälfte des Buches. 586 00:27:56,200 --> 00:27:58,350 Und wieder gehen zu Zeile drei. 587 00:27:58,350 --> 00:28:01,480 Else-- was ist die letzte Zeile in diesem Programm sein wird? 588 00:28:01,480 --> 00:28:03,580 Wenn er nicht zu den Namen auf der Seite, die ich bin 589 00:28:03,580 --> 00:28:06,870 auf, wenn er nicht zuvor in das Buch, und er ist nicht später 590 00:28:06,870 --> 00:28:09,899 in dem Buch, was weiß ich, ist wahr, über Mike Smith jetzt? 591 00:28:09,899 --> 00:28:11,190 ZIELGRUPPE: Er ist nicht in dem Buch. 592 00:28:11,190 --> 00:28:12,731 David J. MALAN: Er ist nicht in dem Buch. 593 00:28:12,731 --> 00:28:16,040 Also das Beste, was ich tun kann, ist nur aufgeben und dieses Programm zu stoppen. 594 00:28:16,040 --> 00:28:16,540 In Ordnung. 595 00:28:16,540 --> 00:28:20,350 Also an dieser Stelle, lassen Sie uns einen kurze Tour durch einige, was sie erwartet. 596 00:28:20,350 --> 00:28:23,620 Und in der Tat, ich bin hier beigetreten durch eine Anzahl von CS50 Personal. 597 00:28:23,620 --> 00:28:26,940 Wenn diese Leute könnten alle mit mir hier oben auf der Bühne. 598 00:28:26,940 --> 00:28:28,900 >> [Applaus] 599 00:28:28,900 --> 00:28:35,280 600 00:28:35,280 --> 00:28:38,170 >> Wohlgemerkt, dies ist nur eine Teilmenge der CS50 Personal, 601 00:28:38,170 --> 00:28:42,380 da jedes Jahr haben wir fast 100 Mitarbeiter Mitglieder in Rollen natürlich Assistenten, 602 00:28:42,380 --> 00:28:44,410 Teaching Fellows und mehr. 603 00:28:44,410 --> 00:28:45,700 Komm auf. 604 00:28:45,700 --> 00:28:48,820 So werden sie uns hier beitreten ungeschickt für einen Moment 605 00:28:48,820 --> 00:28:54,230 wie wir geben einen kompakten Überblick über das, was Sie sollten hier im Verlauf zu erwarten. 606 00:28:54,230 --> 00:28:59,640 >> Also in erster Linie haben wir SAT / UNS die Noten Option in den Kurs. 607 00:28:59,640 --> 00:29:03,180 Dies wird bewusst gemeint eine Option, wobei sein 608 00:29:03,180 --> 00:29:05,570 wenn Sie ein bisschen unruhig sind an, die in den natürlich 609 00:29:05,570 --> 00:29:09,390 und Sie müssen fürchten, auch wenn failure-- ehrlich gesagt Ausfall bedeutet verletzen Ihre GPA, 610 00:29:09,390 --> 00:29:13,180 immer ein B und nicht eine, die ist A-- genau, sicher für ein Gateway 611 00:29:13,180 --> 00:29:15,750 Kurs wie CS50 und andere Einführungskurse, 612 00:29:15,750 --> 00:29:17,540 Diese Einstufung Option soll ermöglichen. 613 00:29:17,540 --> 00:29:19,930 >> Ich von ganzem Herzen ermutigen students-- besonders 614 00:29:19,930 --> 00:29:23,090 wenn auf die fence--, um den Start Natürlich SAT / UNS, auch bleiben SAT / UNS. 615 00:29:23,090 --> 00:29:27,310 Aber man kann sicherlich auf einen Brief zu wechseln Grade von der fünften Montag in der Sicht. 616 00:29:27,310 --> 00:29:31,560 >> Ehrlich gesagt, als ich war ein Neuling im Jahr 1995, 617 00:29:31,560 --> 00:29:34,630 Ich selbst habe nicht einmal CS50 weil ich nicht aufstehen die Nerven 618 00:29:34,630 --> 00:29:36,540 tatsächlich einen Fuß in der Klasse. 619 00:29:36,540 --> 00:29:40,020 Es schien eine Domäne viel zu mir unbekannt und eigentlich nur 620 00:29:40,020 --> 00:29:43,080 für die Freunde von mir, ehrlich gesagt, die Programmierung gewesen war 621 00:29:43,080 --> 00:29:45,570 da sie sechs waren oder vielleicht 10 Jahre alt. 622 00:29:45,570 --> 00:29:48,640 Und es war nur, weil ich in der Lage, CS50 in meinem Tag 623 00:29:48,640 --> 00:29:52,720 in der Ersatzversion SAT / UNS-- Pass / Fail wieder in der day-- 624 00:29:52,720 --> 00:29:53,850 dass auch ich nahm 50. 625 00:29:53,850 --> 00:29:57,440 Und irgendwie bin ich hier wieder, heute mit Ihnen. 626 00:29:57,440 --> 00:30:00,690 >> Jetzt mittlerweile, was Sie sonst sollten im Auge behalten etwa 50 627 00:30:00,690 --> 00:30:01,910 ist die gleichzeitige Immatrikulation. 628 00:30:01,910 --> 00:30:03,785 Im Gegensatz zu Gerüchten, die Sie könnte gehört haben, 629 00:30:03,785 --> 00:30:07,650 Sie können, in der Tat, gleichzeitig Einschreibung in CS50 und anderen Klasse, 630 00:30:07,650 --> 00:30:12,150 trifft sich auf der gleichen oder einer überlappenden Zeit als CS50 Vorträge finden Sie hier. 631 00:30:12,150 --> 00:30:16,420 Siehe den Lehrplan für die Angaben der Umsetzung derselben. 632 00:30:16,420 --> 00:30:19,540 >> Vorträge, mittlerweile, im Gegensatz zu was ist offiziell im Katalog, 633 00:30:19,540 --> 00:30:22,060 in der Regel nur treffen nur für eine Stunde. 634 00:30:22,060 --> 00:30:24,240 Gelegentlich laufen wir vielleicht ein wenig lang. 635 00:30:24,240 --> 00:30:26,800 Aber im Hinterkopf behalten, dass die Ziel CS50 Vorlesungen 636 00:30:26,800 --> 00:30:28,980 ist es, Ihnen bieten eine konzeptionelle Übersicht, 637 00:30:28,980 --> 00:30:31,830 hoffentlich einige Vorführungen, vielleicht sogar einige Werbegeschenke, 638 00:30:31,830 --> 00:30:34,390 von dem, was erwartet für die Woche, die folgt. 639 00:30:34,390 --> 00:30:37,730 >> Und so in Vorträgen, werden wir erkunden Diese Themen und Beispiele zusammen, 640 00:30:37,730 --> 00:30:41,420 Studenten bringen auf die Bühne, und Personal auf der Bühne, so oft wir können, 641 00:30:41,420 --> 00:30:43,740 für nur ein paar Stunden pro Woche. 642 00:30:43,740 --> 00:30:47,435 Abschnitte, inzwischen werden von diesen Leuten hier-- vielen angeboten 643 00:30:47,435 --> 00:30:50,060 von ihnen Teaching Fellows, einige von ihnen natürlich assistants-- Willen 644 00:30:50,060 --> 00:30:51,160 werden wöchentlich passiert. 645 00:30:51,160 --> 00:30:52,940 >> Und was ist Schlüssel zu halten im Auge ist, dass wir 646 00:30:52,940 --> 00:30:55,920 Sie have-- nicht anders als Erster Nächte, die Musik class-- 647 00:30:55,920 --> 00:30:59,220 verschiedene Spuren von Abschnitten für Studenten weniger komfortabler, 648 00:30:59,220 --> 00:31:01,150 komfortabel, und irgendwo dazwischen. 649 00:31:01,150 --> 00:31:03,559 Und ehrlich gesagt, wenn Sie wissen, Sie sind weniger komfortabel. 650 00:31:03,559 --> 00:31:05,600 Und Sie wissen wahrscheinlich, wenn Sie sind komfortabler. 651 00:31:05,600 --> 00:31:09,920 Und wenn Sie nicht wirklich sicher, Sie sind definitions irgendwo dazwischen. 652 00:31:09,920 --> 00:31:12,850 Also, wenn es Zeit kommt, um Abschnitt in einer Woche oder so, pro Lehrplan, 653 00:31:12,850 --> 00:31:14,070 Wir bitten Sie, diese Frage. 654 00:31:14,070 --> 00:31:16,890 Und Sie können wählen basierte Selbst auf Ihrem eigenen Komfort 655 00:31:16,890 --> 00:31:22,220 und mit students-- sein mit grünen dots-- ähnlich Komfort für Sie. 656 00:31:22,220 --> 00:31:25,710 >> Inzwischen Problem haben, wir Sets, die letztlich 657 00:31:25,710 --> 00:31:28,310 definieren Sie Ihre Erfahrungen in diesem Kurs. 658 00:31:28,310 --> 00:31:30,370 Sie sind in der Regel angeboten in mehreren Ausgaben. 659 00:31:30,370 --> 00:31:34,150 Ein Standard-Edition, die wir am meisten erwarten, jeder Schüler im Laufe angehen 660 00:31:34,150 --> 00:31:37,900 sondern auch ein sogenannter Hacker Ausgabe Das bietet keine Form von zusätzlichen Kredit 661 00:31:37,900 --> 00:31:41,980 geradezu aber wirklich die prahlen zu sagen, dass Sie versucht haben, und angegangen 662 00:31:41,980 --> 00:31:45,250 Hacker-Ausgaben der den Kurs, nähern sich der ähnliches Material 663 00:31:45,250 --> 00:31:47,370 sondern von einer anspruchsvolleren Winkel. 664 00:31:47,370 --> 00:31:49,480 >> Was wir bieten für die Standard Edition, für, 665 00:31:49,480 --> 00:31:51,420 wieder ein super Mehrheit von Studenten, sind nicht 666 00:31:51,420 --> 00:31:54,060 nur zu Fuß Durch, die sind Videos von den Mitarbeitern des Kurses geführt 667 00:31:54,060 --> 00:31:57,840 dass wirklich gehen Sie durch die Probleme natürlich und mögliche Gestaltung 668 00:31:57,840 --> 00:31:58,910 Implementierungen. 669 00:31:58,910 --> 00:32:01,434 Und wir haben auch nach dem Tatsächlich bieten Autopsien, 670 00:32:01,434 --> 00:32:03,350 wobei, wenn Sie sich fragen, wie Sie haben könnten 671 00:32:03,350 --> 00:32:05,930 oder gelöst haben sollten einige Problem, das Lehrpersonal 672 00:32:05,930 --> 00:32:08,640 wird Sie durch gehen die auf Video. 673 00:32:08,640 --> 00:32:14,350 >> Inzwischen sind auch, was erwartet fünf Tage zu spät und die Tatsache, 674 00:32:14,350 --> 00:32:16,680 dass wir lassen Sie Ihre niedrigste Punktzahl Problem eingestellt. 675 00:32:16,680 --> 00:32:20,370 Wir schätzen, dass sicherlich im Austausch für die Arbeitsbelastung, dass 50 erwartet 676 00:32:20,370 --> 00:32:24,020 von Ihnen, in der Art und Weise wird das Leben Manchmal, wenn nicht fünfmal. 677 00:32:24,020 --> 00:32:26,150 Und so wird diese bieten Sie ein wenig an Flexibilität, 678 00:32:26,150 --> 00:32:29,400 Erweiterung Ihrer Frist von, sagen wir, ein Donnerstag mittags bis Freitag mittags. 679 00:32:29,400 --> 00:32:33,150 Siehe den Lehrplan für die Details der Implementierung davon. 680 00:32:33,150 --> 00:32:34,702 >> Nun, was jetzt erwartet? 681 00:32:34,702 --> 00:32:36,660 Und es ist nur auftreten mich jetzt nur, wie lange 682 00:32:36,660 --> 00:32:38,333 Ich habe euch hier stehen auf der Bühne. 683 00:32:38,333 --> 00:32:39,060 >> [Gelächter] 684 00:32:39,060 --> 00:32:41,867 >> David J. MALAN: Aber wir bekommen der Höhepunkt Finish vor lang. 685 00:32:41,867 --> 00:32:43,700 Also, was im Hinblick erwartet der Problemsätze? 686 00:32:43,700 --> 00:32:47,099 Nun, vielleicht ein Teaser von dem, was wir alle im letzten Jahr mit Ihrem Vorgänger. 687 00:32:47,099 --> 00:32:49,140 Im ersten Satz Problem im letzten Jahr, haben wir 688 00:32:49,140 --> 00:32:51,630 Scratch, eine grafische Programmiersprache, die 689 00:32:51,630 --> 00:32:54,570 können Sie buchstäblich programmieren, indem Ziehen und Ablegen Puzzleteile, 690 00:32:54,570 --> 00:32:57,220 wie diese, die sind erinnert der Konstrukte 691 00:32:57,220 --> 00:32:59,260 wird nur eine Woche zu sehen daher, wenn wir wechseln 692 00:32:59,260 --> 00:33:01,870 zu einer traditionelleren Sprache, wie C bekannt 693 00:33:01,870 --> 00:33:03,930 >> Letztes Jahr gingen wir für dieses Problem Set, 694 00:33:03,930 --> 00:33:06,720 mit für die Kryptographie, die Verschlüsselung von Informationen 695 00:33:06,720 --> 00:33:10,410 um es von staatlicher oder von Freunden zu halten Augen, die Sie nicht wollen, um es zu sehen. 696 00:33:10,410 --> 00:33:12,540 Hier ist eine codierte Nachricht, dass bald werden Sie 697 00:33:12,540 --> 00:33:15,740 in der Lage, zu entschlüsseln oder de-Gerangel. 698 00:33:15,740 --> 00:33:17,960 >> Breakout gab ein Problem letztes Jahr, wobei 699 00:33:17,960 --> 00:33:21,530 Sie diese neu gefundenen Programmierung verwenden Fähigkeiten, um tatsächlich umsetzen 700 00:33:21,530 --> 00:33:24,840 ein Spiel, wie Sie wherein-- kann von childhood-- erinnern 701 00:33:24,840 --> 00:33:28,040 war das Ziel, die Bash Steine, die oben auf dem Bildschirm sind 702 00:33:28,040 --> 00:33:30,190 hier, sammeln ein punkten auf dem Weg, 703 00:33:30,190 --> 00:33:35,460 und Umsetzung Ihrer eigenen Algorithmen mit denen diese Lösung schließlich 704 00:33:35,460 --> 00:33:37,357 können Sie das Spiel spielen. 705 00:33:37,357 --> 00:33:39,440 Inzwischen später in der Semester, wir geben Ihnen 706 00:33:39,440 --> 00:33:43,470 ein Wörterbuch der 143.091 englische Wörter. 707 00:33:43,470 --> 00:33:46,300 Und Sie werden herausgefordert werden , ein Programm zu schreiben, dass 708 00:33:46,300 --> 00:33:50,260 Rechtschreibprüfungen, Dokumente, von Laden, dass viele Wörter in den Speicher 709 00:33:50,260 --> 00:33:52,300 so effizient wie möglich. 710 00:33:52,300 --> 00:33:54,240 Lochfraß in der Regel Sie gegen Ihre Klassenkameraden 711 00:33:54,240 --> 00:33:56,610 Wenn Sie in ein bisschen ein entscheiden Herausforderung in der Rangliste 712 00:33:56,610 --> 00:34:00,090 zu sehen, wer die wenigsten nutzen können Sekunden Laufzeit, 713 00:34:00,090 --> 00:34:03,550 und die geringste Anzahl von Megabyte Speicher, 714 00:34:03,550 --> 00:34:08,659 und tatsächlich Feinabstimmung Ihrer Programme zu sein unglaublich effiziente Ressourcen nicht 715 00:34:08,659 --> 00:34:09,820 nur Zeit. 716 00:34:09,820 --> 00:34:13,239 >> Auch im vergangenen Jahr haben wir uns am Ende der Semester an Web-Programmierung. 717 00:34:13,239 --> 00:34:16,230 Und in der Tat, dass wir wieder das tun Jahr mit mehreren Problem-Sets, 718 00:34:16,230 --> 00:34:20,290 führen Sie in die Techniken und die Denkweise, mit der Sie sich bewerben können 719 00:34:20,290 --> 00:34:23,489 Diese Programmierkenntnisse Webseiten, dynamische Webseiten, 720 00:34:23,489 --> 00:34:26,639 Websites, die tatsächlich zu lösen Probleme und verhalten sich anders 721 00:34:26,639 --> 00:34:30,620 und sind nicht einfach statisch Websites mit statischen Informationen. 722 00:34:30,620 --> 00:34:32,854 >> Das endgültige Projekt letztlich definieren, obwohl, 723 00:34:32,854 --> 00:34:34,770 der Höhepunkt des Kurses für Studenten, bei 724 00:34:34,770 --> 00:34:37,228 Sie werden herausgefordert, zu implementieren fast alles von Interesse 725 00:34:37,228 --> 00:34:40,590 an Sie, so lange es irgendwie stützt sich auf der Kursstunden. 726 00:34:40,590 --> 00:34:42,930 >> Und wie Sie in der Säge Video am Start, 727 00:34:42,930 --> 00:34:47,340 wir werden das Semester mit dem Schluss, CS50 Hackathon, die, wenn nicht vertraut, 728 00:34:47,340 --> 00:34:51,420 wird um 7:00 Uhr beginnen und eine Nacht Ende um 7:00 Uhr am nächsten Morgen. 729 00:34:51,420 --> 00:34:53,614 Um 09.00 Uhr, werden wir Um in der ersten Abendessen. 730 00:34:53,614 --> 00:34:55,489 Um 01.00 Uhr, werden wir Um den zweiten Abendessen. 731 00:34:55,489 --> 00:34:57,490 Und wenn Sie noch stand um 5:00 Uhr, wir 732 00:34:57,490 --> 00:35:00,320 Shuttle-Bus wird Sie IHOP zum Frühstück. 733 00:35:00,320 --> 00:35:04,980 >> Der CS50 Messe, mittlerweile ist ein Ereignis , zu der 2.000 Plus Dozenten, Studenten, 734 00:35:04,980 --> 00:35:07,850 und Mitarbeiter aus über den Campus werden kommen, um Ihre Leistungen zu sehen 735 00:35:07,850 --> 00:35:10,150 im Verlauf und der endgültigen Projekte und Kreationen 736 00:35:10,150 --> 00:35:14,960 dass Sie auf Ihrem Laptop zu erstellen, Desktops, oder vielleicht sogar Glühbirnen. 737 00:35:14,960 --> 00:35:17,340 >> Inzwischen Bürozeiten und die Trägerstruktur. 738 00:35:17,340 --> 00:35:20,480 Und jetzt wäre es waren ein bessere Zeit, um euch alle bringen. 739 00:35:20,480 --> 00:35:24,310 >> Bürozeiten stattfinden wird vier Nächte in der Woche für mehrere Stunden pro Nacht 740 00:35:24,310 --> 00:35:27,710 mit im Allgemeinen 20 bis 30 der Personal natürlich der Dienst auf einmal 741 00:35:27,710 --> 00:35:31,240 Sie mit intimen stellen Eins-zu-eins-Fördermöglichkeiten 742 00:35:31,240 --> 00:35:33,790 mit Problemsätze des Kurses. 743 00:35:33,790 --> 00:35:36,120 Nachhilfe zu werden Verfügung, insbesondere 744 00:35:36,120 --> 00:35:39,630 für Studenten weniger comfortable-- oder wage zu behaupten, für die mindestens comfortable-- 745 00:35:39,630 --> 00:35:41,869 Bürozeiten sind nicht die die meisten Pflege-Umgebung 746 00:35:41,869 --> 00:35:43,660 und sicherlich nicht das stressfrei. 747 00:35:43,660 --> 00:35:47,430 Vor allem, wenn Fristen drängen, wir proaktiv koppeln Sie uns 748 00:35:47,430 --> 00:35:51,440 mit einem Mitglied des Personals, mit zu arbeiten auf einigen regelmäßigen Zeitplan wie Ihre Bedürfnisse 749 00:35:51,440 --> 00:35:53,850 und ihre Zeit erlaubt. 750 00:35:53,850 --> 00:35:55,260 >> Und Mitarbeiter. 751 00:35:55,260 --> 00:36:01,020 Erlauben Sie mir, Davon, Rob vorstellen, und Gabriel, der diesjährigen Köpfen. 752 00:36:01,020 --> 00:36:02,370 Wenn Sie gerne jeden sagen-- 753 00:36:02,370 --> 00:36:03,349 >> [Applaus] 754 00:36:03,349 --> 00:36:03,849 --a Wort. 755 00:36:03,849 --> 00:36:05,328 [Applaus] 756 00:36:05,328 --> 00:36:10,270 757 00:36:10,270 --> 00:36:13,220 Davon hier ist die Natürlich Manager, die 758 00:36:13,220 --> 00:36:15,730 bedeutet, in seinem Vollzeit-Rolle er hilft bei der Ausführung 759 00:36:15,730 --> 00:36:18,424 und Logistik von CS50. 760 00:36:18,424 --> 00:36:19,340 DAVON: Ja, hallo, Jungs. 761 00:36:19,340 --> 00:36:20,965 Sie werden mir sehr viel an der Bürozeiten zu sehen. 762 00:36:20,965 --> 00:36:22,110 Ich werde Unterricht Abschnitte. 763 00:36:22,110 --> 00:36:25,150 Und wenn Sie E-Mails vor zu schießen, Ich werde wahrscheinlich reagiert. 764 00:36:25,150 --> 00:36:27,670 Also werde ich sehen, viele von euch alle Semester. 765 00:36:27,670 --> 00:36:29,890 Und herzlich willkommen auf CS50. 766 00:36:29,890 --> 00:36:38,330 >> David J. MALAN: Und jetzt Gabriel, der selbst war nur ein Neuling im letzten Jahr, 767 00:36:38,330 --> 00:36:41,820 Aber in den letzten paar Jahren hat wurde seine eigene Version des CS50-Betriebs 768 00:36:41,820 --> 00:36:44,660 in Brasilien, wobei er heruntergeladen alle der Kurs content-- 769 00:36:44,660 --> 00:36:46,890 was eindeutig als gefilmt und platziert online-- 770 00:36:46,890 --> 00:36:51,480 so, dass er es zu übersetzen Portugiesisch und dann lehren mehr als 100 771 00:36:51,480 --> 00:36:54,610 seiner Klassenkameraden über die Natürlich von ein paar Jahren, 772 00:36:54,610 --> 00:36:57,650 Unterricht in seiner Muttersprache der Lehrplan. 773 00:36:57,650 --> 00:36:58,964 >> GABRIEL: Hallo. 774 00:36:58,964 --> 00:37:00,912 >> [Applaus] 775 00:37:00,912 --> 00:37:06,669 776 00:37:06,669 --> 00:37:07,710 GABRIEL: Hallo, ich bin Gabriel. 777 00:37:07,710 --> 00:37:09,340 Ich bin der Kopf TF des Kurses. 778 00:37:09,340 --> 00:37:10,780 Und ich hoffe, dass Sie CS50 lieben. 779 00:37:10,780 --> 00:37:12,830 Dies ist CS50. 780 00:37:12,830 --> 00:37:14,697 >> David J. MALAN: Jetzt für Rob. 781 00:37:14,697 --> 00:37:15,780 Oh, Sie wollen Einführung? 782 00:37:15,780 --> 00:37:16,696 >> ROB: Nein, ich weiß es nicht. 783 00:37:16,696 --> 00:37:18,225 [Gelächter] 784 00:37:18,225 --> 00:37:19,475 David J. MALAN: Und Rob Boden. 785 00:37:19,475 --> 00:37:22,300 [Gelächter] 786 00:37:22,300 --> 00:37:23,800 ROB: Hallo, ich bin Rob. 787 00:37:23,800 --> 00:37:27,220 Das ist mein fünftes Jahr mit dem Kurs beteiligt. 788 00:37:27,220 --> 00:37:29,220 Jedes Jahr ist es nur ein Klasse besser und besser, 789 00:37:29,220 --> 00:37:31,550 so dass Sie Jungs sind eindeutig wird großartig sein. 790 00:37:31,550 --> 00:37:33,181 Ich hoffe, Sie alle Spaß mit ihm haben. 791 00:37:33,181 --> 00:37:34,430 Ich werde Spaß mit ihm haben. 792 00:37:34,430 --> 00:37:36,670 Sie sehen also, um. 793 00:37:36,670 --> 00:37:38,445 >> David J. MALAN: Und Zeit wird nicht zulassen us-- 794 00:37:38,445 --> 00:37:39,670 >> [Applaus] 795 00:37:39,670 --> 00:37:41,661 >> Die Zeit wird es uns nicht erlauben, für alle einführen 796 00:37:41,661 --> 00:37:44,660 auf der Bühne und alle ihre Kollegen die Shopping-Klassen sind heute. 797 00:37:44,660 --> 00:37:47,390 Aber lassen Sie mich vorstellen Belinda und CS50 Puzzle 798 00:37:47,390 --> 00:37:49,550 Day, der dies erwartet am kommenden Samstag, die 799 00:37:49,550 --> 00:37:51,800 ist die erste der Großveranstaltungen natürlich die. 800 00:37:51,800 --> 00:37:54,300 >> Dieser soll insbesondere zu Hause Hammer der Punkt 801 00:37:54,300 --> 00:37:57,580 dass Informatik ist letztlich nicht über die Programmierung, sondern eher 802 00:37:57,580 --> 00:37:59,280 über Problem generell zu lösen. 803 00:37:59,280 --> 00:38:01,450 Puzzle und Tag, wie Sie sehen, werden Sie bringen 804 00:38:01,450 --> 00:38:04,207 und Ihre Klassenkameraden together-- wir hoffen, an diesem Samstag. 805 00:38:04,207 --> 00:38:04,961 >> BELINDA: OK. 806 00:38:04,961 --> 00:38:05,750 Hallo, Jungs. 807 00:38:05,750 --> 00:38:06,740 Also vielen Dank. 808 00:38:06,740 --> 00:38:10,120 So wie unsere berühmten Kapitän sagte, mein Name Belinda. 809 00:38:10,120 --> 00:38:12,100 Ich bin im zweiten Jahr in Quincy House. 810 00:38:12,100 --> 00:38:15,730 >> Ich, so wie du, Jungs, nahm CS50 im letzten Jahr, haben es wirklich geliebt. 811 00:38:15,730 --> 00:38:17,960 Ich habe ein Faible für euch in der dritten Reihe. 812 00:38:17,960 --> 00:38:21,384 Und ich bin stolz zu sagen, ich bin jetzt in einer festen Beziehung 813 00:38:21,384 --> 00:38:22,300 CS50 mit [unverständlich]. 814 00:38:22,300 --> 00:38:22,799 Ok. 815 00:38:22,799 --> 00:38:26,140 Das war meine lahme Version von einem Witz. 816 00:38:26,140 --> 00:38:28,320 >> Wie auch immer, so bewegen auf, wollte nur einladen 817 00:38:28,320 --> 00:38:31,439 euch alle mit dem I-Lab, oder HBS Nesselsucht. 818 00:38:31,439 --> 00:38:33,730 Wir werden werden mit Puzzle Tag von 12.00 Uhr bis 03.00 Uhr. 819 00:38:33,730 --> 00:38:37,680 Und es ist eine große Chance für Sie Jungs für Ihre Kolleginnen und CS Freunde zu treffen, 820 00:38:37,680 --> 00:38:42,780 lösen einige nicht-CS Puzzles, wie Captain erwähnt, und auch essen einige freie Nahrung, 821 00:38:42,780 --> 00:38:46,910 verdienen einige tolle Preise, wie Geschenk-Karten, $ 75 pro Person, 822 00:38:46,910 --> 00:38:48,400 und also-- was war es? 823 00:38:48,400 --> 00:38:49,540 Wii U, oder was? 824 00:38:49,540 --> 00:38:50,333 Wii U? 825 00:38:50,333 --> 00:38:51,040 Ja. 826 00:38:51,040 --> 00:38:52,330 Für unsere Tombola. 827 00:38:52,330 --> 00:38:52,830 Genial. 828 00:38:52,830 --> 00:38:54,310 Also werde ich bleiben, um nach dem Unterricht. 829 00:38:54,310 --> 00:38:56,770 Und wenn euch irgendwelche Fragen, lassen Sie es mich wissen. 830 00:38:56,770 --> 00:38:59,980 >> David J. MALAN: Und Sie werden sehen, jenseits Diese gibt es heute nichts zu tun. 831 00:38:59,980 --> 00:39:01,920 Das erste Problem eingestellt erlischt Freitag. 832 00:39:01,920 --> 00:39:05,420 Aber für uns heute nach Hause zu bringen, würde Ich mag, um stellen Ihnen speziell eine weitere 833 00:39:05,420 --> 00:39:09,080 Mitglied des Personals, Colton Ogden hier, deren Hände sind jetzt 834 00:39:09,080 --> 00:39:12,250 über Ihnen geschützt mit Diese MIDI-Controller 835 00:39:12,250 --> 00:39:15,170 die Punkt weiter nach Hause Hammer dass Informatik auch 836 00:39:15,170 --> 00:39:19,130 hat Anwendbarkeit weit über Technik und Stamm und Informatik selbst, 837 00:39:19,130 --> 00:39:22,890 die sich auch auf solche Bereiche wie Musik. 838 00:39:22,890 --> 00:39:30,590 >> Colton hat freundlicherweise offered-- Ich dachte, einer von ihnen los war, um den Fokus zu fixieren. 839 00:39:30,590 --> 00:39:34,400 Andrew, wenn wir aufbringen konnte Fokus hier nur für einen Moment. 840 00:39:34,400 --> 00:39:36,780 >> Was Colton getan hat im Voraus ist Programm 841 00:39:36,780 --> 00:39:40,345 Dieses Gerät ist dieses Polster von Tasten , die Sie sehen hier oben abgebildet, 842 00:39:40,345 --> 00:39:42,470 als MIDI-Controller, wobei jede dieser Tasten 843 00:39:42,470 --> 00:39:47,080 auf eine bestimmte Musiknote verdrahtet oder ein Ton, allgemeiner eine Aufnahme, 844 00:39:47,080 --> 00:39:50,445 so daß durch das Spielen Muster dieser Tasten, ähnlich wie Muster von Bits, 845 00:39:50,445 --> 00:39:52,620 können andere darstellen höhere Konzepte. 846 00:39:52,620 --> 00:39:56,750 Wird er in der Lage sein, letztlich zu uns nach Hause nehmen hier heute? 847 00:39:56,750 --> 00:39:59,540 Ohne weitere Umschweife, wenn wir könnten die Lichter dimmen, 848 00:39:59,540 --> 00:40:03,145 und schalten Sie den Bildschirm hinter Colton. 849 00:40:03,145 --> 00:40:03,865 >> ZIELGRUPPE: Woo! 850 00:40:03,865 --> 00:40:06,090 >> David J. MALAN: Dies ist CS50. 851 00:40:06,090 --> 00:40:10,518 >> [Musik zu spielen] 852 00:40:10,518 --> 00:42:46,018 853 00:42:46,018 --> 00:42:49,420 >> [Applaus] 854 00:42:49,420 --> 00:42:54,766 855 00:42:54,766 --> 00:42:56,450 >> Das ist es für CS50. 856 00:42:56,450 --> 00:42:57,950 Wir werden Sie sehen, Freitag. 857 00:42:57,950 --> 00:42:59,890 Einige Kuchen erwartet Sie im Querschiff. 858 00:42:59,890 --> 00:43:04,046 859 00:43:04,046 --> 00:43:08,850 >> [Musik zu spielen] 860 00:43:08,850 --> 00:45:49,227