1 00:00:14,320 --> 00:00:17,970 So ist es meine größte Freude begrüßen Sie heute alle hier 2 00:00:17,970 --> 00:00:20,600 für die erste Vorlesung von, na ja, Einführung 3 00:00:20,600 --> 00:00:22,510 zu Computing und Programmierung. 4 00:00:22,510 --> 00:00:29,110 Auch bekannt als CS50 oder gut, CPSC 100, offiziell hier in Yale. 5 00:00:29,110 --> 00:00:34,820 >> So konnten wir nicht mehr angeregt werden zu begrüßen Sie alle hier. 6 00:00:34,820 --> 00:00:36,620 Mein Name ist Patrick Rebeschini. 7 00:00:36,620 --> 00:00:39,180 Ich bin der Chef-Instruktor für die Klasse. 8 00:00:39,180 --> 00:00:43,600 Ich vertrete hier eine Gruppe von etwa 60 Mitarbeiter 9 00:00:43,600 --> 00:00:46,380 das wird mit Ihnen zusammenarbeiten während des Semesters. 10 00:00:46,380 --> 00:00:49,040 Diese Zahl ist fast 60 von uns. 11 00:00:49,040 --> 00:00:52,440 Doch entlang der außerordentlichen Höhe der Verpflichtungen 12 00:00:52,440 --> 00:00:56,555 dass wir in diese setzen Klasse, macht CS50 die Klasse 13 00:00:56,555 --> 00:01:00,690 an der Yale Universität, bietet das größte Maß an Unterstützung 14 00:01:00,690 --> 00:01:01,960 An euch alle. 15 00:01:01,960 --> 00:01:05,940 Und wir konnten nicht mehr stolz sein Auch hier bietet diese Klasse. 16 00:01:05,940 --> 00:01:11,380 >> In der Tat wird, wie Sie bald erfahren, CS50 ist viel mehr als eine Klasse. 17 00:01:11,380 --> 00:01:13,120 Es ist eine Gemeinschaft. 18 00:01:13,120 --> 00:01:15,250 Und Sie werden Teil sein bald dieser Gemeinschaft. 19 00:01:15,250 --> 00:01:18,730 Dies ist das zweite Jahr, dass Yale bietet diese Klasse. 20 00:01:18,730 --> 00:01:21,640 Wir bauen auf die extreme Erfolg des letzten Jahres, in dem 21 00:01:21,640 --> 00:01:24,340 zum ersten Mal, hier an dieser Universität, 22 00:01:24,340 --> 00:01:28,930 Bachelor-Lernassistent wurden in den Klassenräumen angenommen. 23 00:01:28,930 --> 00:01:32,650 Es begann alles mit diese Klasse im letzten Jahr. 24 00:01:32,650 --> 00:01:37,050 >> So wie Sie wissen, ist die Klasse gelehrt gemeinsam mit der Harvard University. 25 00:01:37,050 --> 00:01:39,920 Zu lehren diesen Kurs wir sind relying-- wir können 26 00:01:39,920 --> 00:01:44,850 zählen auf die große Kompetenz von David Malan und der Harvard-Team. 27 00:01:44,850 --> 00:01:48,930 Und David war Lehre CS50 für gut, 10 Jahre jetzt. 28 00:01:48,930 --> 00:01:51,160 Und jedes Jahr ist er gewesen an die Grenzen 29 00:01:51,160 --> 00:01:54,210 und die Verbesserung der Unterrichtserfahrung. 30 00:01:54,210 --> 00:01:58,940 Auch hier konnten wir nicht glücklicher sein weiterhin diese Zusammenarbeit mit ihnen. 31 00:01:58,940 --> 00:02:01,840 >> In der Tat, eine der interessanteste Teile, 32 00:02:01,840 --> 00:02:06,560 Ich werde jetzt diese Klasse von Lauf sagen, sowohl an der Harvard und hier in Yale, 33 00:02:06,560 --> 00:02:09,420 ist das wirklich unglaublich Kreuzbefruchtung 34 00:02:09,420 --> 00:02:13,770 von Ideen, die auf die Verbesserung der Ziel Lernerfahrung an euch alle. 35 00:02:13,770 --> 00:02:18,130 So als Ergebnis dieses umfangreichen Zusammenarbeit zwischen den beiden 36 00:02:18,130 --> 00:02:23,070 Universität, CS50 ist stolz darauf, die neue Version in diesem Jahr ankündigen 37 00:02:23,070 --> 00:02:24,770 mit spürbaren Veränderungen. 38 00:02:24,770 --> 00:02:27,580 David wird uns alles über sie sagen jetzt. 39 00:02:27,580 --> 00:02:31,450 So please-- dieses Wesen sagte, kommen Sie mir bitte 40 00:02:31,450 --> 00:02:34,220 und willkommen zu geben, ein großen Applaus 41 00:02:34,220 --> 00:02:37,290 begrüßen David und Harvard-Team hier an der Yale. 42 00:02:37,290 --> 00:02:40,032 >> [BEIFALL] 43 00:02:40,032 --> 00:02:41,882 44 00:02:41,882 --> 00:02:43,247 >> DAVID MALAN: Vielen Dank. 45 00:02:43,247 --> 00:02:43,746 Vielen Dank. 46 00:02:43,746 --> 00:02:46,550 47 00:02:46,550 --> 00:02:51,400 Dies ist CS50, Harvard University und Yale University Einführung 48 00:02:51,400 --> 00:02:53,960 zum intellektuellen Unternehmen der Informatik 49 00:02:53,960 --> 00:02:55,490 und die Kunst der Programmierung. 50 00:02:55,490 --> 00:02:59,640 Und das, was bedeutet, dass dieser Kurs Letztlich geht es um Problemlösung. 51 00:02:59,640 --> 00:03:01,849 viele von Ihnen könnte in der Tat aus der High School gekommen 52 00:03:01,849 --> 00:03:04,931 oder haben die letzten paar Jahre damit verbracht, fragen, was einige Ihrer Freunde 53 00:03:04,931 --> 00:03:06,380 hat im vergangenen Jahr oder in anderen Klassen. 54 00:03:06,380 --> 00:03:08,449 Und doch, die Realität egal ist, was wir 55 00:03:08,449 --> 00:03:11,740 nicht am Ende des Tages in dieser Klasse, es geht um Probleme zu lösen sein. 56 00:03:11,740 --> 00:03:14,320 >> Und als solche, vielleicht nehmen einige Beruhigung in der Tatsache, 57 00:03:14,320 --> 00:03:16,770 dass 73% der Schüler, dass nehmen Sie diese Klasse, die beide hier 58 00:03:16,770 --> 00:03:20,235 an der Yale sowie an der Harvard, noch nie eine CS-Klasse übernommen. 59 00:03:20,235 --> 00:03:22,610 Also, wenn Sie sitzen hier in das Publikum heute fragen, 60 00:03:22,610 --> 00:03:24,520 warum Sie sitzen hier im Publikum heute 61 00:03:24,520 --> 00:03:26,300 oder vielleicht auch nur dir gefolgt zusammen mit ein paar Freunden, 62 00:03:26,300 --> 00:03:28,299 oder vielleicht haben Sie schon ein wenig neugierig, was 63 00:03:28,299 --> 00:03:30,194 Informatik und Programmierung realisieren 64 00:03:30,194 --> 00:03:32,860 dass die meisten Ihrer Mitschüler die links und rechts von Ihnen 65 00:03:32,860 --> 00:03:35,840 sind sehr viel in der gleichen demographischen. 66 00:03:35,840 --> 00:03:38,120 >> Und in der Tat, wenn wir uns im vergangenen Jahr Statistiken 67 00:03:38,120 --> 00:03:42,760 innerhalb der Studentenschaft der CS50, beide hier und in Harvard, 58% der Studenten 68 00:03:42,760 --> 00:03:44,630 beschreiben sich selbst als weniger komfortabel. 69 00:03:44,630 --> 00:03:46,090 9% ist bequemer. 70 00:03:46,090 --> 00:03:47,699 Und dann 33% liegt irgendwo dazwischen. 71 00:03:47,699 --> 00:03:50,240 Und es gibt keine formale Definition von dem, was diese Eimer bedeutet. 72 00:03:50,240 --> 00:03:52,335 Sie Art von weiß, du bist weniger komfortabel, wenn Sie sind. 73 00:03:52,335 --> 00:03:54,840 Sie fühlen sich ein wenig unruhig mit vielleicht in der Klasse zu sein. 74 00:03:54,840 --> 00:03:57,840 Sie sind nicht ganz sicher, ob ein Computer Science-Klasse ist letztendlich für Sie, 75 00:03:57,840 --> 00:04:00,009 und erkennen, dass Sie in sehr guter Gesellschaft. 76 00:04:00,009 --> 00:04:01,800 Und in der Tat die Einstufung, und die Beurteilung, 77 00:04:01,800 --> 00:04:04,466 und die Rückkopplung, und all das Tragstruktur in der Klasse 78 00:04:04,466 --> 00:04:06,550 letztlich ist sehr individualisiert. 79 00:04:06,550 --> 00:04:09,187 Um so mehr, als die meisten jeder andere Klasse von Entwurf. 80 00:04:09,187 --> 00:04:11,520 Und in der Tat, was letztlich Angelegenheiten in dieser Klasse nicht ist 81 00:04:11,520 --> 00:04:14,180 so viel, wo Sie am Ende up relativ zum anderen, 82 00:04:14,180 --> 00:04:18,070 aber wo man, in Woche 11 oder letzte, und in Bezug auf sich selbst in der Woche 83 00:04:18,070 --> 00:04:20,372 0 hier unser erstes. 84 00:04:20,372 --> 00:04:21,330 Also, was bedeutet das? 85 00:04:21,330 --> 00:04:24,750 Nun, dies bedeutet, jener 73% der Studenten im letzten Jahr, die nie genommen hatte 86 00:04:24,750 --> 00:04:26,917 ein CS-Klasse vor, durch die des Semesters beginnen sie 87 00:04:26,917 --> 00:04:29,500 in einer Sprache, wurden Dilettantismus Scratch genannt, die wir uns selbst 88 00:04:29,500 --> 00:04:30,340 siehe hier heute wird. 89 00:04:30,340 --> 00:04:32,190 Und bis zum Ende der Semester war sie verschwunden 90 00:04:32,190 --> 00:04:34,700 durch diese gesamte Liste der Herausforderungen. 91 00:04:34,700 --> 00:04:36,399 Beginnend mit einer Sprache namens c. 92 00:04:36,399 --> 00:04:38,190 Die Umsetzung, was ist Auf den ersten Blick geht 93 00:04:38,190 --> 00:04:41,010 ein bisschen eine Herausforderung sein, für einige, aber recht erfreulich, wenn Sie 94 00:04:41,010 --> 00:04:44,510 bekommen Super Mario Prellen oben und unten eine Pyramide 95 00:04:44,510 --> 00:04:47,005 nur umgesetzt werden, wenn auch mit etwas ASCII-Art genannt. 96 00:04:47,005 --> 00:04:49,380 Die Implementierung letzten year-- was die Studenten im letzten Jahr dann 97 00:04:49,380 --> 00:04:53,270 hat danach wurde Umsetzung ihrer eigene Caesar-Chiffre und Vigenère. 98 00:04:53,270 --> 00:04:55,180 So Verschlüsselungsalgorithmen mit denen konnte man 99 00:04:55,180 --> 00:04:58,920 Gerangel Informationen und dann unscramble Informationen geheime Botschaften zu senden. 100 00:04:58,920 --> 00:05:00,010 Das Spiel von 15. 101 00:05:00,010 --> 00:05:02,260 Wenn Sie sich erinnern aus Kindheit oder einige parteibevorzugung, 102 00:05:02,260 --> 00:05:05,000 dass kleine Plastikspiel, in dem Sie sich bewegen die Zahlen nach oben, unten, links und rechts 103 00:05:05,000 --> 00:05:07,500 zu versuchen, sie zu erhalten, um, Umsetzung tatsächlich das Spiel 104 00:05:07,500 --> 00:05:09,640 und die Lösung der Logik dort erforderlich. 105 00:05:09,640 --> 00:05:11,640 Und dann dabbled wir in Forensik im letzten Jahr. 106 00:05:11,640 --> 00:05:13,810 >> Also bis Mitte Semester, Studenten, die nie 107 00:05:13,810 --> 00:05:16,130 verwendet ihre Tastaturen zu diesem Zweck vor, 108 00:05:16,130 --> 00:05:19,030 wurden Schreiben von Software zu erholen, sozusagen 109 00:05:19,030 --> 00:05:21,420 JPEGs oder Fotos dass wir hatten aus Versehen 110 00:05:21,420 --> 00:05:24,430 aus einem digitalen gelöscht Speicherkarte aus der Kamera. 111 00:05:24,430 --> 00:05:28,130 Wiederherstellen von geheimen Botschaften aus dem Inneren eines Bitmap-Bildes, 112 00:05:28,130 --> 00:05:30,030 und andere solche Typen als auch von Grafiken. 113 00:05:30,030 --> 00:05:32,770 >> Wir überführt dann zu geben die ganze Klasse ein Wörterbuch. 114 00:05:32,770 --> 00:05:36,330 Nur eine wirklich große Textdatei mit 150.000 englischen Wörtern. 115 00:05:36,330 --> 00:05:39,080 Und jeder wurde in Frage gestellt irgendwie zu lesen, sozusagen 116 00:05:39,080 --> 00:05:40,780 diese Worte in den Speicher. 117 00:05:40,780 --> 00:05:42,060 In den Speicher des Computers. 118 00:05:42,060 --> 00:05:44,310 Und dann beantworten Fragen der Form, das ist ein Wort? 119 00:05:44,310 --> 00:05:44,934 Ist das ein Wort? 120 00:05:44,934 --> 00:05:45,580 Ist das ein Wort? 121 00:05:45,580 --> 00:05:47,880 Wirklich nur die Umsetzung eine Rechtschreibprüfung. 122 00:05:47,880 --> 00:05:50,320 Und dann herausfordernd jede andere mit einem großen board-- 123 00:05:50,320 --> 00:05:53,040 ein Leaderboard zu sehen, wer könnte Verwenden Sie die geringste Menge an Speicher, 124 00:05:53,040 --> 00:05:56,470 in der geringsten Menge an Zeit, buchstabieren tatsächlich große Dokumente überprüfen. 125 00:05:56,470 --> 00:05:59,760 >> Wir transitioned von da an die eigene Web-Server zu implementieren. 126 00:05:59,760 --> 00:06:04,070 So machen keine Webseiten in Sprachen wenn Sie wie HTML und CSS, vertraut sind. 127 00:06:04,070 --> 00:06:06,360 Aber eigentlich Umsetzung Der Server, der 128 00:06:06,360 --> 00:06:09,260 hört im Internet für Anforderungen von Browsern 129 00:06:09,260 --> 00:06:11,022 und dann auf diese Anforderungen reagiert. 130 00:06:11,022 --> 00:06:13,230 Dann Umsetzung unserer eigenen e-trade wie Website, wo 131 00:06:13,230 --> 00:06:15,490 Studenten könnten Aktien kaufen und verkaufen. 132 00:06:15,490 --> 00:06:18,590 Zeichnung in nahezu Echtzeit Aktienkurse von Yahoo Finance. 133 00:06:18,590 --> 00:06:21,200 Und Studenten erlaubt, um zu sehen wie ihr Portfolio entwickelt. 134 00:06:21,200 --> 00:06:23,570 Und dann schließlich ein Mash up von Google News und Google 135 00:06:23,570 --> 00:06:26,540 Karten wobei Studenten durch Begriff von Begriffen Ende 136 00:06:26,540 --> 00:06:30,110 hatte die Fähigkeit zu klicken, und Runde und Suche auf einer Google-Karte. 137 00:06:30,110 --> 00:06:32,060 sehen und dann alle die Nachrichtenartikel 138 00:06:32,060 --> 00:06:33,940 sind auf diese speziellen Bereiche proximal. 139 00:06:33,940 --> 00:06:36,180 So geht wirklich von Null bis 60. 140 00:06:36,180 --> 00:06:39,420 >> Und auf dem Weg zu haben, was wir hatten, im letzten Jahr genannt, Hacker Ergänzungen. 141 00:06:39,420 --> 00:06:41,211 Das die Messlatte weiter für diejenigen unter Ihnen, 142 00:06:41,211 --> 00:06:44,390 die sehr gut könnte eine gute haben Menge an Erfahrung in dieser 9% sein 143 00:06:44,390 --> 00:06:45,349 von mehr bequem. 144 00:06:45,349 --> 00:06:47,140 So erkennen, dass es eine sehr hohe Decke 145 00:06:47,140 --> 00:06:49,200 auch innerhalb dieser Herausforderungen für Studenten 146 00:06:49,200 --> 00:06:50,660 kommt aus einem anderen Grund. 147 00:06:50,660 --> 00:06:52,618 Weil am Ende der der Tag, wir sind schließlich 148 00:06:52,618 --> 00:06:54,910 ganz einfach auf diese konzentriert. 149 00:06:54,910 --> 00:06:57,010 >> Aber was bedeutet dies bedeuten, Problemlösung? 150 00:06:57,010 --> 00:06:59,100 Lassen Sie uns also, dass vorschlagen destillieren sie so. 151 00:06:59,100 --> 00:07:01,550 So ist der Problemlösung wirklich gerade diese Art von Bild. 152 00:07:01,550 --> 00:07:04,675 Sie haben also Eingaben zu einem gewissen Problem bekam, etwas, was Sie wirklich wollen, zu lösen. 153 00:07:04,675 --> 00:07:07,020 Das Ziel ist, Ausgaben zu bekommen, eine Lösung für dieses Problem. 154 00:07:07,020 --> 00:07:09,950 Und dann in der Mitte was wir eine Black-Box nennen. 155 00:07:09,950 --> 00:07:13,970 Sie wissen nicht notwendigerweise oder sogar egal, was in diesem schwarzen Kasten ist. 156 00:07:13,970 --> 00:07:16,670 Alles, was Sie wissen, ist, dass, wenn Sie füttern Eingang hinein, 157 00:07:16,670 --> 00:07:19,890 Sie hoffentlich Ausgabe erhalten oder eine Lösung davon. 158 00:07:19,890 --> 00:07:22,380 Und während heute werden wir schauen sowohl an den Eingängen und Ausgängen, 159 00:07:22,380 --> 00:07:24,838 wir werden langfristig und über die Verlauf des gesamten Semesters 160 00:07:24,838 --> 00:07:26,880 konzentrieren sich auf, was in der Kiste ist. 161 00:07:26,880 --> 00:07:30,040 >> Und darin liegen wird so genannte Algorithmen. 162 00:07:30,040 --> 00:07:33,300 Schritt für Schritt Anleitung für tatsächlich einige Probleme zu lösen. 163 00:07:33,300 --> 00:07:35,090 Aber was ist ein Beispiel für einige Eingänge? 164 00:07:35,090 --> 00:07:37,840 Also vielleicht eine einfache Sache bei der Beginn jedes Schuljahr, jemand 165 00:07:37,840 --> 00:07:39,090 Vielleicht möchten die Teilnahme zu nehmen. 166 00:07:39,090 --> 00:07:42,030 So könnten wir ein tun, zwei, drei, vier, fünf, sechs, 167 00:07:42,030 --> 00:07:44,010 und wie würde ich halten Übersicht über diese Informationen. 168 00:07:44,010 --> 00:07:46,051 Ich könnte gehen, nur ein, zwei, drei, vier, fünf, sechs. 169 00:07:46,051 --> 00:07:47,720 Und gerade Art von einstelligen verwenden. 170 00:07:47,720 --> 00:07:51,210 >> Oder ich könnte tatsächlich aufnehmen dies ein wenig längere Sicht. 171 00:07:51,210 --> 00:07:53,340 Und wie gebe ich alle die Menschen in diesem Raum? 172 00:07:53,340 --> 00:07:54,900 Nun, ich könnte etwas tun, wie, OK. 173 00:07:54,900 --> 00:07:56,070 Ich sehe eine Person. 174 00:07:56,070 --> 00:07:56,600 Gut. 175 00:07:56,600 --> 00:08:01,180 Ich eine andere Person zu sehen, die ein dritte Person, und so weiter. 176 00:08:01,180 --> 00:08:04,070 Aber niemand zählt Leute wie diese. 177 00:08:04,070 --> 00:08:06,952 So wörtlich, die meisten von uns, wenn wir gehen sogar überhaupt etwas zu zeichnen, 178 00:08:06,952 --> 00:08:08,910 wirst wahrscheinlich gehen eins zwei drei vier, 179 00:08:08,910 --> 00:08:14,240 vielleicht ein wenig Phantasie bekommen, fünf, sechs, sieben, acht, neun, zehn und so weiter. 180 00:08:14,240 --> 00:08:16,960 >> Und das ist eigentlich ein System namens unary. 181 00:08:16,960 --> 00:08:20,549 Uno, wie uno impliziert ein, in dem Sie nur haben sie einen Buchstaben des Alphabets. 182 00:08:20,549 --> 00:08:21,840 Sie haben gerade diese Hash-Symbol bekam. 183 00:08:21,840 --> 00:08:24,570 Und ich, für Effizienz, zog nur Diese Hash-Zeichen, schließlich 184 00:08:24,570 --> 00:08:25,500 als gerade Linien. 185 00:08:25,500 --> 00:08:27,666 Aber ich konnte sie gezogen haben so wenig Strichmännchen. 186 00:08:27,666 --> 00:08:29,550 Wo vertreten eine Person, ein Eingang, 187 00:08:29,550 --> 00:08:32,210 Ich ziehe nur einen Stock Figur oder ein Hash-Symbol. 188 00:08:32,210 --> 00:08:33,910 Aber das ist nicht alles, was ausdrucksstark. 189 00:08:33,910 --> 00:08:38,020 >> Wenn alles, was ich habe, ist diese Hash Marken, allein Strichmännchen lassen, 190 00:08:38,020 --> 00:08:41,410 wie könnte ich repräsentiere so etwas wie die Nummer 15? 191 00:08:41,410 --> 00:08:43,050 Oder 15 Personen im Raum? 192 00:08:43,050 --> 00:08:48,740 Ich könnte so etwas wie 1 zu tun haben, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 193 00:08:48,740 --> 00:08:51,270 14, 15. 194 00:08:51,270 --> 00:08:52,830 Es funktioniert einfach nicht sehr gut skalieren. 195 00:08:52,830 --> 00:08:55,730 Da die Eingänge erhalten groß, wir brauchen ein besseres System als das. 196 00:08:55,730 --> 00:08:57,910 >> Und es stellt sich heraus, dass die System, die Computer nutzen 197 00:08:57,910 --> 00:09:00,510 nicht alle ist, dass verschiedene von dem, was Sie und ich wissen. 198 00:09:00,510 --> 00:09:03,301 In der Tat, die meisten Menschen in diesem Raum, auch wenn Sie unter den weniger sind 199 00:09:03,301 --> 00:09:06,300 komfortabel, nicht unbedingt wissen, wie Sie Ihren Mac oder PC wirklich funktioniert, 200 00:09:06,300 --> 00:09:09,810 Sie haben wahrscheinlich zumindest gehört, dass unter der Haube sind 0 und 1 ist. 201 00:09:09,810 --> 00:09:11,390 Die sogenannte binäre System. 202 00:09:11,390 --> 00:09:15,340 Also in der Tat, haben Computer mehr als nur Hash-Zeichen in ihrem Wortschatz, 203 00:09:15,340 --> 00:09:17,450 aber nicht so viel von einer Vokabular wie wir Menschen. 204 00:09:17,450 --> 00:09:19,210 >> Tatsächlich wir Menschen benutzen binäre nicht. 205 00:09:19,210 --> 00:09:21,160 Bi bedeutet, 2, 0 und 1. 206 00:09:21,160 --> 00:09:24,140 Aber dezimal, Deca 10, 0 bis 9 bedeutet. 207 00:09:24,140 --> 00:09:27,660 So haben wir viel mehr Ausdrucks Fähigkeiten in unserer normalen menschlichen Welt. 208 00:09:27,660 --> 00:09:31,720 Aber ich würde behaupten, dass diese Systeme, binär und dezimal, und alles 209 00:09:31,720 --> 00:09:35,290 dazwischen und darüber hinaus sind eigentlich alle sehr vertraut. 210 00:09:35,290 --> 00:09:39,650 Betrachten wir zum Beispiel dieses Beispiel hier, 123. 211 00:09:39,650 --> 00:09:43,850 Also das ist wirklich, natürlich, eine Zahl, die wir kennen als 123. 212 00:09:43,850 --> 00:09:47,160 Aber alles, was ich zog gerade war gerade diese Muster von Symbolen sozusagen Glyphen. 213 00:09:47,160 --> 00:09:49,100 Sortieren von Formen auf dem Brett in der Kreide. 214 00:09:49,100 --> 00:09:52,951 >> Aber warum tun wir sofort und begreifen dies intuitiv als 123? 215 00:09:52,951 --> 00:09:54,700 Nun, wenn Sie waren wie mich in der Grundschule, 216 00:09:54,700 --> 00:09:59,920 Sie wahrscheinlich gelernt, dass dies das ist 1s Spalte, ist dies die 10s-Säule, 217 00:09:59,920 --> 00:10:01,330 dies ist die 100s Spalte. 218 00:10:01,330 --> 00:10:02,860 Und warum ist das nützlich? 219 00:10:02,860 --> 00:10:06,440 Nun, es ist einfache Arithmetik Sie jetzt tun aus einem Muster von Symbolen zu erhalten 220 00:10:06,440 --> 00:10:08,940 intuitiv zu einer Reihe verstehen wir. 221 00:10:08,940 --> 00:10:14,160 Ist das, was 100 mal 1, und dann 10 mal 2 und 1 mal 3, 222 00:10:14,160 --> 00:10:17,860 was natürlich nur 100, und dies ist 20, und dies ist drei. 223 00:10:17,860 --> 00:10:19,740 Und so, wenn wir diese together-- ah hinzuzufügen. 224 00:10:19,740 --> 00:10:23,880 So liegt darin, die Art der Argumentation hinter warum dieser Satz von Symbolen 225 00:10:23,880 --> 00:10:26,550 bedeutet etwas real und numerisch. 226 00:10:26,550 --> 00:10:32,030 >> Nun, Computer tun, um die genau die gleiche Sache, aber sie können nur so hoch wie ein zählen. 227 00:10:32,030 --> 00:10:34,400 Während ich war in der Lage zu zählen so hoch wie drei. 228 00:10:34,400 --> 00:10:37,380 Und in der Tat, wenn ich werde gehalten, ich könnte gehen so hoch wie neun in diesem System. 229 00:10:37,380 --> 00:10:40,430 Computer haben nur Nullen und diejenigen, in deren Alphabet. 230 00:10:40,430 --> 00:10:41,410 >> Also, was bedeutet das? 231 00:10:41,410 --> 00:10:46,900 Nun, es bedeutet nur, dass, wenn ein Computer will darstellen, sagen die Zahl 0, 232 00:10:46,900 --> 00:10:51,300 vielleicht mit Hilfe von drei characters-- drei Buchstaben des Alphabets so zu sprechen, 233 00:10:51,300 --> 00:10:53,050 das ist, wie ein Computer 0 darstellt. 234 00:10:53,050 --> 00:10:54,620 Also nicht so beängstigend so weit. 235 00:10:54,620 --> 00:10:56,450 Es ist genau das, was wir Menschen tun würden. 236 00:10:56,450 --> 00:10:59,410 Und in der Tat, die meisten von uns würde nur ignorieren ohnehin die führenden Nullen. 237 00:10:59,410 --> 00:11:01,640 >> Ein Computer, wenn er will zu speichern, die Zahl 1, 238 00:11:01,640 --> 00:11:03,330 stellt sich heraus, wird dies zu tun. 239 00:11:03,330 --> 00:11:05,630 Und einen Computer zum Speichern von die Zahl 2 nicht 240 00:11:05,630 --> 00:11:09,280 geht das einstellige System zu tun, die ich zuvor angesprochenen. 241 00:11:09,280 --> 00:11:11,360 Es geht tatsächlich um dies zu tun. 242 00:11:11,360 --> 00:11:13,570 Und das ist wahrscheinlich wo das Muster beginnt 243 00:11:13,570 --> 00:11:15,570 werden weniger offensichtlich für die meisten Leute. 244 00:11:15,570 --> 00:11:18,580 Das sind 2, ist dieses 3. 245 00:11:18,580 --> 00:11:21,600 Merkwürdigerweise ist dies nun 4. 246 00:11:21,600 --> 00:11:24,120 Und es nun wirklich tut scheinen vielleicht kryptisch sein, 247 00:11:24,120 --> 00:11:26,762 aber es ist nicht, wenn man bedenkt, was für binäre wirklich bedeutet. 248 00:11:26,762 --> 00:11:28,720 Es heißt, Sie haben zwei Buchstaben Ihres Alphabets. 249 00:11:28,720 --> 00:11:31,940 So zwei mögliche Zeichen für jeden Platzhalter. 250 00:11:31,940 --> 00:11:35,970 >> Also das wirklich bedeutet, wir werden ein 1s Ort oder 2s Platz benötigen, 251 00:11:35,970 --> 00:11:40,800 ein 4s Ort und dann 8 und 16, 32 und 64. 252 00:11:40,800 --> 00:11:42,290 Und was ist da der Unterschied? 253 00:11:42,290 --> 00:11:47,150 Wie diese sind 1, 2, 4, 8, 16, 32, 64. 254 00:11:47,150 --> 00:11:50,690 Und bevor wir hatten 110, 100.000, 10.000. 255 00:11:50,690 --> 00:11:53,170 Was gibt es die Ähnlichkeit? 256 00:11:53,170 --> 00:11:54,940 Und was ist das Muster? 257 00:11:54,940 --> 00:11:55,505 Ja. 258 00:11:55,505 --> 00:11:57,380 STUDENT: Powers of 2 anstelle von Befugnissen von 10. 259 00:11:57,380 --> 00:11:57,660 DAVID MALAN: Ja. 260 00:11:57,660 --> 00:11:59,290 Potenzen von 2 anstelle von Befugnissen von 10. 261 00:11:59,290 --> 00:12:02,160 Und so, wenn ich wollte zu halten gehen, 8, 16s und so forth-- 262 00:12:02,160 --> 00:12:05,822 aber jetzt, wenn Sie diese Art haben der Hinweis, jetzt das binäre System 263 00:12:05,822 --> 00:12:07,280 eigentlich ziemlich einfach. 264 00:12:07,280 --> 00:12:10,910 Warum ist das Muster von 0-en in der Welt der Computer 0? 265 00:12:10,910 --> 00:12:14,910 Nun, weil es 4 mal 0, 2 mal 0, 1 mal 0 und Sie 0 erhalten. 266 00:12:14,910 --> 00:12:16,650 >> Warum ist dies die Nummer 1? 267 00:12:16,650 --> 00:12:20,070 Gleiche Argumentation, aber jetzt sind wir haben eine 1 in der Spalte 1. 268 00:12:20,070 --> 00:12:21,840 Warum ist das 2? 269 00:12:21,840 --> 00:12:24,450 Wir haben eine 1 in der 2s-Spalte. 270 00:12:24,450 --> 00:12:30,190 Und wie dann das bin ich sagen, die Nummer 7 in binär? 271 00:12:30,190 --> 00:12:31,324 Sprich lauter. 272 00:12:31,324 --> 00:12:32,170 >> STUDENT: Drei 1s. 273 00:12:32,170 --> 00:12:33,086 >> DAVID MALAN: Drei 1s. 274 00:12:33,086 --> 00:12:37,110 Also 1, 1, 1, weil wir gerade brauchen 4 plus 2 plus 1 gibt mir 7. 275 00:12:37,110 --> 00:12:37,610 Gut. 276 00:12:37,610 --> 00:12:40,410 Also von dort, wie wir tun repräsentieren 8 mit 3 Platzhalter? 277 00:12:40,410 --> 00:12:43,310 278 00:12:43,310 --> 00:12:43,922 Ja. 279 00:12:43,922 --> 00:12:45,070 >> STUDENT: 1, 0, 0, 0. 280 00:12:45,070 --> 00:12:46,970 >> DAVID MALAN: Ja 1, 0, 0, 0. 281 00:12:46,970 --> 00:12:49,380 Und doch vielleicht, ich Art von technisch brauchen 282 00:12:49,380 --> 00:12:52,380 einen weiteren Platzhalter in den Vorstand hinzuzufügen. 283 00:12:52,380 --> 00:12:55,480 Wenn ich will, dass ich in der Tat passen brauchen so etwas wie dies zu tun. 284 00:12:55,480 --> 00:12:58,990 Also muss ich jetzt eigentlich zu verwenden die 8s Säule, und das ist in Ordnung. 285 00:12:58,990 --> 00:13:02,680 Aber das Merkwürdige in Computing dass das wird uns etwas kosten. 286 00:13:02,680 --> 00:13:04,390 Sie brauchen mehr RAM in Ihrem Computer. 287 00:13:04,390 --> 00:13:06,348 Sie benötigen mehr Speicher weil Sie etwas 288 00:13:06,348 --> 00:13:09,650 physischen zu speichern, dass zusätzliches Bit, sozusagen. 289 00:13:09,650 --> 00:13:10,700 Binär-Zahlen. 290 00:13:10,700 --> 00:13:13,260 Und in der Tat alles, was passiert ist hier, wie das Dezimalsystem, 291 00:13:13,260 --> 00:13:17,380 wenn wir Zahlen Halten Sie das Hinzufügen und bis und up, gehen wir auf 5 bis 6 auf 7 bis 8 292 00:13:17,380 --> 00:13:19,330 es ist wie die 1, buchstäblich tragen. 293 00:13:19,330 --> 00:13:21,940 Und dann alles andere geht zurück auf Null. 294 00:13:21,940 --> 00:13:25,870 >> Aber wie stellen wir tatsächlich diese Dinge physisch in einem Computer? 295 00:13:25,870 --> 00:13:29,380 Nun, am Ende des Tages, ist die einzige physikalischen Eingang in meinen Computer gehen 296 00:13:29,380 --> 00:13:33,630 hier ist das Netzkabel, so Strom oder Elektronen, die von der Wand. 297 00:13:33,630 --> 00:13:36,920 Und so wie ich von etwas bekommen dass körperliche wie tatsächlich 298 00:13:36,920 --> 00:13:40,630 eine Idee, wie diese Stelle darstellt. 299 00:13:40,630 --> 00:13:41,930 >> Nun, was können wir tun? 300 00:13:41,930 --> 00:13:45,560 Das könnten wir betrachten, alles in Ordnung, vielleicht, wenn Strom fließt 301 00:13:45,560 --> 00:13:47,420 Ich konnte es speichern und halten Sie es. 302 00:13:47,420 --> 00:13:49,250 Und wenn ich festhalten bis zu einem gewissen Strom, 303 00:13:49,250 --> 00:13:51,700 das wird nur zu willkürlich eine 1 repräsentieren. 304 00:13:51,700 --> 00:13:53,997 Und wenn ich den Stecker ziehen und es gibt nichts dort, 305 00:13:53,997 --> 00:13:56,330 Sie wissen, dass gerade los ist willkürlich eine 0 darstellen. 306 00:13:56,330 --> 00:13:57,700 >> Also, wenn etwas ist da, ein. 307 00:13:57,700 --> 00:13:59,280 Wenn nichts ist da, 0. 308 00:13:59,280 --> 00:14:01,420 Oder Sie können das machen ein wenig mehr visuell. 309 00:14:01,420 --> 00:14:02,704 Hier ist ein 0. 310 00:14:02,704 --> 00:14:05,370 Es gibt nichts Interessantes passiert auf über die Rückseite meines Telefons. 311 00:14:05,370 --> 00:14:08,690 Aber wenn ich damit ein wenig Bit-Strom zu fließen, 312 00:14:08,690 --> 00:14:11,490 obwohl es ist ein wenig hell hier ging meine Taschenlampe auf. 313 00:14:11,490 --> 00:14:15,840 Also ich bin Speichern einer Ladung und ergo, dieses Telefon stellt nun ein 1. 314 00:14:15,840 --> 00:14:17,700 So 0 1. 315 00:14:17,700 --> 00:14:23,630 >> Also mit 1 iPhone, wie hoch kann ich mit dieser Art von Ansatz zählen? 316 00:14:23,630 --> 00:14:24,490 Ich meine: 1. 317 00:14:24,490 --> 00:14:25,900 Es ist gar nicht so überzeugend. 318 00:14:25,900 --> 00:14:27,170 Also, was kann man mehr tun? 319 00:14:27,170 --> 00:14:31,180 Nun wollen wir sehen, ist jemand auf ihre Telefon jetzt, dass ich ausleihen könnte? 320 00:14:31,180 --> 00:14:33,800 Jeder, der ein Telefon hat mit einer Taschenlampe eingebaut? 321 00:14:33,800 --> 00:14:34,969 Kann ich ausleihen? 322 00:14:34,969 --> 00:14:36,010 Ich brauche es nicht freigeschaltet. 323 00:14:36,010 --> 00:14:36,510 Gut. 324 00:14:36,510 --> 00:14:37,150 Vielen Dank. 325 00:14:37,150 --> 00:14:37,780 Lassen Sie mich dies zu leihen. 326 00:14:37,780 --> 00:14:38,279 Gut. 327 00:14:38,279 --> 00:14:45,570 Also, wenn ich jetzt nach oben und hier, jetzt, was ich darstellen, ich? 328 00:14:45,570 --> 00:14:46,070 Ja. 329 00:14:46,070 --> 00:14:49,350 So ist es eine drei, weil dies in der ist 1s Spalte, ist dies in der Spalte 2s. 330 00:14:49,350 --> 00:14:50,480 Also 1 plus 2 ist 3. 331 00:14:50,480 --> 00:14:53,410 Und dann, wenn wir versuchen, zu erhalten wirklich creative-- oh, danke. 332 00:14:53,410 --> 00:14:54,690 Sehr preemptive. 333 00:14:54,690 --> 00:14:55,560 Gut. 334 00:14:55,560 --> 00:14:57,100 Ich habe jetzt drei iPhones. 335 00:14:57,100 --> 00:14:58,810 Gut. 336 00:14:58,810 --> 00:15:02,500 >> Und jetzt werde ich nicht this-- tun weiter als diese. 337 00:15:02,500 --> 00:15:04,380 Was soll ich jetzt darstellt? 338 00:15:04,380 --> 00:15:05,090 Gerade mal sieben. 339 00:15:05,090 --> 00:15:08,000 Aber ich brauchte körperlich mehr Speicher in diesem Fall. 340 00:15:08,000 --> 00:15:08,920 Aber das ist alles, es ist. 341 00:15:08,920 --> 00:15:12,870 Sie können sich vorstellen, was los ist on-- Dank Sie-- innerhalb des Telefons 342 00:15:12,870 --> 00:15:16,240 als nur ein Schalter ist, der ist wird ein- und ausgeschaltet. 343 00:15:16,240 --> 00:15:18,350 >> Und wenn Sie jemals gehört habe das Wort Transistor. 344 00:15:18,350 --> 00:15:21,312 Oder wenn Sie je gehört haben die Marketing sprechen Intel inside, 345 00:15:21,312 --> 00:15:24,270 das ist im Gespräch mit der Art von Hardware das ist im Inneren des Computers. 346 00:15:24,270 --> 00:15:26,707 Intel macht CPUs, Zentralverarbeitungseinheiten, 347 00:15:26,707 --> 00:15:28,790 die sind wie die Gehirne innerhalb des Computers. 348 00:15:28,790 --> 00:15:30,640 Und diese CPUs und Dinge, die sie verbunden sind 349 00:15:30,640 --> 00:15:32,740 viele, viele winzige Schalter zu haben. 350 00:15:32,740 --> 00:15:36,440 Millionen, Milliarden von Schaltern das kann entweder ein- oder ausgeschaltet sein. 351 00:15:36,440 --> 00:15:38,840 >> So Computer, zum Glück, wie unsere Macs und PCs, 352 00:15:38,840 --> 00:15:43,830 zählen Weise höher als 7 oder 8 denn sie haben viel mehr als drei 353 00:15:43,830 --> 00:15:44,660 oder vier Bits. 354 00:15:44,660 --> 00:15:48,140 Viel mehr als das Äquivalent von der drei Taschenlampen, die wir gerade hatten. 355 00:15:48,140 --> 00:15:52,110 Aber jetzt beginnt diese zu erhalten schnell ziemlich uninteressant. 356 00:15:52,110 --> 00:15:55,810 Wenn ich will jetzt tatsächlich in der Lage sein, zu tun, etwas interessanter, 357 00:15:55,810 --> 00:16:00,340 Ich möchte in der Lage sein zu springen zu so etwas wie. 358 00:16:00,340 --> 00:16:03,604 >> So ASCII, dann ist es nicht wirklich eine nützliche Akronym, aber American Standard-Code 359 00:16:03,604 --> 00:16:04,770 für Informationsaustausch. 360 00:16:04,770 --> 00:16:07,450 Es bedeutet nur, einige Jahre Vor wir Menschen entschieden, 361 00:16:07,450 --> 00:16:10,724 Sie wissen, was, wollen wir in der Lage zu sein, zu tun mehr mit Computern als nur Zahlen. 362 00:16:10,724 --> 00:16:12,890 Wir haben sie nicht nur wollen teuer sein Taschenrechner, 363 00:16:12,890 --> 00:16:16,730 Wir möchten in der Lage sein, die Dinge zu tun, wie Textverarbeitung, wenn auch sehr einfach. 364 00:16:16,730 --> 00:16:20,030 Später hatten wir E-Mail und andere Medien. 365 00:16:20,030 --> 00:16:23,700 >> Und so entschied sich die Welt ein paar Jahren vor nach diesem System ASCII, 366 00:16:23,700 --> 00:16:24,770 Weißt du was? 367 00:16:24,770 --> 00:16:26,970 In bestimmten Arten von Programme, die Sie jederzeit 368 00:16:26,970 --> 00:16:30,649 siehe das Äquivalent der Nummer 65, wie das Muster von Bits. 369 00:16:30,649 --> 00:16:32,440 Und wir könnten das tun Mathe hier auf dem Brett. 370 00:16:32,440 --> 00:16:34,450 Das Muster von Bits, die 65 darstellen. 371 00:16:34,450 --> 00:16:37,240 Denken Sie nicht, davon 65 in dezimal. 372 00:16:37,240 --> 00:16:41,620 Betrachten Sie es als willkürlich, sondern global, konsequent als Hauptstadt 373 00:16:41,620 --> 00:16:42,201 EIN. 374 00:16:42,201 --> 00:16:43,950 Und dann wird die Welt entschieden, weißt du was? 375 00:16:43,950 --> 00:16:45,630 Nehmen wir ein anderes Muster von Bits nehmen. 376 00:16:45,630 --> 00:16:47,770 Und wenn wir jemals das sehen 66 Nummer, lassen Sie uns einfach 377 00:16:47,770 --> 00:16:50,573 annehmen, dass die Kapital B. Schneller Vorlauf bis H 378 00:16:50,573 --> 00:16:55,510 und ich, wenn Sie sehen, 72 oder 73, dass sollte eine H und eine I bzw. sein. 379 00:16:55,510 --> 00:16:57,780 Und so lange, wie die gesamte Welt einigt sich auf diese. 380 00:16:57,780 --> 00:17:01,342 So dass, wenn Sie eine E-Mail erhalten, oder Sie würde eine Datei auf einem USB-Stick, 381 00:17:01,342 --> 00:17:03,800 oder so etwas wie dass-- wenn sehen Sie, dass die Muster von Bits, 382 00:17:03,800 --> 00:17:06,980 Sie wissen, dass es das sein sollte Brief oder einem anderen Brief. 383 00:17:06,980 --> 00:17:08,620 >> Aber es ist kontextspezifisch, richtig. 384 00:17:08,620 --> 00:17:12,250 Eine E-Mail-Programm könnte interpretieren diese Dinge als Zeichen, 385 00:17:12,250 --> 00:17:15,760 sondern ein Grafik-Taschenrechner oder Rechner darstellen könnte oder zu interpretieren 386 00:17:15,760 --> 00:17:18,370 diese Dinge, natürlich, als Buchstaben. 387 00:17:18,370 --> 00:17:21,610 >> Also mit dieser sagte, schnelle kleine Kritik. 388 00:17:21,610 --> 00:17:25,440 Dies ist vielleicht ein drei Zeichen E-Mail, die an mich geschickt worden ist. 389 00:17:25,440 --> 00:17:27,990 Unter der Haube ist alles in 0 und 1, aber wir kümmern uns nicht. 390 00:17:27,990 --> 00:17:31,580 Wir gehen zu abstrakt zu starten über den 0 und 1 in Buchstaben. 391 00:17:31,580 --> 00:17:36,830 Und wenn ich sehe, ein Muster von 0 und 1, dass wirklich 72 darstellen, Hauch, Hauch, 73, 392 00:17:36,830 --> 00:17:38,866 und dann 33, was ist die Botschaft? 393 00:17:38,866 --> 00:17:40,348 >> STUDENT: [unverständlich] 394 00:17:40,348 --> 00:17:42,639 DAVID MALAN: Also, wenn Sie denken, zurück nur einen Augenblick vor, HALLO 395 00:17:42,639 --> 00:17:47,210 Ich war die Botschaft versuchte, kommunizieren hier, weil H 72 ist, 396 00:17:47,210 --> 00:17:50,925 I ist 73, und jetzt 33-- würden Sie nicht weiß, dass dies unbedingt im Voraus, 397 00:17:50,925 --> 00:17:53,800 aber es stellt sich heraus, ob Sie wirklich Sie sehen mehr von der Karte und das System 398 00:17:53,800 --> 00:17:56,800 dass die Menschheit vereinbarten Jahren vor, es ist nur ein Ausrufezeichen. 399 00:17:56,800 --> 00:18:01,590 Und in der Tat gibt es ein Muster von Symbole und Zahlen für jedes Zeichen 400 00:18:01,590 --> 00:18:03,849 dass Sie vielleicht auf Ihrer Tastatur. 401 00:18:03,849 --> 00:18:04,389 >> Gut. 402 00:18:04,389 --> 00:18:05,660 Lassen Sie uns abstrakt weiter. 403 00:18:05,660 --> 00:18:09,380 Wenn wir wollen, haben nicht nur Dinge wie Zahlen und Buchstaben, 404 00:18:09,380 --> 00:18:11,420 wir wollen eigentlich Grafiken zu implementieren. 405 00:18:11,420 --> 00:18:13,351 Nun, wenn Sie jemals das Akronym RGB gehört. 406 00:18:13,351 --> 00:18:15,559 Es ist eine Art jetzt von datiert, aber es ist immer noch von dort Art. 407 00:18:15,559 --> 00:18:17,380 RGB ist rot, grün, blau. 408 00:18:17,380 --> 00:18:19,380 Und es ist nur ein System zu sagen, weißt du was, 409 00:18:19,380 --> 00:18:21,650 Lassen Sie uns drei Sätze von Bits verwenden. 410 00:18:21,650 --> 00:18:25,280 Ein Satz von 8 Bits, ein weiterer Satz von 8 Bits, und ein anderer Satz von 8 Bit. 411 00:18:25,280 --> 00:18:27,710 Und lassen Sie uns diese Bits verwenden zu speichern, wie viel Rot wir 412 00:18:27,710 --> 00:18:31,430 wollen auf unserem Bildschirm, wie viel grün wir auf unserem Bildschirm wollen, 413 00:18:31,430 --> 00:18:34,070 und wie viel Blau wollen wir auf unserem Bildschirm. 414 00:18:34,070 --> 00:18:37,860 Und das bedeutet nur, dass, wenn Sie haben eine lot-- eine große Zahl für Rot, 415 00:18:37,860 --> 00:18:39,200 das bedeutet, geben Sie mir eine Menge rot. 416 00:18:39,200 --> 00:18:41,658 Wenn Sie eine große Zahl für grün, geben Sie mir eine viel Grün. 417 00:18:41,658 --> 00:18:44,660 Und wenn Sie nur ein wenig von blau oder eine kleine Zahl wie 33, 418 00:18:44,660 --> 00:18:45,960 gib mir ein wenig Blau. 419 00:18:45,960 --> 00:18:49,720 Und wenn Sie geschehen, diejenigen zu kombinieren drei Grßen, sozusagen 420 00:18:49,720 --> 00:18:53,160 Sie erhalten this-- kaum Sie sehen können, der Projektor hier, aber das trübe 421 00:18:53,160 --> 00:18:54,630 Schatten von gelb oder braun. 422 00:18:54,630 --> 00:18:58,590 >> Dies ist jedoch zu sagen, dass unter Verwendung von Muster von 8 plus 8 plus plus 8-- 423 00:18:58,590 --> 00:19:01,710 daß Muster von 24 bits ein Computer ist, wie würde 424 00:19:01,710 --> 00:19:06,460 speichern, dass Gelbton in einem winziger Punkt ein Pixel auf dem Bildschirm. 425 00:19:06,460 --> 00:19:10,570 Deshalb haben wir uns aus 0 und 1 weg in Dezimalzahlen Zahlen zu Buchstaben des Alphabets. 426 00:19:10,570 --> 00:19:13,680 Oder interessanter, farbiger Punkte. 427 00:19:13,680 --> 00:19:16,200 >> Nun, was natürlich dann kommt als nächstes? 428 00:19:16,200 --> 00:19:19,040 Nun, was ist ein Bild, das Sie siehe Facebook oder in einer E-Mail erhalten? 429 00:19:19,040 --> 00:19:20,172 Oder dergleichen? 430 00:19:20,172 --> 00:19:22,130 Was ist die Definition technisch eines Bildes? 431 00:19:22,130 --> 00:19:25,090 432 00:19:25,090 --> 00:19:27,710 Ja. 433 00:19:27,710 --> 00:19:31,270 Was ist ein Bild, wenn Sie zusammengesetzt sehen wirklich nah an Ihrem Bildschirm? 434 00:19:31,270 --> 00:19:31,770 Ja. 435 00:19:31,770 --> 00:19:33,186 Es ist nur eine ganze Reihe von Pixeln. 436 00:19:33,186 --> 00:19:35,220 In der Tat, wenn Sie nehmen Sie Ihre Laptop vielleicht später, 437 00:19:35,220 --> 00:19:37,180 und sehen wirklich eng bei es-- je 438 00:19:37,180 --> 00:19:40,370 auf, wie teuer der Laptop ist und wie hoch die Qualität der Bildschirm ist, 439 00:19:40,370 --> 00:19:43,480 Sie könnte sehr gut alle sehen die kleinen Punkte auf dem Bildschirm. 440 00:19:43,480 --> 00:19:45,890 >> Und diese Punkte oder Pixel, was bedeutet, es gibt 441 00:19:45,890 --> 00:19:49,810 24 Bit für jedes Pixel in der darstelle Foto, das Sie auf Facebook zu sehen, 442 00:19:49,810 --> 00:19:52,049 oder dass Sie gerade aufgenommen haben auf Ihrem iPhone vor kurzem. 443 00:19:52,049 --> 00:19:54,090 Und so ist, dass, wie wir bekommen um Dinge wie Grafiken. 444 00:19:54,090 --> 00:19:55,120 Nun, was ist ein Video? 445 00:19:55,120 --> 00:19:58,660 Ein Video ist nur eine Reihe von Grafiken fliegen wieder durch den Bildschirm 446 00:19:58,660 --> 00:19:59,780 und immer wieder. 447 00:19:59,780 --> 00:20:04,080 Und so wirklich Videos sind nur Muster von Bits, die Gitter, Reihen 448 00:20:04,080 --> 00:20:06,880 und Spalten von Punkten, fliegen durch den Bildschirm Bild, 449 00:20:06,880 --> 00:20:09,240 nach Bild, nach dem Bild, auch bekannt als 450 00:20:09,240 --> 00:20:10,650 Spielfilm. 451 00:20:10,650 --> 00:20:12,340 So ist das also für Ein- und Ausgänge. 452 00:20:12,340 --> 00:20:14,420 >> Alles, was wir jetzt haben, ist ein Annahme, dass Sie 453 00:20:14,420 --> 00:20:17,190 wissen, was, wenn wir einen Computer wollen repräsentieren Informationen, 454 00:20:17,190 --> 00:20:18,560 Wir haben ein System, es zu tun. 455 00:20:18,560 --> 00:20:20,780 Wir können es mit 0s tun und 1s am Ende des Tages. 456 00:20:20,780 --> 00:20:23,160 Aber wir können abstrakt, so zu sprechen, oben auf, dass 457 00:20:23,160 --> 00:20:25,140 so repräsentieren mehr interessante Dinge. 458 00:20:25,140 --> 00:20:28,790 Und hier aus in CS50 und in Informatik allgemein, 459 00:20:28,790 --> 00:20:31,250 wir stehen jetzt auf den Schultern von allen Menschen, die 460 00:20:31,250 --> 00:20:33,530 kam vor uns, dass herausgefunden. 461 00:20:33,530 --> 00:20:38,170 Und jetzt einfach davon ausgehen, dass Computer repräsentieren Ein- und Ausgänge können. 462 00:20:38,170 --> 00:20:41,140 >> Aber jetzt wollen wir eigentlich tun Sie etwas mit ihnen. 463 00:20:41,140 --> 00:20:44,850 So ist ein Algorithmus nur eine Reihe von Anweisungen, Schritt für Schritt, 464 00:20:44,850 --> 00:20:46,340 für ein Problem zu lösen. 465 00:20:46,340 --> 00:20:48,730 Und was könnte ein solches Problem sein. 466 00:20:48,730 --> 00:20:52,440 Also das ist eine alte Schule Technologie, ein Telefonbuch. 467 00:20:52,440 --> 00:20:55,534 Und innerhalb von ein Telefonbuch ist ein ganze Reihe von Namen und Nummern. 468 00:20:55,534 --> 00:20:57,700 Und diese Namen sind in der Regel alphabetisch sortiert. 469 00:20:57,700 --> 00:21:01,310 >> Also, wenn ich wollte, dass jemand in zu finden Dieses Telefonbuch wie Mike Smith, 470 00:21:01,310 --> 00:21:02,930 was ist ein typischer Mensch tun? 471 00:21:02,930 --> 00:21:06,000 Nun, man könnte einfach öffnen it up, Blick auf die erste Seite. 472 00:21:06,000 --> 00:21:07,390 Ich sehe nicht, Mike Smith. 473 00:21:07,390 --> 00:21:09,740 Wenden Sie sich an die zweite Seite, Ich sehe nicht, Mike Smith. 474 00:21:09,740 --> 00:21:11,830 Und halten Sie gerade gehen und gehen. 475 00:21:11,830 --> 00:21:14,397 Ist dieser Schritt für Schritt Ansatz richtig? 476 00:21:14,397 --> 00:21:17,380 477 00:21:17,380 --> 00:21:18,310 Ja. 478 00:21:18,310 --> 00:21:20,080 Es ist eine Art von dumm, richtig. 479 00:21:20,080 --> 00:21:21,646 Es ist ineffizient, richtig. 480 00:21:21,646 --> 00:21:24,520 Denn es wird ewig dauern Mike zu bekommen, aber es ist richtig. 481 00:21:24,520 --> 00:21:26,620 Denn wenn Mike ist hier Ich werde ihn finden in der Tat. 482 00:21:26,620 --> 00:21:29,030 >> Also, was ist ein etwas vernünftige Mensch tun? 483 00:21:29,030 --> 00:21:32,180 Sie könnten noch offen nach vorne, und vielleicht durch das Telefonbuch fliegen 484 00:21:32,180 --> 00:21:33,250 zwei Seiten gleichzeitig. 485 00:21:33,250 --> 00:21:34,840 Zwei, vier, sechs, acht. 486 00:21:34,840 --> 00:21:36,830 Ich kann nicht wirklich physisch tun es sehr gut. 487 00:21:36,830 --> 00:21:39,560 Aber in der Theorie sollte dies sein doppelt so schnell, zwei Seiten gleichzeitig. 488 00:21:39,560 --> 00:21:41,152 Ist dieser Algorithmus korrekt? 489 00:21:41,152 --> 00:21:43,252 >> STUDENT: [unverständlich] 490 00:21:43,252 --> 00:21:44,460 DAVID MALAN: Nicht unbedingt. 491 00:21:44,460 --> 00:21:44,960 Gut. 492 00:21:44,960 --> 00:21:46,112 Warum die Einschränkung? 493 00:21:46,112 --> 00:21:50,020 >> STUDENT: Weil er auf sein könnte der Seiten, die Sie übersprungen werden. 494 00:21:50,020 --> 00:21:50,770 DAVID MALAN: Ja. 495 00:21:50,770 --> 00:21:52,260 Also selbst wenn ich näher und näher. 496 00:21:52,260 --> 00:21:56,150 Was ist, wenn er durch schlechte nur aus Versehen, dann ist Glück, zwischen den beiden Seiten eingeklemmt 497 00:21:56,150 --> 00:21:57,290 dass ich fliegen über? 498 00:21:57,290 --> 00:21:59,920 499 00:21:59,920 --> 00:22:01,730 Also brauchen wir eine Lösung für dieses. 500 00:22:01,730 --> 00:22:03,590 Wir brauchen eigentlich dann sagen, warten Sie eine Minute, 501 00:22:03,590 --> 00:22:06,240 vielleicht, wenn wir zu weit gehen, vielleicht wenn wir den T Abschnitt getroffen, 502 00:22:06,240 --> 00:22:09,670 für T nach Smith kommt, dann sollten wir zumindest eine Seite zurück mindestens verdoppeln. 503 00:22:09,670 --> 00:22:12,630 So fixierbar, aber es gibt ein bedingtes Problem gibt. 504 00:22:12,630 --> 00:22:16,159 Es ist also doppelt so schnell, aber man könnte haben nur ein wenig zu verdoppeln zurück. 505 00:22:16,159 --> 00:22:19,200 Aber niemand in seinem Zimmer, auch wenn Sie nicht wirklich Telefon-Bücher mehr verwenden, 506 00:22:19,200 --> 00:22:20,740 wird am Anfang zu beginnen. 507 00:22:20,740 --> 00:22:23,317 Was wirst du machen Suche nach Mike Smith? 508 00:22:23,317 --> 00:22:24,900 Sie werden in etwa den S ist zu gehen. 509 00:22:24,900 --> 00:22:26,820 Oder wenn Sie nicht wirklich haben die Spickzettel auf dem Papier, 510 00:22:26,820 --> 00:22:28,365 Sie gehen zumindest zu gehen in etwa der Mitte. 511 00:22:28,365 --> 00:22:30,220 Und schon gar nicht zu die Vorderseite des Buches. 512 00:22:30,220 --> 00:22:31,130 Sie gehen nach unten zu schauen. 513 00:22:31,130 --> 00:22:33,770 Und mathematisch sind Sie wahrscheinlich gehen die M Abschnitt zu sehen, die 514 00:22:33,770 --> 00:22:34,890 etwa in der Mitte ist. 515 00:22:34,890 --> 00:22:36,848 Und dann wirst du erkennen, was wahr ist? 516 00:22:36,848 --> 00:22:37,968 Wo ist Mike? 517 00:22:37,968 --> 00:22:39,170 >> STUDENT: [unverständlich] 518 00:22:39,170 --> 00:22:39,920 DAVID MALAN: Ja. 519 00:22:39,920 --> 00:22:41,530 Er ist also mehr als auf dieser Seite. 520 00:22:41,530 --> 00:22:42,710 Und was können Sie tun? 521 00:22:42,710 --> 00:22:48,870 Nun, sowohl bildlich und buchstäblich können Sie das Problem in zwei Hälften einmal reißen? 522 00:22:48,870 --> 00:22:54,260 Und dann wissen, dass Sie werfen diese Hälfte des Problems entfernt. 523 00:22:54,260 --> 00:22:58,170 Und jetzt sind wir mit im Grunde links das gleiche Problem, aber es ist halb so groß. 524 00:22:58,170 --> 00:22:59,920 Und nun, was ist das Satz von Anweisungen? 525 00:22:59,920 --> 00:23:01,753 Was ist der Algorithmus für die Suche nach Mike Smith? 526 00:23:01,753 --> 00:23:03,030 Es ist genau das gleiche. 527 00:23:03,030 --> 00:23:05,750 >> Nun geschieht dies die M zu sein Abschnitt und dies ist der Z Abschnitt, 528 00:23:05,750 --> 00:23:08,650 aber die grundlegende Formel ist immer noch die gleichen. 529 00:23:08,650 --> 00:23:10,800 Gehen in etwa der Mitte, nach unten schauen, oh, stopfen es. 530 00:23:10,800 --> 00:23:13,160 Jetzt bin ich im T-Profil, Ich habe zu weit gegangen. 531 00:23:13,160 --> 00:23:16,640 Aber auch hier können Sie die gleiche Logik anwenden. 532 00:23:16,640 --> 00:23:19,189 Wurf Hälfte des Problems weg und jetzt wir sind 533 00:23:19,189 --> 00:23:21,230 mit einem Problem konfrontiert, das ist ein Viertel der Größe. 534 00:23:21,230 --> 00:23:28,140 Und wir können wiederholen und wir können wiederholen, und wir können bis theoretisch wiederholen 535 00:23:28,140 --> 00:23:32,190 es gibt nur eine Seite nach links auf die Mike entweder ist oder nicht. 536 00:23:32,190 --> 00:23:34,014 >> Also, was ist so mächtig, von dieser Idee? 537 00:23:34,014 --> 00:23:35,680 Ich meine, nach allem, es ist ziemlich intuitiv. 538 00:23:35,680 --> 00:23:37,390 Niemand wird auf die zu beginnen Anfang des Telefonbuchs 539 00:23:37,390 --> 00:23:39,320 und Flip 1000 Seiten Mike Smith zu finden. 540 00:23:39,320 --> 00:23:42,319 Fast jeder in diesem Raum wird etwa diese Art von Algorithmus zu tun 541 00:23:42,319 --> 00:23:43,220 sparen für das Reißen. 542 00:23:43,220 --> 00:23:45,480 >> Und so warum tun wir das? 543 00:23:45,480 --> 00:23:47,810 Nun betrachten wir die Effizienz. 544 00:23:47,810 --> 00:23:51,500 Überlegen Sie, wie viel besser diese Algorithmus war, indem sie es brechen 545 00:23:51,500 --> 00:23:52,890 in seine Bestandteile. 546 00:23:52,890 --> 00:23:53,980 So was habe ich zuerst? 547 00:23:53,980 --> 00:23:55,389 Ich nahm das Telefonbuch auf. 548 00:23:55,389 --> 00:23:57,180 Und ein Informatiker, und ein Programmierer, 549 00:23:57,180 --> 00:24:00,090 allgemeiner stellt sich heraus, geht zu starten alles bei 0 zu zählen. 550 00:24:00,090 --> 00:24:00,610 >> Warum? 551 00:24:00,610 --> 00:24:03,240 Nun, es ist ein wenig seltsam, dass wir Menschen zählen, in der Regel, 552 00:24:03,240 --> 00:24:04,400 ausgehend von einem. 553 00:24:04,400 --> 00:24:08,110 Denn was ist die kleinste Zahl können wir deutlich anhand darstellen 554 00:24:08,110 --> 00:24:09,930 auch auf unserer alten Grundschule Mathe? 555 00:24:09,930 --> 00:24:12,400 Nun, es war 0, ob es ist in dezimal oder binär. 556 00:24:12,400 --> 00:24:14,900 Und so werden Sie in der Welt sehen der Informatik und Programmierung, 557 00:24:14,900 --> 00:24:17,620 Insbesondere wir beginnen alles von 0 zu zählen. 558 00:24:17,620 --> 00:24:19,690 >> Also nahm ich das Telefonbuch Schritt 0 auf. 559 00:24:19,690 --> 00:24:21,924 Ich werde das zu öffnen Mitte des Telefonbuchs. 560 00:24:21,924 --> 00:24:23,840 Und das ist in der Tat ein Ausdruck dessen, was ich tat. 561 00:24:23,840 --> 00:24:25,900 Und dann Schritt zwei war Blick auf die Namen. 562 00:24:25,900 --> 00:24:29,110 Schritt drei ein wenig konzeptionell anders. 563 00:24:29,110 --> 00:24:30,600 Ich frage mich eine Frage. 564 00:24:30,600 --> 00:24:33,610 Wenn Smith unter den Namen ist, Ich werde eine Entscheidung zu treffen. 565 00:24:33,610 --> 00:24:36,550 Wenn er unter den Namen ist, dann werde ich Mike nennen. 566 00:24:36,550 --> 00:24:39,590 Und ich werde eine Entscheidung zu treffen basierend auf diesem Stück von Informationen. 567 00:24:39,590 --> 00:24:44,100 >> Wenn jedoch nicht, wenn Smith früher in dem Buch nach links, 568 00:24:44,100 --> 00:24:48,200 Ich gehe in die Mitte zu öffnen der linken Hälfte des Buches. 569 00:24:48,200 --> 00:24:51,674 Und dann ist hier die Klugheit, Ich gehe zurück zu Schritt zwei. 570 00:24:51,674 --> 00:24:53,590 Ich gehe zu sortieren von stehen auf meinen eigenen Schultern 571 00:24:53,590 --> 00:24:55,110 und nur die bisherige Arbeit wiederholen, die ich tat. 572 00:24:55,110 --> 00:24:58,062 Aber die Arbeit, die ich verlassen haben, ist weniger und weniger und weniger. 573 00:24:58,062 --> 00:24:59,270 Aber es wird noch zu arbeiten. 574 00:24:59,270 --> 00:25:02,110 Aber wenn Mike stattdessen später in dem Buch auf der rechten Seite, 575 00:25:02,110 --> 00:25:04,980 Ich gehe in die Mitte zu öffnen von der rechten Hälfte des Buches, 576 00:25:04,980 --> 00:25:07,240 dann gehen Sie zurück zu Schritt zwei. 577 00:25:07,240 --> 00:25:09,330 >> Aber es gibt tatsächlich ein viertes Szenario. 578 00:25:09,330 --> 00:25:13,336 Mike entweder hier, oder hier oder hier, oder- 579 00:25:13,336 --> 00:25:14,152 >> STUDENT: Nicht da. 580 00:25:14,152 --> 00:25:15,110 DAVID MALAN: Nicht da. 581 00:25:15,110 --> 00:25:18,580 Und in der Tat, wenn wir gehen nicht davon Diese vierte und letzte Szenario 582 00:25:18,580 --> 00:25:21,510 unser Programm könnte fehlerhaft sein oder in irgendeiner Weise fehlerhaft. 583 00:25:21,510 --> 00:25:25,020 Else, beenden Sie in dem Fall, dass wir haben Mike haupt nicht gefunden. 584 00:25:25,020 --> 00:25:27,720 Und in der Tat, wenn Sie jemals bemerkt haben Ihr Computer hängen, oder alle 585 00:25:27,720 --> 00:25:30,490 eines plötzlichen Wort oder einem anderen Programm beendet gerade unerwartet, 586 00:25:30,490 --> 00:25:32,614 und manchmal dir Fehler Nachricht ist buchstäblich das. 587 00:25:32,614 --> 00:25:34,070 Dieses Programm wurde unerwartet beendet. 588 00:25:34,070 --> 00:25:35,570 Es kann für eine beliebige Anzahl von Gründen. 589 00:25:35,570 --> 00:25:38,120 Aber manchmal ist es etwas so einfaches wie diese. 590 00:25:38,120 --> 00:25:40,440 Der menschliche Programmierer der schrieb, dass die Software 591 00:25:40,440 --> 00:25:43,610 war nicht klar, dass, oh, es gibt eine hervor, was eigentlich passieren kann. 592 00:25:43,610 --> 00:25:46,480 Und wenn Sie nicht schreiben Code erfassen, die vierte Szenario, 593 00:25:46,480 --> 00:25:51,342 es ist in der Tat unerwartet manchmal was kann der Computer tatsächlich tun. 594 00:25:51,342 --> 00:25:53,050 wir rufen jetzt ein Einige dieser Dinge. 595 00:25:53,050 --> 00:25:55,465 Also hier in gelb, ich haben hervorgehoben Begriffe 596 00:25:55,465 --> 00:25:57,590 dass von nun an sind wir nur Gehen Funktionen aufzurufen. 597 00:25:57,590 --> 00:26:00,700 Funktionen in der Welt der Programmierung sind ebenso wie Aktionen, 598 00:26:00,700 --> 00:26:01,850 Aussagen von Aktionen. 599 00:26:01,850 --> 00:26:05,720 So holen, offen zu suchen, an, rufen, offen, offen, beenden. 600 00:26:05,720 --> 00:26:09,350 Das ist eine Funktion, ein Verfahren, eine Aktion, eine beliebige Anzahl von Synonymen 601 00:26:09,350 --> 00:26:10,184 würde auch funktionieren. 602 00:26:10,184 --> 00:26:11,850 Nun, was sind diese Dinge jetzt in Gelb? 603 00:26:11,850 --> 00:26:14,210 Wenn sonst, wenn sonst, wenn diese sind sonst, was 604 00:26:14,210 --> 00:26:16,500 wir gehen zu nennen Bedingungen in der Programmierung, 605 00:26:16,500 --> 00:26:19,270 oder Zweige, Entscheidung Punkte, wenn man so will. 606 00:26:19,270 --> 00:26:22,759 Aber wie Sie wissen, welche Gabel in der Straße zu nehmen, so zu sprechen? 607 00:26:22,759 --> 00:26:24,550 Wir müssen hervorheben die Ausdrücke auf der rechten 608 00:26:24,550 --> 00:26:27,570 gibt, welche diese ja, keine Fragen. 609 00:26:27,570 --> 00:26:29,040 Diese true false Fragen. 610 00:26:29,040 --> 00:26:30,880 Smith unter Namen? 611 00:26:30,880 --> 00:26:32,190 Smith früher in Buch? 612 00:26:32,190 --> 00:26:33,260 Smith später in Buch? 613 00:26:33,260 --> 00:26:35,490 Dies sind Fragen dem ein Ja ist, oder nicht, 614 00:26:35,490 --> 00:26:42,110 oder äquivalent wahr oder falsch ist, oder äquivalent, Eins oder Null Antwort. 615 00:26:42,110 --> 00:26:44,260 >> Und in der Zwischenzeit gibt es nur noch ein letztes Stück. 616 00:26:44,260 --> 00:26:45,940 Dieses hier hat, welche Art von Wirkung? 617 00:26:45,940 --> 00:26:48,230 Unabhängig davon, ob Sie programmieren vor, wie würden Sie 618 00:26:48,230 --> 00:26:51,030 Beschreiben Sie, was Schritt sieben und 10 tun? 619 00:26:51,030 --> 00:26:54,110 620 00:26:54,110 --> 00:26:55,027 Was hast du gesagt? 621 00:26:55,027 --> 00:26:56,110 STUDENT: Eine rekursive Schritt. 622 00:26:56,110 --> 00:26:56,980 DAVID MALAN: Eine rekursive Schritt. 623 00:26:56,980 --> 00:26:58,000 Ja, im Wesentlichen. 624 00:26:58,000 --> 00:27:00,384 Es ist technisch iterative hier, wenn Sie vertraut sind. 625 00:27:00,384 --> 00:27:01,550 Aber wir werden darauf zurückkommen. 626 00:27:01,550 --> 00:27:03,930 Aber es tut eindeutig etwas. 627 00:27:03,930 --> 00:27:06,370 Wieder ist es induziert eine Zyklus, eine Schleife, richtig. 628 00:27:06,370 --> 00:27:08,770 Sie gehen buchstäblich zu einem früheren Schritt zurück. 629 00:27:08,770 --> 00:27:12,592 Und so in der Tat, das wird eine Art von Zyklus zu implementieren. 630 00:27:12,592 --> 00:27:15,050 Aber du wirst nicht bekommen in diesem endlos stecken, richtig. 631 00:27:15,050 --> 00:27:19,290 Denn wenn Sie ständig überprüfen ist Mike hier, oder nach links, oder hier nicht, 632 00:27:19,290 --> 00:27:21,360 schließlich ist er nicht da sein. 633 00:27:21,360 --> 00:27:24,590 Und Sie können nur ganz aufhören gemäß der letzten Zeile. 634 00:27:24,590 --> 00:27:25,834 >> So ist das also für Vokabular. 635 00:27:25,834 --> 00:27:28,250 Und das war, was würden wir im Allgemeinen nennen Pseudo-Code-Code. 636 00:27:28,250 --> 00:27:29,570 Es ist nicht eine tatsächliche Sprache. 637 00:27:29,570 --> 00:27:32,405 Es ist nur sehr kurz und bündig Englisch, aber es steht den Punkt. 638 00:27:32,405 --> 00:27:33,780 Es gibt hier keine formale Struktur. 639 00:27:33,780 --> 00:27:35,738 Sie verwenden nur, es ist wenige Worte, sondern als klare Worte 640 00:27:35,738 --> 00:27:37,870 wie Sie können Ihre Idee zu kommunizieren. 641 00:27:37,870 --> 00:27:40,580 >> Nun, wie gut ist, dass Algorithmus und wie viel besser ist es? 642 00:27:40,580 --> 00:27:43,570 Nun, wir müssen in die nicht bekommen, Besonderheiten von Zahlen oder irgendetwas 643 00:27:43,570 --> 00:27:44,069 so wie das. 644 00:27:44,069 --> 00:27:46,300 Aber wir können bei der Suche Form dieser Lösung. 645 00:27:46,300 --> 00:27:50,194 Also, wenn wir ziehen nur einige xy-Darstellung Hier auf der horizontalen Achse zu. 646 00:27:50,194 --> 00:27:51,860 Lassen Sie uns einfach die Größe des Problems nennen. 647 00:27:51,860 --> 00:27:55,540 Und ein Informatiker würde verwenden in der Regel n als die Variable hier. 648 00:27:55,540 --> 00:27:59,690 So n Seiten oder n Personen im Raum oder was auch immer es ist, Sie zu zählen versuchen. 649 00:27:59,690 --> 00:28:03,039 >> Und dann auf der vertikalen Achse auf dem verlassen würde, dass die Zeit zu lösen sein. 650 00:28:03,039 --> 00:28:05,330 So, wie viele Sekunden tut es nimm mich Mike Smith zu finden? 651 00:28:05,330 --> 00:28:06,621 Oder, wie viele Schritte dauert es? 652 00:28:06,621 --> 00:28:08,100 Wie viele Seitenwechsel dauert es? 653 00:28:08,100 --> 00:28:11,370 Also das ist, wie viel es kostet mich in der Zeit, ein Problem zu lösen. 654 00:28:11,370 --> 00:28:15,030 Und wir könnten das erste Unentschieden Algorithmen Steigung, wenn man so will, 655 00:28:15,030 --> 00:28:16,910 wie gerade dieser geraden Linie in rot. 656 00:28:16,910 --> 00:28:18,450 Und ich werde es n nennen. 657 00:28:18,450 --> 00:28:19,117 >> Warum n? 658 00:28:19,117 --> 00:28:20,950 Warum ist es nur diese eine zu einer Beziehung? 659 00:28:20,950 --> 00:28:22,700 Nun, wenn Verizon oder was auch immer Telefongesellschaft 660 00:28:22,700 --> 00:28:25,130 fügt eine weitere Seite zu das Telefonbuch im nächsten Jahr, 661 00:28:25,130 --> 00:28:28,370 das könnte schieben Mike ein mehr Schritt näher an das Ende, 662 00:28:28,370 --> 00:28:29,950 je nachdem, wo die Seite. 663 00:28:29,950 --> 00:28:32,380 Und so könnte der Effekt nur sein, um eine weitere Sekunde hinzuzufügen. 664 00:28:32,380 --> 00:28:33,520 Oder eine weitere Seite der Reihe. 665 00:28:33,520 --> 00:28:34,970 A 12.59 Verhältnis. 666 00:28:34,970 --> 00:28:37,410 >> Im Gegensatz dazu der zweite Algorithmus. 667 00:28:37,410 --> 00:28:41,406 Wie viel schneller war, dass intuitiv? 668 00:28:41,406 --> 00:28:42,780 Wo bin ich zwei Seiten auf einmal? 669 00:28:42,780 --> 00:28:43,664 Ja. 670 00:28:43,664 --> 00:28:44,497 >> STUDENT: [unverständlich] 671 00:28:44,497 --> 00:28:47,255 672 00:28:47,255 --> 00:28:48,080 >> DAVID MALAN: Ja. 673 00:28:48,080 --> 00:28:49,220 Es wird also doppelt so schnell sein. 674 00:28:49,220 --> 00:28:51,344 Und wir würden hinweisen, dass hier in Abhängigkeit von der Skala. 675 00:28:51,344 --> 00:28:54,220 Es ist noch eine gerade Linie, aber niedriger als die rote Linie. 676 00:28:54,220 --> 00:28:56,410 Da für eine bestimmte Anzahl von Seiten, wenn es braucht 677 00:28:56,410 --> 00:28:58,360 Sie so viele Schritte mit der erste Algorithmus, 678 00:28:58,360 --> 00:29:00,570 es wird Sie die Hälfte zu nehmen so viele Schritte mit dem zweiten. 679 00:29:00,570 --> 00:29:02,770 Und so ist die gelbe Linie Beschreibung des zweiten Algorithmus 680 00:29:02,770 --> 00:29:03,990 wird unmittelbar darunter sein würde. 681 00:29:03,990 --> 00:29:07,250 >> Aber was ist wirklich mächtig ist, denken Sie an die dritte und letzte, 682 00:29:07,250 --> 00:29:10,480 und erstaunlich intuitive Algorithmus, der diese Form aufweist. 683 00:29:10,480 --> 00:29:12,720 Technisch würden wir nennen dies eine logarithmische Kurve. 684 00:29:12,720 --> 00:29:14,309 Log-Basis 2 von n in diesem Fall. 685 00:29:14,309 --> 00:29:15,600 Aber das ist nicht wirklich wichtig. 686 00:29:15,600 --> 00:29:19,140 Was ist wirklich wichtig ist, die grundsätzlich unterschiedliche Form, die es hat. 687 00:29:19,140 --> 00:29:22,810 Und Sie können prüfen, wie viel kürzer wirklich diese Linie 688 00:29:22,810 --> 00:29:24,620 ist auf lange Sicht. 689 00:29:24,620 --> 00:29:25,870 Es wird ständig erhöht. 690 00:29:25,870 --> 00:29:27,620 Es ist flach nicht perfekt. 691 00:29:27,620 --> 00:29:34,030 Aber es wird immer so viel langsamer wie das Problem wird größer und größer. 692 00:29:34,030 --> 00:29:36,710 Und man kann davon halten diese way-- wenn Verizon nicht nur tut 693 00:29:36,710 --> 00:29:40,410 eine Seite im nächsten Jahr hinzufügen, aber verdoppelt die Anzahl der Seiten im Telefonbuch, 694 00:29:40,410 --> 00:29:42,740 der erste Algorithmus könnte nehmen doppelt so viele Schritte. 695 00:29:42,740 --> 00:29:45,360 Wenn es 1000 Seiten dieses Jahr, 2.000 Seiten im nächsten Jahr, 696 00:29:45,360 --> 00:29:47,180 Mike könnte, dass viel weiter weg sein. 697 00:29:47,180 --> 00:29:49,380 So ist es 1000 zusätzliche Schritte, ihn zu finden. 698 00:29:49,380 --> 00:29:51,610 Der zweite Algorithmus vielleicht nur 500 mehr sein 699 00:29:51,610 --> 00:29:55,490 Schritte ihn, weil wieder zu finden, Ich bin durch sie zwei auf einmal fliegen. 700 00:29:55,490 --> 00:29:56,950 >> Aber was ist mit dem dritten Algorithmus? 701 00:29:56,950 --> 00:29:59,010 Wenn Verizon verdoppelt sich die Größe des Telefonbuchs 702 00:29:59,010 --> 00:30:02,620 im nächsten Jahr von 1000 bis 2000 Seiten, wie viele Schritte 703 00:30:02,620 --> 00:30:05,540 mein dritter Algorithmus geht zu nehmen? 704 00:30:05,540 --> 00:30:06,630 Ja, es ist nur eine davon. 705 00:30:06,630 --> 00:30:08,600 Und das ist die starke Idee. 706 00:30:08,600 --> 00:30:12,780 Sie können 1000 Seite anbeiße aus diesem Problem einmal. 707 00:30:12,780 --> 00:30:14,510 Und jetzt, wenn man bedenkt, eine dumme Szenario, 708 00:30:14,510 --> 00:30:17,320 aber es spricht Art von an die Macht dieser Art von intuition-- 709 00:30:17,320 --> 00:30:21,494 wenn ein Telefonbuch hatte, wie, vier Milliarden Seiten, fühlt sich wie ein wirklich großes Problem. 710 00:30:21,494 --> 00:30:23,410 Und in der Tat, es könnte nehmen Sie mich vier Milliarden Seite 711 00:30:23,410 --> 00:30:26,549 Mike Smith dreht sich, dass zu finden Fall mit dem ersten Algorithmus. 712 00:30:26,549 --> 00:30:28,840 Aber wie viele Schritte wäre es nehmen im dritten Algorithmus 713 00:30:28,840 --> 00:30:31,585 zu finden Mike unter vier Milliarden Stück Papier? 714 00:30:31,585 --> 00:30:34,865 715 00:30:34,865 --> 00:30:36,240 Also vier Milliarden Sie reißen in zwei Hälften. 716 00:30:36,240 --> 00:30:37,220 Sie erhalten zwei Milliarden. 717 00:30:37,220 --> 00:30:42,810 Dann eine Milliarde und dann 500 Millionen, 250 Millionen, 125 million-- aber es 718 00:30:42,810 --> 00:30:44,780 fühlt sich an wie das ist wird eine Weile dauern. 719 00:30:44,780 --> 00:30:47,340 Ich könnte 32 Finger brauchen dass hoch zu zählen. 720 00:30:47,340 --> 00:30:51,340 Aber es ist in der Tat als wenige als 32 Seite Tränen. 721 00:30:51,340 --> 00:30:54,060 Sie können aus vier gehen Milliarden auf eine Seite Teilungs 722 00:30:54,060 --> 00:30:57,030 die ursprüngliche Anzahl von Seiten in Hälfte 32-mal 723 00:30:57,030 --> 00:30:59,290 bis Sie links mit nur, dass einzelne Seite. 724 00:30:59,290 --> 00:31:01,320 >> Nun, natürlich, ich bin betrügt hier. 725 00:31:01,320 --> 00:31:06,470 Es ist nicht, dass wir gerade erst zu sein sortieren dummer vollständig mit der ersten beiden 726 00:31:06,470 --> 00:31:07,470 Algorithmen. 727 00:31:07,470 --> 00:31:11,500 Ich bin in einem gewissen Sinn zu betrügen, oder Ich nutzt eine Annahme wirklich. 728 00:31:11,500 --> 00:31:15,610 Was war wahr über das Telefonbuch das in seiner ursprünglichen Form erlaubt 729 00:31:15,610 --> 00:31:17,450 mir sogar, dass dritte Algorithmus verwenden? 730 00:31:17,450 --> 00:31:18,110 Ja? 731 00:31:18,110 --> 00:31:19,360 PUBLIKUM: Es wurde alphabetisiert. 732 00:31:19,360 --> 00:31:21,130 DAVID MALAN: Es wurde alphabetisiert, nicht wahr? 733 00:31:21,130 --> 00:31:23,500 Wenn es nur in zufälliger Ordnung, ist dies eine Verschwendung 734 00:31:23,500 --> 00:31:24,880 der Zeit, dieses ganze Gespräch. 735 00:31:24,880 --> 00:31:27,500 Ich habe auf jeden aussehen Seite, wenn es in zufälliger Reihenfolge 736 00:31:27,500 --> 00:31:30,350 Mike Smith, bevor ich zu finden er ist da oder nicht, kann abschließen. 737 00:31:30,350 --> 00:31:32,880 Und so ist die Ecke wir geschnitten haben, ist, dass ich 738 00:31:32,880 --> 00:31:35,752 vorausgesetzt, dass jemand anderes in Dieser Fall hat mir die Arbeit. 739 00:31:35,752 --> 00:31:38,460 Und damit letztlich lädt ein die Frage, warten gut, eine Minute. 740 00:31:38,460 --> 00:31:41,284 Wie sortiere Sie 1000 Seiten mit Namen und Nummern? 741 00:31:41,284 --> 00:31:43,200 Das ist eigentlich eine andere Problem, etwas 742 00:31:43,200 --> 00:31:44,574 wir werden in Zukunft wiederkommen. 743 00:31:44,574 --> 00:31:48,130 Aber wenn man darüber Websites wie Facebook und Google für Google Mail 744 00:31:48,130 --> 00:31:50,450 und Dinge wie Google eigene Suchindizes, 745 00:31:50,450 --> 00:31:53,800 wenn man Millionen oder Milliarden von Stücke von Daten, die in diesen Tagen gelagert, 746 00:31:53,800 --> 00:31:56,660 searching-- und nicht zu erwähnen Sortierung jene problems-- 747 00:31:56,660 --> 00:31:59,450 ist letztlich eine Herausforderung für sich. 748 00:31:59,450 --> 00:32:02,250 Und in der Tat, dies ist dann nur eine von diesen Herausforderungen 749 00:32:02,250 --> 00:32:03,460 dass wir suchen werde. 750 00:32:03,460 --> 00:32:05,590 >> So, jetzt lassen Sie uns einen Moment Zeit nehmen, und werfen Sie einen Blick auf CS50 751 00:32:05,590 --> 00:32:09,082 selbst und geben Ihnen ein Gefühl von was ist das Semester im Geschäft. 752 00:32:09,082 --> 00:32:11,540 Ja, wenn Sie nicht bereits haben, nehmen Sie einen Blick auf diese URL. 753 00:32:11,540 --> 00:32:13,880 Und als Patrick anspielte zu, in diesem Jahr sind wir 754 00:32:13,880 --> 00:32:17,130 so dass alle eine bedeutende Investition die mehr in die Unterstützung der Kurs 755 00:32:17,130 --> 00:32:20,170 Struktur in Bezug auf die TAs und die Zertifizierungsstellen, Öffnungszeiten, 756 00:32:20,170 --> 00:32:23,520 Abschnitte Verfügbarkeit und digitale Materialien online, als auch. 757 00:32:23,520 --> 00:32:27,489 Denn in Bezug auf den Kurs des Vortrag, sind wir heute hier. 758 00:32:27,489 --> 00:32:29,780 Und die Erwartungen dieser Jahr offiziell des Kurses 759 00:32:29,780 --> 00:32:32,370 sind heute teilnehmen, ist der Kurs letzte Vorlesung, und ein Kurs 760 00:32:32,370 --> 00:32:35,161 etwa in der Mitte des Semesters mit jedem Vortrag in zwischen 761 00:32:35,161 --> 00:32:37,280 allgemein zugänglich gemacht an einem Freitagnachmittag 762 00:32:37,280 --> 00:32:40,240 online, sowohl für Yale Studenten und Harvard-Studenten in diesem Jahr. 763 00:32:40,240 --> 00:32:42,090 Tatsächlich ist einer der grundlegende Änderungen ist 764 00:32:42,090 --> 00:32:44,310 dass wir die Annahme an Harvard ein Paradigma sehr viel 765 00:32:44,310 --> 00:32:46,570 wie wir hier im letzten Jahr und jetzt in diesem Jahr, 766 00:32:46,570 --> 00:32:50,300 so dass ähnlich, Film, den wir immer noch die meisten der Kurs Vorlesungen in Cambridge 767 00:32:50,300 --> 00:32:52,900 aber machen sie früher verfügbar als wir in der Vergangenheit 768 00:32:52,900 --> 00:32:55,540 so dass diejenigen von Sie--, wenn Sie möchte zum Beispiel an, 769 00:32:55,540 --> 00:32:58,400 erhalten einen Vorsprung auf Materialien am ersten Wochenende eher 770 00:32:58,400 --> 00:33:02,000 als das zweite Wochenende werden, haben Sie Zugang zu diesen Arten von Materialien, 771 00:33:02,000 --> 00:33:06,561 durchsuchbar, integrierbare, hyperlinkable zu verwandten Ressourcen die alle früher. 772 00:33:06,561 --> 00:33:09,560 In Bezug auf die Themen, die Sie geben, ein Gefühl für die trajectory-- Kurs 773 00:33:09,560 --> 00:33:12,365 und einige könnte dies sein Jargon für jetzt, aber nicht für lange, sicher sein. 774 00:33:12,365 --> 00:33:15,010 Wir werden heute beginnen, schließlich, mit Blick auf einen Programmier 775 00:33:15,010 --> 00:33:16,260 Sprache namens Scratch. 776 00:33:16,260 --> 00:33:19,380 Wir werden über danach nächste Woche etwas namens C 777 00:33:19,380 --> 00:33:22,140 und dann suchen Sie in anderen Gebäude Bausteine ​​für die Lösung von Problemen, 778 00:33:22,140 --> 00:33:26,230 Dinge genannt Arrays und Algorithmen, wie wir Speicher zu unserem Vorteil nutzen 779 00:33:26,230 --> 00:33:28,326 und Nachteile, und Dinge wie Datenstrukturen, 780 00:33:28,326 --> 00:33:31,200 und dann zu dem hinteren Ende der Klasse zu suchen maschinelles Lernen 781 00:33:31,200 --> 00:33:33,410 und schaut in eine andere Sprache namens Python, 782 00:33:33,410 --> 00:33:37,460 wie das Web funktioniert, wie das Internet mehr funktioniert im Allgemeinen, Protokolle wie HTTP, 783 00:33:37,460 --> 00:33:40,950 Sprachen für Datenbanken wie SQL, JavaScript für das Web, 784 00:33:40,950 --> 00:33:43,000 und schließlich binden alle zusammen diese. 785 00:33:43,000 --> 00:33:44,708 >> Und so in der Tat, bei der Ende des Tages, Sie 786 00:33:44,708 --> 00:33:50,250 werden nicht in dieser Klasse Scratch lernen oder C oder Python oder SQL oder JavaScript. 787 00:33:50,250 --> 00:33:53,560 Sie werden stattdessen lernen allgemeiner Informatik und die Fundamente 788 00:33:53,560 --> 00:33:55,790 davon, und Sie werden lernen, wie man programmiert 789 00:33:55,790 --> 00:33:58,800 in einer beliebigen Anzahl von diesen Sprachen auf dem Weg. 790 00:33:58,800 --> 00:34:00,970 Also in der Tat, eines der Ziele des Kurses am Ende 791 00:34:00,970 --> 00:34:04,160 ist der gesamte Verlauf des ausziehen Stützräder von den letzten Wochen 792 00:34:04,160 --> 00:34:06,710 so dass nach diesem können Sie kehren Sie zu Ihrer eigenen fields-- 793 00:34:06,710 --> 00:34:08,510 ob das oder nicht Informatik 794 00:34:08,510 --> 00:34:12,290 oder Maschinenbau, in der natürlichen Wissenschaften, Kunst, Geisteswissenschaften oder beyond-- 795 00:34:12,290 --> 00:34:14,720 und bringen einige dieser Natürlich Ideen und dieses Feld ist 796 00:34:14,720 --> 00:34:17,400 Ideen und praktische Fähigkeiten, um Ihre eigene Domain 797 00:34:17,400 --> 00:34:19,480 um Probleme darin zu lösen. 798 00:34:19,480 --> 00:34:22,990 >> Was wir hier mittlerweile tun in den meisten donnerstags nach dem heutigen Tag 799 00:34:22,990 --> 00:34:26,160 ist mit den Köpfen der Kurs führt was wir Lösungen nennen 800 00:34:26,160 --> 00:34:27,620 des Problems setzt Kurs. 801 00:34:27,620 --> 00:34:29,610 So wird jede Woche, wenn wir haben ein Problem festgelegt, werden wir 802 00:34:29,610 --> 00:34:32,900 zu Fuß an einem Ort durch wie dies die Herausforderungen der Kurs, 803 00:34:32,900 --> 00:34:35,582 bietet Ihnen einige Tipps und Tricks und Design-Techniken. 804 00:34:35,582 --> 00:34:37,540 Aber wenn Sie nicht in der Lage diejenigen, die in Person zu machen, 805 00:34:37,540 --> 00:34:39,760 realisieren die gleichen Ressourcen werden eingebettet 806 00:34:39,760 --> 00:34:41,590 von einem Verlauf der Lehrassistenten 807 00:34:41,590 --> 00:34:43,860 in dem Problem stellt sich, wie gut. 808 00:34:43,860 --> 00:34:47,124 >> Das Problem stellt in diesem Jahr, im Gegensatz zu im letzten Jahr, basierend auf dem Feedback, 809 00:34:47,124 --> 00:34:48,540 wird noch am Freitag veröffentlicht werden. 810 00:34:48,540 --> 00:34:51,310 Aber anstatt durch die nachfolgende Freitag, 811 00:34:51,310 --> 00:34:55,079 damit Sie nur sieben Tage damit, effektiv später fällig 10 Tage. 812 00:34:55,079 --> 00:34:57,620 Und in der Tat, wird dies bedeuten, dass sie werden von einem Wochenende überlappen. 813 00:34:57,620 --> 00:34:59,369 Aber wir hoffen, in diesem Jahr vor allem wird diese 814 00:34:59,369 --> 00:35:02,320 können die Schüler besser aufnehmen Ebbe und Flut in ihre Zeitpläne, 815 00:35:02,320 --> 00:35:05,040 ob es sich um Akademiker oder extracurriculars oder in der Leichtathletik 816 00:35:05,040 --> 00:35:06,280 oder midterm Saison. 817 00:35:06,280 --> 00:35:10,060 Sie können entweder Front-Last oder Back-Last Ihre Woche auf CS50 Fokussierung basiert 818 00:35:10,060 --> 00:35:12,400 auf Ihrem aktuellen Kurs Last eigene Woche. 819 00:35:12,400 --> 00:35:14,990 >> Das Problem stellt sich wird eine Reihe von Sprachen abdecken, 820 00:35:14,990 --> 00:35:17,990 obwohl wir konzentrieren überwiegend früh auf C 821 00:35:17,990 --> 00:35:23,040 bevor wir konzentrieren uns danach auf höhere Ebene, mehr Web-centric Sprachen. 822 00:35:23,040 --> 00:35:25,970 Und dann ein paar Fragen und Antworten hier-- sollten Sie eine Klasse wie CS50 nehmen 823 00:35:25,970 --> 00:35:26,900 als im ersten Jahr? 824 00:35:26,900 --> 00:35:27,970 So absolut. 825 00:35:27,970 --> 00:35:30,470 Und in der Tat ist es nicht notwendigerweise etwas 826 00:35:30,470 --> 00:35:34,440 Sie sollten warten, bis Sie schneiden haben Ihre Zähne auf andere Arten von Klassen. 827 00:35:34,440 --> 00:35:36,290 Aber vielmehr betrachten dass für viele Studenten, 828 00:35:36,290 --> 00:35:39,040 mich eingeschlossen wieder in den Tag, dies ist ein sehr unbekannten Gebiet, 829 00:35:39,040 --> 00:35:40,997 vor allem wenn Sie nie hat einen AP CSA nehmen 830 00:35:40,997 --> 00:35:42,580 oder so ähnlich in der High School. 831 00:35:42,580 --> 00:35:44,705 Aber erkennen, dass schon früh, ob es sich dieser Kurs 832 00:35:44,705 --> 00:35:47,900 oder eine andere Einführungskurs, Jetzt ist in der Tat die beste Zeit, 833 00:35:47,900 --> 00:35:52,082 Ich denke, einige neue Wege zu finden, oder einige neue wissenschaftliche Interesse, wie gut. 834 00:35:52,082 --> 00:35:55,040 Und dann nehmen mit anderen courses-- so einer der wichtigsten Unterschiede hier 835 00:35:55,040 --> 00:35:57,906 im Vergleich zu Harvard ist, dass wir nur nehmen vier Kurse pro Semester 836 00:35:57,906 --> 00:35:59,030 um aus irgendeinem Grund Harvard. 837 00:35:59,030 --> 00:36:01,494 Und ihr Jungs eigentlich ziehen Aus rund 36 Kurse in insgesamt 838 00:36:01,494 --> 00:36:04,410 über den Verlauf Ihrer vier Jahren das bedeutet in der Regel vier oder fünf 839 00:36:04,410 --> 00:36:05,040 Klassen. 840 00:36:05,040 --> 00:36:08,367 Und ich denke, es ist ziemlich fair zu sagen, und lehnen CS50, durch Design, ist 841 00:36:08,367 --> 00:36:10,700 wahrscheinlich nicht die Art der Klasse dass Sie sollten in der Regel 842 00:36:10,700 --> 00:36:13,680 nehmen mit vier anderen Kurse für insgesamt fünf 843 00:36:13,680 --> 00:36:16,249 weil psets sind durch Design ziemlich intensiv. 844 00:36:16,249 --> 00:36:18,040 Tatsächlich habe ich auch gelernt, diese wieder in den Tag. 845 00:36:18,040 --> 00:36:21,110 Ich würde CS50 nicht beschreiben und Informatik, Programmierung 846 00:36:21,110 --> 00:36:24,477 wie so viel schwer, wie es ist nur zeitaufwendig. 847 00:36:24,477 --> 00:36:26,560 Es ist nicht die Art der Sache wo nach dem Abendessen, Sie 848 00:36:26,560 --> 00:36:28,310 gehen Sie zurück zu Ihrem Wohnheim kann Zimmer, hinsetzen, und starten 849 00:36:28,310 --> 00:36:29,710 konzentriert sich auf die pset Denken, alles in Ordnung, 850 00:36:29,710 --> 00:36:31,340 Ich werde Knall this out heute Abend und dann bewegen 851 00:36:31,340 --> 00:36:33,000 zu meinem nächsten Thema am nächsten Tag. 852 00:36:33,000 --> 00:36:34,450 Manchmal treffen Sie nur eine Wand. 853 00:36:34,450 --> 00:36:35,690 Sie haben Fehler in Ihrem Code. 854 00:36:35,690 --> 00:36:37,900 Sie wissen nicht notwendigerweise wie ein Problem zu lösen. 855 00:36:37,900 --> 00:36:41,670 Und eines der wichtigsten Features von Programmierung für mich bis heute 856 00:36:41,670 --> 00:36:44,480 ist, dass Sie nur irgendwie nehmen müssen einen Schritt manchmal zurück, schlafen auf sie 857 00:36:44,480 --> 00:36:47,870 oder denken an sie über den Kurs von Joggen oder eine andere Tätigkeit, 858 00:36:47,870 --> 00:36:49,240 und dann frisch darauf zurückkommen. 859 00:36:49,240 --> 00:36:50,930 Und Sie brauchen nur diese Zeitfenster. 860 00:36:50,930 --> 00:36:52,910 >> Und in der Tat, das ist, warum wir haben die Zeitspanne verlängert, 861 00:36:52,910 --> 00:36:55,710 erhältlich für die Problemstellungen in diesem Jahr und auch, pro dieser URL 862 00:36:55,710 --> 00:36:57,950 Ich habe früher auf, als zu Das ist neu in diesem Semester, 863 00:36:57,950 --> 00:37:00,950 getrimmt setzt das Problem, so dass sie sind im Grunde nicht weniger streng, 864 00:37:00,950 --> 00:37:03,741 und die Imbissbuden sind nicht weniger, aber es gibt viel weniger Titelei, 865 00:37:03,741 --> 00:37:07,630 viel weniger Lauferei zu, die Sie benötigen tun an der Vorderseite jedes Problem Set, 866 00:37:07,630 --> 00:37:10,680 wie Sie sehen werden, bevor Sie tatsächlich tauchen in das Fleisch davon. 867 00:37:10,680 --> 00:37:13,500 So erkennen, dass diese und andere Veränderungen sind am Horizont 868 00:37:13,500 --> 00:37:16,490 zu einer besseren Studenten aufnehmen, aber letztlich, um sicherzustellen, 869 00:37:16,490 --> 00:37:18,860 dass die Imbissbuden sind in der Tat so hoch wie möglich. 870 00:37:18,860 --> 00:37:21,330 Während also mehr Arbeit, als es könnte in einer typischen Klasse sein, 871 00:37:21,330 --> 00:37:25,120 wir hoffen, dass die Renditen für Sie und die Take-away für Sie 872 00:37:25,120 --> 00:37:27,490 und die Fähigkeiten und Ideen mit dem verlassen Sie 873 00:37:27,490 --> 00:37:29,921 desto zwingender als Folge sind. 874 00:37:29,921 --> 00:37:32,420 Und bekommen Sie there-- und dies ist einer der Schlüssel zum Mitnehmen, 875 00:37:32,420 --> 00:37:35,470 wie Patrick erwähnt earlier-- ist Die Tragstruktur des Kurses. 876 00:37:35,470 --> 00:37:39,720 Also nicht nur hat CS50 eine von die größten Kurs-Mitarbeiter auf dem Campus. 877 00:37:39,720 --> 00:37:41,750 Es hat auch eine der die meisten Bachelor. 878 00:37:41,750 --> 00:37:43,700 Tatsächlich CS50 im vergangenen Jahr war die erste Klasse 879 00:37:43,700 --> 00:37:45,366 einen Bachelor-Lehrpersonal zu haben. 880 00:37:45,366 --> 00:37:48,570 Und Beweis für diesen Erfolg jetzt tun viele andere Kurse innerhalb von Yale CS 881 00:37:48,570 --> 00:37:49,500 haben, dass, wie gut. 882 00:37:49,500 --> 00:37:52,906 Und für Studenten, speziell, werden diese TAs und natürlich Assistenten 883 00:37:52,906 --> 00:37:55,030 unterstützen eine ganze Netzwerk von Support-Ressourcen, 884 00:37:55,030 --> 00:37:58,250 unter ihnen Teile oder Rezitationen, wöchentliche Chancen 885 00:37:58,250 --> 00:38:01,674 intimere Gespräche zu führen und Bewertungen von Material gezielt 886 00:38:01,674 --> 00:38:04,590 für verschiedene Spuren, für Studenten weniger bequem, bequemer, 887 00:38:04,590 --> 00:38:05,720 oder irgendwo dazwischen. 888 00:38:05,720 --> 00:38:08,886 Diese werden folgen die Verfügbarkeit von die Vorträge von mehreren Tagen pro Woche 889 00:38:08,886 --> 00:38:09,970 montags und dienstags. 890 00:38:09,970 --> 00:38:11,970 Und dann Büro hours-- One-on-One-Möglichkeiten 891 00:38:11,970 --> 00:38:15,490 um Hilfe aus dem Kurs CAs und TAs wird mittwochs und donnerstags 892 00:38:15,490 --> 00:38:18,400 und Sonntag an mehreren Zeiten, von denen alle 893 00:38:18,400 --> 00:38:22,180 wird auf den Kurs der Website veröffentlicht werden, noch mehr als im vergangenen Jahr, wie auch. 894 00:38:22,180 --> 00:38:25,501 >> Aber was ist Schlüssel zum CS50, wenn nicht zugegebenermaßen ein bisschen ungewöhnlich, 895 00:38:25,501 --> 00:38:27,750 ist die Kultur der Kurs, dass wir haben zu pflegen versucht, 896 00:38:27,750 --> 00:38:30,672 beide in Cambridge seit vielen Jahren und jetzt zuletzt in New Haven. 897 00:38:30,672 --> 00:38:33,130 Und in der Tat, kommen diese Samstag, wenn Sie nicht gehört haben, 898 00:38:33,130 --> 00:38:36,410 ist CS50 Puzzle Day, der hat nichts mit Informatik zu tun 899 00:38:36,410 --> 00:38:39,430 aber vollständig entwickelt zu schicken eine Meldung, dass der Informatik ist 900 00:38:39,430 --> 00:38:40,665 um Probleme zu lösen. 901 00:38:40,665 --> 00:38:43,540 Und in der Tat, wenn Sie möchten, dass Partner mit einem oder zwei oder drei Freunde 902 00:38:43,540 --> 00:38:46,150 und bilden ein Team für CS50 Puzzle-Tag, werfen Sie einen Blick 903 00:38:46,150 --> 00:38:48,010 bei den Anzeigen, die sich auf den Weg gibt. 904 00:38:48,010 --> 00:38:51,582 Und drei Stunden Pizza und Puzzles und Preise warten. 905 00:38:51,582 --> 00:38:53,290 Und in der Tat, für die Erstmals in diesem Jahr, 906 00:38:53,290 --> 00:38:54,873 es wird nicht gemeinsam mit der Harvard statt. 907 00:38:54,873 --> 00:38:57,530 Es wird an der Yale hier unabhängig sein. 908 00:38:57,530 --> 00:38:59,815 So halten Sie ein Auge für diejenigen, wenn Sie nicht haben. 909 00:38:59,815 --> 00:39:02,440 Die meisten jeden Freitag im Semester versuchen wir eine große Klasse zu machen 910 00:39:02,440 --> 00:39:06,710 sich klein und rund 50 Studenten bringen zum Mittagessen mit den Mitarbeitern des natürlich 911 00:39:06,710 --> 00:39:08,730 mit Alumni, Freunde aus der Industrie zu sprechen 912 00:39:08,730 --> 00:39:12,630 über das, was das Leben ist wie nach einer Klasse wie CS50 und über den Sommer 913 00:39:12,630 --> 00:39:14,250 und nach dem Abschluss. 914 00:39:14,250 --> 00:39:16,280 So halten Sie ein Auge für Einladungen zu dem. 915 00:39:16,280 --> 00:39:17,988 Zum ersten Mal immer wird in diesem Jahr wir 916 00:39:17,988 --> 00:39:21,420 Halten Sie die erste CS50-Codierung Wettbewerb, eine optionale Opt-in-Möglichkeit 917 00:39:21,420 --> 00:39:25,580 Mitte Semester, nachdem alle von uns gehabt haben etwa sechs oder sieben Wochen Programmierung 918 00:39:25,580 --> 00:39:30,100 in C unter den Gürtel zu konkurrieren, wenn Sie würde so wieder wählen-- 919 00:39:30,100 --> 00:39:32,460 auf teams-- versuchen, lösen, wie viele Herausforderungen 920 00:39:32,460 --> 00:39:36,160 wie Sie in der Programmierung können mit Freunde von Ihnen gegen andere. 921 00:39:36,160 --> 00:39:38,850 >> Und gegen das Heck des Semesters werden wir Charter einige Busse, 922 00:39:38,850 --> 00:39:40,850 tatsächlich einige Zeit verbringen wenn Sie in Cambridge, würde 923 00:39:40,850 --> 00:39:43,460 gerne zu uns, für die CS50 Hackathon so genannte. 924 00:39:43,460 --> 00:39:44,600 Am 07.00 werden wir beginnen. 925 00:39:44,600 --> 00:39:45,970 Gegen 9 Uhr werden wir Pizza haben. 926 00:39:45,970 --> 00:39:47,650 Rund um 01.00 Uhr, werden wir Burritos haben. 927 00:39:47,650 --> 00:39:50,550 Und noch jemand wach auf die Fahrt mit dem Bus nach Hause um 05.00 Uhr, 928 00:39:50,550 --> 00:39:54,070 wir werden für Pfannkuchen Stopp bei IHOP auf dem Weg home-- 929 00:39:54,070 --> 00:39:57,540 eine 12-Stunden-Gelegenheit einzutauchen sich mit Mitschülern und Personal 930 00:39:57,540 --> 00:39:59,950 in der letzten Projektkurs, was eine Gelegenheit 931 00:39:59,950 --> 00:40:01,870 zu gehen weit über die natürlich das Problem Sets 932 00:40:01,870 --> 00:40:05,950 und entwerfen und implementieren die meisten etwas für Sie von Interesse, 933 00:40:05,950 --> 00:40:09,170 das wird letztlich sein hier in Commons gekennzeichnet. 934 00:40:09,170 --> 00:40:12,510 Die erste CS50 Messe wurde zuletzt Jahr, eine End-of-Semesterausstellung 935 00:40:12,510 --> 00:40:15,460 oder eine Feier dessen, was jeder hatte in der Klasse erreicht, 936 00:40:15,460 --> 00:40:19,810 vor allem diejenigen, wieder, der ging von nichts zu etwas, von Null bis 60 ist, 937 00:40:19,810 --> 00:40:22,450 da sie keine vor Hintergrund und ausstellenden letztlich 938 00:40:22,450 --> 00:40:26,960 etwas für den gesamten Campus und, wenn online, auf der Welt, aber auch zu sehen. 939 00:40:26,960 --> 00:40:30,780 >> Nun, das sind hier nur einige der TAs und Zertifizierungsstellen, die CS50 möglich macht. 940 00:40:30,780 --> 00:40:33,034 Erlauben Sie mir, jeder einladen dieser Mitarbeiter 941 00:40:33,034 --> 00:40:35,700 die hier sind, auf die Bühne zu kommen, sowie die Köpfe des natürlich 942 00:40:35,700 --> 00:40:38,785 zu bieten einige Worte Inspiration, wie gut. 943 00:40:38,785 --> 00:41:03,138 944 00:41:03,138 --> 00:41:03,950 >> ANDI: Hallo, Jungs. 945 00:41:03,950 --> 00:41:05,290 Könnt ihr mich hören? 946 00:41:05,290 --> 00:41:10,260 Vielen Dank für uns auf dieser Beitritt schön, am Nachmittag regnerischen Donnerstag. 947 00:41:10,260 --> 00:41:11,010 Mein Name ist Andi. 948 00:41:11,010 --> 00:41:12,070 Ich bin ein Junior in Berkeley. 949 00:41:12,070 --> 00:41:17,250 Und zusammen mit Stelios und Sommer, wir werden Ihre drei Kopf Lehre sein 950 00:41:17,250 --> 00:41:19,277 Assistenten für dieses kommende Jahr. 951 00:41:19,277 --> 00:41:21,110 Also, ich denke, Show hands-- wie viele von Ihnen 952 00:41:21,110 --> 00:41:26,680 haben nicht die Absicht, ein CS des Seins Dur noch wirklich tauchen tief 953 00:41:26,680 --> 00:41:29,930 in Informatik als hier Major? 954 00:41:29,930 --> 00:41:30,520 Genial. 955 00:41:30,520 --> 00:41:32,730 Das ist hervorragend. 956 00:41:32,730 --> 00:41:35,850 >> Ich bin also eigentlich um eine globale Angelegenheiten und Kognitionswissenschaft Dur. 957 00:41:35,850 --> 00:41:37,780 Ich kam buchstäblich zu Yale mit der Absicht, 958 00:41:37,780 --> 00:41:42,199 nie mit auf eine zu suchen Nummer nie wieder in meinem Leben. 959 00:41:42,199 --> 00:41:44,990 Als ich nach Yale kam, war dies etwas, das nie auf meinem Radar war. 960 00:41:44,990 --> 00:41:46,460 Ich wollte über Poesie zu lernen. 961 00:41:46,460 --> 00:41:48,500 Ich wollte darüber zu erfahren, internationale Angelegenheiten. 962 00:41:48,500 --> 00:41:50,510 Ich wollte darüber zu erfahren, Aquarellzeichnungen. 963 00:41:50,510 --> 00:41:53,360 Ja, wir bieten eine Klasse auf Aquarellzeichnungen. 964 00:41:53,360 --> 00:41:57,340 >> Aber ich war nie wirklich interessiert in etwas verwandten STEM. 965 00:41:57,340 --> 00:41:59,620 Aber dann je älter ich bekam, erkannte, je mehr ich 966 00:41:59,620 --> 00:42:03,340 dass jedes Feld wirklich in einigen Sinn beschäftigt Informatik, 967 00:42:03,340 --> 00:42:05,700 oder wenn nicht Informatik, Berechnung. 968 00:42:05,700 --> 00:42:08,300 In der Tat, für meine globalen Angelegenheiten capstone Projekt, 969 00:42:08,300 --> 00:42:12,020 wir verwenden Datenanalyse Terroranschläge zu analysieren 970 00:42:12,020 --> 00:42:13,680 für Boko Haram in Nigeria. 971 00:42:13,680 --> 00:42:17,510 Und so wie Sie sehen können, und zwar unabhängig von welchem ​​Haupt Sie am Ende der Verfolgung 972 00:42:17,510 --> 00:42:21,640 oder was Ihre Interessen hier in Yale sind, die Programmierung und die Fundamente 973 00:42:21,640 --> 00:42:24,130 von was auch immer Fähigkeiten sind super nützlich. 974 00:42:24,130 --> 00:42:29,840 Und CS50 ist wirklich gut gerüstet Art verleihen der viele seiner Ressourcen 975 00:42:29,840 --> 00:42:32,060 Ihnen, unabhängig davon, wie gut Sie sind 976 00:42:32,060 --> 00:42:34,590 oder, wie interessiert Sie in der Klasse zu verfolgen. 977 00:42:34,590 --> 00:42:37,290 >> Sommer wird ein wenig zu reden Bit über das, was ihr seid 978 00:42:37,290 --> 00:42:39,635 geht dieses Jahr zu lernen. 979 00:42:39,635 --> 00:42:40,510 SOMMER: Hallo, alle zusammen. 980 00:42:40,510 --> 00:42:41,320 Ich bin Sommer Wu. 981 00:42:41,320 --> 00:42:43,090 Ich bin ein Junior in Morse. 982 00:42:43,090 --> 00:42:48,100 Und ich begann tatsächlich aus als CS50 Schüler selbst. 983 00:42:48,100 --> 00:42:51,460 So vor drei Jahren war ich auf eine Lücke Jahr. 984 00:42:51,460 --> 00:42:53,940 Ich hatte noch nie ein CS genommen Klasse in der High School, 985 00:42:53,940 --> 00:42:57,800 aber ich dachte, dass in meiner Freizeit, es wäre cool, zu lernen, wie man Code. 986 00:42:57,800 --> 00:43:02,610 Also habe ich eine schnelle Google-Suche, sah für das, was online verfügbar, 987 00:43:02,610 --> 00:43:06,990 und sah dieses Video mit Muppets und DJs und coole Websites. 988 00:43:06,990 --> 00:43:09,450 Ich war wie, ich will lernen, wie das zu tun. 989 00:43:09,450 --> 00:43:14,690 >> Also nahm ich den Kurs, und ich nur verliebte sich in sie. 990 00:43:14,690 --> 00:43:20,410 Aber ich erinnere mich so neidisch auf das Wesen Kinder, die den Hackathon teilnehmen konnten, 991 00:43:20,410 --> 00:43:24,610 besuchen Puzzle Tag, besuchen Büro Stunden, Hilfe von Tutoren persönlich bekommen. 992 00:43:24,610 --> 00:43:27,410 Und so stellte ich mir nie dass ich würde die Chance bekommen, 993 00:43:27,410 --> 00:43:30,640 hier einbezogen werden in der Kurs, erste bekam 994 00:43:30,640 --> 00:43:33,630 mich interessiert sich für Computer Wissenschaft und ist der Grund, warum 995 00:43:33,630 --> 00:43:35,690 Ich bin ein Informatik-Dur heute. 996 00:43:35,690 --> 00:43:39,290 Also werde ich Sie warnen, diese Klasse wird Sie zu strecken. 997 00:43:39,290 --> 00:43:41,120 Es wird Sie herausfordern. 998 00:43:41,120 --> 00:43:43,910 Aber es wird auch zu beibringen, wie man Dinge tun 999 00:43:43,910 --> 00:43:45,506 dass Sie nie gedacht man könnte. 1000 00:43:45,506 --> 00:43:49,330 1001 00:43:49,330 --> 00:43:52,160 >> STELIOS: Hallo, alle zusammen. 1002 00:43:52,160 --> 00:43:53,510 Mein Name ist Stelios. 1003 00:43:53,510 --> 00:43:58,240 Ich bin ein Junior in Branford College und ein CS-Dur. 1004 00:43:58,240 --> 00:44:01,640 Ich bin auch von Athen, Griechenland. 1005 00:44:01,640 --> 00:44:03,830 Ich freue mich wirklich zu allen von Ihnen zu treffen, 1006 00:44:03,830 --> 00:44:09,010 Chat mit Ihnen in Abschnitt, an Bürozeiten am Freitag Mittag. 1007 00:44:09,010 --> 00:44:11,250 Ich bin wirklich aufgeregt, weil wir haben so viel Mühe geben 1008 00:44:11,250 --> 00:44:14,650 in eine einzigartige Unterstützung zu schaffen Struktur für alle von Ihnen 1009 00:44:14,650 --> 00:44:19,170 machen Sie Ihre Erfahrungen mit die natürlich die bestmögliche. 1010 00:44:19,170 --> 00:44:22,640 Und ich hoffe, dass, obwohl die meisten Sie haben wahrscheinlich kein CS genommen 1011 00:44:22,640 --> 00:44:27,310 Kurs vor, ich hoffe, das ist CS50 Sie ist das, was Interesse Funken 1012 00:44:27,310 --> 00:44:30,260 weiter Computer verfolgen Wissenschaft in der Zukunft, 1013 00:44:30,260 --> 00:44:33,270 wie es mit so getan viele Menschen in der Vergangenheit. 1014 00:44:33,270 --> 00:44:36,740 Also vielen Dank für Ihre hier, aufgeregt, Sie zu sehen. 1015 00:44:36,740 --> 00:44:38,487 Jason Hirschhorn. 1016 00:44:38,487 --> 00:44:39,820 JASON HIRSCHHORN: Hallo, alle. 1017 00:44:39,820 --> 00:44:41,700 Mein Name ist Jason Hirschhorn. 1018 00:44:41,700 --> 00:44:43,050 Ich lebe in Silliman. 1019 00:44:43,050 --> 00:44:46,910 Und ich ging nach Harvard als under und studierte Sozialwissenschaften 1020 00:44:46,910 --> 00:44:48,870 und in der Informatik minored. 1021 00:44:48,870 --> 00:44:53,100 Und eine meiner Hauptrollen hier ist dieses wunderbare Personal zu unterstützen 1022 00:44:53,100 --> 00:44:54,630 wie sie unterstützen Sie alle. 1023 00:44:54,630 --> 00:44:56,410 In der Tat ist dies von ihnen nicht alle. 1024 00:44:56,410 --> 00:45:01,230 Es gibt 55 Diplomanden und Absolventen hier, Sie alle zu unterstützen. 1025 00:45:01,230 --> 00:45:04,420 Und ich wage zu behaupten, eine der besten Teile des Kurses für Sie 1026 00:45:04,420 --> 00:45:08,080 alles wird immer mit zu arbeiten sie, sie kennen zu lernen, 1027 00:45:08,080 --> 00:45:12,389 bekommen sie zu sehen, die beide in CS50 und außerhalb des CS50 in diesem Semester 1028 00:45:12,389 --> 00:45:13,680 und für viele Semester zu kommen. 1029 00:45:13,680 --> 00:45:16,770 Hoffentlich werde Sie die Natürlich, weil hoffentlich 1030 00:45:16,770 --> 00:45:21,060 erhalten mit der Interaktion wunderbares Personal haben wir auf der Bühne. 1031 00:45:21,060 --> 00:45:24,977 >> SPRECHER: Nun, lassen Sie mich ausreden mit den Worten: es wird Spaß machen. 1032 00:45:24,977 --> 00:45:26,810 DAVID MALAN: Nun, Dank unseres gesamten Teams. 1033 00:45:26,810 --> 00:45:29,610 Erlauben Sie mir, das Licht zu dimmen und etwas mehr von unserem Team ermöglichen, 1034 00:45:29,610 --> 00:45:32,890 sowohl von Cambridge und New Haven, Hallo zu sagen, wie diese Jungs aus Datei. 1035 00:45:32,890 --> 00:45:36,130 Und danach werden wir den Übergang zu das erste unserer Programmierung Engagements 1036 00:45:36,130 --> 00:45:37,584 mit dieser Sprache namens Scratch. 1037 00:45:37,584 --> 00:45:38,500 Also vielen Dank an das Team. 1038 00:45:38,500 --> 00:45:40,770 Lassen Sie uns die Lichter dimmen und hören von einigen anderen. 1039 00:45:40,770 --> 00:45:44,207 >> [BEIFALL] 1040 00:45:44,207 --> 00:45:45,680 1041 00:45:45,680 --> 00:45:48,140 >> [VIDEO-WIEDERGABE] 1042 00:45:48,140 --> 00:45:53,210 >> -Die Mission von CS50 ist es, Ihnen zu machen wohler mit einer völlig neuen Art und Weise 1043 00:45:53,210 --> 00:45:54,947 des Denkens, diese Rechen Mentalität. 1044 00:45:54,947 --> 00:45:56,780 -Es Gemacht Informatik interessant, die 1045 00:45:56,780 --> 00:46:00,241 ist etwas, das ich nicht wirklich erkennen, möglich war, bis ich die Klasse nahm. 1046 00:46:00,241 --> 00:46:00,990 -Ich War wie, whoa. 1047 00:46:00,990 --> 00:46:04,120 Ich übersetze wirklich meine Gedanken in diesem Augenblick einen Computer. 1048 00:46:04,120 --> 00:46:07,970 >> -Auch Wenn Sie irgendeinen Hintergrund nicht haben in der Informatik oder jede Erfahrung, 1049 00:46:07,970 --> 00:46:10,140 das ist eigentlich die Klasse für Sie. 1050 00:46:10,140 --> 00:46:12,250 >> -So Ich möchte auf jeden Fall meine Schüler nur 1051 00:46:12,250 --> 00:46:14,350 Aufregendes Informatik. 1052 00:46:14,350 --> 00:46:17,187 Nicht nur die Programmierung, aber Denken wie ein Informatiker 1053 00:46:17,187 --> 00:46:19,270 wirklich ist, was ich will versuchen, meinem ersten zu unterrichten. 1054 00:46:19,270 --> 00:46:21,560 >> -CS50 Ist hart und lohnend. 1055 00:46:21,560 --> 00:46:22,592 >> -Ein Erlebnis. 1056 00:46:22,592 --> 00:46:23,456 >> -Extravaganza. 1057 00:46:23,456 --> 00:46:26,350 >> -Es Ist uns auf die nächste Ebene zu bringen. 1058 00:46:26,350 --> 00:46:28,850 >> [MUSIK SPIELEN] 1059 00:46:28,850 --> 00:46:32,167 >> -Die TFs sind, glaube ich, die Lebenselixier des Kurses. 1060 00:46:32,167 --> 00:46:34,560 >> -Ich Bin aufgeregt zu haben meine Studenten Ich helfe 1061 00:46:34,560 --> 00:46:38,027 haben, dass aha Moment zu erkennen, was sie tatsächlich versuchen, 1062 00:46:38,027 --> 00:46:39,610 zu tun, um herauszufinden, wie ein pset zu tun. 1063 00:46:39,610 --> 00:46:41,438 >> -CS50 Ist auf jeden Fall ein harter Kurs. 1064 00:46:41,438 --> 00:46:43,960 Aber im Gegensatz zu allen anderen Kurs wirklich in Yale, 1065 00:46:43,960 --> 00:46:45,759 es hat eine so große, unterstützende Gemeinschaft. 1066 00:46:45,759 --> 00:46:47,550 -Sie Tun absolut nicht müssen nichts wissen 1067 00:46:47,550 --> 00:46:49,341 über Codierung der Lage sein, den Kurs zu nehmen. 1068 00:46:49,341 --> 00:46:52,270 -Es Ist erstaunlich, wie weit zu sehen Menschen kommen in einem Semester. 1069 00:46:52,270 --> 00:46:55,610 >> -Sie Saßen nicht allein in Ihr Zimmer Code lernen, 1070 00:46:55,610 --> 00:46:57,170 aber es war mehr als nur eine Klasse. 1071 00:46:57,170 --> 00:46:58,044 Es war ein Erlebnis. 1072 00:46:58,044 --> 00:47:02,500 -Der Beste Weg, Konzepte zu lernen und zu verarbeiten, sie durch die Lehre andere. 1073 00:47:02,500 --> 00:47:04,033 >> -Was Ist das Telefon Split? 1074 00:47:04,033 --> 00:47:06,934 >> [MUSIK SPIELEN] 1075 00:47:06,934 --> 00:47:08,080 >> -Und Das ist CS50. 1076 00:47:08,080 --> 00:47:10,810 >> [MUSIK SPIELEN] 1077 00:47:10,810 --> 00:47:11,720 1078 00:47:11,720 --> 00:47:12,380 >> -Das Ist CS50. 1079 00:47:12,380 --> 00:47:13,446 >> -Hab ein Problem? 1080 00:47:13,446 --> 00:47:14,852 Reißen Sie es in zwei Hälften. 1081 00:47:14,852 --> 00:47:15,804 >> [MUSIK SPIELEN] 1082 00:47:15,804 --> 00:47:18,184 >> Wirf es weg. 1083 00:47:18,184 --> 00:47:19,520 >> DAVID MALAN: Alles in Ordnung. 1084 00:47:19,520 --> 00:47:23,190 Also lassen Sie uns tackle-- in einem kleinen Bit, nebenbei bemerkt, ist es 1085 00:47:23,190 --> 00:47:25,270 diese Tradition seit einen Grund für 10 Jahre 1086 00:47:25,270 --> 00:47:27,260 dienen Kuchen bei der Start und das Ende des CS50. 1087 00:47:27,260 --> 00:47:30,800 So erwarten Sie am Ende heute, zusätzlich zu den Curricula, 1088 00:47:30,800 --> 00:47:34,270 wird auch ein Stück Kuchen, und die Mitarbeiter der Kurs um Hallo zu sagen. 1089 00:47:34,270 --> 00:47:37,110 Aber jetzt wollen wir Übergang in die erste unserer Sprachen, in denen 1090 00:47:37,110 --> 00:47:40,970 wir verbringen wirklich nur eine Woche und ein Problem setzen auf dieser Domain, Scratch. 1091 00:47:40,970 --> 00:47:43,160 Und Sie werden feststellen, wenn Sie haben programmiert vor, viele 1092 00:47:43,160 --> 00:47:46,280 der Ideen und der Möglichkeiten stehen Ihnen vertraut. 1093 00:47:46,280 --> 00:47:48,160 Aber Sie werden feststellen, dass es ist Spaß auf dem Weg 1094 00:47:48,160 --> 00:47:51,201 um herauszufinden, wie genau zu übersetzen einige der Ideen, die Sie bereits kennen 1095 00:47:51,201 --> 00:47:53,852 dieser besonderen Umgebung Beeindrucken Sie Ihre Familie wirklich 1096 00:47:53,852 --> 00:47:57,060 und Freunde mit Ihrer Arbeit, die kann online gehen, wenn Sie so wählen, danach. 1097 00:47:57,060 --> 00:47:58,851 >> Und wenn Sie nicht Vorkenntnisse und sind 1098 00:47:58,851 --> 00:48:01,540 bei der Mehrheit der Studenten weniger komfortabel, 1099 00:48:01,540 --> 00:48:05,320 erkennen, dass viele der Ideen, die wir nur mit reality-- Dinge erforscht 1100 00:48:05,320 --> 00:48:07,970 wie Telefon-Bücher und die Teilnahme und so forth-- übersetzen 1101 00:48:07,970 --> 00:48:12,280 ziemlich gut an einen Computer, aber nicht, wenn Sie verwenden, 1102 00:48:12,280 --> 00:48:13,710 zunächst eine Sprache wie diese. 1103 00:48:13,710 --> 00:48:16,290 Das ist also ein Programm geschrieben in einer Sprache namens C. 1104 00:48:16,290 --> 00:48:18,590 Und wir verbringen ziemlich viel Zeit in C schließlich. 1105 00:48:18,590 --> 00:48:22,560 Aber Chancen sind, wird dies ein bisschen aussehen auf den ersten Blick Sie kryptisch. 1106 00:48:22,560 --> 00:48:25,760 In der Tat gibt es eine Menge von seltsamen Syntax, Klammern, eckige Klammern, 1107 00:48:25,760 --> 00:48:27,422 geschweiften Klammern, Zitate und Semikolons. 1108 00:48:27,422 --> 00:48:29,880 Und in der Tat, wenn Sie tauchen ein in Programmierung zum ersten Mal 1109 00:48:29,880 --> 00:48:33,420 Blick auf und versuchen, Dinge zu schaffen wie diese, Sie bekommen ehrlich, so verstrickt 1110 00:48:33,420 --> 00:48:36,500 so oft in nur dumm Minutien, die nichts 1111 00:48:36,500 --> 00:48:38,240 intellektuell interessant darüber. 1112 00:48:38,240 --> 00:48:40,980 >> Aber wenn Sie sich vorstellen schaffen könnte diese gleiche program-- die, 1113 00:48:40,980 --> 00:48:46,200 wie Sie Art könnte, wahrscheinlich folgern druckt "Hallo, Welt" so oder so. 1114 00:48:46,200 --> 00:48:49,850 Wir können das gleiche Idee destillieren in nur zwei Puzzleteile, wenn man so will. 1115 00:48:49,850 --> 00:48:52,850 Tatsächlich Scratch ist interessant denn es ist diese grafische Sprache. 1116 00:48:52,850 --> 00:48:56,110 Sie können diese per Drag & Drop Puzzle-Teile, die nur Verriegelung 1117 00:48:56,110 --> 00:48:57,940 wenn es logisch, sinnvoll ist, dies zu tun. 1118 00:48:57,940 --> 00:48:59,830 Und so in Scratch, Wir werden bald sehen, das ist 1119 00:48:59,830 --> 00:49:03,460 wie würden Sie implementieren die gleiche Programm, mit nur zwei Puzzleteile 1120 00:49:03,460 --> 00:49:05,420 das ist ziemlich viel zu tun, was sie sagen. 1121 00:49:05,420 --> 00:49:08,870 >> Aber wir werden in nur einem Augenblick sehen, dass einige der Bausteine, die wir angespielt 1122 00:49:08,870 --> 00:49:12,140 zu früheren und ein paar mehr sind alles, was schließlich gehen zu bilden 1123 00:49:12,140 --> 00:49:13,460 einige unserer frühesten Programme. 1124 00:49:13,460 --> 00:49:15,460 Wir gehen die Dinge zu haben, wie functions-- nur 1125 00:49:15,460 --> 00:49:18,034 Aktionen, die etwas tun, wie sagen, hallo, Welt. 1126 00:49:18,034 --> 00:49:20,200 Wir gehen Schleifen zu haben, Dinge, die Zyklen induzieren 1127 00:49:20,200 --> 00:49:23,210 immer wieder, wie wir gerade ein Moment habe vor mit der Suche 1128 00:49:23,210 --> 00:49:24,110 Mike Smith. 1129 00:49:24,110 --> 00:49:27,190 Variablen, wie in der Algebra, wenn Sie haben x oder y, die eine Anzahl speichern kann. 1130 00:49:27,190 --> 00:49:29,940 Nun, in einem Programm, können Sie tatsächlich speichern mehr als nur Zahlen. 1131 00:49:29,940 --> 00:49:34,290 Sie können Wörter und Sätze speichern und Grafiken und andere Dinge noch. 1132 00:49:34,290 --> 00:49:37,530 Booleschen Ausdrücken, nur questions-- ja oder nein, wahr oder falsch. 1133 00:49:37,530 --> 00:49:40,680 Bedingungen, die Entscheidungen basierend auf diesen Ja / Nein-Antworten. 1134 00:49:40,680 --> 00:49:43,890 >> Und dann ausgefallenere Dinge wie Array und Themen und Ereignisse 1135 00:49:43,890 --> 00:49:46,100 und eine beliebige Anzahl anderer Eigenschaften, aber alle davon 1136 00:49:46,100 --> 00:49:48,670 Karte sehr gut bis sehr freundliche Blöcke wie diese. 1137 00:49:48,670 --> 00:49:52,736 Das wird eine Funktion, eine zu sein lila Puzzlestück, das nur sagt 1138 00:49:52,736 --> 00:49:54,717 was sein Name in diesem Fall ist--, sagen. 1139 00:49:54,717 --> 00:49:56,550 Und dann oft, gibt es ein weißes Feld, dass Sie 1140 00:49:56,550 --> 00:49:58,550 kann geben Sie einen Wert in oder ziehen. 1141 00:49:58,550 --> 00:50:01,370 Und das ist, was in der Regel ein Argument oder ein Parameter genannt. 1142 00:50:01,370 --> 00:50:04,110 Es ist ein Weg, der zur Veränderung Standardverhalten eines Puzzles 1143 00:50:04,110 --> 00:50:07,530 Stück oder eine Funktion, so dass es tut etwas speziell für Sie wie zu sagen, 1144 00:50:07,530 --> 00:50:12,570 hallo, Welt oder hallo, Andy oder hallo, Jason oder ein anderer Satz statt. 1145 00:50:12,570 --> 00:50:15,830 >> Wenn Sie wollen, dass ein zu sagen, lot-- buchstäblich forever-- 1146 00:50:15,830 --> 00:50:18,142 Sie können eine andere nehmen Puzzlestück für immer genannt 1147 00:50:18,142 --> 00:50:20,100 und nur sandwichartig die zwei wie folgt zusammen. 1148 00:50:20,100 --> 00:50:24,090 Und das Schleife, wie das Bild vermuten lässt, hallo bedeutet nur sagen, Welt für immer, 1149 00:50:24,090 --> 00:50:25,810 wieder und wieder und wieder. 1150 00:50:25,810 --> 00:50:28,840 Oder, wenn Sie wollen es nur eine zu tun finite Anzahl von Malen, wie das 50-fache, 1151 00:50:28,840 --> 00:50:32,050 es geht um eine andere Rätsel zu sein Stück für dass-- wiederholen 50 mal. 1152 00:50:32,050 --> 00:50:34,190 >> Inzwischen, wenn Sie wollen haben eine veränderliche 1153 00:50:34,190 --> 00:50:36,090 in dieser Sprache sind wir etwa mit zu spielen, 1154 00:50:36,090 --> 00:50:37,880 Sie können einen orangefarbenen Block wie folgt verwenden. 1155 00:50:37,880 --> 00:50:40,750 Und diese Variable I willkürlich i für ganze Zahl genannt. 1156 00:50:40,750 --> 00:50:42,290 Und ich brachte es nur gleich 0. 1157 00:50:42,290 --> 00:50:44,780 Und so vielleicht ich, in dieser Fall-- diese'variable 1158 00:50:44,780 --> 00:50:46,630 stellt in einem Spiel der Gäste jemand. 1159 00:50:46,630 --> 00:50:49,680 Sie beginnen bei Null, und jedes Mal, wenn Sie machen, ein Ziel oder so etwas, 1160 00:50:49,680 --> 00:50:51,270 Sie erhalten einen zusätzlichen Punkt. 1161 00:50:51,270 --> 00:50:52,830 >> Sie können Fragen in Scratch fragen. 1162 00:50:52,830 --> 00:50:55,390 Wenn wir ziehen und Puzzle-Drop Stücke in einem Moment wie diesem, 1163 00:50:55,390 --> 00:50:58,470 Sie können wie Fragen stellen, gut, ich weniger als 50? 1164 00:50:58,470 --> 00:51:00,060 Vielleicht brauchen Sie 50 Punkte zu gewinnen. 1165 00:51:00,060 --> 00:51:01,893 Und so wäre dies die Frage, die Sie fragen würde. 1166 00:51:01,893 --> 00:51:04,030 Oder, allgemeiner, Sie sagen kann, ist x kleiner als y, 1167 00:51:04,030 --> 00:51:05,780 wo gibt es zwei Variablen beteiligt? 1168 00:51:05,780 --> 00:51:08,320 Nun, dies ist ein viel größer auf den ersten Blick 1169 00:51:08,320 --> 00:51:11,470 aber wirklich nicht allzu viel komplexer. 1170 00:51:11,470 --> 00:51:15,390 >> Dies ist nur eine Kombination von Bedingungen und Variablen 1171 00:51:15,390 --> 00:51:19,370 und Booleschen Ausdrücken zu stellen drei questions-- ist x kleiner als y? 1172 00:51:19,370 --> 00:51:20,660 Wenn ja, so sagen. 1173 00:51:20,660 --> 00:51:22,170 Sprich: x kleiner als y. 1174 00:51:22,170 --> 00:51:26,571 Sonst, wenn x größer ist als y, sonst muss x bis y gleich sein. 1175 00:51:26,571 --> 00:51:29,070 Und während bei Mike Smith, gab es vier Szenarien, hier 1176 00:51:29,070 --> 00:51:32,270 in der Welt der Zahlen, x entweder kleiner als, größer als oder gleich. 1177 00:51:32,270 --> 00:51:34,531 Alles, was wir haben, sind drei Gabeln in der Straße. 1178 00:51:34,531 --> 00:51:36,530 Und dann gibt es schicker Puzzleteile wie dieses 1179 00:51:36,530 --> 00:51:39,613 für Dinge wie Arrays, wo wir sind gehen in der Lage sein, Informationen zu speichern. 1180 00:51:39,613 --> 00:51:43,590 Wir werden Blöcke, um zu sehen, mit denen us mehrere Threads zu implementieren, 1181 00:51:43,590 --> 00:51:46,620 wir werden eine andere Funktion zu verwenden, und dann etwas auch Ereignisse genannt. 1182 00:51:46,620 --> 00:51:49,390 Aber bevor wir dazu kommen Punkt und schaffen sogar, 1183 00:51:49,390 --> 00:51:52,000 letztlich unsere eigene Puzzleteile, lassen Sie uns 1184 00:51:52,000 --> 00:51:53,950 öffnen tatsächlich das Programm selbst. 1185 00:51:53,950 --> 00:51:54,860 >> Das ist also Scratch. 1186 00:51:54,860 --> 00:51:57,490 Es ist bei scratch.mit.edu zur Verfügung. 1187 00:51:57,490 --> 00:51:59,650 Und Sie sind willkommen zu spielen jetzt oder später, wie auch. 1188 00:51:59,650 --> 00:52:01,330 Dies geschieht, die Offline-Version zu sein. 1189 00:52:01,330 --> 00:52:03,129 Für Menschen, die dies nicht tun haben notwendigerweise große Internet, 1190 00:52:03,129 --> 00:52:04,962 Sie können den Download gleiche Software, wie gut. 1191 00:52:04,962 --> 00:52:07,460 Und es gibt wirklich nur drei Komponenten dieser Software. 1192 00:52:07,460 --> 00:52:10,860 Auf der linken oberen Ecke der Bildschirm ist die Art von der Bühne 1193 00:52:10,860 --> 00:52:13,800 dass Scratch, die standardmäßig sieht aus wie eine Katze, innen lebt. 1194 00:52:13,800 --> 00:52:16,799 Er kann nach oben, unten bewegen, nach links und rechts und tun eine beliebige Anzahl von anderen Dingen, 1195 00:52:16,799 --> 00:52:20,520 und kann eine beliebige Anzahl von Möglichkeiten suchen, basierend auf die Kostüme, die Sie ihm zuweisen. 1196 00:52:20,520 --> 00:52:22,980 Aber das ist, was wir einen Anruf Sprite, eine Art von Charakter. 1197 00:52:22,980 --> 00:52:25,429 Und Sie können mehrere haben Zeichen, wie wir bald sehen. 1198 00:52:25,429 --> 00:52:30,060 >> In der Mitte sind jetzt alle diese Rätsel Stücke und diese Kategorien oder Paletten 1199 00:52:30,060 --> 00:52:30,900 davon. 1200 00:52:30,900 --> 00:52:32,429 So jetzt, klickte ich auf Motion. 1201 00:52:32,429 --> 00:52:35,900 Und so sah ich all die Bewegung bezogenen Puzzleteile oder Blöcke, 1202 00:52:35,900 --> 00:52:37,950 so Funktionen haben zu tun mit oben gehen, 1203 00:52:37,950 --> 00:52:39,950 unten, links oder rechts oder einige andere Operation. 1204 00:52:39,950 --> 00:52:43,790 Aber wenn ich auf Sieht aus geklickt haben, Sie sehen konnte, Dinge wie die sagen Block 1205 00:52:43,790 --> 00:52:45,084 dass wir sahen vor einem Augenblick gerade. 1206 00:52:45,084 --> 00:52:48,250 Und wenn ich auf der Control klicken, werden Sie sehen, Dinge wie die Wiederholung und die für immer 1207 00:52:48,250 --> 00:52:50,410 und der, wenn Block, wir sahen vor einem Augenblick. 1208 00:52:50,410 --> 00:52:51,670 >> Und so werden Sie feststellen, dass wir nur kratzen 1209 00:52:51,670 --> 00:52:53,750 die Oberfläche von einigen der Puzzleteile zusammen, 1210 00:52:53,750 --> 00:52:55,833 aber es ist alles recht intuitiv und Punkt und klicken. 1211 00:52:55,833 --> 00:52:58,219 Tatsächlich wurde Scratch entworfen für jüngere Schüler 1212 00:52:58,219 --> 00:53:00,730 helfen Sie ihnen einen Ausgang geben für kreatives Denken. 1213 00:53:00,730 --> 00:53:03,040 Und doch wunderbar, es ist ein wunderbares Sprungbrett 1214 00:53:03,040 --> 00:53:07,020 um genau die Ideen werden wir zu erforschen in C und Python und JavaScript, 1215 00:53:07,020 --> 00:53:07,719 als auch. 1216 00:53:07,719 --> 00:53:11,960 >> Auf der rechten Seite schließlich hier dies ist die so genannte Bereich Skripten. 1217 00:53:11,960 --> 00:53:15,750 Und das ist nur die leere Tafel mit die Sie beginnen, ein Programm zu schreiben. 1218 00:53:15,750 --> 00:53:16,897 Und ich werde genau das. 1219 00:53:16,897 --> 00:53:19,980 Nun, ich weiß zufällig, wo die Dinge sind denn ich habe dies einige Male getan. 1220 00:53:19,980 --> 00:53:22,710 Aber ich weiß, dass unter die Ereignisse der Kategorie, 1221 00:53:22,710 --> 00:53:25,520 da ist dieser Block hier-- wenn grüne Fahne geklickt. 1222 00:53:25,520 --> 00:53:28,790 Und merken, wenn ich vergrößern und zurück in mehr als hier auf der Bühne, 1223 00:53:28,790 --> 00:53:31,190 Scratch Leben innerhalb dieser kleine rechteckige Welt, 1224 00:53:31,190 --> 00:53:33,920 oben auf dem ein grün Flagge und ein rotes Stoppschild. 1225 00:53:33,920 --> 00:53:36,180 So gehen und aufhören, respectively. 1226 00:53:36,180 --> 00:53:38,710 >> Und so was muss ich tun möchte, wenn die grüne Fahne geklickt? 1227 00:53:38,710 --> 00:53:40,900 Nun, lassen Sie mich gehen, um diese Kategorie Looks. 1228 00:53:40,900 --> 00:53:43,357 Und lassen Sie mich gehen voran und ziehen diese. 1229 00:53:43,357 --> 00:53:45,940 Und bemerken, sobald es bekommt schließen, sie sind Art von magnetisch. 1230 00:53:45,940 --> 00:53:48,489 Also, wenn ich jetzt gehen lassen, es schnappt zusammen schön und sauber. 1231 00:53:48,489 --> 00:53:51,030 Und ich werde weitermachen und etwas sagen wie: Hallo Welt! 1232 00:53:51,030 --> 00:53:52,190 für zwei Sekunden. 1233 00:53:52,190 --> 00:53:56,730 Lassen Sie mich verkleinern und klicken Sie jetzt die grüne Flagge, und sagen, hallo, Welt. 1234 00:53:56,730 --> 00:53:57,230 Gut. 1235 00:53:57,230 --> 00:53:58,460 Also das ist alles schön und gut. 1236 00:53:58,460 --> 00:53:59,900 Nicht alles, was spannend. 1237 00:53:59,900 --> 00:54:01,340 Sagen wir es ein wenig netteres machen. 1238 00:54:01,340 --> 00:54:03,494 Und ich weiß, dass in Voraus, Scratch geschieht 1239 00:54:03,494 --> 00:54:05,160 mit einigen netten Dinge wie diese zu kommen. 1240 00:54:05,160 --> 00:54:07,720 So spielen Sound miauen bis getan. 1241 00:54:07,720 --> 00:54:09,531 Also lassen Sie uns dies tun. 1242 00:54:09,531 --> 00:54:10,380 >> [MIAU] 1243 00:54:10,380 --> 00:54:11,819 >> Ach, das ist liebenswert. 1244 00:54:11,819 --> 00:54:12,860 Und wenn ich es klicken again-- 1245 00:54:12,860 --> 00:54:14,920 >> [MIAU] 1246 00:54:14,920 --> 00:54:15,460 >> Und wieder. 1247 00:54:15,460 --> 00:54:16,740 >> [MIAU] 1248 00:54:16,740 --> 00:54:18,760 >> Aber ich muss immer wieder Scratch zu reanimieren. 1249 00:54:18,760 --> 00:54:20,010 Aber ich kann besser als dies tun. 1250 00:54:20,010 --> 00:54:23,060 Warum ich ziehen nicht nur drei davon. 1251 00:54:23,060 --> 00:54:24,821 Und jetzt ist es dreimal so liebenswert. 1252 00:54:24,821 --> 00:54:26,264 >> [Miauen] 1253 00:54:26,264 --> 00:54:28,190 >> OK, eigentlich ist es ein wenig gruselig. 1254 00:54:28,190 --> 00:54:31,020 Also müssen wir etwas dazwischen gibt. 1255 00:54:31,020 --> 00:54:33,870 Wenn ich in der Systemsteuerung gehen, sieht es aus wie es gibt tatsächlich eine Warteblock. 1256 00:54:33,870 --> 00:54:36,994 Und so bemerken, wenn ich schweben über there-- und lassen Sie mich das ein wenig größer zu machen. 1257 00:54:36,994 --> 00:54:38,780 Wenn ich schweben, es geht zu einrasten. 1258 00:54:38,780 --> 00:54:41,660 So ein Sekunde warten eine Sekunde warten. 1259 00:54:41,660 --> 00:54:43,170 Lassen Sie uns wieder grüne Fahne getroffen. 1260 00:54:43,170 --> 00:54:46,330 >> [Miauen] 1261 00:54:46,330 --> 00:54:47,695 1262 00:54:47,695 --> 00:54:50,660 >> OK, ein wenig natürlicher, aber nicht sehr effizient. 1263 00:54:50,660 --> 00:54:54,300 Das ist also richtig, wenn mein Programm der Ziel war miauen dreimal. 1264 00:54:54,300 --> 00:54:56,410 Aber es ist nicht sehr gut gestaltet. 1265 00:54:56,410 --> 00:54:57,740 Ich schnitt Art von ein paar Ecken. 1266 00:54:57,740 --> 00:54:58,730 Ich habe ein wenig faul. 1267 00:54:58,730 --> 00:55:05,620 Was fühlt like-- was ich scheine zu haben, schlecht gemacht, würden Sie sagen? 1268 00:55:05,620 --> 00:55:07,197 Ja? 1269 00:55:07,197 --> 00:55:08,030 Ja, in der Mitte. 1270 00:55:08,030 --> 00:55:11,208 1271 00:55:11,208 --> 00:55:13,083 PUBLIKUM: Gebrauchte mehr Speicher, als Sie benötigt, um 1272 00:55:13,083 --> 00:55:15,005 weil Sie verwenden so viele verschiedene Linie. 1273 00:55:15,005 --> 00:55:16,380 DAVID MALAN: Ja, so mehr Zeilen. 1274 00:55:16,380 --> 00:55:19,190 Und es wäre nicht unbedingt Erinnerung sein, obwohl es als diese Weise gesehen werden konnte. 1275 00:55:19,190 --> 00:55:20,898 Aber es ist definitely-- gibt es Redundanz. 1276 00:55:20,898 --> 00:55:23,440 Und ich buchstäblich Art geschleppt und ließ die gleichen Dinge. 1277 00:55:23,440 --> 00:55:26,564 Und wenn Sie Art von extrapolate-- wenn es ist nicht gut hier-- offensichtlich, wie würde 1278 00:55:26,564 --> 00:55:27,910 Ich miauen 30 mal? 1279 00:55:27,910 --> 00:55:31,450 Ich würde ziehen, wie, 30 weitere Paare von Puzzle-Teile. 1280 00:55:31,450 --> 00:55:32,890 Und sicher, es gibt einen besseren Weg. 1281 00:55:32,890 --> 00:55:34,056 Und wir haben einen besseren Weg gesehen. 1282 00:55:34,056 --> 00:55:36,870 Was intuitiv würde der bessere Weg? 1283 00:55:36,870 --> 00:55:37,890 Ja, verwenden Sie nur eine Schleife. 1284 00:55:37,890 --> 00:55:38,810 Kein Kopieren und Einfügen. 1285 00:55:38,810 --> 00:55:40,790 Und in der Tat, zu jeder Zeit diese Semester, wenn Sie beginnen 1286 00:55:40,790 --> 00:55:43,890 finden sich Drag & Drop, oder wirklich Kopieren und Einfügen, 1287 00:55:43,890 --> 00:55:47,050 gefährliche Gewohnheit, weil in zu erhalten Das ist einfach nicht sehr wartbar. 1288 00:55:47,050 --> 00:55:49,740 Zum Beispiel, wenn ich ändern wollen der Ton, um etwas anderes, 1289 00:55:49,740 --> 00:55:52,826 Ich muss es jetzt in drei ändern Stellen anstatt nur einer. 1290 00:55:52,826 --> 00:55:54,575 Denn in der Tat, wenn ich brechen diese away-- Ich bin 1291 00:55:54,575 --> 00:55:56,170 nur geht es so zu entkoppeln. 1292 00:55:56,170 --> 00:56:01,900 Lassen Sie mich einen Wiederholungsblock greifen und dann drei klicken, geben Sie drei, 1293 00:56:01,900 --> 00:56:04,015 werfen einige davon weg von nur gehen zu lassen. 1294 00:56:04,015 --> 00:56:05,890 Und dann merken es sieht nicht so aus, wie es passt, 1295 00:56:05,890 --> 00:56:08,139 aber magnetisch, es wird einrasten nicht nur 1296 00:56:08,139 --> 00:56:09,510 aber wachsen die Form zu passen. 1297 00:56:09,510 --> 00:56:10,310 Also das ist gut. 1298 00:56:10,310 --> 00:56:11,530 Und jetzt, wenn ich spielen klicken Sie auf. 1299 00:56:11,530 --> 00:56:13,870 >> [Miauen] 1300 00:56:13,870 --> 00:56:14,370 1301 00:56:14,370 --> 00:56:15,620 Sehr schön. 1302 00:56:15,620 --> 00:56:16,126 Gut. 1303 00:56:16,126 --> 00:56:18,500 Und jetzt ist es sehr einfach, ändern, auch, weil ich kann einfach 1304 00:56:18,500 --> 00:56:20,670 ändern Sie eine Nummer an einem Ort. 1305 00:56:20,670 --> 00:56:22,500 Aber auch dies ist nicht alles, was interessant. 1306 00:56:22,500 --> 00:56:25,350 Lassen Sie uns tatsächlich haben Scratch nicht miauen, sondern bewegen. 1307 00:56:25,350 --> 00:56:32,680 Lassen Sie mich an Bewegung gehen und 10 Schritten bewegen innen von-- hoppla, lassen Sie mich dies zu beheben. 1308 00:56:32,680 --> 00:56:37,460 Lassen Sie mich haben es 10 steps-- bewegen tatsächlich, lassen Sie uns nicht noch wiederholen. 1309 00:56:37,460 --> 00:56:40,670 Lassen Sie mich einen Steuerblock greifen, und tun immer die folgende. 1310 00:56:40,670 --> 00:56:42,720 Für immer, bewegen sich 10 Stufen. 1311 00:56:42,720 --> 00:56:45,070 Und klicken Sie auf Wiedergabe. 1312 00:56:45,070 --> 00:56:45,600 >> OK. 1313 00:56:45,600 --> 00:56:46,740 Also zum Glück bleibt er stehen. 1314 00:56:46,740 --> 00:56:49,710 Andernfalls würde sich Kinder sehr aufgeregt wenn sie Art ihrer Katze verlieren. 1315 00:56:49,710 --> 00:56:52,720 Aber zumindest kann ich ziehen ihn zurück in den Bildschirm. 1316 00:56:52,720 --> 00:56:56,177 Aber das ist nicht alles, was groß von einem Spiel oder einer Animation. 1317 00:56:56,177 --> 00:56:58,260 Es wäre schön, wenn vielleicht er abprallte den Rand. 1318 00:56:58,260 --> 00:57:00,020 Also, was machen wir? 1319 00:57:00,020 --> 00:57:04,302 Welches Konstrukt brauchen wir haben Scratch entscheiden zu hüpfen, denken Sie, 1320 00:57:04,302 --> 00:57:06,010 Auch wenn Sie noch nie gesehen Scratch vor? 1321 00:57:06,010 --> 00:57:06,593 Ja, auf der Rückseite. 1322 00:57:06,593 --> 00:57:08,359 PUBLIKUM: Sie benötigen ein wenn Block oder if-then. 1323 00:57:08,359 --> 00:57:10,650 DAVID MALAN: Ja, so etwas Art, wenn Block oder if-then. 1324 00:57:10,650 --> 00:57:12,275 Also eigentlich haben wir eine von diesen hier. 1325 00:57:12,275 --> 00:57:14,500 So if-- so lassen Sie mich bekommen der Bewegung befreien. 1326 00:57:14,500 --> 00:57:16,070 Lassen Sie mich vergrößern, so dass es größer ist. 1327 00:57:16,070 --> 00:57:16,890 So wie über dieses. 1328 00:57:16,890 --> 00:57:21,920 Immer, wenn Sensing-- Wir haben dies bisher noch nicht gesehen. 1329 00:57:21,920 --> 00:57:23,160 Ich brauche einen Booleschen Ausdruck. 1330 00:57:23,160 --> 00:57:25,970 Und es stellt sich was, wenn rührend aus? 1331 00:57:25,970 --> 00:57:29,030 Wenn die Kante zu berühren, Was will ich tun? 1332 00:57:29,030 --> 00:57:32,030 Nun, wenn ich wieder zu Bewegung, stellt sich heraus, kann oh, drehe ich mich um. 1333 00:57:32,030 --> 00:57:33,350 Lassen Sie mich diese ziehen hier. 1334 00:57:33,350 --> 00:57:36,430 Warum gehe ich nicht weiter und drehen sich um 180 Grad? 1335 00:57:36,430 --> 00:57:38,190 >> Und jetzt lassen Sie mich einfach am Ende bewegen. 1336 00:57:38,190 --> 00:57:40,500 Ich konnte die Bewegung setzen bei der Beginn oder das Ende. 1337 00:57:40,500 --> 00:57:44,452 Aber logisch, bewegen jedesmal, wenn ich, ich prüfen wollen, bin ich den Rand zu berühren? 1338 00:57:44,452 --> 00:57:45,410 Berühre ich den Rand? 1339 00:57:45,410 --> 00:57:46,490 Berühre ich den Rand? 1340 00:57:46,490 --> 00:57:49,200 Damit logisch drehe ich mich um, wenn ja. 1341 00:57:49,200 --> 00:57:51,190 Also lassen Sie uns Spiel getroffen. 1342 00:57:51,190 --> 00:57:52,030 >> OK. 1343 00:57:52,030 --> 00:57:53,910 So ist es leicht fehlerhaft, so zu sprechen. 1344 00:57:53,910 --> 00:57:56,560 Und ein Fehler ist nur ein Fehler in einem Computerprogramm. 1345 00:57:56,560 --> 00:57:57,800 Aber zumindest, dass es funktioniert. 1346 00:57:57,800 --> 00:57:59,420 Und in der Tat kann ich gehen hier in. 1347 00:57:59,420 --> 00:58:03,130 Und lassen Sie mich es nicht mehr als 10 Stufen auf machen Zeit, aber dies ist alles Animation ist. 1348 00:58:03,130 --> 00:58:05,310 Das ist alles eine Karikatur oder sogar ein Film ist. 1349 00:58:05,310 --> 00:58:07,110 Lassen Sie mich zu einem Zeitpunkt 20 Schritten zu bewegen. 1350 00:58:07,110 --> 00:58:11,200 So 20 mal so viele Dinge passieren einmal oder zweimal so viele, in diesem Fall. 1351 00:58:11,200 --> 00:58:12,600 Und er bewegt sich schneller. 1352 00:58:12,600 --> 00:58:15,150 Lassen Sie mich zu 30 ändern. 1353 00:58:15,150 --> 00:58:17,450 100. 1354 00:58:17,450 --> 00:58:19,406 1,000. 1355 00:58:19,406 --> 00:58:20,530 Und es wird wirklich schnell. 1356 00:58:20,530 --> 00:58:22,190 Und das ist-- ja, OK. 1357 00:58:22,190 --> 00:58:24,130 >> So, jetzt sind wir in Unordnung nur mit ihm. 1358 00:58:24,130 --> 00:58:24,954 OK, so fehlerhaft. 1359 00:58:24,954 --> 00:58:26,620 Aber wir können ihn aus dem Weg hierher ziehen. 1360 00:58:26,620 --> 00:58:28,286 Aber wir können noch mehr Spaß mit diesem machen, auch. 1361 00:58:28,286 --> 00:58:30,710 Wie wäre es this-- er den Kopf ist. 1362 00:58:30,710 --> 00:58:32,800 Aber es stellt sich heraus Scratch-- und es ist eigentlich, 1363 00:58:32,800 --> 00:58:35,510 Ich habe zu verzichten, keine akademische Wert auf das, was ich bin zu tun. 1364 00:58:35,510 --> 00:58:40,200 Aber wenn ich das Mikrofon öffnen, lassen Sie uns stoppen ihn und tun so etwas. 1365 00:58:40,200 --> 00:58:41,960 Autsch! 1366 00:58:41,960 --> 00:58:42,884 >> [LACHEN] 1367 00:58:42,884 --> 00:58:45,200 1368 00:58:45,200 --> 00:58:45,990 >> Das war entzückend. 1369 00:58:45,990 --> 00:58:46,740 Vielen Dank. 1370 00:58:46,740 --> 00:58:50,850 Nun ist es das, was meine Stimme autsch aussieht, wenn ich schreien. 1371 00:58:50,850 --> 00:58:52,630 Ich glaube nicht, dass wir dein Lachen gefangen. 1372 00:58:52,630 --> 00:58:53,280 Das ist ok. 1373 00:58:53,280 --> 00:58:56,550 Lassen Sie mich das Speichern unter "Aua." 1374 00:58:56,550 --> 00:58:57,915 Lassen Sie uns dies als "autsch" speichern. 1375 00:58:57,915 --> 00:58:59,410 Und jetzt sind wir zurück zu Scripts gehen. 1376 00:58:59,410 --> 00:59:01,660 Und jetzt need-- ich mal sehen, Ton. 1377 00:59:01,660 --> 00:59:03,160 Oh, spielen Sound autsch. 1378 00:59:03,160 --> 00:59:08,180 Also, wenn ich den Rand zu berühren, lassen Sie mich erste Spiel autsch, und dann umdrehen. 1379 00:59:08,180 --> 00:59:10,191 Und jetzt wollen wir ihn in der Mitte setzen. 1380 00:59:10,191 --> 00:59:14,754 >> [SAGEN "OUCH"] 1381 00:59:14,754 --> 00:59:15,740 >> Doppelt so schnell. 1382 00:59:15,740 --> 00:59:20,660 1383 00:59:20,660 --> 00:59:21,830 >> OK. 1384 00:59:21,830 --> 00:59:23,780 Aber es ist buchstäblich zu tun, was ich sage. 1385 00:59:23,780 --> 00:59:27,580 So ist es in der Tat richtig, ist es nur ein wenig ärgerlich schnell. 1386 00:59:27,580 --> 00:59:30,330 Also lassen Sie uns noch etwas hinzufügen interessanter zu diesem. 1387 00:59:30,330 --> 00:59:32,950 Lassen Sie mich öffnen, tatsächlich eine, die ich im Voraus, 1388 00:59:32,950 --> 00:59:38,560 treffend Pet genannt Katze, die dies tut. 1389 00:59:38,560 --> 00:59:40,340 Hier ist das Skript hier oben. 1390 00:59:40,340 --> 00:59:44,510 Was wird dies tun in englischen Begriffen? 1391 00:59:44,510 --> 00:59:45,820 Was ist das entworfen, um zu tun? 1392 00:59:45,820 --> 00:59:47,900 Ja, wir gehen some-- ja? 1393 00:59:47,900 --> 00:59:49,665 >> PUBLIKUM: Wenn Sie pet die Katze, es miaut. 1394 00:59:49,665 --> 00:59:52,290 DAVID MALAN: Ja, also, wenn Sie Haustier die Katze, geht es zu miauen. 1395 00:59:52,290 --> 00:59:55,452 Also mit anderen Worten, es ist jetzt noch immer Schleife, kombiniert 1396 00:59:55,452 --> 00:59:57,660 mit einem Zustand, kombiniert mit einem Booleschen Ausdruck, 1397 00:59:57,660 --> 01:00:00,140 mit einem Paar kombiniert Funktionen, die Wirkung 1398 01:00:00,140 --> 01:00:02,610 einmal von denen, die ich spiele Dieses Programm ist nichts 1399 01:00:02,610 --> 01:00:06,820 geschieht, bis ich den Cursor zu bewegen näher und näher und näher und- 1400 01:00:06,820 --> 01:00:08,029 >> [MIAU] 1401 01:00:08,029 --> 01:00:09,320 Dann ist es wie die Katze streicheln. 1402 01:00:09,320 --> 01:00:11,210 [MIAU] 1403 01:00:11,210 --> 01:00:14,270 wenn Sie nur tatsächlich bewegen Sie den Cursor über ihn. 1404 01:00:14,270 --> 01:00:19,964 Nun, ich peitschte auch nicht streicheln die Katze, die in diesem stattdessen tut. 1405 01:00:19,964 --> 01:00:21,350 >> [Miauen] 1406 01:00:21,350 --> 01:00:23,485 >> So ist er nur ständig Miauen. 1407 01:00:23,485 --> 01:00:24,455 >> [Miauen] 1408 01:00:24,455 --> 01:00:27,705 >> Aber wenn ich zu close-- 1409 01:00:27,705 --> 01:00:29,645 >> [Miauen] 1410 01:00:29,645 --> 01:00:32,080 >> [BRÜLLEN] 1411 01:00:32,080 --> 01:00:33,590 >> Also, wie funktioniert das? 1412 01:00:33,590 --> 01:00:35,880 Ich habe jetzt nur ein Zwei-Wege-Gabel in der Straße. 1413 01:00:35,880 --> 01:00:38,930 Wenn berühren Mauszeiger, spielen dann den Löwen-Sound. 1414 01:00:38,930 --> 01:00:41,950 spielen Else nur die miauen Sound, und dann drei Sekunden warten, so 1415 01:00:41,950 --> 01:00:43,880 dass es eine Art tut es ist sehr ruhig. 1416 01:00:43,880 --> 01:00:44,380 Gut. 1417 01:00:44,380 --> 01:00:47,290 Das ist also die Kombination von einige weitere Ideen immer noch. 1418 01:00:47,290 --> 01:00:50,870 Lassen Sie uns an diesem Beispiel einen Blick Ich peitschte genannt Threads. 1419 01:00:50,870 --> 01:00:54,020 Und dieses ist grundsätzlich anders, dass es Hebel 1420 01:00:54,020 --> 01:00:56,070 ein Merkmal vieler Programmiersprache namens 1421 01:00:56,070 --> 01:00:59,970 Fäden, die Fähigkeit eines Programms, buchstäblich tun zwei Dinge gleichzeitig. 1422 01:00:59,970 --> 01:01:03,600 Tatsächlich, in diesen Tagen, wenn Sie verwenden Google Text & Tabellen oder Microsoft Word, 1423 01:01:03,600 --> 01:01:09,620 und Ihr Dokument ist ständig sein Rechtschreibüberprüft auch, wie Sie type-- oder Sie 1424 01:01:09,620 --> 01:01:11,580 Hit Befehl-P oder Strg-P und Druck etwas, 1425 01:01:11,580 --> 01:01:13,380 es Druck, während Sie die Eingabe fortsetzen. 1426 01:01:13,380 --> 01:01:16,680 Programme heute kann in der Tat zu tun mehrere auf einmal Dinge, genau wie in Scratch 1427 01:01:16,680 --> 01:01:17,180 Hier. 1428 01:01:17,180 --> 01:01:20,400 >> Also hier, ich habe zwei Sprites Jetzt, ein Vogel und eine Katze. 1429 01:01:20,400 --> 01:01:22,780 Und wenn ich auf jeden Klick von jene Zeichen ein zu einer Zeit, 1430 01:01:22,780 --> 01:01:25,590 Ich sehe jetzt die Vogel Skripte oben rechts. 1431 01:01:25,590 --> 01:01:27,270 Jetzt sehe ich die Katze. 1432 01:01:27,270 --> 01:01:28,540 Vogel, Katzen. 1433 01:01:28,540 --> 01:01:30,270 Also jeder von ihnen ihre eigene Schrift haben. 1434 01:01:30,270 --> 01:01:32,700 Beachten Sie aber, was für Puzzleteil tun sie beide beginnen mit? 1435 01:01:32,700 --> 01:01:34,260 Wenn grüne Fahne geklickt. 1436 01:01:34,260 --> 01:01:36,890 Und Vogel, wenn grüne Fahne geklickt. 1437 01:01:36,890 --> 01:01:40,870 Also, wenn ich auf die grüne Fahne, beide dieser Skripte oder Programme 1438 01:01:40,870 --> 01:01:42,759 werden parallel laufen zu lassen. 1439 01:01:42,759 --> 01:01:45,800 Und Sie werden feststellen, dass der Vogel nur abprallen gedankenlos den Rand. 1440 01:01:45,800 --> 01:01:50,890 Die Katze eindeutig programmiert wurde einen strategischen Vorteil. 1441 01:01:50,890 --> 01:01:52,704 Und-- 1442 01:01:52,704 --> 01:01:53,490 >> [BRÜLLEN] 1443 01:01:53,490 --> 01:01:53,821 1444 01:01:53,821 --> 01:01:54,320 Gut. 1445 01:01:54,320 --> 01:01:57,340 So fing die Katze den Vogel in diesem Fall. 1446 01:01:57,340 --> 01:01:58,390 Warum das? 1447 01:01:58,390 --> 01:02:03,310 Nun, Ankündigung zuerst haben wir nur der Vogel geht nur gedankenlos 1448 01:02:03,310 --> 01:02:05,120 zu dieser ersten Lage, und dann für immer, 1449 01:02:05,120 --> 01:02:06,774 wenn die Katze nicht zu berühren, nur bewegen. 1450 01:02:06,774 --> 01:02:08,190 Und wenn Sie am Rand sind, prallen. 1451 01:02:08,190 --> 01:02:08,870 Und gerade bewegen. 1452 01:02:08,870 --> 01:02:10,286 Und wenn Sie am Rand sind, prallen. 1453 01:02:10,286 --> 01:02:12,840 Aber die Katze, inzwischen hat einige zusätzliche Logik 1454 01:02:12,840 --> 01:02:18,250 das sagt this-- erste, nur so dass dies nicht vollständig vorgespannten 1455 01:02:18,250 --> 01:02:21,191 gegen den Vogel bemerken, dass ich ein grünes Puzzlestück verwendet es 1456 01:02:21,191 --> 01:02:22,690 dass tatsächlich wählt eine Zufallszahl. 1457 01:02:22,690 --> 01:02:26,179 Ein Merkmal von vielen Sprachen ist zu geben, Sie zufällige oder Pseudo-Zufallszahlen. 1458 01:02:26,179 --> 01:02:29,220 So in diesem Fall zunächst die Katze wählt eine Zufallszahl zwischen, wie, 1459 01:02:29,220 --> 01:02:31,727 90 Grad und 180 Grad, im wesentlichen, so 1460 01:02:31,727 --> 01:02:33,310 , dass es ein wenig Varianz. 1461 01:02:33,310 --> 01:02:37,000 Und dann für immer, wenn bei Berührung der Vogel, den Löwen-Sound spielen. 1462 01:02:37,000 --> 01:02:38,754 Ansonsten weisen nur in Richtung der Vogel. 1463 01:02:38,754 --> 01:02:39,670 Richten Sie in Richtung des Vogels. 1464 01:02:39,670 --> 01:02:44,199 Punkt in Richtung der Vogel, der ein Puzzleteil an sich in diesem Fall. 1465 01:02:44,199 --> 01:02:45,740 Nun, wir können hier noch eine Sache zu tun. 1466 01:02:45,740 --> 01:02:49,820 Lassen Sie mich hier, um das Veranstaltungsprogramm eröffnen. 1467 01:02:49,820 --> 01:02:53,520 Und hier haben wir wieder zwei Sprites haben, die aussehen wie diese beiden Puppen hier. 1468 01:02:53,520 --> 01:02:55,710 Und was interessant ist, hier ist dies. 1469 01:02:55,710 --> 01:02:59,140 Der orangefarbene Kerl hat diese Set hier der Puzzleteile. 1470 01:02:59,140 --> 01:03:01,700 Für immer tun, um die following-- wenn die Leertaste gedrückt wird, 1471 01:03:01,700 --> 01:03:05,430 dann sagen, Marco, und dann Broadcast ein Ereignis. 1472 01:03:05,430 --> 01:03:09,460 Und in der Zwischenzeit, hier die blaue Kerl hat this--, wenn Sie das Ereignis empfangen, 1473 01:03:09,460 --> 01:03:10,540 sagen Polo. 1474 01:03:10,540 --> 01:03:12,850 So stellt sich heraus in Scratch und in anderen Sprachen, 1475 01:03:12,850 --> 01:03:15,830 es gibt Möglichkeiten für zwei Programme oder zwei Skripte, in diesem Fall 1476 01:03:15,830 --> 01:03:20,310 miteinander kommunizieren, so dass, wenn ich traf die Leertaste, er sagt Marco. 1477 01:03:20,310 --> 01:03:23,539 Und der andere hört, dass, wenn man so sprechen, und sagt Polo in der Antwort. 1478 01:03:23,539 --> 01:03:26,080 So können Sie Programme schreiben, die tatsächlich auf diese Weise interagieren. 1479 01:03:26,080 --> 01:03:28,630 Und wenn ich diese eine Stelle, Ich kann sogar Variablen hinzufügen, 1480 01:03:28,630 --> 01:03:31,287 nur mit einem Sprite in diesem Fall. 1481 01:03:31,287 --> 01:03:32,578 Dieses ist besonders ärgerlich. 1482 01:03:32,578 --> 01:03:36,174 >> [SEAL BARKING] 1483 01:03:36,174 --> 01:03:37,100 1484 01:03:37,100 --> 01:03:42,490 >> Nun beachtet auf der rechten Seite wir haben einige zusätzliche Logik hier. 1485 01:03:42,490 --> 01:03:45,146 Wie verhindere ich, dieses Siegel vom Bellen? 1486 01:03:45,146 --> 01:03:48,320 >> [SEAL BARKING] 1487 01:03:48,320 --> 01:03:52,830 1488 01:03:52,830 --> 01:03:55,630 >> Es sieht aus wie auf der rechten Seite ist, was den Ton zu spielen. 1489 01:03:55,630 --> 01:03:58,500 Aber es spielt nur eine klingen, wenn, was wahr ist? 1490 01:03:58,500 --> 01:04:03,390 Wenn ein'variable Orange BLOCK-- stumm geschaltet ist Null. 1491 01:04:03,390 --> 01:04:07,916 Wie kann ich stumm geschaltet ändern 1 zu sein, Sinn wahr, diese gedämpfte machen? 1492 01:04:07,916 --> 01:04:12,455 Offenbar das andere Skript, kann ich traf die Leertaste, und jetzt bleibt er stehen. 1493 01:04:12,455 --> 01:04:15,080 So können wir diese Zwischenverbindung haben über Skripte, als auch, 1494 01:04:15,080 --> 01:04:18,349 nur durch eine Variable teilen über die beiden so. 1495 01:04:18,349 --> 01:04:19,890 Nun, dies ist nicht alles, was interessant. 1496 01:04:19,890 --> 01:04:24,360 Fahren wir fort und tun dies und kombinieren viele dieser Ideen mit diesem Programm 1497 01:04:24,360 --> 01:04:25,940 Hier. 1498 01:04:25,940 --> 01:04:28,100 Bevor wir das tun, obwohl, wie etwa ein Freiwilliger? 1499 01:04:28,100 --> 01:04:30,558 Lassen Sie mich den Druck ausziehen von mir, weil ich nicht wirklich 1500 01:04:30,558 --> 01:04:31,280 spiele dieses Spiel. 1501 01:04:31,280 --> 01:04:33,030 Lassen Sie uns jemand haben wir haben noch nie zuvor gesehen. 1502 01:04:33,030 --> 01:04:36,420 Sie müssen bequem sein Kommen auf der Bühne hier, vor der Kamera. 1503 01:04:36,420 --> 01:04:37,430 OK, kommen auf. 1504 01:04:37,430 --> 01:04:38,130 Sehr mutig. 1505 01:04:38,130 --> 01:04:39,052 Wie heißen Sie? 1506 01:04:39,052 --> 01:04:39,962 >> IDRIS: Idris. 1507 01:04:39,962 --> 01:04:40,753 DAVID MALAN: Es tut uns leid? 1508 01:04:40,753 --> 01:04:41,196 IDRIS: Idris. 1509 01:04:41,196 --> 01:04:42,670 DAVID MALAN: Idris, schön Sie zu treffen. 1510 01:04:42,670 --> 01:04:43,170 Komm rauf. 1511 01:04:43,170 --> 01:04:45,630 Und nun, auf Ihrem eigenen Handy Telefon, spielen Sie Pokemon GO? 1512 01:04:45,630 --> 01:04:46,567 >> IDRIS: Nein. 1513 01:04:46,567 --> 01:04:47,400 DAVID MALAN: Wirklich? 1514 01:04:47,400 --> 01:04:48,104 IDRIS: Ja. 1515 01:04:48,104 --> 01:04:48,770 DAVID MALAN: OK. 1516 01:04:48,770 --> 01:04:49,020 Gut. 1517 01:04:49,020 --> 01:04:49,978 Auch schön dich kennen zu lernen. 1518 01:04:49,978 --> 01:04:50,820 Komm rüber. 1519 01:04:50,820 --> 01:04:51,950 Ich auch nicht. 1520 01:04:51,950 --> 01:04:55,380 Also werden wir gemeinsam herauszufinden, wie man spielen diese, die jemand tatsächlich 1521 01:04:55,380 --> 01:05:00,140 ging und in Scratch umgesetzt durch die Katze Veränderung im Wesentlichen auf 1522 01:05:00,140 --> 01:05:02,260 alle zusammen verschiedene Charaktere. 1523 01:05:02,260 --> 01:05:04,870 Und wenn ich Vollbild dies hier, wir gehen 1524 01:05:04,870 --> 01:05:06,860 das folgende Spiel zusammen zu sehen. 1525 01:05:06,860 --> 01:05:09,560 Noch Laden immer noch geladen werden. 1526 01:05:09,560 --> 01:05:10,270 Komm schon. 1527 01:05:10,270 --> 01:05:12,590 Lassen Sie mich dies tun. 1528 01:05:12,590 --> 01:05:14,520 Komm schon. 1529 01:05:14,520 --> 01:05:17,200 Dieses Spiel ist so groß, dass es abgestürzt ist. 1530 01:05:17,200 --> 01:05:18,980 Bereithalten. 1531 01:05:18,980 --> 01:05:22,390 Versuchen Sie, diese noch einmal. 1532 01:05:22,390 --> 01:05:23,710 Komm schon. 1533 01:05:23,710 --> 01:05:24,211 Gut. 1534 01:05:24,211 --> 01:05:26,840 1535 01:05:26,840 --> 01:05:27,430 >> Da gehen wir. 1536 01:05:27,430 --> 01:05:27,929 OK. 1537 01:05:27,929 --> 01:05:29,330 Grüne Flagge. 1538 01:05:29,330 --> 01:05:30,190 Auf geht's. 1539 01:05:30,190 --> 01:05:30,950 >> [MUSIK SPIELEN] 1540 01:05:30,950 --> 01:05:32,510 >> Wählen Sie die mittlere Ebene hier. 1541 01:05:32,510 --> 01:05:34,200 Klicken Sie auf den blauen Kerl da. 1542 01:05:34,200 --> 01:05:34,700 Gut. 1543 01:05:34,700 --> 01:05:37,860 Und Sie können den Pfeil verwenden keys-- nach oben, unten, links, rechts. 1544 01:05:37,860 --> 01:05:42,150 Nun lassen Sie uns überlegen, wie wir this-- tun und gehen dann nach dem Charakter gibt. 1545 01:05:42,150 --> 01:05:42,650 Ja. 1546 01:05:42,650 --> 01:05:45,786 Und klicken Sie ihn jetzt mit der Maus. 1547 01:05:45,786 --> 01:05:46,693 Oh ja. 1548 01:05:46,693 --> 01:05:47,193 Bewegung. 1549 01:05:47,193 --> 01:05:47,662 Wo ist der Pfeil? 1550 01:05:47,662 --> 01:05:48,131 Bitte schön. 1551 01:05:48,131 --> 01:05:48,600 So klicken Sie dort auf. 1552 01:05:48,600 --> 01:05:48,840 Ja. 1553 01:05:48,840 --> 01:05:49,340 Gut. 1554 01:05:49,340 --> 01:05:56,008 So, jetzt, ich habe gehört, dass Sie ein Poke Ball haben, dass, wenn es klicken, wird es tun, dass. 1555 01:05:56,008 --> 01:05:57,932 Sehr gut. 1556 01:05:57,932 --> 01:06:00,390 Bei der praktischen Durchführung für heute, ich diese Version des Spiels gefunden 1557 01:06:00,390 --> 01:06:01,760 eigentlich nicht sehr hart. 1558 01:06:01,760 --> 01:06:07,650 Also, wenn Sie wollen, wieder zu gehen hier, gehen Sie zu diesem Poke Ball. 1559 01:06:07,650 --> 01:06:08,780 Und dann gehen Sie rechts ab. 1560 01:06:08,780 --> 01:06:11,200 Versuchen Sie darauf klicken. 1561 01:06:11,200 --> 01:06:13,120 Oh, wirklich, das ist das Geschäft, anscheinend. 1562 01:06:13,120 --> 01:06:14,170 OK so schließen, dass. 1563 01:06:14,170 --> 01:06:15,150 Nie getan, dass vor. 1564 01:06:15,150 --> 01:06:16,566 Vielleicht hier oben zu dieser Sache steigen. 1565 01:06:16,566 --> 01:06:17,460 Oh, da Sie gehen. 1566 01:06:17,460 --> 01:06:18,910 Warten Sie, gibt es da drüben. 1567 01:06:18,910 --> 01:06:20,412 Oh, es ist eine andere. 1568 01:06:20,412 --> 01:06:21,285 OK. 1569 01:06:21,285 --> 01:06:21,785 Nach unten. 1570 01:06:21,785 --> 01:06:23,210 Ja, klicken Sie auf. 1571 01:06:23,210 --> 01:06:24,635 >> OK, das ist sehr nett. 1572 01:06:24,635 --> 01:06:27,485 1573 01:06:27,485 --> 01:06:28,810 OK, sehr gut gemacht. 1574 01:06:28,810 --> 01:06:30,010 Dieses Spiel ist nicht sehr hart. 1575 01:06:30,010 --> 01:06:30,510 OK. 1576 01:06:30,510 --> 01:06:32,150 Herzliche Glückwünsche. 1577 01:06:32,150 --> 01:06:34,720 Hier haben wir ein CS50 Stress-Ball für Sie. 1578 01:06:34,720 --> 01:06:37,680 Aber bedenken Sie nur für einen Augenblick, was einige der Imbissbuden gibt es. 1579 01:06:37,680 --> 01:06:39,263 Einfacher als das eigentliche Spiel, anscheinend. 1580 01:06:39,263 --> 01:06:41,809 Aber alles, was wir haben, gehen hier ist ein Zeichen 1581 01:06:41,809 --> 01:06:44,100 das hat wahrscheinlich eine Art der Schleife zugeordnet ist. 1582 01:06:44,100 --> 01:06:44,590 Es ist nicht eine Katze. 1583 01:06:44,590 --> 01:06:45,860 Es ist dieser Charakter statt. 1584 01:06:45,860 --> 01:06:49,052 Und diese Schleife ist nur ständig sagen, wenn Pfeil nach oben gedrückt, 1585 01:06:49,052 --> 01:06:51,260 wenn Pfeil nach unten gedrückt wird, wenn Pfeil nach links gedrückt oder rechts 1586 01:06:51,260 --> 01:06:53,960 Pfeil gedrückt, nach oben oder nach unten oder nach links oder rechts. 1587 01:06:53,960 --> 01:06:57,870 Oder wenn es ein weiteres Puzzlestück dort das sagt, wenn ein anderes Sprite zu berühren, 1588 01:06:57,870 --> 01:07:01,320 wenn eines der Zeichen berühren zum Poke Ball, wenn berühren, 1589 01:07:01,320 --> 01:07:02,440 dann tun dies. 1590 01:07:02,440 --> 01:07:04,800 >> Also all die Ideen, die wir haben so wurde mit weit wirklich 1591 01:07:04,800 --> 01:07:09,130 kann nur in diesem speziellen angewendet werden Kontext dieses Spiel zu spielen, wie gut. 1592 01:07:09,130 --> 01:07:13,580 Lassen Sie mich gehen Sie vor und ziehen Eine andere hier in der Tat. 1593 01:07:13,580 --> 01:07:17,060 Lassen Sie mich gehen Sie vor und ziehen up, lassen Sie uns sagen, dies. 1594 01:07:17,060 --> 01:07:18,540 Dies ist etwas, das wir wieder gemischt. 1595 01:07:18,540 --> 01:07:20,329 Hergestellt von einem unserer Studenten in Cambridge, 1596 01:07:20,329 --> 01:07:23,370 und dann ging ich durch und verändert so ziemlich jede Instanz von Harvard 1597 01:07:23,370 --> 01:07:25,580 diesmal nach Yale. 1598 01:07:25,580 --> 01:07:27,870 Würde jemand gerne Wettbewerb gegen die Ivies 1599 01:07:27,870 --> 01:07:31,650 hier in einer anderen Anhäufung von all diese Ideen? 1600 01:07:31,650 --> 01:07:32,662 Komm runter, ja. 1601 01:07:32,662 --> 01:07:33,370 Wie heißen Sie? 1602 01:07:33,370 --> 01:07:34,190 >> DINA: Dina. 1603 01:07:34,190 --> 01:07:35,015 >> DAVID MALAN: Adina? 1604 01:07:35,015 --> 01:07:35,380 >> DINA: Dina. 1605 01:07:35,380 --> 01:07:36,410 >> DAVID MALAN: Dina, komm nach unten. 1606 01:07:36,410 --> 01:07:37,320 Alle Rechte, Dina. 1607 01:07:37,320 --> 01:07:40,780 Also dieses Spiel wird noch schwieriger, und härter, weil in diesem Spiel, 1608 01:07:40,780 --> 01:07:43,970 es gibt Variablen als auch verwendet werden die ständig zu verfolgen sind 1609 01:07:43,970 --> 01:07:45,930 von welcher Ebene sind Sie im Spiel. 1610 01:07:45,930 --> 01:07:47,120 So schön, Sie zu treffen. 1611 01:07:47,120 --> 01:07:48,250 Kommen Sie hier in der Nähe. 1612 01:07:48,250 --> 01:07:51,460 Und so ist das Ziel hier ist zu sortieren von machen Sie Ihren Weg durch ein Labyrinth 1613 01:07:51,460 --> 01:07:52,710 dass dieser Schüler umgesetzt. 1614 01:07:52,710 --> 01:07:55,334 >> Und gerade auf die Bühne gesetzt, die jeweils dieser Bilder auf dem Bildschirm 1615 01:07:55,334 --> 01:07:57,222 ist seine eigene Sprite, seinen eigenen Charakter. 1616 01:07:57,222 --> 01:07:59,680 So waren diese standardmäßig Katzen, aber der Schüler verändert sie 1617 01:07:59,680 --> 01:08:01,480 zu den verschiedenen Ivies Logos hier. 1618 01:08:01,480 --> 01:08:04,370 Und dann werden Sie genau sehen von Bedingungen und Schleifen mit 1619 01:08:04,370 --> 01:08:06,848 und Funktionen und mehr, erhalten Sie diese. 1620 01:08:06,848 --> 01:08:07,478 >> [MUSIK SPIELEN] 1621 01:08:07,478 --> 01:08:09,228 [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1622 01:08:09,228 --> 01:08:13,060 1623 01:08:13,060 --> 01:08:14,018 >> Ja ok. 1624 01:08:14,018 --> 01:08:17,371 1625 01:08:17,371 --> 01:08:20,110 Ja, halten zu gehen. 1626 01:08:20,110 --> 01:08:21,180 Erste Ebene ist sehr einfach. 1627 01:08:21,180 --> 01:08:22,554 Sie haben gerade dort muss gehen. 1628 01:08:22,554 --> 01:08:25,644 Aber noch einmal, zu prüfen, dies ist nur ein Schleife hören für den Pfeil keys-- 1629 01:08:25,644 --> 01:08:26,560 rauf runter links rechts. 1630 01:08:26,560 --> 01:08:28,320 Und nun ein Erfassungsblock. 1631 01:08:28,320 --> 01:08:29,345 Sehr schön. 1632 01:08:29,345 --> 01:08:32,600 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1633 01:08:32,600 --> 01:08:40,340 1634 01:08:40,340 --> 01:08:41,288 >> Sehr schön. 1635 01:08:41,288 --> 01:08:44,550 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1636 01:08:44,550 --> 01:08:55,540 1637 01:08:55,540 --> 01:08:56,430 >> Sehr schön. 1638 01:08:56,430 --> 01:08:57,975 Ziemlich einfach, Purpurrot. 1639 01:08:57,975 --> 01:08:59,060 Gut. 1640 01:08:59,060 --> 01:09:00,250 Levels-- uh-oh. 1641 01:09:00,250 --> 01:09:02,380 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1642 01:09:02,380 --> 01:09:04,980 1643 01:09:04,980 --> 01:09:07,150 >> Und wieder in diese drei Harvard kämme, 1644 01:09:07,150 --> 01:09:10,334 Sie müssen nur Logik wenn auf der Kante zu sagen, bounce. 1645 01:09:10,334 --> 01:09:13,238 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1646 01:09:13,238 --> 01:09:14,690 1647 01:09:14,690 --> 01:09:17,651 >> OK, was Sie tun, ist interessanter als warum. 1648 01:09:17,651 --> 01:09:18,150 Sehr schön. 1649 01:09:18,150 --> 01:09:18,810 Sehr schön. 1650 01:09:18,810 --> 01:09:20,270 Uh-oh. 1651 01:09:20,270 --> 01:09:23,350 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1652 01:09:23,350 --> 01:09:26,005 1653 01:09:26,005 --> 01:09:27,630 Ich denke, man muss sich opfern. 1654 01:09:27,630 --> 01:09:30,372 [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1655 01:09:30,372 --> 01:09:30,872 Schnell! 1656 01:09:30,872 --> 01:09:34,848 1657 01:09:34,848 --> 01:09:38,824 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1658 01:09:38,824 --> 01:09:44,288 1659 01:09:44,288 --> 01:09:44,788 Nett. 1660 01:09:44,788 --> 01:09:52,240 1661 01:09:52,240 --> 01:09:52,740 Das ist ok. 1662 01:09:52,740 --> 01:09:53,770 Du wirst es verstehen. 1663 01:09:53,770 --> 01:09:56,304 Ja ja! 1664 01:09:56,304 --> 01:09:58,256 Sehr schön. 1665 01:09:58,256 --> 01:10:01,184 >> [JUBEL] 1666 01:10:01,184 --> 01:10:02,160 1667 01:10:02,160 --> 01:10:05,576 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1668 01:10:05,576 --> 01:10:09,480 1669 01:10:09,480 --> 01:10:10,940 >> Nett! 1670 01:10:10,940 --> 01:10:14,370 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1671 01:10:14,370 --> 01:10:39,050 1672 01:10:39,050 --> 01:10:39,550 Ich habs. 1673 01:10:39,550 --> 01:10:41,510 Komm schon! 1674 01:10:41,510 --> 01:10:43,470 Vorletzter Ebene. 1675 01:10:43,470 --> 01:10:46,900 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1676 01:10:46,900 --> 01:10:49,588 1677 01:10:49,588 --> 01:10:50,580 >> Gut. 1678 01:10:50,580 --> 01:10:54,052 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1679 01:10:54,052 --> 01:11:00,992 1680 01:11:00,992 --> 01:11:01,492 Ja. 1681 01:11:01,492 --> 01:11:06,230 1682 01:11:06,230 --> 01:11:08,020 Gute Verwendung von Variablen hier. 1683 01:11:08,020 --> 01:11:09,770 [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1684 01:11:09,770 --> 01:11:10,770 Ja. 1685 01:11:10,770 --> 01:11:14,743 [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1686 01:11:14,743 --> 01:11:16,707 1687 01:11:16,707 --> 01:11:17,689 Nett. 1688 01:11:17,689 --> 01:11:21,126 [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1689 01:11:21,126 --> 01:11:23,581 1690 01:11:23,581 --> 01:11:24,570 Es ist in Ordnung. 1691 01:11:24,570 --> 01:11:25,770 Wir haben bis zum Ende zu kommen. 1692 01:11:25,770 --> 01:11:26,270 Dort. 1693 01:11:26,270 --> 01:11:27,010 Oh! 1694 01:11:27,010 --> 01:11:29,980 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1695 01:11:29,980 --> 01:11:32,160 1696 01:11:32,160 --> 01:11:34,866 >> Könnte heute spät laufen, aber es wird sich lohnen. 1697 01:11:34,866 --> 01:11:38,200 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1698 01:11:38,200 --> 01:11:39,640 1699 01:11:39,640 --> 01:11:42,520 >> Du kannst es schaffen! 1700 01:11:42,520 --> 01:11:43,480 Ja! 1701 01:11:43,480 --> 01:11:46,278 >> [JUBEL] 1702 01:11:46,278 --> 01:11:47,230 1703 01:11:47,230 --> 01:11:50,086 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1704 01:11:50,086 --> 01:11:51,470 >> Das hier ist wirklich hart. 1705 01:11:51,470 --> 01:11:54,070 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1706 01:11:54,070 --> 01:11:57,458 1707 01:11:57,458 --> 01:11:59,000 >> Registrieren Sie sich noch zwei weitere Leben geben. 1708 01:11:59,000 --> 01:11:59,968 Kannst du es machen? 1709 01:11:59,968 --> 01:12:03,356 >> [MUSIC - MC HAMMER "U CAN NOT TOUCH  DIES"] 1710 01:12:03,356 --> 01:12:06,744 1711 01:12:06,744 --> 01:12:07,244 >> Gut. 1712 01:12:07,244 --> 01:12:09,160 Wie über eine große Runde dennoch Applaus. 1713 01:12:09,160 --> 01:12:10,800 Sie kam zu dem vorletzten Ebene. 1714 01:12:10,800 --> 01:12:11,723 Vielen Dank. 1715 01:12:11,723 --> 01:12:14,964 >> [BEIFALL] 1716 01:12:14,964 --> 01:12:15,890 1717 01:12:15,890 --> 01:12:19,600 >> Also das ist nur, wie viel zu sagen, Sie kann mit dieser Art von Dingen zu tun. 1718 01:12:19,600 --> 01:12:21,892 Und erkennen auch, daß, wenn Puzzleteile exist-- nicht 1719 01:12:21,892 --> 01:12:24,891 und in der Tat, dies wird derjenige sein, der Kräfte mit dem ersten Problem 1720 01:12:24,891 --> 01:12:27,080 Sets und beyond-- ist tatsächlich eigene erstellen. 1721 01:12:27,080 --> 01:12:28,860 Und das ist nur ein Ausschnitt eines der Beispiele 1722 01:12:28,860 --> 01:12:30,230 Sie werden in der Lage sein zu spielen mit online, wo 1723 01:12:30,230 --> 01:12:33,380 wenn Sie nicht in Scratch gebaut so etwas wie ein Husten Puzzleteil, 1724 01:12:33,380 --> 01:12:35,470 Sie können es eigentlich selbst machen. 1725 01:12:35,470 --> 01:12:37,387 >> Und so all dies und noch viel mehr erwartet. 1726 01:12:37,387 --> 01:12:39,470 Und nur ein Finale zu malen Bild von der Tat, was ist 1727 01:12:39,470 --> 01:12:43,120 voraus im Speicher für die Klasse für Sie, basierend auf einige Bilder von Mitschülern 1728 01:12:43,120 --> 01:12:46,970 Vergangenheit, lassen Sie mich das Licht zu dimmen ein letztes Mal und zeigen Ihnen CS50. 1729 01:12:46,970 --> 01:12:49,580 1730 01:12:49,580 --> 01:12:53,038 >> [MUSIK SPIELEN] 1731 01:12:53,038 --> 01:14:38,210 1732 01:14:38,210 --> 01:14:38,860 >> Gut. 1733 01:14:38,860 --> 01:14:41,540 Das war es für CS50. 1734 01:14:41,540 --> 01:14:44,964 Kuchen wird jetzt serviert. 1735 01:14:44,964 --> 01:14:50,610 1736 01:14:50,610 --> 01:14:53,960 >> [MUSIK SPIELEN] 1737 01:14:53,960 --> 01:15:07,624