1 00:00:00,000 --> 00:00:00,479 2 00:00:00,479 --> 00:00:10,830 >> [Musik spielt] 3 00:00:10,830 --> 00:00:12,080 [MUSIC - Rossini, "Ranz des VACHES "FROM Wilhelm Tell] 4 00:00:12,080 --> 00:00:24,222 5 00:00:24,222 --> 00:00:25,472 >> [MUSIC - THE GERMAN BEAT, "MÄRZ DER Schwenkköpfen "] 6 00:00:25,472 --> 00:02:24,538 7 00:02:24,538 --> 00:02:31,510 >> [Applaus und Jubel] 8 00:02:31,510 --> 00:02:33,520 >> DAVID MALAN: Also das ist CS50. 9 00:02:33,520 --> 00:02:34,730 Mein Name ist David Malan. 10 00:02:34,730 --> 00:02:39,250 Und 73% von euch haben keine vorherige Erfahrung mit Informatik, 11 00:02:39,250 --> 00:02:41,300 entgegen dem, was Sie vielleicht denken. 12 00:02:41,300 --> 00:02:45,290 Also heute dachten wir, wir würden Chip entfernt zu diesem Mangel an Vertrautheit, aber auch 13 00:02:45,290 --> 00:02:48,970 geben Ihnen ein Gefühl von, für diejenigen von Ihnen mit mehr Komfort, die Richtungen 14 00:02:48,970 --> 00:02:50,550 Sie gehen in diesem Semester. 15 00:02:50,550 --> 00:02:51,890 >> Also lasst uns mit diesem zu starten. 16 00:02:51,890 --> 00:02:55,490 Ich habe wirklich keine Ahnung, was drin ist der ein Computer, obwohl, wie Sie, ich 17 00:02:55,490 --> 00:02:56,780 benutzen es jeden Tag. 18 00:02:56,780 --> 00:03:00,000 Aber es ist eine Art von Feld, und es gibt nicht viele Eingänge hinein. 19 00:03:00,000 --> 00:03:01,350 Minimal, es gibt, was? 20 00:03:01,350 --> 00:03:03,120 Wahrscheinlich ein Netzkabel. 21 00:03:03,120 --> 00:03:06,640 >> Und in der Tat mit diesem Wirkstoff, Strom, scheinen uns in der Lage ist 22 00:03:06,640 --> 00:03:09,490 tut ziemlich viel in diesen Tagen. 23 00:03:09,490 --> 00:03:12,130 Aber am Ende des Tages, wir haben, um die Dinge darstellen 24 00:03:12,130 --> 00:03:12,860 dass wir kümmern uns. 25 00:03:12,860 --> 00:03:15,240 Wir haben, um Informationen darzustellen in irgendeiner Form. 26 00:03:15,240 --> 00:03:18,365 Und du bist wahrscheinlich mindestens vage vertraut mit der Idee von Binär-oder 27 00:03:18,365 --> 00:03:21,370 Bits irgendwie, Computer reduziert auf Nullen und Einsen. 28 00:03:21,370 --> 00:03:26,320 Aber können wir umarmen und dass mindestens setzen ein wenig Licht auf das? 29 00:03:26,320 --> 00:03:28,880 >> So habe ich diese kleinen Schreibtischlampen hier. 30 00:03:28,880 --> 00:03:30,450 Ich habe eine Steckdose hier. 31 00:03:30,450 --> 00:03:33,930 Und ich werde diese innerhalb vorschlagen der Computer mindestens eine von 32 00:03:33,930 --> 00:03:37,300 diese Dinge, etwas fähig wobei der ein-oder ausgeschaltet. 33 00:03:37,300 --> 00:03:40,200 In diesem Fall ist es in der Tat eine Schreibtischlampe, aber auf der unteren Ebene, es ist etwas 34 00:03:40,200 --> 00:03:41,500 als ein Transistor ist. 35 00:03:41,500 --> 00:03:44,730 >> Aber in unserer Welt, es ist eine Schreibtischlampe ist, so Ich werde weitermachen und stecken Sie diese 36 00:03:44,730 --> 00:03:47,990 in mein Strom hier. 37 00:03:47,990 --> 00:03:52,970 Und ich behaupte, dass die Verwendung dieses einfache, einfaches Gerät, diese einfache Schalter, ich 38 00:03:52,970 --> 00:03:54,850 eine Information darstellen. 39 00:03:54,850 --> 00:03:58,090 Zum Beispiel gerade jetzt, bin ich repräsentieren nichts, nicht wahr? 40 00:03:58,090 --> 00:04:01,820 Ich vertrete, was ich rufe 0 oder falsch, das Gegenteil von etwas 41 00:04:01,820 --> 00:04:03,130 tatsächlich vorhanden ist. 42 00:04:03,130 --> 00:04:07,050 Aber wenn ich einfach diesen Schalter, jetzt habe ich eine 1 vertreten. 43 00:04:07,050 --> 00:04:10,720 Also mit diesen sehr einfaches Stück Speicher, wenn man so will, kann ich vertreten 44 00:04:10,720 --> 00:04:11,450 Informationen. 45 00:04:11,450 --> 00:04:14,350 >> Jetzt leider meinem Computer kann das nicht allzu viel. 46 00:04:14,350 --> 00:04:17,430 Es kann nur zwei Werte darstellen in der ganzen Welt - 47 00:04:17,430 --> 00:04:18,620 0 oder 1 ist. 48 00:04:18,620 --> 00:04:21,839 Aber was ist eine naheliegende Lösung, jetzt, wenn wir wollen, auf unsere Computer erweitern 49 00:04:21,839 --> 00:04:25,120 Speicher und stellen mehr als nur 0 und 1? 50 00:04:25,120 --> 00:04:27,060 >> Nun, lasst uns greifen weitere derartige Bit. 51 00:04:27,060 --> 00:04:30,260 Lassen Sie greifen einen weiteren Schalter, ein weiterer Transistor, aber Sie möchten 52 00:04:30,260 --> 00:04:31,130 darüber nachdenken. 53 00:04:31,130 --> 00:04:34,170 Lassen Sie mich gehen, und stecken Sie diese in meinen Computer als gut. 54 00:04:34,170 --> 00:04:38,270 Und ich werde behaupten jetzt, dass durch mit ein wenig Strom und 55 00:04:38,270 --> 00:04:42,290 Drehen mehrere dieser Schalter auf und ausgeschaltet ist, kann ich vertrete mehr solcher 56 00:04:42,290 --> 00:04:43,020 Informationen. 57 00:04:43,020 --> 00:04:44,660 >> So jetzt ist diese 1. 58 00:04:44,660 --> 00:04:48,120 Wenn ich möchte jetzt stellen 2, konnte ich dies tun. 59 00:04:48,120 --> 00:04:51,510 Aber in der Regel, Konvention, wie wir werden schließlich sehen, haben mich dazu. 60 00:04:51,510 --> 00:04:55,260 Das ist also 0, das ist 1. 61 00:04:55,260 --> 00:04:56,720 Dies wäre 2. 62 00:04:56,720 --> 00:04:59,920 Und nicht überraschend, würde dies 3 sein. 63 00:04:59,920 --> 00:05:02,610 >> Also auf diese Weise noch kann zählen wir noch weiter? 64 00:05:02,610 --> 00:05:06,500 Wenn ich eine dritte Bit, einen dritten Schalter, was ist die höchste Zahl kann ich jetzt 65 00:05:06,500 --> 00:05:09,720 zählen bis 0? 66 00:05:09,720 --> 00:05:12,020 So 7 wenn ich bei 0 beginnen, nicht wahr? 67 00:05:12,020 --> 00:05:15,980 Denn wenn ich mich wenden dieses Licht auf und tatsächlich stecken diese dritte und letzte 68 00:05:15,980 --> 00:05:20,090 Licht in mein Steckdose hier dann habe ich die Fähigkeit zu repräsentieren 69 00:05:20,090 --> 00:05:24,930 Jeder der beiden Werte hier zwei Werte hier zwei Werte hier - 70 00:05:24,930 --> 00:05:32,610 und so kann ich die Bedeutung von 2 mal 2 mal 2 oder acht möglichen Werte. 71 00:05:32,610 --> 00:05:36,340 Und wenn ich Buchhaltung beginnen bei 0, so das ist 0, 1, 2, 3, 4, 5, 6, 7. 72 00:05:36,340 --> 00:05:37,480 >> Also das binär. 73 00:05:37,480 --> 00:05:39,420 Es ist wirklich so einfach. 74 00:05:39,420 --> 00:05:41,930 Und ich würde behaupten, dass dies tatsächlich sehr vertraut, die meisten 75 00:05:41,930 --> 00:05:43,180 jeder in diesem Raum. 76 00:05:43,180 --> 00:05:45,710 Lassen Sie mich gehen, und öffnen Sie ein wenig Texteditor hier. 77 00:05:45,710 --> 00:05:49,040 >> Und Sie könnten von der Grundschule erinnern das wir hatten, Dinge wie die Hunderte 78 00:05:49,040 --> 00:05:51,970 Ort, die Zehnerstelle, und die, die Stelle. 79 00:05:51,970 --> 00:05:55,040 Und daran erinnern, dass, wenn Sie hatte eine Nachkommastelle Anzahl, wie etwas zufällig 80 00:05:55,040 --> 00:05:59,470 wie 123, würden Sie im Wesentlichen schreiben, dass in der Form 81 00:05:59,470 --> 00:06:00,450 dieser drei Spalten. 82 00:06:00,450 --> 00:06:04,070 Und warum ist 1, 2, 3, was wir wissen, wie 123? 83 00:06:04,070 --> 00:06:11,220 Nun, in der linken Spalte haben wir einem 100 plus zwei 10s, das ist also 120, 84 00:06:11,220 --> 00:06:14,250 plus drei 1s, so das ist 123. 85 00:06:14,250 --> 00:06:17,990 >> Nun ist diese Welt, die wir nur beleuchtet ist genau das gleiche wie 86 00:06:17,990 --> 00:06:21,150 Sie waren vertraut mit seit Jahren, außer jetzt, unsere Spalten 87 00:06:21,150 --> 00:06:22,060 sind nicht als Vielfaches von 10. 88 00:06:22,060 --> 00:06:23,780 Sie sind nur Potenzen von 2. 89 00:06:23,780 --> 00:06:27,830 Während also das ist der Ort, diejenigen, diese wird der zweit Platz sein, ist dies 90 00:06:27,830 --> 00:06:29,540 Going to the Vieren Ort sein. 91 00:06:29,540 --> 00:06:33,260 >> Und weil ich mich nur mit den einfachsten von Mechanismen, die Dinge drehen 92 00:06:33,260 --> 00:06:37,100 Ein-und Ausschalten - Strom fließt oder Strom fließt nicht - 93 00:06:37,100 --> 00:06:40,880 Ich verstehe nicht ganz die gleiche expressive Bereich als 0 bis neun. 94 00:06:40,880 --> 00:06:43,270 Wir gehen, damit es super einfach in dieser Welt der Computer. 95 00:06:43,270 --> 00:06:45,060 Ich habe nur 0 oder 1 - 96 00:06:45,060 --> 00:06:47,890 ein-oder ausschalten, falsch oder wahr. 97 00:06:47,890 --> 00:06:52,610 >> Und so, was ich bin in diesem Augenblick, die 1, 1, 1, da jedes dieser 98 00:06:52,610 --> 00:06:54,000 Licht beleuchtet wird. 99 00:06:54,000 --> 00:06:59,600 Nun, das gibt mir einen 4 plus eine 2, so das ist 6 plus eine 1, und das ist 7. 100 00:06:59,600 --> 00:07:03,450 Und ergo macht diese Folge von drei Bits repräsentieren die Nummer 7. 101 00:07:03,450 --> 00:07:06,330 >> Also die ganze Zeit, in der Sie Ihre Computer sind eine beliebige Anzahl von 102 00:07:06,330 --> 00:07:08,090 Transistoren, eine beliebige Anzahl von Bits. 103 00:07:08,090 --> 00:07:10,380 Aber am Ende des Tages, wir eine Information darstellen 104 00:07:10,380 --> 00:07:12,560 so einfach wie die. 105 00:07:12,560 --> 00:07:16,770 Nun leider haben wir nur gezählt bis zu 7 in CS50 bisher aber 106 00:07:16,770 --> 00:07:18,550 hoffentlich können wir noch ein bisschen besser als die. 107 00:07:18,550 --> 00:07:19,550 Und in der Tat können wir. 108 00:07:19,550 --> 00:07:23,570 >> Angenommen, dass wir als Menschen nur willkürlich entschieden, dass wir gehen 109 00:07:23,570 --> 00:07:28,750 Zahlen wie 1 und 2, 3 zugeordnet, 4, 5, 6, 7, die mit bestimmten Buchstaben von 110 00:07:28,750 --> 00:07:29,410 das Alphabet. 111 00:07:29,410 --> 00:07:32,350 Und aus historischen Gründen, werde ich starten etwas willkürlich, aber ich bin 112 00:07:32,350 --> 00:07:36,880 gehen zu sagen, die Menschen, sind wir los entscheiden als Standard weltweit, die 113 00:07:36,880 --> 00:07:43,200 65 steht für die Anzahl der Buchstaben A. 66 vertritt B. Dot, Punkt, Punkt. 114 00:07:43,200 --> 00:07:45,140 90 vertritt den Buchstaben Z. 115 00:07:45,140 --> 00:07:48,000 >> Und nehmen wir an, wenn wir wirklich etwas bringen Gedanken hinein, könnten wir kommen 116 00:07:48,000 --> 00:07:50,860 mit Zahlen für Ausrufezeichen und Kleinbuchstaben, und in der Tat, 117 00:07:50,860 --> 00:07:52,710 andere Leute haben, dass für uns getan. 118 00:07:52,710 --> 00:07:56,410 So, jetzt hatten wir Bits, mit denen wir stellen Zahlen, Zahlen, mit denen 119 00:07:56,410 --> 00:08:00,130 wir stehen für die Buchstaben, und mit Briefe können wir nun beginnen Komponieren 120 00:08:00,130 --> 00:08:02,650 E-Mails und Drucken von Zeichen auf dem Bildschirm. 121 00:08:02,650 --> 00:08:05,850 >> Also lassen Sie mich einladen, wenn ich könnte, acht tapferen Freiwilligen - 122 00:08:05,850 --> 00:08:09,200 wer nichts dagegen erscheinen nicht nur vor der Kamera, sondern über das Internet - 123 00:08:09,200 --> 00:08:13,130 hier herauf zu kommen und stellen acht solcher Bits, statt dieser drei. 124 00:08:13,130 --> 00:08:14,380 So wie etwa ein, zwei? 125 00:08:14,380 --> 00:08:16,290 Wie wäre es mit drei? 126 00:08:16,290 --> 00:08:20,230 Wie etwa vier in Licht blau, fünf am Ende? 127 00:08:20,230 --> 00:08:21,250 Über jemanden hier? 128 00:08:21,250 --> 00:08:25,320 Sechs vor, sieben vor, und acht vor, wie gut. 129 00:08:25,320 --> 00:08:29,050 >> Also habe ich einfach so passiert zu kommen vorbereiteten mit einem ganzen Bündel von Zetteln. 130 00:08:29,050 --> 00:08:34,150 Und auf diese Zettel Zahlen das repräsentieren, was Spalten 131 00:08:34,150 --> 00:08:35,809 , euch gehen zu vertreten. 132 00:08:35,809 --> 00:08:36,740 So werden Sie - was ist Ihr Name? 133 00:08:36,740 --> 00:08:37,570 >> STUDENT: Anna Lea. 134 00:08:37,570 --> 00:08:40,370 >> DAVID MALAN: Anna Lea, Sie wird die 128s Spalte sein. 135 00:08:40,370 --> 00:08:41,059 Sie sind? 136 00:08:41,059 --> 00:08:41,510 >> STUDENT: Chris. 137 00:08:41,510 --> 00:08:43,620 >> DAVID MALAN: Chris Wille als 64s Spalte. 138 00:08:43,620 --> 00:08:44,070 Sie sind? 139 00:08:44,070 --> 00:08:44,540 >> STUDENT: Dan. 140 00:08:44,540 --> 00:08:46,970 >> DAVID MALAN: Dan wird als 32s Spalte. 141 00:08:46,970 --> 00:08:47,470 >> STUDENT: Pramit. 142 00:08:47,470 --> 00:08:49,430 >> DAVID MALAN: Pramit wird als 16s Spalte. 143 00:08:49,430 --> 00:08:50,290 >> STUDENT: Lillian. 144 00:08:50,290 --> 00:08:51,904 >> DAVID MALAN: Lillian wird die 8s sein. 145 00:08:51,904 --> 00:08:52,768 >> STUDENT: Jill. 146 00:08:52,768 --> 00:08:55,025 >> DAVID MALAN: Jill wird als 4s Spalte. 147 00:08:55,025 --> 00:08:55,400 >> STUDENT: Mary. 148 00:08:55,400 --> 00:08:57,000 >> DAVID MALAN: Mary wird die 2s, und? 149 00:08:57,000 --> 00:08:57,470 >> STUDENT: David. 150 00:08:57,470 --> 00:08:59,220 >> DAVID MALAN: David Willen als 1s Spalte. 151 00:08:59,220 --> 00:09:02,030 Also, wenn euch könnte Schritt ein wenig nach vorne, so dass jeder sehen kann. 152 00:09:02,030 --> 00:09:05,370 Was euch nicht sehen, ist, dass auf die Rückseite dieser Zettel ist ein 153 00:09:05,370 --> 00:09:09,760 kleinen Spickzettel, die etwa zu ist anweisen, diese acht Bits, um entweder 154 00:09:09,760 --> 00:09:12,380 ihre Hand heben oder nicht ihre Hand heben. 155 00:09:12,380 --> 00:09:14,100 Wenn ihre Hand nach oben geht, sind sie 1, die eine. 156 00:09:14,100 --> 00:09:17,120 Wenn ihre Hand unten bleibt, sind sie repräsentiert eine 0 ein. 157 00:09:17,120 --> 00:09:21,410 >> Inzwischen haben wir das Publikum sollte der Lage, herauszufinden, auf dieser Basis 158 00:09:21,410 --> 00:09:26,490 Mapping, was drei-Buchstaben-Wort diese Leute sind etwa zu buchstabieren. 159 00:09:26,490 --> 00:09:29,700 So in nur einem Augenblick, wirst du Lesen Sie die erste Zeile von der Rückseite 160 00:09:29,700 --> 00:09:32,880 Ihr Spickzettel, und du bist entweder gehen zu heben oder nicht die Hand heben. 161 00:09:32,880 --> 00:09:35,710 Wenn Sie eine 1 sind, erhöhen Sie, wenn du bist a 0, stehen Sie dort 162 00:09:35,710 --> 00:09:38,594 ungeschickt, einfach so. 163 00:09:38,594 --> 00:09:40,386 Gehen. 164 00:09:40,386 --> 00:09:43,945 Welche Zahl, in erster Linie, sind diese Jungs vertreten? 165 00:09:43,945 --> 00:09:47,140 166 00:09:47,140 --> 00:09:48,860 >> 66. 167 00:09:48,860 --> 00:09:49,560 66, nicht wahr? 168 00:09:49,560 --> 00:09:52,400 Wir haben eine 1 in der Spalte 64s, eine 1 in der Spalte 2s. 169 00:09:52,400 --> 00:09:56,340 Das gibt mir 66, so dass erscheint zu repräsentieren B. So 170 00:09:56,340 --> 00:09:57,075 Sie Jungs haben geschrieben - 171 00:09:57,075 --> 00:09:58,300 OK, das ist genug. 172 00:09:58,300 --> 00:09:59,430 B. 173 00:09:59,430 --> 00:10:01,610 >> So, jetzt lasst uns auf unserem zweiten Brief. 174 00:10:01,610 --> 00:10:03,530 Gehen. 175 00:10:03,530 --> 00:10:06,860 Wer ist am schnellsten in Mathe hier? 176 00:10:06,860 --> 00:10:07,750 So 79. 177 00:10:07,750 --> 00:10:11,840 Auch wenn wir hinzufügen, bis alle Spalten in denen es eine 1, die derzeit nur 178 00:10:11,840 --> 00:10:14,840 wie wir es taten, bevor mit dem einfachsten Beispiele 7, jetzt sind wir 179 00:10:14,840 --> 00:10:16,140 Diese Nummer erhalten 79. 180 00:10:16,140 --> 00:10:19,910 Die nach unseren Mapping ist die Buchstaben O. So wir sind fast da. 181 00:10:19,910 --> 00:10:22,590 B, O. Und schließlich gehen. 182 00:10:22,590 --> 00:10:26,420 183 00:10:26,420 --> 00:10:30,120 >> Was sind sie, die jetzt? 184 00:10:30,120 --> 00:10:31,370 Weniger Konsens. 185 00:10:31,370 --> 00:10:34,660 186 00:10:34,660 --> 00:10:36,460 Das ist einfach ein absoluter Murmeln. 187 00:10:36,460 --> 00:10:40,090 Ja, es ist in der Tat 87. 188 00:10:40,090 --> 00:10:40,490 Gut. 189 00:10:40,490 --> 00:10:44,480 >> Also, wenn wir jetzt, dass die Karte wieder auf - lasst lostelefonieren unsere ASCII-Chart, 190 00:10:44,480 --> 00:10:46,450 American Standard Code Information Interchange. 191 00:10:46,450 --> 00:10:47,700 Das gibt uns den Brief - 192 00:10:47,700 --> 00:10:51,260 193 00:10:51,260 --> 00:10:54,810 nicht "bo", sondern "Bogen." Und das ist eine perfekte Cue für euch zu verbeugen 194 00:10:54,810 --> 00:10:56,100 Kopf und auf dem Rücken. 195 00:10:56,100 --> 00:10:56,980 Vielen Dank. 196 00:10:56,980 --> 00:10:57,886 >> [Applaus] 197 00:10:57,886 --> 00:10:59,136 >> DAVID MALAN: Sie können sie zu halten. 198 00:10:59,136 --> 00:11:01,850 199 00:11:01,850 --> 00:11:05,942 Obwohl eigentlich würde jemand wie eine Schreibtischlampe, auch? 200 00:11:05,942 --> 00:11:07,300 >> [HOOT aus dem Publikum] 201 00:11:07,300 --> 00:11:08,390 >> DAVID MALAN: Schreibtischlampe? 202 00:11:08,390 --> 00:11:10,850 >> [Gelächter] 203 00:11:10,850 --> 00:11:11,860 >> DAVID MALAN: Wirklich? 204 00:11:11,860 --> 00:11:13,230 Schreibtischlampen für alle? 205 00:11:13,230 --> 00:11:14,310 In Ordnung. 206 00:11:14,310 --> 00:11:20,990 Also beginnend mit der einfachsten von Prinzipien, haben wir jetzt nicht nur gezählt 207 00:11:20,990 --> 00:11:24,750 von 0 aufwärts bis hin zu 7, haben wir dass nur durch das Werfen mehr angenommen 208 00:11:24,750 --> 00:11:28,080 Bits oder mehr Leuchten oder mehr Transistoren an diesem Problem, wir können 209 00:11:28,080 --> 00:11:32,680 stellen immer größere Zahlen und ergo, größer und größer reicht von 210 00:11:32,680 --> 00:11:33,780 Alphabete, wie Englisch. 211 00:11:33,780 --> 00:11:37,770 Und lassen Sie uns über den Glauben zu nehmen für heute das ähnlich könnten wir beginnen, 212 00:11:37,770 --> 00:11:42,220 repräsentieren Grafiken und Videos und jede Reihe von anderen Medien, mit denen wir 213 00:11:42,220 --> 00:11:43,610 heute kennen. 214 00:11:43,610 --> 00:11:49,240 >> Das ist also CS50 und in dieser Klasse neben der Sie sind, wieder, sehr viele 215 00:11:49,240 --> 00:11:53,050 Klassenkameraden, die so wenig haben erleben, wie Sie. 216 00:11:53,050 --> 00:11:57,730 Und ich erwähne dies nur, weil ganz oft, unter anderem als kürzlich als einer der 217 00:11:57,730 --> 00:12:01,860 der Neuling Beratung und Veranstaltungen im vergangenen Frühjahr Zweitwerk Beratung 218 00:12:01,860 --> 00:12:06,420 Ereignis, hören wir oft Studenten lehnen wenn die bis zur CS Tisch, na ja, 219 00:12:06,420 --> 00:12:10,070 Ich habe über die Einnahme nachgedacht intro Klasse, aber ich bin nicht wirklich ein 220 00:12:10,070 --> 00:12:11,120 Computer Person. 221 00:12:11,120 --> 00:12:13,220 Oder aber jeder sicherlich weiß mehr als ich. 222 00:12:13,220 --> 00:12:17,340 Und ich habe dies in der größten Schrift möglich, diese Botschaft, dass 223 00:12:17,340 --> 00:12:18,730 das ist in der Tat nicht der Fall. 224 00:12:18,730 --> 00:12:21,100 >> Und wenn Sie sich fragen, sollte I, in der Tat, hier zu sein? 225 00:12:21,100 --> 00:12:25,950 Erkenne, dass nicht nur ist dieser Kurs der Titel Einführung in die Informatik 226 00:12:25,950 --> 00:12:31,740 Wissenschaft ist es Einführung in die Informatik Wissenschaft I. Es gibt also in der Tat 227 00:12:31,740 --> 00:12:33,170 eine zweite solche Ansiedlung. 228 00:12:33,170 --> 00:12:35,390 Also bist du nicht in der Tat, an der falschen Stelle. 229 00:12:35,390 --> 00:12:39,000 Und unter den Zielen habe ich für heute zu lindern eine solche Bedenken, die Sie 230 00:12:39,000 --> 00:12:42,430 haben könnte, sondern auch zu malen, ein Bild von dem, was im Speicher für 231 00:12:42,430 --> 00:12:45,720 Studenten weniger und komfortabler gleichermaßen in diesem Kurs. 232 00:12:45,720 --> 00:12:49,320 >> Doch zunächst ein Wort auf einer der Handouts Sie haben heute, unter denen 233 00:12:49,320 --> 00:12:50,780 gibt eine Reihe von FAQs. 234 00:12:50,780 --> 00:12:54,290 Es war eine Vision von uns seit einiger Zeit Jetzt wird eine neue Einstufung 235 00:12:54,290 --> 00:12:57,010 Option in diesem Kurs - nämlich, SAT / UNSAT. 236 00:12:57,010 --> 00:13:01,930 Philosophisch für mich ist es viel, viel, viel wichtiger, dass die 237 00:13:01,930 --> 00:13:05,050 Schüler in dieser Klasse zu engagieren mit der Material, durch die in Frage gestellt werden 238 00:13:05,050 --> 00:13:09,800 Material und weit Sorge, viel weniger über die Mechanik der tatsächlichen Ergebnisse 239 00:13:09,800 --> 00:13:12,590 Brief und Noten in der Semester Ende, sondern wirklich zu umarmen die 240 00:13:12,590 --> 00:13:13,970 Kurs und seinem Material. 241 00:13:13,970 --> 00:13:18,140 Und das fühlt sich wirklich, ganz allgemein, für das, was ist interessant, zu ihnen zu 242 00:13:18,140 --> 00:13:21,390 herausgefordert fühlen und belohnt, sondern ohne Angst vor dem Scheitern. 243 00:13:21,390 --> 00:13:25,030 >> Und in der Tat, auch dies ist ein wiederkehrendes Thema in diesem und anderen einführenden 244 00:13:25,030 --> 00:13:28,680 Kurse in anderen Bereichen, die Sie haben diese Angst, wenn es darum geht, 245 00:13:28,680 --> 00:13:31,040 Putting einem die Zehen in unbekannten Gewässern. 246 00:13:31,040 --> 00:13:34,880 Ich selbst, im Jahr 1995, war ein Neuling. 247 00:13:34,880 --> 00:13:37,990 Ich war sehr auf fokussiert werden a Gov Konzentrator hier. 248 00:13:37,990 --> 00:13:41,060 Und doch würde ich immer mit ein bisschen gewachsen von einem Interesse an Informatik. 249 00:13:41,060 --> 00:13:42,180 Ich war immer neugierig. 250 00:13:42,180 --> 00:13:47,610 >> Aber damals, auch, hatte ich diese Angst vor sogar einen Fuß in CS50, so viel 251 00:13:47,610 --> 00:13:49,420 so dass ich nicht einmal einkaufen es ersten Jahr. 252 00:13:49,420 --> 00:13:53,460 Und der einzige Grund, warum ich einen Fuß in die Tür zweiten Jahr war, weil ich 253 00:13:53,460 --> 00:13:55,340 durfte es nehmen Pass / Fail. 254 00:13:55,340 --> 00:13:58,920 Aber auch Pass / erforderlich, dass ich scheitern den Mut, um einen Termin 255 00:13:58,920 --> 00:14:01,970 mit Professor Kernehan an der Zeit, bringen diesen großen Blatt Papier, und fragen 256 00:14:01,970 --> 00:14:04,470 ihm für seine Unterschrift und seinen Erlaubnis zu erkunden 257 00:14:04,470 --> 00:14:05,700 diese unbekannten Gewässern. 258 00:14:05,700 --> 00:14:09,030 >> Und es hat sich in den letzten Jahren dazu beigetragen, dass, wenn Sie diese in CS50, wenn wir 259 00:14:09,030 --> 00:14:12,500 verwendet, um sein Pass / Fail, ähnlich würde Dutzende oder Hunderte von Ihren Klassenkameraden 260 00:14:12,500 --> 00:14:15,970 haben zu kommen, Gott bewahre, auf die vor Sanders mit dieser Form, dass 261 00:14:15,970 --> 00:14:19,520 in einigen Köpfen stellt eine Unfähigkeit, Ich wage zu behaupten, zu erfüllen 262 00:14:19,520 --> 00:14:20,800 sind Ihre Kollegen 'Ebene. 263 00:14:20,800 --> 00:14:23,410 Welches ist lächerlich, aber ich denke, gibt es diese Mentalität. 264 00:14:23,410 --> 00:14:27,210 Und es ist noch nie in dieser Kultur gewesen von SAT / UNSAT oder Pass / Fail mehr 265 00:14:27,210 --> 00:14:30,610 im Allgemeinen, in diesem Kurs oder wirklich auf diesem Campus. 266 00:14:30,610 --> 00:14:32,310 >> Also in diesem Jahr haben wir das geändert. 267 00:14:32,310 --> 00:14:35,630 Ich würde ekstatischen Hälfte sein diese Klasse oder mehr beendet 268 00:14:35,630 --> 00:14:38,700 bis unter CS50 SAT / UNSAT. 269 00:14:38,700 --> 00:14:42,130 In einer Zeit des Jahres, es wäre wunderbar, wenn fast jeder. 270 00:14:42,130 --> 00:14:44,410 Danach vielleicht werden wir arbeiten auf Brief Qualitäten an der Harvard 271 00:14:44,410 --> 00:14:45,480 Ausbildung im Allgemeinen. 272 00:14:45,480 --> 00:14:48,900 Aber jetzt werden wir dies tun im Rahmen unserer eigenen Sphäre, und ich würde herzlich 273 00:14:48,900 --> 00:14:53,400 Sie ermutigen, diese überprüfen und FAQs Fragen stellen, wie Sie für richtig halten, so dass 274 00:14:53,400 --> 00:14:58,000 hoffentlich haben Sie, im Gegensatz zu mir, nicht ganz haben die gleiche Angst-Faktor, wenn 275 00:14:58,000 --> 00:15:01,040 erforschen, was wahrscheinlich einem unbekannten Ort. 276 00:15:01,040 --> 00:15:02,786 >> Also, was ist CS50? 277 00:15:02,786 --> 00:15:06,150 Es ist eine Einführung in die geistigen Unternehmen der Computer- 278 00:15:06,150 --> 00:15:07,700 Wissenschaft und die Kunst des Programmierens. 279 00:15:07,700 --> 00:15:08,770 Aber was bedeutet das eigentlich? 280 00:15:08,770 --> 00:15:12,510 >> Nun, so weit, sprachen wir sehr kurz über die Darstellung von Informationen. 281 00:15:12,510 --> 00:15:15,070 Aber nehmen wir an, dass wir eigentlich wollen etwas zu tun. 282 00:15:15,070 --> 00:15:17,890 Wir müssen den Begriff der Einführung was wir nennen einen Algorithmus. 283 00:15:17,890 --> 00:15:21,540 Ein Algorithmus ist ein Verfahren, ein Verfahren, einen Satz von Anweisungen für 284 00:15:21,540 --> 00:15:22,780 etwas zu tun. 285 00:15:22,780 --> 00:15:25,620 >> Und ein Algorithmus kann etwas super einfach. 286 00:15:25,620 --> 00:15:28,660 Zum Beispiel ist ein Beispiel, mit dem einige von euch vielleicht bekannt sein ist dies 287 00:15:28,660 --> 00:15:29,350 Sache hier. 288 00:15:29,350 --> 00:15:32,510 So ist dieses Buch hier ist zunehmend veraltet, aber es war einmal, es 289 00:15:32,510 --> 00:15:34,720 enthielt eine ganze Reihe von Namen und Telefonnummern. 290 00:15:34,720 --> 00:15:37,710 Und in der Tat, wenn ich wollte zu finden jemand in diesem Telefonbuch - 291 00:15:37,710 --> 00:15:39,800 sagen, jemand namens Mike Smith - 292 00:15:39,800 --> 00:15:43,810 Ich konnte Mike Smith in beliebiger Anzahl zu finden von recht unkompliziert Wege. 293 00:15:43,810 --> 00:15:47,700 Ich konnte am Anfang beginnen und bewegen zu Seite 1, nicht da. 294 00:15:47,700 --> 00:15:49,240 Seite 2, nicht da. 295 00:15:49,240 --> 00:15:49,960 Page 3. 296 00:15:49,960 --> 00:15:53,430 Ist das Algorithmus wird, dass Verfahren, richtig? 297 00:15:53,430 --> 00:15:54,620 >> So ist es richtig, nicht wahr? 298 00:15:54,620 --> 00:15:58,070 Ich bin ein bisschen ein Idiot, es zu tun in diese Weise, aber irgendwann werde ich 299 00:15:58,070 --> 00:16:02,670 finden den Nachnamen S, und hoffentlich Mike ist in diesem Abschnitt, und ich werden 300 00:16:02,670 --> 00:16:04,100 getan mit meinem Algorithmus. 301 00:16:04,100 --> 00:16:05,440 Aber sicherlich ist es nicht intuitiv. 302 00:16:05,440 --> 00:16:08,020 Fast jeder vernünftige Mensch in dieser Zimmer würde das nicht tun sollen. 303 00:16:08,020 --> 00:16:10,180 Was hätten Sie getan? 304 00:16:10,180 --> 00:16:11,480 >> Sie würden gerade gegangen in der Mitte, nicht wahr? 305 00:16:11,480 --> 00:16:12,000 Etwa in der Mitte. 306 00:16:12,000 --> 00:16:16,310 Und du, oh realisieren, dies sind die Frau So Mike Smith, Nachname wobei Smith, 307 00:16:16,310 --> 00:16:19,050 ist nicht klar, dann in der linke Hälfte des Buches. 308 00:16:19,050 --> 00:16:21,040 Er muss in Richtung der sein S ist in der rechten Seite. 309 00:16:21,040 --> 00:16:24,090 Und an diesem Punkt, obwohl die meisten von uns tun dies nicht in der Realität, können wir 310 00:16:24,090 --> 00:16:27,125 buchstäblich zerreißen dieses Problem in zwei Hälften. 311 00:16:27,125 --> 00:16:27,640 >> [Jubel und Applaus] 312 00:16:27,640 --> 00:16:28,950 >> DAVID MALAN: Danke. 313 00:16:28,950 --> 00:16:30,150 >> [Jubel und Applaus] 314 00:16:30,150 --> 00:16:34,660 >> DAVID MALAN: Sie können buchstäblich zerreißen diese Problem in der Hälfte, ließ mich mit, 315 00:16:34,660 --> 00:16:36,120 buchstäblich ein Problem halb so groß. 316 00:16:36,120 --> 00:16:39,750 Also, wenn dieses Telefon Buch war - und es wahrscheinlich war - ca. 1000 Seiten, jetzt 317 00:16:39,750 --> 00:16:40,840 es ist nur 500. 318 00:16:40,840 --> 00:16:44,710 Wenn ich dies wieder tun und ich merke, oh, Verdammt, ich ging zu weit, ich bin in der Ts 319 00:16:44,710 --> 00:16:46,480 Abschnitt, kann ich ähnlich - 320 00:16:46,480 --> 00:16:48,030 bildlich oder wörtlich - 321 00:16:48,030 --> 00:16:50,260 rip das Telefonbuch - es war tatsächlich viel einfacher, dass die Zeit. 322 00:16:50,260 --> 00:16:53,610 Ich kann buchstäblich zerreißen das Telefonbuch in der Hälfte, ließ mich jetzt mit 323 00:16:53,610 --> 00:16:55,186 nicht 1000, nicht 500 - 324 00:16:55,186 --> 00:16:56,680 250 Seiten. 325 00:16:56,680 --> 00:17:00,210 Und ich kann 125 zu gehen, und die Hälfte davon, und die Hälfte davon, und die Hälfte davon, 326 00:17:00,210 --> 00:17:04,760 bis schließlich werde ich mit gelassen werden nur einer einzigen Seite. 327 00:17:04,760 --> 00:17:06,430 >> [Gelächter] 328 00:17:06,430 --> 00:17:07,589 >> DAVID MALAN: Das ist das Teil I nicht auf. 329 00:17:07,589 --> 00:17:10,400 Eine einzige Seite, auf der Mike hoffentlich ist. 330 00:17:10,400 --> 00:17:14,630 Jetzt sind diese verschiedenen Algorithmen kann Art beurteilen oder zu bewerten in 331 00:17:14,630 --> 00:17:15,270 unterschiedlich. 332 00:17:15,270 --> 00:17:17,300 Der erste war sehr linear, nicht wahr? 333 00:17:17,300 --> 00:17:18,500 Drehen Sie Seite für Mike zu suchen. 334 00:17:18,500 --> 00:17:19,630 Drehen Sie Seite für Mike zu suchen. 335 00:17:19,630 --> 00:17:20,560 Es ist sehr linear. 336 00:17:20,560 --> 00:17:23,339 Wenn es eine weitere Seite im Telefon Buch, ist es wahrscheinlich, um mich 337 00:17:23,339 --> 00:17:27,380 eine weitere Sekunde, eine Einheit von Zeit, aber wir Rechenzeit. 338 00:17:27,380 --> 00:17:32,470 >> Also ich könnte so zeichnen diese Linie Hier, wobei die Größe der 339 00:17:32,470 --> 00:17:34,700 Problem nimmt von links nach rechts - 340 00:17:34,700 --> 00:17:37,480 Telefonbuch wird kleiner, größere - 341 00:17:37,480 --> 00:17:41,080 und die Zeit wird, zu erhöhen die vertikale Achse ist, desto größer 342 00:17:41,080 --> 00:17:42,030 das Telefonbuch. 343 00:17:42,030 --> 00:17:46,180 So n ist nur eine allgemeine Variable, die Informatiker nutzen zu vertreten 344 00:17:46,180 --> 00:17:48,210 einen gewissen Wert, einige Nummer. 345 00:17:48,210 --> 00:17:50,740 So n wird linear ansteigen. 346 00:17:50,740 --> 00:17:53,040 Doppelklicken Sie die Größe des Telefonbuchs, ist es werde mir doppelt so viel nehmen 347 00:17:53,040 --> 00:17:54,780 Zeit, wahrscheinlich, um Mike. 348 00:17:54,780 --> 00:17:56,390 >> Jetzt konnte ich klug gewesen haben darüber, nicht wahr? 349 00:17:56,390 --> 00:17:57,800 Ich war immer schnell langweilig. 350 00:17:57,800 --> 00:17:58,910 Könnte dies getan zu zweit haben. 351 00:17:58,910 --> 00:18:01,870 So zwei Seiten, dann vier, dann sechs, dann acht. 352 00:18:01,870 --> 00:18:05,220 Und ich konnte beginnen fliegen durch sie eine wenig schneller, wenn auch geringes Risiko von 353 00:18:05,220 --> 00:18:09,210 Mike Überschwingen, aber dass die Kurve nicht werde alles sein, was anders. 354 00:18:09,210 --> 00:18:12,550 Es ist immer noch eine gerade sein Linie, aber etwas schneller. 355 00:18:12,550 --> 00:18:13,710 >> Aber was habe ich getan? 356 00:18:13,710 --> 00:18:15,845 Ich hatte tatsächlich etwas grundsätzlich besser. 357 00:18:15,845 --> 00:18:21,990 Ich das erreicht, was wir nennen logarithmischen Zeit, log n, wobei diese grün 358 00:18:21,990 --> 00:18:27,730 Linie hat eine viel, viel, viel weniger geraden Kante zu. 359 00:18:27,730 --> 00:18:33,050 Und nicht, schlägt er, wie es von sortieren gegen unendlich jemals so allmählich, 360 00:18:33,050 --> 00:18:36,700 dass ich tatsächlich einen 1.000-Seite Telefonbuch, das Doppelte seiner Größe 361 00:18:36,700 --> 00:18:39,610 im nächsten Jahr - da nehme eine Menge mehr Menschen in die Stadt zu bewegen. 362 00:18:39,610 --> 00:18:43,250 >> So jetzt habe ich 2.000 Seiten, aber wie viele weitere Schritte ist, dass intelligentere 363 00:18:43,250 --> 00:18:45,200 Algorithmus dauern? 364 00:18:45,200 --> 00:18:46,060 Nur eine. 365 00:18:46,060 --> 00:18:48,060 Ich meine, das ist eine mächtige Sache. 366 00:18:48,060 --> 00:18:51,400 Wenn wir zu 4.000 Seiten im nächsten Jahr, das wird mir zu nehmen 367 00:18:51,400 --> 00:18:53,020 nur noch zwei Schritte. 368 00:18:53,020 --> 00:18:56,500 So können Sie werfen größer und größer Probleme mich an, nicht anders als die Bahn 369 00:18:56,500 --> 00:18:59,560 wirft immer größere Probleme jeden Tag um Googles und Facebooks von 370 00:18:59,560 --> 00:19:01,590 die Welt, und es ist nicht so eine große Sache. 371 00:19:01,590 --> 00:19:05,840 Da habe ich mehr Gedanken und Pflege in mein Algorithmus, mit dem zu lösen 372 00:19:05,840 --> 00:19:07,020 Probleme effizient. 373 00:19:07,020 --> 00:19:09,260 >> Und in der Tat, das wird einer der folgenden sein die Ziele dieses Kurses. 374 00:19:09,260 --> 00:19:11,230 Sie werden, auf dem Weg, lernen, wie man programmiert. 375 00:19:11,230 --> 00:19:13,360 Du wirst lernen, wie man programmiert in beliebige Anzahl von Sprachen. 376 00:19:13,360 --> 00:19:16,670 Aber am Ende des Tages, ist der Kurs Probleme zu lösen und immer 377 00:19:16,670 --> 00:19:20,490 besser auf die Lösung von Problemen - und, wie in Fällen wie diesem, die Lösung von Problemen 378 00:19:20,490 --> 00:19:22,030 effizienter zu gestalten. 379 00:19:22,030 --> 00:19:23,990 >> Jetzt so weit, haben wir dies getan ziemlich intuitiv. 380 00:19:23,990 --> 00:19:27,420 Lassen Sie uns vorstellen etwas ziemlich Generika genannt Pseudocode. 381 00:19:27,420 --> 00:19:29,150 Also werden wir irgendwann, in diesem Kurs zu 382 00:19:29,150 --> 00:19:30,570 verschiedenen Programmiersprachen. 383 00:19:30,570 --> 00:19:34,280 Aber heute werden wir es in Englisch-wie zu tun Syntax, wo man nur irgendwie sagen 384 00:19:34,280 --> 00:19:37,330 was du meinst, aber du bist immer so prägnante und Sie müssen sich keine Sorgen 385 00:19:37,330 --> 00:19:38,960 Grammatik und ganze Sätze. 386 00:19:38,960 --> 00:19:41,600 Sie müssen nur sich selbst auszudrücken, wie prägnant wie möglich. 387 00:19:41,600 --> 00:19:45,400 >> So Pseudocode ist Englisch-like Syntax, die für 388 00:19:45,400 --> 00:19:46,750 Programmiersprache. 389 00:19:46,750 --> 00:19:51,170 Und zu diesem Ende hin, lassen Sie mich schlagen vor, dass wir nun den Prozess modellieren wir nur 390 00:19:51,170 --> 00:19:54,990 beschrieben Zählen etwas ein wenig unterschiedlich, wobei diesmal 391 00:19:54,990 --> 00:19:59,040 Blick auf diese fünf-Minuten-Video produziert von unseren Freunden bei TED, dass 392 00:19:59,040 --> 00:20:03,170 definiert, was Pseudocode ist, definiert, was algorithmische Denken ist, und sogar 393 00:20:03,170 --> 00:20:07,030 obwohl das Beispiel Sie sind dabei zu sehen ist, in der sich, super einfach, es ist 394 00:20:07,030 --> 00:20:09,820 damit anfangen, uns die geistigen Modell, das Vokabular, mit denen 395 00:20:09,820 --> 00:20:14,588 tun viel, viel komplexer Algorithmen recht schnell. 396 00:20:14,588 --> 00:20:15,576 >> [BEGIN VIDEO PLAYBACK] 397 00:20:15,576 --> 00:20:29,920 >> [Musik spielt] 398 00:20:29,920 --> 00:20:31,100 >> SPRECHER: Was ist ein Algorithmus? 399 00:20:31,100 --> 00:20:34,730 In der Informatik ist ein Algorithmus ein Satz von Anweisungen für die Lösung einige 400 00:20:34,730 --> 00:20:36,620 Problem Schritt für Schritt. 401 00:20:36,620 --> 00:20:39,650 Üblicherweise werden Algorithmen ausgeführt von Computern, aber wir Menschen haben 402 00:20:39,650 --> 00:20:41,230 Algorithmen, wie gut. 403 00:20:41,230 --> 00:20:43,290 Zum Beispiel, wie würden Sie gehen über das Zählen der Anzahl 404 00:20:43,290 --> 00:20:44,750 von Personen in einem Raum? 405 00:20:44,750 --> 00:20:47,980 Nun, wenn Sie wie ich sind, würden Sie wahrscheinlich Punkt, an jede Person, eine an 406 00:20:47,980 --> 00:20:50,120 eine Zeit, und zählen bis 0. 407 00:20:50,120 --> 00:20:52,970 1, 2, 3, 4 und so weiter. 408 00:20:52,970 --> 00:20:54,140 >> Nun, das ist ein Algorithmus. 409 00:20:54,140 --> 00:20:57,600 In der Tat wollen wir versuchen, es ein Ausdruck bisschen mehr formal in Pseudocode - 410 00:20:57,600 --> 00:21:00,700 Englisch-ähnliche Syntax ähnelt Programmiersprache. 411 00:21:00,700 --> 00:21:02,580 Sei N gleich 0 ist. 412 00:21:02,580 --> 00:21:06,970 Für jede Person im Raum, stellen N gleich N plus 1. 413 00:21:06,970 --> 00:21:08,400 >> Wie man mit dieser Pseudocode interpretieren? 414 00:21:08,400 --> 00:21:12,840 Nun, eine Linie erklärt, so zu sprechen, eine Variable namens N und initialisiert 415 00:21:12,840 --> 00:21:14,250 seinen Wert auf 0 gesetzt. 416 00:21:14,250 --> 00:21:17,550 Dies bedeutet nur, daß zu Beginn der unser Algorithmus, die Sache mit dem 417 00:21:17,550 --> 00:21:19,650 Zählen wir einen Wert von 0 ist. 418 00:21:19,650 --> 00:21:22,620 Denn bevor wir anfangen zu zählen, wir haben nichts gezählt noch. 419 00:21:22,620 --> 00:21:25,340 Das Aufrufen dieser variablen N ist nur eine Konvention. 420 00:21:25,340 --> 00:21:26,890 Ich konnte es nannte haben die meisten nichts. 421 00:21:26,890 --> 00:21:30,560 >> Jetzt Linie zwei renzeichen der Beginn einer Schleife, eine Abfolge von Schritten, wird 422 00:21:30,560 --> 00:21:32,310 wiederholen eine bestimmte Anzahl von Zeiten. 423 00:21:32,310 --> 00:21:35,910 Also in unserem Beispiel der Schritt wir nehmen zählt Personen im Raum. 424 00:21:35,910 --> 00:21:38,730 Beneath Linie ist die Linie zwei drei, das beschreibt genau, wie 425 00:21:38,730 --> 00:21:40,160 wir über das Zählen zu gehen. 426 00:21:40,160 --> 00:21:43,440 Die Vertiefung impliziert, dass es Linie drei, die wiederholt. 427 00:21:43,440 --> 00:21:47,380 >> Also, was die Pseudocode sagt, ist das nach dem Start bei 0, für jede 428 00:21:47,380 --> 00:21:50,690 Person im Raum, wir N um 1 erhöhen. 429 00:21:50,690 --> 00:21:53,050 Jetzt ist dieser Algorithmus korrekt? 430 00:21:53,050 --> 00:21:54,580 Nun, lasst uns darauf schlagen ein bisschen. 431 00:21:54,580 --> 00:21:57,270 Funktioniert es, wenn es zwei Personen im Raum? 432 00:21:57,270 --> 00:21:58,170 Mal sehen. 433 00:21:58,170 --> 00:22:00,260 >> In einer Linie, initialisieren wir N bis 0. 434 00:22:00,260 --> 00:22:03,660 Für jede dieser beiden Menschen, wir dann erhöhen N um 1 erhöht. 435 00:22:03,660 --> 00:22:07,310 Also auf der ersten Reise durch die Schleife, wir aktualisieren N 0-1. 436 00:22:07,310 --> 00:22:11,070 Auf der zweiten Reise durch denselben Schleife, wir aktualisieren N 1-2. 437 00:22:11,070 --> 00:22:15,780 Und so durch diesen Algorithmus Ende ist n 2, die zwar mit der Anzahl der 438 00:22:15,780 --> 00:22:16,700 Menschen in den Raum. 439 00:22:16,700 --> 00:22:17,760 >> So weit, so gut. 440 00:22:17,760 --> 00:22:19,610 Wie wäre es mit einer Ecke Fall, obwohl? 441 00:22:19,610 --> 00:22:22,590 Angenommen, es gibt 0 Personen in den Raum - außer mir, 442 00:22:22,590 --> 00:22:24,170 Wer macht das Zählen. 443 00:22:24,170 --> 00:22:27,150 In einer Linie, initialisieren wir N bis 0. 444 00:22:27,150 --> 00:22:30,280 Dieses Mal jedoch, tut Linie drei nicht Ausführen überhaupt, da es keine 445 00:22:30,280 --> 00:22:31,370 Person im Raum. 446 00:22:31,370 --> 00:22:35,260 Und so bleibt N 0, was bringt die Anzahl der Personen im Raum. 447 00:22:35,260 --> 00:22:36,420 Ganz einfach, nicht wahr? 448 00:22:36,420 --> 00:22:39,630 >> Aber zählen Menschen, die man in einer Zeit, ist ziemlich ineffizient, auch, nicht wahr? 449 00:22:39,630 --> 00:22:40,920 Sicherlich können wir es besser machen. 450 00:22:40,920 --> 00:22:43,120 Warum nicht zählen zwei Menschen in einer Zeit? 451 00:22:43,120 --> 00:22:49,300 Anstatt dem von 1, 2, 3, 4, 5, 6, 7, 8, und so weiter, warum nicht zählen, 2, 452 00:22:49,300 --> 00:22:51,460 4, 6, 8 und so weiter? 453 00:22:51,460 --> 00:22:53,700 Es klingt sogar schneller, und es ist sicher. 454 00:22:53,700 --> 00:22:56,240 >> Lasst uns auszudrücken diese Optimierung in Pseudocode. 455 00:22:56,240 --> 00:22:57,800 Sei N gleich 0 ist. 456 00:22:57,800 --> 00:23:02,450 Für jedes Paar von Personen im Raum, gesetzt N gleich N plus 2. 457 00:23:02,450 --> 00:23:04,120 Ganz einfach ändern, nicht wahr? 458 00:23:04,120 --> 00:23:06,750 Anstatt Anzahl Menschen, die man zu einer Zeit, wir stattdessen zählen 459 00:23:06,750 --> 00:23:08,300 sie zwei auf einmal. 460 00:23:08,300 --> 00:23:10,980 Dieser Algorithmus ist damit doppelt so schnell wie der andere. 461 00:23:10,980 --> 00:23:12,180 >> Aber ist es richtig? 462 00:23:12,180 --> 00:23:12,920 Mal sehen. 463 00:23:12,920 --> 00:23:15,330 Funktioniert es, wenn es zwei Personen im Raum? 464 00:23:15,330 --> 00:23:17,550 In einer Linie, initialisieren wir N bis 0. 465 00:23:17,550 --> 00:23:20,920 Aus diesem ein Paar von Menschen, wir dann erhöhen N durch zwei. 466 00:23:20,920 --> 00:23:24,860 Und so durch diesen Algorithmus Ende ist N 2, die zwar mit der Anzahl der 467 00:23:24,860 --> 00:23:25,650 Menschen in den Raum. 468 00:23:25,650 --> 00:23:28,250 >> Nehmen wir weiter, dass es 0 Personen im Raum. 469 00:23:28,250 --> 00:23:30,840 In einer Linie, initialisieren wir N bis 0. 470 00:23:30,840 --> 00:23:34,330 Nach wie vor ist Zeile drei nicht ausführen überhaupt, da es keine Paare 471 00:23:34,330 --> 00:23:35,380 der Menschen in den Raum. 472 00:23:35,380 --> 00:23:38,350 Und so bleibt N 0, die in der Tat entspricht der Anzahl der 473 00:23:38,350 --> 00:23:39,570 Menschen in den Raum. 474 00:23:39,570 --> 00:23:42,280 >> Aber was, wenn es drei Personen im Raum? 475 00:23:42,280 --> 00:23:44,130 Wie funktioniert dieser Algorithmus Tarif? 476 00:23:44,130 --> 00:23:44,990 Mal sehen. 477 00:23:44,990 --> 00:23:47,460 In einer Linie, initialisieren wir N bis 0. 478 00:23:47,460 --> 00:23:50,870 Für ein Paar jener Menschen, wir dann um 2 erhöhen N. 479 00:23:50,870 --> 00:23:51,800 Aber was dann? 480 00:23:51,800 --> 00:23:54,960 Es gibt keine andere voll Paar Leute in den Raum, so dass keine Zeile zwei 481 00:23:54,960 --> 00:23:56,180 mehr gilt. 482 00:23:56,180 --> 00:24:00,530 Und so durch diesen Algorithmus Ende, N ist immer noch 2, was nicht korrekt ist. 483 00:24:00,530 --> 00:24:03,810 >> Tatsächlich ist dieser Algorithmus gesagt, dass Buggy, weil es einen Fehler. 484 00:24:03,810 --> 00:24:05,820 Lets Wiedergutmachung mit einigen neuen Pseudocode. 485 00:24:05,820 --> 00:24:09,670 Sei n gleich 0 für jedes Paar von Menschen im Raum. 486 00:24:09,670 --> 00:24:12,550 Set N gleich N plus 2. 487 00:24:12,550 --> 00:24:17,140 Wenn eine Person bleibt ungepaarten, gesetzt N gleich N plus 1. 488 00:24:17,140 --> 00:24:20,140 Um dieses Problem zu lösen, haben wir eingeführt, in der vierten Zeile ein 489 00:24:20,140 --> 00:24:24,520 Bedingung, sonst als ein Zweig bekannt das führt nur wenn es eine 490 00:24:24,520 --> 00:24:26,640 Person, dass wir nicht Paar mit einem anderen. 491 00:24:26,640 --> 00:24:30,440 Und nun, ob es eine oder drei oder eine ungerade Zahl von Menschen in 492 00:24:30,440 --> 00:24:33,290 der Raum, dieser Algorithmus Es wird nun gezählt. 493 00:24:33,290 --> 00:24:34,560 >> Können wir noch besser machen? 494 00:24:34,560 --> 00:24:38,820 Nun, wir könnten in 3s oder 4s oder sogar zählen 5s und 10s, aber darüber hinaus ist es 495 00:24:38,820 --> 00:24:41,360 gehen, um ein wenig zu bekommen schwer zu Punkt. 496 00:24:41,360 --> 00:24:44,660 Am Ende des Tages, ob ausgeführt von Computern oder Menschen, 497 00:24:44,660 --> 00:24:46,750 Algorithmen sind nur ein Satz von Anweisungen mit 498 00:24:46,750 --> 00:24:48,290 die Probleme zu lösen. 499 00:24:48,290 --> 00:24:49,792 Dies waren nur drei. 500 00:24:49,792 --> 00:24:52,404 Welches Problem würden Sie lösen mit einem Algorithmus? 501 00:24:52,404 --> 00:24:52,901 >> [END VIDEO PLAYBACK] 502 00:24:52,901 --> 00:24:55,883 >> DAVID MALAN: Das ist die einzige Zeit ist Ich werde im Cartoon-Form erscheinen. 503 00:24:55,883 --> 00:25:01,050 Aber wo die Geschichte aufhört, Jetzt wird, wie können wir besser machen? 504 00:25:01,050 --> 00:25:04,680 Dreien und Vieren, wir behaupten, wir zählen können Menschen viel schneller, aber wir können 505 00:25:04,680 --> 00:25:06,290 tun grundsätzlich besser als das? 506 00:25:06,290 --> 00:25:07,540 Und ich wette, wir können. 507 00:25:07,540 --> 00:25:11,980 >> Führt man ein bisschen von unserer eigenen Pseudocode hier, ich werde vorschlagen 508 00:25:11,980 --> 00:25:14,550 dass wir erreichen können, eine Zeile wie diese. 509 00:25:14,550 --> 00:25:17,280 Wir gehen nicht auf Menschen zählen eins, zwei, drei, vier. 510 00:25:17,280 --> 00:25:19,470 Wir gehen nicht auf zwei zu gehen, vier, sechs, acht. 511 00:25:19,470 --> 00:25:23,390 Wir werden tun, grundsätzlich besser Umdenken durch das Problem, und in diesem 512 00:25:23,390 --> 00:25:27,080 Fall nutzt eine ansonsten ausgelastete Ressource. 513 00:25:27,080 --> 00:25:31,460 >> In nur einem Augenblick, ich hoffe, du wirst verzeihen und Humor uns durch Aufstehen in 514 00:25:31,460 --> 00:25:34,470 Ort, an welchem ​​Punkt wir fahren bitten jeden von euch zu nehmen in Ihrem 515 00:25:34,470 --> 00:25:36,400 Köpfen die Nummer 1. 516 00:25:36,400 --> 00:25:39,560 Du bist dann werde zunehmend ungeschickt, wie die Zeit vergeht, finden 517 00:25:39,560 --> 00:25:42,740 jemanden steht, kombinieren Ihre Zahlen zusammen 518 00:25:42,740 --> 00:25:43,720 indem sie auf. 519 00:25:43,720 --> 00:25:47,490 Einer von euch ist dann auf Rennen zu setzen zuerst hinunter und die andere Person 520 00:25:47,490 --> 00:25:48,880 wird zu wiederholen. 521 00:25:48,880 --> 00:25:53,090 >> Mit anderen Worten, durch Impfen allen Sie mit der Nummer 1, und dann 522 00:25:53,090 --> 00:25:57,800 Die Kombination dieser 1s 2s und in dieser 2s in 4s, mit jeder zunehmend 523 00:25:57,800 --> 00:26:02,740 sitzen, sollten wir, am Ende des Dieser Algorithmus, haben nur ein Darlehen 524 00:26:02,740 --> 00:26:07,570 Seele, die nicht sitzen wollte schnell genug, aber wer hat das gesamte Publikum zählen 525 00:26:07,570 --> 00:26:09,180 in seinem oder ihrem Geist. 526 00:26:09,180 --> 00:26:13,730 >> Also, wenn Sie, würden wir voran gehen und - step one - aufstehen im Ort. 527 00:26:13,730 --> 00:26:15,600 Und auszuführen. 528 00:26:15,600 --> 00:26:36,580 >> [Menge Murmeln] 529 00:26:36,580 --> 00:26:38,820 >> DAVID MALAN: Wissen Sie, wo Lauren ist? 530 00:26:38,820 --> 00:26:40,179 729? 531 00:26:40,179 --> 00:27:23,350 >> [Menge Murmeln] 532 00:27:23,350 --> 00:27:24,340 >> DAVID MALAN: Alles klar? 533 00:27:24,340 --> 00:27:39,110 >> [Menge Murmeln] 534 00:27:39,110 --> 00:27:41,365 >> DAVID MALAN: All right, sollten wir werden kurz vor dem Ende. 535 00:27:41,365 --> 00:27:44,340 536 00:27:44,340 --> 00:27:47,670 Wir sehen ein Kerl hier stehen still. 537 00:27:47,670 --> 00:27:48,770 Wer sonst muss gepaart sein? 538 00:27:48,770 --> 00:27:50,020 Wenn Sie nie wieder ausziehen wollen paaren. 539 00:27:50,020 --> 00:27:53,260 540 00:27:53,260 --> 00:27:56,520 Jemand bis oben. 541 00:27:56,520 --> 00:27:58,150 Warum kann ich nicht Hand anlegen hier. 542 00:27:58,150 --> 00:28:01,370 Für den ganz wenigen Menschen, die noch stehen, welche Zahlen Sie 543 00:28:01,370 --> 00:28:02,790 haben in Ihrem Kopf? 544 00:28:02,790 --> 00:28:04,020 >> STUDENT: 78. 545 00:28:04,020 --> 00:28:06,010 >> DAVID MALAN: 78 plus - 546 00:28:06,010 --> 00:28:07,840 wer steht hier unten? 547 00:28:07,840 --> 00:28:08,370 >> STUDENT: 39. 548 00:28:08,370 --> 00:28:09,590 >> DAVID MALAN: Plus-39. 549 00:28:09,590 --> 00:28:12,310 Plus-wer sonst noch steht? 550 00:28:12,310 --> 00:28:13,650 81? 551 00:28:13,650 --> 00:28:15,960 OK, wer sonst? 552 00:28:15,960 --> 00:28:17,200 Ein weiterer 81? 553 00:28:17,200 --> 00:28:17,860 Wow. 554 00:28:17,860 --> 00:28:19,210 Und was ist dann auf der Rückseite? 555 00:28:19,210 --> 00:28:20,360 >> STUDENT: 49. 556 00:28:20,360 --> 00:28:21,812 >> DAVID MALAN: 49 plus? 557 00:28:21,812 --> 00:28:22,950 >> STUDENT: 98. 558 00:28:22,950 --> 00:28:24,980 >> DAVID MALAN: 98 Plus? 559 00:28:24,980 --> 00:28:28,190 Ist das jemand anders? 560 00:28:28,190 --> 00:28:29,155 12? 561 00:28:29,155 --> 00:28:30,460 Gute Arbeit. 562 00:28:30,460 --> 00:28:33,610 >> [Gelächter] 563 00:28:33,610 --> 00:28:34,690 >> DAVID MALAN: Oh, 112 - 564 00:28:34,690 --> 00:28:35,410 oh. 565 00:28:35,410 --> 00:28:36,220 Good job! 566 00:28:36,220 --> 00:28:38,660 >> [Gelächter] 567 00:28:38,660 --> 00:28:42,570 >> [Applaus] 568 00:28:42,570 --> 00:28:43,820 >> DAVID MALAN: Anyone else noch stehen? 569 00:28:43,820 --> 00:28:46,710 570 00:28:46,710 --> 00:28:47,260 Es tut uns leid? 571 00:28:47,260 --> 00:28:48,110 >> STUDENT: 99. 572 00:28:48,110 --> 00:28:49,810 >> DAVID MALAN: 99. 573 00:28:49,810 --> 00:28:52,620 Wer sonst noch stehen? 574 00:28:52,620 --> 00:28:57,290 Und die Gesamtzahl der Studenten hier ist eigentlich, nach - 575 00:28:57,290 --> 00:28:59,400 Sie haben eine Reihe? 576 00:28:59,400 --> 00:29:03,170 Oh, die tatsächliche Zahl der Menschen in der Raum, nach dem Bericht, dass 577 00:29:03,170 --> 00:29:07,660 die Lehre Gefährten taten auf jedermanns Weg in war 729. 578 00:29:07,660 --> 00:29:11,070 Also aus einem Raum voller Harvard-Studenten die gezählt selbst, die 579 00:29:11,070 --> 00:29:14,126 Antwort ist 637. 580 00:29:14,126 --> 00:29:15,480 >> [Gelächter] 581 00:29:15,480 --> 00:29:16,350 >> DAVID MALAN: So nah. 582 00:29:16,350 --> 00:29:17,360 Aber immer noch. 583 00:29:17,360 --> 00:29:22,110 OK, das ist so, dass eine Lehre Moment, nicht wahr? 584 00:29:22,110 --> 00:29:24,120 Dies ist jetzt das, was wir als einen Fehler zu beschreiben. 585 00:29:24,120 --> 00:29:28,120 Irgendwo auf dem Weg, wir haben einige Arithmetik, falsch ist oder jemand hingesetzt, 586 00:29:28,120 --> 00:29:29,930 oder links, oder etwas schiefgelaufen ist. 587 00:29:29,930 --> 00:29:30,930 Aber das ist in Ordnung. 588 00:29:30,930 --> 00:29:33,390 Denn auch noch, wir bekam ziemlich nahe. 589 00:29:33,390 --> 00:29:37,480 Und ich würde behaupten, dass wir an den falschen beantworten viel schneller, als ich hätte 590 00:29:37,480 --> 00:29:39,770 mit meinem mehr linearen Ansatz. 591 00:29:39,770 --> 00:29:42,630 >> Also nehmen wir an, wir haben in der Tat bekommen, dass zu korrigieren, aber denke, jetzt über das, was 592 00:29:42,630 --> 00:29:46,870 geschah jedes Mal, im Vergleich zu meinem eigene naive Algorithmus zeigt. 593 00:29:46,870 --> 00:29:48,420 Eine, zwei, drei. 594 00:29:48,420 --> 00:29:53,010 Wenn es tatsächlich 729 oder 637 Menschen hier, das würde mich genommen haben 595 00:29:53,010 --> 00:29:57,720 buchstäblich 637 oder 729 pointings des Fingers und 596 00:29:57,720 --> 00:29:59,490 Erhöhen meine Gesamtkeimzahl. 597 00:29:59,490 --> 00:30:01,910 Und ich könnte ein wenig besser zu machen, indem gehen zwei, vier, sechs, acht, und 598 00:30:01,910 --> 00:30:05,660 verdoppeln, dass die Geschwindigkeit, vielleicht sogar verdreifachen oder Vierbettzimmer, je nachdem, wie gut ich kann 599 00:30:05,660 --> 00:30:07,110 tun, dass das Zählen in meinem Kopf. 600 00:30:07,110 --> 00:30:10,720 >> Aber dieser Ansatz, dass ihr nahm war grundverschieden. 601 00:30:10,720 --> 00:30:12,770 Da am Anfang, Sie alle standen auf. 602 00:30:12,770 --> 00:30:14,620 Also alles 729. 603 00:30:14,620 --> 00:30:17,370 Und dann buchstäblich die Hälfte der Sie setzte sich. 604 00:30:17,370 --> 00:30:19,720 Und danach ein anderes die Hälfte von euch hingesetzt. 605 00:30:19,720 --> 00:30:22,650 Und danach ein anderes die Hälfte von euch hingesetzt. 606 00:30:22,650 --> 00:30:27,470 >> Und die Gesamtzahl der Zeiten, die Sie Jungs könnten hingesetzt haben, ist etwa 607 00:30:27,470 --> 00:30:31,740 acht oder neun oder zehn mal insgesamt, je nachdem, was unsere Gesamtkeimzahl ist. 608 00:30:31,740 --> 00:30:33,300 Und wir können von do sortieren diese umgekehrt. 609 00:30:33,300 --> 00:30:37,740 Wenn wir 1.024 Menschen mussten in den Raum, die Gesamtzahl der Zeiten konnte man 610 00:30:37,740 --> 00:30:41,870 halbieren 1.024 Personen ist 10. 611 00:30:41,870 --> 00:30:43,370 >> Jetzt darüber nachzudenken in die andere Richtung. 612 00:30:43,370 --> 00:30:49,170 Angenommen, lächerlich, dass wir hatten, sagen vier Milliarden Menschen in diesem Raum, 613 00:30:49,170 --> 00:30:50,860 oder ein etwas größeres Zimmer. 614 00:30:50,860 --> 00:30:54,550 Wie oft würden wir gegangen durch diesen Algorithmus, so dass die Hälfte 615 00:30:54,550 --> 00:30:58,110 dieser Klasse setzt sich? 616 00:30:58,110 --> 00:31:03,050 Es ist nur noch 32, so nehmen Operationen, auch in einer Klasse von Größe 617 00:31:03,050 --> 00:31:03,770 vier Milliarden. 618 00:31:03,770 --> 00:31:04,055 Warum? 619 00:31:04,055 --> 00:31:06,980 Weil vier Milliarden geht an zwei Milliarden, geht zu einer Million, geht an 620 00:31:06,980 --> 00:31:09,925 500 Millionen Euro, geht an 250 Millionen, Punkt, Punkt, Punkt. 621 00:31:09,925 --> 00:31:14,940 Ich kann nur das tun, Abteilung rund 32 Zeiten, zu welchem ​​Zeitpunkt, alle außer 622 00:31:14,940 --> 00:31:17,820 eine Person würde stehen gelassen werden. 623 00:31:17,820 --> 00:31:21,590 >> Und das ist auch eine Art von leistungsfähigen Idee, dass wir immer versuchen, 624 00:31:21,590 --> 00:31:24,690 Hebelwirkung in diesem Kurs, und in Programmierung und Informatik mehr 625 00:31:24,690 --> 00:31:29,400 Im Allgemeinen sind diese Keime einer Idee mit was können wir dann Probleme zu lösen viel, 626 00:31:29,400 --> 00:31:31,130 viel stärker. 627 00:31:31,130 --> 00:31:34,610 Also begannen wir ganz einfach mit, dass Pseudocode und ein Kerl in einem Raum, aber 628 00:31:34,610 --> 00:31:38,205 Jetzt mit einem ganzen Raum voller Menschen haben wir grundsätzlich besser getan. 629 00:31:38,205 --> 00:31:41,460 >> Nun, lasst uns jetzt Übergang von Pseudocode zu einem gewissen eigentlichen Code. 630 00:31:41,460 --> 00:31:44,200 Diese Sprache Sie sind dabei zu sehen, passieren JavaScript genannt werden, und 631 00:31:44,200 --> 00:31:46,190 wir dies in Richtung Rückkehr Semester Ende. 632 00:31:46,190 --> 00:31:49,960 Es ist eine Programmiersprache, die Sie verwenden, um Websites und andere machen 633 00:31:49,960 --> 00:31:51,360 Software in diesen Tagen. 634 00:31:51,360 --> 00:31:54,890 Und wir haben es genutzt, dank einem Freund von uns in Stanford, zu kodieren 635 00:31:54,890 --> 00:31:56,630 einige versteckte Informationen hier. 636 00:31:56,630 --> 00:31:59,500 Das ist die Kunst der Steganographie, so zu sprechen, wo man sich verstecken 637 00:31:59,500 --> 00:32:03,990 Informationen in das, was sonst scheint sein Rauschen oder ein völlig anderes 638 00:32:03,990 --> 00:32:05,220 Bild insgesamt. 639 00:32:05,220 --> 00:32:10,120 Aber in diesem Bild eingebettet ist in der Tat eine geheime Nachricht von Arten. 640 00:32:10,120 --> 00:32:12,950 >> Also lassen Sie mich gehen Sie vor und nach oben ziehen das gleiche Bild hier, diese 641 00:32:12,950 --> 00:32:14,270 Zeit in einem Web-Browser. 642 00:32:14,270 --> 00:32:17,710 Und ich werde meine Hand auf einige winken die Einzelheiten für heute, besonders 643 00:32:17,710 --> 00:32:21,780 für diejenigen von euch, das sieht aus wie nicht nur JavaScript, sondern Griechisch, als 644 00:32:21,780 --> 00:32:23,930 völlig unbekannten Sprache. 645 00:32:23,930 --> 00:32:26,190 Aber dies ist ein Beispiel für Programmiersprache. 646 00:32:26,190 --> 00:32:30,660 >> Und jetzt, auf den Glauben nehmen, dass diese erste Zeile Code - 647 00:32:30,660 --> 00:32:32,470 und durch den Code, ich habe gerade meinen Text. 648 00:32:32,470 --> 00:32:35,660 Text, dass ich buchstäblich eingegeben haben in Microsoft Word, wenn ich die 649 00:32:35,660 --> 00:32:37,630 richtige Software, um dann etwas zu tun mit ihm. 650 00:32:37,630 --> 00:32:42,120 Programmierung Quellcode, Programmierung Code ist wirklich nur Text, und es 651 00:32:42,120 --> 00:32:45,420 sieht anders basierend auf welcher Sprache Sie verwenden, nicht anders als Englisch und 652 00:32:45,420 --> 00:32:49,200 Spanisch und Russisch alle anders aussehen Geben Sie, wenn Sie sie auf Ihrer Tastatur. 653 00:32:49,200 --> 00:32:53,520 >> Also dieser ersten Zeile, denn nun übernehmen Glauben, öffnet einfach eine Grafik aus der 654 00:32:53,520 --> 00:32:56,160 Internet, dass laut Grafik wir gerade gesehen haben. 655 00:32:56,160 --> 00:32:59,900 Das nächste Zeile hier ist ein Beispiel für eine Schleife und sahen wir tatsächlich die gleiche 656 00:32:59,900 --> 00:33:01,130 Jargon in der TED-Video. 657 00:33:01,130 --> 00:33:03,750 Eine Schleife ist etwas, das wieder passiert und wieder, und obwohl dies 658 00:33:03,750 --> 00:33:08,440 absolut kryptisch aussieht, mit der Stichwort für und einige Klammern und 659 00:33:08,440 --> 00:33:09,510 einige Semikolon. 660 00:33:09,510 --> 00:33:13,070 Wir kommen zurück zu der vor langer, aber, dass es im Wesentlichen Schleife 661 00:33:13,070 --> 00:33:17,310 erzählt das Programm durchlaufen alle dieser laut punkte, von links nach 662 00:33:17,310 --> 00:33:18,980 rechts, von oben nach unten. 663 00:33:18,980 --> 00:33:21,260 >> Denn am Ende des Tages, ein Bild so - und man kann tatsächlich 664 00:33:21,260 --> 00:33:22,860 irgendwie sehen es an diesem Projektor - 665 00:33:22,860 --> 00:33:25,280 ist wirklich nur ein Gitter von Punkten. 666 00:33:25,280 --> 00:33:29,730 So können wir erkennen jedes dieser Punkte durch ein Koordinatensystem, x, y, und damit 667 00:33:29,730 --> 00:33:33,890 Programm kann jetzt beginnen wir zu etwas tun, um diesen Punkten. 668 00:33:33,890 --> 00:33:37,540 >> Also, was ich werde es hier weiter gehen und Sie ist werde ich einige Änderungen vornehmen. 669 00:33:37,540 --> 00:33:41,000 Zuerst werde ich weitermachen und loswerden aller dieser grünlich und bläulich 670 00:33:41,000 --> 00:33:43,520 Lärm, und ich werde weitermachen und geben Sie den folgenden 671 00:33:43,520 --> 00:33:45,710 zugegebenermaßen kryptischen Syntax. 672 00:33:45,710 --> 00:33:48,020 im für Bild. 673 00:33:48,020 --> 00:33:53,380 Set blau an der Stelle x, Komma, Lage y, auf 0 gesetzt. 674 00:33:53,380 --> 00:33:55,610 Mit anderen Worten, ich möchte nur schalten Sie alle von dem blauen 675 00:33:55,610 --> 00:33:56,920 Punkte in diesem Bild. 676 00:33:56,920 --> 00:33:59,800 >> Ich werde jetzt nach vorne gehen und klicken diese Run / Schaltfläche Speichern, und du wirst 677 00:33:59,800 --> 00:34:02,850 Hinweise auf der rechten Seite, Das resultierende Bild wird angezeigt. 678 00:34:02,850 --> 00:34:06,120 Jetzt seine super grün, aber das ist nicht überraschend, weil ich buchstäblich gedreht 679 00:34:06,120 --> 00:34:11,070 aus, indem sie a 1 a 0, die alle das Blau in diesem Bild. 680 00:34:11,070 --> 00:34:12,540 >> Nun, jetzt machen wir es ein bisschen mehr. 681 00:34:12,540 --> 00:34:16,989 im zur Bild-, Punkt setGreen, x, y. 682 00:34:16,989 --> 00:34:20,659 Und das bedeutet nur iterate von links nach rechts und dann von oben nach unten. 683 00:34:20,659 --> 00:34:23,520 Drehen Sie, dass Sie mit einem Wert von 0, wie gut. 684 00:34:23,520 --> 00:34:24,750 Speichern. 685 00:34:24,750 --> 00:34:28,100 Und auf dem Projektor, können Sie eigentlich nicht wirklich sehen, überhaupt nichts. 686 00:34:28,100 --> 00:34:31,380 >> Auf meinem Laptop-Bildschirm, wenn ich nur in Peer der richtige Weg, kann ich sehen, ein bisschen ein 687 00:34:31,380 --> 00:34:33,300 Bild, weil sie immer noch einige rote drin. 688 00:34:33,300 --> 00:34:35,540 Wenn Sie jemals das Akronym RGB gehört - 689 00:34:35,540 --> 00:34:36,830 rot, grün, blau - 690 00:34:36,830 --> 00:34:39,110 es zu dieser Zusammensetzung bezogen eines Bildes unter Verwendung 691 00:34:39,110 --> 00:34:40,230 nur diese drei Farben. 692 00:34:40,230 --> 00:34:43,159 Und gerade jetzt, haben wir weggeworfen alle grün, alles blau, aber 693 00:34:43,159 --> 00:34:44,500 es gibt nicht viel rot. 694 00:34:44,500 --> 00:34:45,920 >> Also lassen Sie mich Kurbel bis die rote. 695 00:34:45,920 --> 00:34:47,070 Wie kann ich das tun? 696 00:34:47,070 --> 00:34:49,300 Nun, zunächst einmal, ich werde fragen dieses Programm eine Frage. 697 00:34:49,300 --> 00:34:52,030 Ich werde weitermachen und nennen wir es eine Variable, wie in der Algebra. 698 00:34:52,030 --> 00:34:54,060 Sie haben x oder y oder z. 699 00:34:54,060 --> 00:34:57,230 Ich werde eine Variable deklarieren und sagen, legte in dieser Variablen 700 00:34:57,230 --> 00:35:02,790 vorübergehend, der Wert der Bilder getRed Wert bei x, y. 701 00:35:02,790 --> 00:35:05,870 >> Und wieder, wir kommen zurück, um alle dieses Detail in der Zukunft. 702 00:35:05,870 --> 00:35:10,630 Aber für jetzt, nur auf den Glauben nehmen, dass diese Linie fragt das Programm, was 703 00:35:10,630 --> 00:35:12,740 ist der Rot-Wert an der Stelle x, y? 704 00:35:12,740 --> 00:35:14,450 Bei diesem bestimmten Punkt? 705 00:35:14,450 --> 00:35:15,710 >> Dann werde ich, um etwas zu tun. 706 00:35:15,710 --> 00:35:21,100 Dann werde ich Bildpunkt Set rot tun bei x, y, y, aber dieses Mal tue ich! 707 00:35:21,100 --> 00:35:24,760 steigern, indem Sie es mal rot, sagen wir mal, 10. 708 00:35:24,760 --> 00:35:26,870 So erhöhen sie um einen Faktor von 10. 709 00:35:26,870 --> 00:35:29,880 Lassen Sie mich jetzt und Verkleinern Klicken Sie könnten Run / Speichern. 710 00:35:29,880 --> 00:35:36,430 Und voila, das war die gesamte Zeit, auch wenn unsere menschlichen Augen 711 00:35:36,430 --> 00:35:37,900 konnte nicht ganz sehen. 712 00:35:37,900 --> 00:35:41,470 >> Also noch einmal, dies ist jetzt echten Code ein Beispiel für eine Sprache, die wir kommen 713 00:35:41,470 --> 00:35:42,770 zurück, vor langer. 714 00:35:42,770 --> 00:35:46,670 Aber klar, vor allem diejenigen von euch ohne solche Erfahrungen, ist es recht 715 00:35:46,670 --> 00:35:50,280 bald, dass wir selbst werden Schreiben von Code, wie, dass es. 716 00:35:50,280 --> 00:35:54,520 In der Tat, ein Werkzeug, mit dem Sie alle ein wenig vertraut, vielleicht ist das CS50 717 00:35:54,520 --> 00:35:57,330 eigenen Kurs-Shopping-Tool, das war tatsächlich Neustart in diesem Sommer von einigen 718 00:35:57,330 --> 00:36:01,070 von CS50 eigenen ehemaligen Studenten, Jetzt drehen Transkriptionsfaktoren. 719 00:36:01,070 --> 00:36:04,740 >> So dies geschieht, um eine Website aufgebaut sein in einer Sprache namens PHP. 720 00:36:04,740 --> 00:36:08,510 Es verwendet eine Datenbank namens MySQL, Dinge mit denen wir uns die Hände 721 00:36:08,510 --> 00:36:10,190 schmutzig später im Semester. 722 00:36:10,190 --> 00:36:14,140 Aber glauben Sie es oder nicht, auch etwas wie dies letztlich reduziert sich die 723 00:36:14,140 --> 00:36:19,480 einfachsten Schleifen und Bedingungen und Zweige, wie diejenigen, die wir sahen nur eine 724 00:36:19,480 --> 00:36:21,530 vorhin in der TED-Video. 725 00:36:21,530 --> 00:36:25,180 >> Was ich dachte, ich würde jetzt tun ist Anteil nicht nur etwas, das wir das Personal haben 726 00:36:25,180 --> 00:36:28,010 für den Campus, sondern etwas ein ehemaliger Schüler - drei 727 00:36:28,010 --> 00:36:29,080 Studenten, in der Tat - 728 00:36:29,080 --> 00:36:33,950 machte im vergangenen Jahr, Sierra, Daniel und Sam, der letzte von ihnen hatte keine vorherige 729 00:36:33,950 --> 00:36:36,370 Programmierung Erfahrung wenn er nahm CS50. 730 00:36:36,370 --> 00:36:39,950 Und für ihre Abschlussarbeit, sie ausgestellt, am CS50 Fair, ein 731 00:36:39,950 --> 00:36:43,720 Anwendung namens wrdly, das ist ein web-basiertes Programm, für die sie gemacht 732 00:36:43,720 --> 00:36:47,670 Dieses Video, dass ich dachte, ich würde zu teilen geben Ihnen ein Gefühl dafür, was ist 733 00:36:47,670 --> 00:36:49,280 möglich Begriff am Ende. 734 00:36:49,280 --> 00:37:57,170 >> [Musik spielt] 735 00:37:57,170 --> 00:38:00,570 >> DAVID MALAN: Das ist ab KW Null bis Woche 12 im vergangenen Jahr. 736 00:38:00,570 --> 00:38:05,470 >> [Applaus] 737 00:38:05,470 --> 00:38:09,520 >> DAVID MALAN: Als Teaser auch wirklich um Appetit ist zu dem, was 738 00:38:09,520 --> 00:38:14,580 möglich, können Sie bereits gesehen haben, oder vielleicht schon bald sehen, market.cs50.net, eine 739 00:38:14,580 --> 00:38:17,710 neues Werkzeug, das Team hat natürlich wurde über die Arbeitsbedingungen, diesmal in 740 00:38:17,710 --> 00:38:21,530 Zusammenarbeit mit Harvard-Student Agenturen, so dass ab diesem Jahr 741 00:38:21,530 --> 00:38:24,980 und Weiterbildung hoffentlich in dieser kommenden Sommer haben Sie eine Standard- 742 00:38:24,980 --> 00:38:27,890 Möglichkeit auf dem Campus zu kaufen und verkaufen Dinge für Sie von Interesse. 743 00:38:27,890 --> 00:38:32,220 Und mit Partnerschaft durch HSA, werden Sie auch in der Lage, Gegenstände fallen aus 744 00:38:32,220 --> 00:38:35,950 in einem physikalischen Speicher HSA auf einige Zeitpunkt in der Zukunft, um 745 00:38:35,950 --> 00:38:39,150 Proxy Dinge, vor allem, wie Sie Absolvent und wollen nicht unbedingt zu 746 00:38:39,150 --> 00:38:44,110 verwerfen Dinge, aber es tatsächlich zahlen zu übermitteln, um Leute, die dir folgen könnte 747 00:38:44,110 --> 00:38:45,270 hier auf dem Campus. 748 00:38:45,270 --> 00:38:46,740 Also mehr dazu kommen. 749 00:38:46,740 --> 00:38:49,830 >> Aber ein wenig konkreter, ein Werkzeug das ist von CS50 in den letzten kommen 750 00:38:49,830 --> 00:38:52,760 Jahre, mit dem einige von euch vielleicht sein vertraut und andere von Ihnen vielleicht 751 00:38:52,760 --> 00:38:57,940 Googeln jetzt, in CS50.net/2x, werden Sie finden Sie einen Link zu einer Chrome-Erweiterung 752 00:38:57,940 --> 00:39:01,250 das ist demonstrative, wie Sie JavaScript verwenden, dass wir dieselbe Sprache 753 00:39:01,250 --> 00:39:06,660 verwendet mit dem Eiffel-Turm vor einem Augenblick, bis 2x Abspielgeschwindigkeit implementieren 754 00:39:06,660 --> 00:39:09,000 für alle Harvard iSites Videos. 755 00:39:09,000 --> 00:39:11,880 Dies ist etwas, das ist gebaut CS50 in der eigenen Video-Player. 756 00:39:11,880 --> 00:39:14,870 Aber auch dies, wenn Sie beginnen zu graben in den Quellcode, die wir werden 757 00:39:14,870 --> 00:39:18,840 glücklich zur Verfügung stellen, werden Sie sehen, wie Sie können sogar Probleme zu lösen wie das, 758 00:39:18,840 --> 00:39:23,180 Beschleunigung Widgets in Webseiten mit denen Sie bereits bestens vertraut. 759 00:39:23,180 --> 00:39:26,630 >> So ein Wort jetzt auf den Verlauf und Erwartungen und was vor uns liegt. 760 00:39:26,630 --> 00:39:29,445 In der Regel werden wir in der Tat versammeln sich hier montags und mittwochs - obwohl 761 00:39:29,445 --> 00:39:31,490 an diesem Freitag, wir sammeln, weil von Shopping Week - 762 00:39:31,490 --> 00:39:34,640 1.00 bis 14.00 Uhr, obwohl manchmal bis 2:30 Uhr. 763 00:39:34,640 --> 00:39:38,700 Vorausgesetzt, dass Sie könnte daher wollen oder haben einige Klasse um 2:00 Uhr nehmen 764 00:39:38,700 --> 00:39:42,480 Weiterreise oder sogar vor, schon klar, die Natürlich ist unterstützend, was heißt 765 00:39:42,480 --> 00:39:45,900 gleichzeitige Immatrikulation, wobei wir werden unterstützt eine Petition an den Ad-Board und 766 00:39:45,900 --> 00:39:49,400 Ihren Wohnsitz Dekane in Ihrem Namen, wenn Sie haben einen Konflikt irgendwo in dieser 767 00:39:49,400 --> 00:39:50,790 1.00 Uhr bis 02.30 Uhr zu finden. 768 00:39:50,790 --> 00:39:54,110 Head to dieser URL online weitere Details. 769 00:39:54,110 --> 00:39:57,750 >> Aber in Bezug auf die Tragstruktur das charakterisiert CS50, für Studenten 770 00:39:57,750 --> 00:40:01,750 mehr und weniger komfortabel gleichermaßen, wir bieten deutliche Spuren von Abschnitten. 771 00:40:01,750 --> 00:40:04,730 Und das ist ein paar Wochen weg, aber es dauerte nicht lange, werden Sie gefragt werden, wie 772 00:40:04,730 --> 00:40:05,770 Ihren Komfort. 773 00:40:05,770 --> 00:40:08,590 Sind Sie unter die weniger komfortabel, komfortabler, oder 774 00:40:08,590 --> 00:40:10,520 irgendwo dazwischen? 775 00:40:10,520 --> 00:40:13,150 >> Und wir haben drei verschiedene Spuren, die zu versorgen 776 00:40:13,150 --> 00:40:14,470 genau jene Zielgruppen. 777 00:40:14,470 --> 00:40:17,900 Also an keiner Stelle in dem Begriff sollten Sie sogar das Gefühl, wie Sie im Wettbewerb sind 778 00:40:17,900 --> 00:40:21,390 gegen jeden Studenten mit mehr oder weniger Hintergrund als Sie. 779 00:40:21,390 --> 00:40:24,160 Tatsächlich ist der Kurs sein soll viel mehr Zusammenarbeit und viel 780 00:40:24,160 --> 00:40:25,650 offener als die. 781 00:40:25,650 --> 00:40:29,030 >> In Bezug auf die Problem-Sets, werden Sie finden auch, dass zusätzlich zu den 782 00:40:29,030 --> 00:40:32,130 standard edition jeder Woche das Problem gesetzt ist, gibt es oft eine "Hacker 783 00:40:32,130 --> 00:40:37,010 edition ", die eigentlich gezielt sucht in der 5% bis 10% oder so der 784 00:40:37,010 --> 00:40:40,270 demographischen, die in der Tat ist unter denen, mehr wohlgefühlt und würden gerne mehr 785 00:40:40,270 --> 00:40:43,960 eine Herausforderung als die Standard- Ausgabe dieser pset erwartet. 786 00:40:43,960 --> 00:40:46,390 Weitere Details auf diejenigen zu sein gefunden in den Lehrplan. 787 00:40:46,390 --> 00:40:49,430 >> Aber auch dort finden Sie Details werden zu den Kursen späten Tage. 788 00:40:49,430 --> 00:40:51,570 Typischerweise Problem setzt sind am Donnerstag. 789 00:40:51,570 --> 00:40:55,550 Sie können jedoch verlängern viele Ihrer Fristen in diesem Herbst von Donnerstag bis 790 00:40:55,550 --> 00:41:00,010 Freitags einfach durch die Erfüllung uns auf halbem Weg, so zu sprechen, beantworten ein paar Warm-up 791 00:41:00,010 --> 00:41:03,370 Fragen in einigen der Woche das Problem Sätze, die automatisch 792 00:41:03,370 --> 00:41:05,710 dann geben wir Ihnen einen zusätzlichen 24 Stunden. 793 00:41:05,710 --> 00:41:09,120 Wir werden auch Drop Ihre niedrigsten Partitur, nach dem Lehrplan. 794 00:41:09,120 --> 00:41:12,170 >> Um Ihnen ein Gefühl dafür, was das Problem Sätze sind - weil es in der Tat ist 795 00:41:12,170 --> 00:41:15,120 des Kurses Problem stellt, dass letztlich fast jeder definieren 796 00:41:15,120 --> 00:41:18,760 Schüler Erfahrung, um so mehr als Vorträge, um so mehr, als Abschnitte, mehr 797 00:41:18,760 --> 00:41:21,230 so als die meisten anderen Aspekt des Kurses. 798 00:41:21,230 --> 00:41:25,140 Letztes Jahr, zum Beispiel, haben wir begonnen, als wir werden in diesem Jahr beginnen, mit Scratch. 799 00:41:25,140 --> 00:41:29,150 Besonders an diesem Freitag, verwenden wir für nur einen Tag Zeit, ein grafisches 800 00:41:29,150 --> 00:41:32,260 Programmiersprache, mit denen wir werde Programmierung beginnen durch Ziehen und 801 00:41:32,260 --> 00:41:37,580 Fallenlassen Puzzleteile, dass nur montieren körperlich, wenn es Sinn macht 802 00:41:37,580 --> 00:41:38,990 so logisch zu tun. 803 00:41:38,990 --> 00:41:43,460 >> Nächste Woche werden wir schnell Übergang zu C, ein ziemlich alt, aber sehr klein und 804 00:41:43,460 --> 00:41:48,510 einfache Sprache, die es uns ermöglichen, wird wirklich von 0 bis 60 gehen im Laufe 805 00:41:48,510 --> 00:41:52,290 von nur ein paar Wochen, und dann parlay die gleichen Fähigkeiten und Kenntnisse der 806 00:41:52,290 --> 00:41:56,160 grundlegende Programmierung Konstrukte in höheren Sprachen wie PHP, 807 00:41:56,160 --> 00:41:58,240 JavaScript und wieder andere noch. 808 00:41:58,240 --> 00:42:02,560 >> Letztes Jahr hat die dritte pset im Verlauf war, dass der Kryptographie, ein 809 00:42:02,560 --> 00:42:06,380 domain-spezifische Anwendung, wobei wir herausgefordert Studenten zu einem implementieren 810 00:42:06,380 --> 00:42:11,140 Anzahl der Chiffren, Programme, mit denen zu verschlüsseln oder entschlüsseln Informationen 811 00:42:11,140 --> 00:42:11,880 um es zu verschlüsseln. 812 00:42:11,880 --> 00:42:16,300 Für die Hacker Ausgabe hingegen Wir gaben den Studenten Hacker eine Datei 813 00:42:16,300 --> 00:42:19,900 von einem Standard-Unix-Rechner mit Benutzernamen und Kennwörter, 814 00:42:19,900 --> 00:42:22,740 von denen die letztere waren verschlüsselt und wir herausgefordert, diese Hacker 815 00:42:22,740 --> 00:42:26,850 Studenten zu entschlüsseln, so gut sie konnten, diese Passwörter, noch auf, dass 816 00:42:26,850 --> 00:42:27,770 derselben Domäne. 817 00:42:27,770 --> 00:42:30,580 >> Scramble, ein Spiel mit dem gewissen von Ihnen sind vielleicht vertraut. 818 00:42:30,580 --> 00:42:34,410 Ein Stück Forensik, wo wir fragen Sie die Schüler auf Daten, die hatte erholen 819 00:42:34,410 --> 00:42:38,530 sonst aus meiner eigenen digitalen gelöscht Kamera Compact-Flash-Karte, durch 820 00:42:38,530 --> 00:42:42,740 tatsächlich das Schreiben von Software, um herauszufinden, wo waren die Nullen und Einsen in 821 00:42:42,740 --> 00:42:46,850 die digitale Kamera, die vorher komponierte eine JPEG-Grafik? 822 00:42:46,850 --> 00:42:49,710 >> Eine Herausforderung der Arten im vergangenen Jahr mit Schreiben der schnellste 823 00:42:49,710 --> 00:42:53,160 Rechtschreibprüfung möglich, konkurrierende gegen Freunde und Klassenkameraden, wenn 824 00:42:53,160 --> 00:42:53,860 sie möchten. 825 00:42:53,860 --> 00:42:56,330 Implementieren Huff 'n Puff, ein Packprogramm. 826 00:42:56,330 --> 00:43:01,930 Und dann endet das Semester mit CS50 Finanzen, eine web-basierte Anwendung mit 827 00:43:01,930 --> 00:43:06,570 die Sie erstellen eTrade-ähnliche Website um Aktien kaufen und verkaufen, so zu 828 00:43:06,570 --> 00:43:09,860 sprechen, indem tatsächlich ziehen fast Real-Time-Kurse Yahoo! 829 00:43:09,860 --> 00:43:10,450 Finanzieren. 830 00:43:10,450 --> 00:43:13,590 >> Was wir nicht tun im vergangenen Jahr war ein Problem, das Set bleibt 831 00:43:13,590 --> 00:43:14,810 dennoch ein Favorit. 832 00:43:14,810 --> 00:43:18,400 Wenn Sie noch nie gegangen shuttle.cs50.net, sehen Sie einen Benutzer 833 00:43:18,400 --> 00:43:19,670 Schnittstelle ein wenig wie diese. 834 00:43:19,670 --> 00:43:23,530 Aber vor zwei Jahren, die Klasse implementiert, mit Google Maps und die 835 00:43:23,530 --> 00:43:28,570 Google Earth-Plug-in und ein wenig der versierte mit dem Fahren auf dem Campus, 836 00:43:28,570 --> 00:43:33,290 so dass das Ziel dieses Spiels war, wie Sie sehen können einige der Gesichter, 837 00:43:33,290 --> 00:43:37,530 wird rund um den Campus fahren auf der Suche nach Personal-, Lehr-Stipendiaten und Zertifizierungsstellen und 838 00:43:37,530 --> 00:43:40,080 wenn Sie das tun, setzen sie auf Ihren Shuttle-Bus. 839 00:43:40,080 --> 00:43:44,035 Keiner von ihnen tatsächlich scheint hier zu sein, so werden wir einen Cheat-Code eingeben. 840 00:43:44,035 --> 00:43:47,150 >> [Gelächter] 841 00:43:47,150 --> 00:43:48,430 >> DAVID MALAN: Dort gehen wir. 842 00:43:48,430 --> 00:43:49,240 In Ordnung. 843 00:43:49,240 --> 00:43:51,750 Und hier ist jetzt das Personal geschnürt gesamten Campus. 844 00:43:51,750 --> 00:43:54,530 Und wie Sie sehen können, auf der rechten Hand Seite des Bildschirms, der Shuttle-Bus 845 00:43:54,530 --> 00:43:55,510 hat leere Sitze. 846 00:43:55,510 --> 00:43:59,000 Und das Ziel war es, die schreiben Code, mit dem diese zu simulieren 847 00:43:59,000 --> 00:44:01,790 Fahren und Aufnehmen und Ablegen Aus der Passagiere. 848 00:44:01,790 --> 00:44:04,960 Dass man auch mit einer Sprache JavaScript genannt. 849 00:44:04,960 --> 00:44:10,030 So erkennen, dass Programme wie dieses Willens auf unserer gleiche Weise diese 850 00:44:10,030 --> 00:44:10,910 Jahr, wie gut. 851 00:44:10,910 --> 00:44:13,640 >> In Bezug auf die nun zusätzliche Unterstützung, wir haben Bürozeiten. 852 00:44:13,640 --> 00:44:16,520 Wie Sie vielleicht in Ihrem eigenen Haus gesehen haben Speisesaal oder in Annenberg, 853 00:44:16,520 --> 00:44:19,280 wir im Haus Speisesaal sein Hallen vier Nächte pro Woche - 854 00:44:19,280 --> 00:44:24,450 Leverett, Pfoho, Eliot und Annenberg in diesem Jahr, von 20.00 bis 11.00 Uhr. 855 00:44:24,450 --> 00:44:26,830 Und was wir dachten, wir würden in diesem Jahr ist etwas ein wenig anders. 856 00:44:26,830 --> 00:44:29,650 >> Wenn Sie hören, Rumoren im vergangenen Jahr, dass es war ein bisschen zu anstrengend, diese 857 00:44:29,650 --> 00:44:32,800 Jahr der Bürozeiten, wie wir beschreiben nächste Woche werden mehr organische, 858 00:44:32,800 --> 00:44:36,900 wobei bei der Ankunft, werden Sie entsandt, um eine bestimmte Tabelle 859 00:44:36,900 --> 00:44:39,860 in denen mehrere Mitarbeiter erwarten, und wir werden die Dinge viel mehr zu tun 860 00:44:39,860 --> 00:44:40,440 organisch. 861 00:44:40,440 --> 00:44:43,740 Keine Warteschlange, kein iPad, aber eher intimere 862 00:44:43,740 --> 00:44:47,300 Gespräche um einen Tisch von nur acht oder so Studenten, so dass wir 863 00:44:47,300 --> 00:44:50,880 ungefähre das Gefühl von dem, was sonst würde ein viel kleinerer Klasse. 864 00:44:50,880 --> 00:44:54,120 >> Wir bieten, als auch, diese Dinge, die wir genannt Komplettlösungen, Videos in gefilmt 865 00:44:54,120 --> 00:44:57,330 dadurch zu einer der Verlauf der Lehre Stipendiaten, Zamyla, in dem sie 866 00:44:57,330 --> 00:45:00,690 führt Sie durch die Woche das Problem Sätze, mit Tipps und Tricks für die 867 00:45:00,690 --> 00:45:02,640 Herausforderungen, die vor uns liegen. 868 00:45:02,640 --> 00:45:06,230 Und umgekehrt, nach Problem-Sets sind Grund, in diesem Jahr, werden wir auch loslassen 869 00:45:06,230 --> 00:45:09,100 kleine Clips nennen Obduktionen dass tatsächlich gehen Sie durch 870 00:45:09,100 --> 00:45:13,630 Vertreter Lösungen, sowohl gute als auch schlecht, über die Sie schließen, wie 871 00:45:13,630 --> 00:45:17,550 Sie haben könnten oder sollten Ihre eigene Lösung implementiert. 872 00:45:17,550 --> 00:45:20,500 >> Und was werden wir zum ersten Mal bieten auch in diesem Jahr, vor allem 873 00:45:20,500 --> 00:45:23,420 für diejenigen Studierenden, die sich in Anspruch nehmen des Kurses der anderen 874 00:45:23,420 --> 00:45:28,580 Ressourcen, aber dennoch kämpfen all zu viel, der Kurs 875 00:45:28,580 --> 00:45:33,030 selbst wird koppeln die Schüler, wie Ressourcen zu ermöglichen, mit den Lehrern, so dass 876 00:45:33,030 --> 00:45:35,840 Sie haben eine viel intimere Gelegenheit als Haus Mensen 877 00:45:35,840 --> 00:45:38,700 ermöglichen one-on-one Hilfe. 878 00:45:38,700 --> 00:45:42,780 >> Jetzt eine abschließende Blick auf einige Ende der Spiele in Sicht. 879 00:45:42,780 --> 00:45:44,580 Sie könnten sich mit die CS50 Hackathon. 880 00:45:44,580 --> 00:45:48,120 Nun, kommen dieses Jahr im Dezember von 8:00 Uhr bis 07.00 Uhr, zu Beginn des 881 00:45:48,120 --> 00:45:51,410 Lesen Zeitraum, wird eine Gelegenheit sein, sich mit Klassenkameraden zu sammeln - 882 00:45:51,410 --> 00:45:53,130 dies um 21.00 Uhr sein - 883 00:45:53,130 --> 00:45:56,550 in denen Sie tauchen ein in die endgültige Projektdurchführung neben 884 00:45:56,550 --> 00:45:59,910 Klassenkameraden, Freunde und Essen. 885 00:45:59,910 --> 00:46:03,680 Dies würde um 01.00 Uhr sein, wenn die erste Partie von Essen kam. 886 00:46:03,680 --> 00:46:08,470 Und hier geht es um 04.00 Uhr, dass bestimmten Jahr am CS50 Hackathon. 887 00:46:08,470 --> 00:46:12,000 >> Aber der wahre Höhepunkt des Kurses ist soll der CS50 Fair, ein Campus-weiten 888 00:46:12,000 --> 00:46:15,790 Ausstellung der eigenen letzten Projekte, auf die Familie und Freunde sind alle 889 00:46:15,790 --> 00:46:18,730 eingeladen, da unsere Personalvermittler und unsere Freunde aus der Industrie. 890 00:46:18,730 --> 00:46:22,170 Diese, zum Beispiel, ist ein Blick auf die 2.000-plus Leute, die bereits besucht 891 00:46:22,170 --> 00:46:23,160 vergangenen Jahren. 892 00:46:23,160 --> 00:46:27,180 Ausdrücke wie diese sind nicht selten, und in ähnlicher Weise machen Sie Ihre 893 00:46:27,180 --> 00:46:29,660 Mitschüler begeistern in Sachen Sie erreicht haben. 894 00:46:29,660 --> 00:46:33,170 >> Und tatsächlich, zu diesem Zweck haben wir ein Start-of-Begriff Ereignis, wie gut. 895 00:46:33,170 --> 00:46:37,400 Wenn Dinge wie diese Appell an Sie, oder Sie sind mindestens so neugierig auf das, was 896 00:46:37,400 --> 00:46:41,590 Diese wissen, dass eine neue Tradition der Natürlich heißt CS50 Puzzle Day. 897 00:46:41,590 --> 00:46:45,710 Und das war ein paar eingeleitet Jahre zurück, um wirklich auf dem Campus signalisieren 898 00:46:45,710 --> 00:46:48,930 dass Informatik geht es nicht um Programmierung, und es ist sicherlich nicht 899 00:46:48,930 --> 00:46:51,960 zu umarmen nur diejenigen Studenten , die bereits Erfahrung. 900 00:46:51,960 --> 00:46:54,200 Es geht wirklich um Problemlösung allgemein. 901 00:46:54,200 --> 00:46:57,360 >> Und so Denksport Tag, in den letzten paar Jahren hat sich in eine schöne entwickelt 902 00:46:57,360 --> 00:47:00,500 Partnerschaft mit unseren Freunden bei Facebook, wobei es bald fabelhaften 903 00:47:00,500 --> 00:47:04,830 Preise und Pizza über den Fluss an das i-lab am kommenden Samstag. 904 00:47:04,830 --> 00:47:09,180 Gehen Sie zu dieser URL mit zwei oder drei Freunde, wenn Sie möchten teilhaben 905 00:47:09,180 --> 00:47:10,830 in dieser neuen Tradition. 906 00:47:10,830 --> 00:47:14,180 >> So möchte ich darum bitten, dass Sie ein zu halten Sache im Auge, und wir haben nur eine bekam 907 00:47:14,180 --> 00:47:17,070 2 Minuten Clip, auf dem zu schließen heute. 908 00:47:17,070 --> 00:47:19,640 73% ist die Zahl zu erinnern. 909 00:47:19,640 --> 00:47:23,900 Kuchen, zu, werden Sie außerhalb dieser erwarten Querschiff wie wir vertagen in nur 910 00:47:23,900 --> 00:47:26,710 paar Momente, ist die Tradition des Kurses, wie gut. 911 00:47:26,710 --> 00:47:29,860 Aber dies ist der Schlüssel Zitat aus der Natürlich der Lehrplan im Auge zu behalten. 912 00:47:29,860 --> 00:47:32,820 Was letztlich zählt in diesem Kurs ist nicht so sehr, wo Sie am Ende 913 00:47:32,820 --> 00:47:36,580 bezogen auf Ihre Mitschüler aber wo Sie, in Woche 12, am Ende relativ zu 914 00:47:36,580 --> 00:47:37,960 sich in Woche 0. 915 00:47:37,960 --> 00:47:43,670 >> Aber der Blick, dass wir Ihnen verlassen mit hier und heute ist diese letzte hier 916 00:47:43,670 --> 00:47:47,580 von unseren gleichen Daniel tat, wer die wrdly Video nur einen Augenblick vor. 917 00:47:47,580 --> 00:47:50,000 Ich überlasse es Ihnen mit diesem Blick von dem, was vor uns liegt. 918 00:47:50,000 --> 00:47:53,360 Und wie wir das tun, wenn wir könnten CS50 Personal aus dem vorderen Teil des Raumes 919 00:47:53,360 --> 00:47:57,280 auf bis auf die Bühne kommen, um alle malen die mehrere visuelle Bild, um 920 00:47:57,280 --> 00:47:59,100 Was erwartet Sie in diesem Jahr - 921 00:47:59,100 --> 00:48:00,350 immer umständlich. 922 00:48:00,350 --> 00:48:02,200 923 00:48:02,200 --> 00:48:05,188 Wir werden mit diesem abschließen hier auf dem Bildschirm. 924 00:48:05,188 --> 00:48:18,634 >> [Musik spielt] 925 00:48:18,634 --> 00:48:21,124 >> DAVID MALAN: Dies ist CS50. 926 00:48:21,124 --> 00:50:00,226 >> [MUSIC - MATT & KIM, "es ist in Ordnung"] 927 00:50:00,226 --> 00:50:03,245 >> Sprecher 1: Ich liebe CS50 mehr als Katzen. 928 00:50:03,245 --> 00:50:06,030 >> Sprecher 2: Whoaaaa! 929 00:50:06,030 --> 00:50:06,990 >> [Gelächter] 930 00:50:06,990 --> 00:50:08,140 >> DAVID MALAN: Dies ist also CS50. 931 00:50:08,140 --> 00:50:10,050 Wir werden Sie am Freitag zu sehen. 932 00:50:10,050 --> 00:50:13,370 >> [Applaus und Jubel] 933 00:50:13,370 --> 00:50:17,540 >> SPRECHER: Bei der nächsten CS50, eine Bühne Demo funktioniert nicht wie geplant. 934 00:50:17,540 --> 00:50:19,080 >> DAVID MALAN: Wir wollen Mike finden Smith in diesem Telefonbuch. 935 00:50:19,080 --> 00:50:20,380 Nun, was sind Ihre Instinkte? 936 00:50:20,380 --> 00:50:23,750 Ich könnte etwa springen in die Mitte des das Telefonbuch, Blick nach unten, sehen, dass 937 00:50:23,750 --> 00:50:26,830 Ich bin bei M, und ich weiß jetzt, dass Mike Smith nicht nach links. 938 00:50:26,830 --> 00:50:27,840 Er muss auf der rechten Seite. 939 00:50:27,840 --> 00:50:30,515 Und so an diesem Punkt haben wir kann buchstäblich zerreißen - 940 00:50:30,515 --> 00:50:33,300 An dieser Stelle können wir buchstäblich zerreißen - 941 00:50:33,300 --> 00:50:36,490 An dieser Stelle können wir bildlich reißen das Telefonbuch in zwei Hälften. 942 00:50:36,490 --> 00:50:38,954 >> [Ukulele Geklimper]