1 00:00:00,000 --> 00:00:09,840 2 00:00:09,840 --> 00:00:10,824 >> [RIPRODUZIONE VIDEO] 3 00:00:10,824 --> 00:00:13,284 >> [Porta che si chiudeva CAR] 4 00:00:13,284 --> 00:00:15,744 >> [AUTO AVVIAMENTO MOTORE] 5 00:00:15,744 --> 00:00:19,188 >> [RIPRODUZIONE DI BRANI MUSICALI] 6 00:00:19,188 --> 00:00:20,172 7 00:00:20,172 --> 00:00:24,516 >> -Moving Destra lungo alla ricerca di momenti belli e una buona notizia. 8 00:00:24,516 --> 00:00:26,871 Con i buoni amici non si può perdere. 9 00:00:26,871 --> 00:00:28,755 >> -Questo Potrebbe diventare un'abitudine. 10 00:00:28,755 --> 00:00:32,460 >> Urti -Opportunity Diamo solo raggiungere e afferrare. 11 00:00:32,460 --> 00:00:32,960 -Già! 12 00:00:32,960 --> 00:00:34,920 -insieme Ci Nab esso. 13 00:00:34,920 --> 00:00:37,370 Ll del `escursione intoppo, autobus o taxi giallo esso. 14 00:00:37,370 --> 00:00:38,840 -Dammit. 15 00:00:38,840 --> 00:00:40,800 -We're Spostamento a destra lungo. 16 00:00:40,800 --> 00:00:43,750 -Footloose E fantasia libera. 17 00:00:43,750 --> 00:00:45,960 Ci -Come è la metà del divertimento. 18 00:00:45,960 --> 00:00:47,718 Venite a condividere con me. 19 00:00:47,718 --> 00:00:49,654 >> -We're Spostamento a destra lungo. 20 00:00:49,654 --> 00:00:52,558 >> -We're Intenzione di condividere il carico. 21 00:00:52,558 --> 00:00:57,604 >> -Noi Non hanno bisogno di una mappa per ottenere questa esposizione sulla strada. 22 00:00:57,604 --> 00:01:00,520 Ehi Fozzy, voglio che svolta a sinistra se si arriva a un bivio. 23 00:01:00,520 --> 00:01:01,020 -Si signore. 24 00:01:01,020 --> 00:01:03,334 Svoltare a sinistra al bivio. 25 00:01:03,334 --> 00:01:05,222 Girare a sinistra. 26 00:01:05,222 --> 00:01:07,582 >> -Non Credo che. 27 00:01:07,582 --> 00:01:11,720 >> -Cruising Destra lungo abbiamo trovato le luci sulla strada principale. 28 00:01:11,720 --> 00:01:13,664 >> -e Proprio percorso o la mia strada. 29 00:01:13,664 --> 00:01:16,154 >> -Quindi Fiducia mia navigazione. 30 00:01:16,154 --> 00:01:21,134 >> Stelle -Movie con automobili flashy e la vita con la capote abbassata. 31 00:01:21,134 --> 00:01:23,126 >> -We're Assalto le grandi colline. 32 00:01:23,126 --> 00:01:24,122 >> -Sì, Tempesta è giusto. 33 00:01:24,122 --> 00:01:25,160 Dovrebbe essere nevicando? 34 00:01:25,160 --> 00:01:26,220 >> No, io non la penso così. 35 00:01:26,220 --> 00:01:28,505 >> -Moving Destra lungo. 36 00:01:28,505 --> 00:01:30,980 >> -Footloose E fantasia libera. 37 00:01:30,980 --> 00:01:32,960 >> -Sei Pronto per il grande momento. 38 00:01:32,960 --> 00:01:34,445 >> -E 'Pronto per me? 39 00:01:34,445 --> 00:01:38,900 40 00:01:38,900 --> 00:01:42,860 >> -Moving Destra lungo. 41 00:01:42,860 --> 00:01:47,315 Spostare a destra lungo. 42 00:01:47,315 --> 00:01:52,265 Spostare a destra lungo. 43 00:01:52,265 --> 00:01:56,131 Spostare a destra lungo. 44 00:01:56,131 --> 00:01:57,380 -Penso Che è meglio tirare su. 45 00:01:57,380 --> 00:01:58,020 -Si signore. 46 00:01:58,020 --> 00:02:02,475 47 00:02:02,475 --> 00:02:03,960 >> [FINE RIPRODUZIONE] 48 00:02:03,960 --> 00:02:07,425 >> [Applausi] 49 00:02:07,425 --> 00:02:09,405 50 00:02:09,405 --> 00:02:11,930 >> DAVID J. MALAN: Questo è CS50. 51 00:02:11,930 --> 00:02:15,940 E questo è il fine settimana 0, ma l'inizio di una bella amicizia. 52 00:02:15,940 --> 00:02:18,250 Siamo così eccitati di essere qui all'Università di Yale 53 00:02:18,250 --> 00:02:21,530 per la prima volta con il nostro amico SCAZ, e Jason, e Andy. 54 00:02:21,530 --> 00:02:24,320 Tutti 40 di TF di di CS50 e CA è qui a Yale. 55 00:02:24,320 --> 00:02:25,440 E tutti voi. 56 00:02:25,440 --> 00:02:28,470 E in effetti, è probabilmente il momento a-- 57 00:02:28,470 --> 00:02:31,914 >> [Applausi] 58 00:02:31,914 --> 00:02:43,722 59 00:02:43,722 --> 00:02:47,920 >> Così, anche se la maggior parte delle lezioni sarà davvero a Cambridge di quest'anno, 60 00:02:47,920 --> 00:02:51,250 la realtà è che di progettazione, e molto deliberatamente CS50, 61 00:02:51,250 --> 00:02:54,740 Io credo che ci stiamo avvicinando al punto tecnologicamente, e pedagogicamente, 62 00:02:54,740 --> 00:02:57,930 dove può essere un educativo superiore esperienza per impegnarsi con un certo 63 00:02:57,930 --> 00:02:59,610 dell'Enciclopedia di materiale didattico on-line. 64 00:02:59,610 --> 00:03:02,862 In effetti, il reality-- e se credo questo philosophically-- è che le lezioni 65 00:03:02,862 --> 00:03:05,070 Non sono particolarmente mezzi efficaci per realizzare 66 00:03:05,070 --> 00:03:06,900 informazioni abbastanza complesso. 67 00:03:06,900 --> 00:03:09,219 Certamente su un'ora più lunghi lassi di tempo. 68 00:03:09,219 --> 00:03:11,760 E infatti ogni pochi minutes-- Mi ricordo che in college-- 69 00:03:11,760 --> 00:03:14,210 si ZONE per un attimo, ti manca qualche argomento complesso, 70 00:03:14,210 --> 00:03:16,540 e te ne sei andato più o meno per i successivi 45 minuti. 71 00:03:16,540 --> 00:03:19,414 E la realtà è che se siete qui a New Haven o Cambridge 72 00:03:19,414 --> 00:03:22,930 o oltre, la semplicità di avere la capacità di mettere in pausa e avanti veloce, 73 00:03:22,930 --> 00:03:26,270 rewind, collegamento ipertestuale al relativo risorse, trascrizioni ricerca a testo integrale 74 00:03:26,270 --> 00:03:29,900 e simili è un'opportunità che Oserei dire per i nostri studenti online 75 00:03:29,900 --> 00:03:32,530 ben al di là di New Haven, offre loro un'opportunità 76 00:03:32,530 --> 00:03:34,700 di cogliere davvero il materiale concettuale che abbiamo 77 00:03:34,700 --> 00:03:36,700 introdurre nelle lezioni tanto meglio. 78 00:03:36,700 --> 00:03:39,415 >> Ma alla fine in CS50, è l'esperienza degli studenti 79 00:03:39,415 --> 00:03:43,099 è caratterizzato così, molto più da insiemi di problemi del corso, 80 00:03:43,099 --> 00:03:46,140 o progetti di programmazione settimanale, il sezioni del corso guidati dal insegnamento 81 00:03:46,140 --> 00:03:49,600 borsisti, le ore di ufficio notturne guidate da gli assistenti del corso e l'insegnamento 82 00:03:49,600 --> 00:03:52,330 borsisti, e in effetti così eventi come CS50 Puzzle 83 00:03:52,330 --> 00:03:56,500 Giorno, di CS50 Hack-a-thon, il CS50 Fiera, pranzi settimanali, e molto altro ancora. 84 00:03:56,500 --> 00:03:59,580 E così se siete qui a New Haven o sintonizzarsi da lontano, 85 00:03:59,580 --> 00:04:02,270 oggi a Cambridge, e ci vediamo presto, 86 00:04:02,270 --> 00:04:04,580 la realtà è questa è una stessa classe. 87 00:04:04,580 --> 00:04:07,990 E siamo così entusiasti di essere qui tutti insieme oggi. 88 00:04:07,990 --> 00:04:11,110 E così, alla fine del semestre, se qui o lontano, ben 89 00:04:11,110 --> 00:04:14,910 speriamo che si indossano con orgoglio, felicemente, e forse con un po 'di sollievo, 90 00:04:14,910 --> 00:04:19,459 la camicia che testimonia a voi dopo aver preso CS50. 91 00:04:19,459 --> 00:04:21,700 >> Allora, dove abbiamo lasciato fuori il Mercoledì? 92 00:04:21,700 --> 00:04:24,410 Abbiamo preso uno sguardo a pensiero computazionale. 93 00:04:24,410 --> 00:04:27,830 Ed è verso quello che abbiamo distillato informatica unto, almeno 94 00:04:27,830 --> 00:04:28,800 per adesso. 95 00:04:28,800 --> 00:04:31,990 Ma abbiamo distillato che po 'più in almeno tre elementi componenti. 96 00:04:31,990 --> 00:04:34,570 >> Ingressi, così che cosa è il problema che stiamo cercando di risolvere? 97 00:04:34,570 --> 00:04:36,650 Uscite, qual è la Rispondiamo noi stiamo sperando di ottenere? 98 00:04:36,650 --> 00:04:38,210 E la rappresentazione di lì. 99 00:04:38,210 --> 00:04:41,870 E non soffermarsi qui su dopo il binario, o anche ASCII, 100 00:04:41,870 --> 00:04:44,050 e simili tanto, ma piuttosto dare per scontato 101 00:04:44,050 --> 00:04:47,520 che possiamo rappresentare queste informazioni, perché le parti molto più interessante 102 00:04:47,520 --> 00:04:51,010 di questi problemi non sono solo il ingressi e uscite, ma gli algoritmi 103 00:04:51,010 --> 00:04:53,020 che vanno in soluzione di questi problemi. 104 00:04:53,020 --> 00:04:55,120 >> E si potrebbe ricordare da l'altro giorno che siamo 105 00:04:55,120 --> 00:04:59,860 ha preso una abbastanza tradizionale concetto di guardare qualcuno 106 00:04:59,860 --> 00:05:03,240 in un gran libro di telefono, o più in generale in digitale in questi giorni, 107 00:05:03,240 --> 00:05:04,420 solo un grande insieme di dati. 108 00:05:04,420 --> 00:05:07,840 Davvero un grande elenco di contatti, con un sacco di nomi in ordine alfabetico ordinati. 109 00:05:07,840 --> 00:05:11,310 E ci siamo resi conto che mentre io potrebbe affrontare questo problema semplicemente 110 00:05:11,310 --> 00:05:14,520 utilizzando lineare Pagina approach-- per pagina, 111 00:05:14,520 --> 00:05:17,775 o anche due di in un tempo-- ci siamo resi conto che il algorithm-- più intuitiva 112 00:05:17,775 --> 00:05:20,840 solo tipo di dividere e conquistare nuovamente il problema, e di nuovo, 113 00:05:20,840 --> 00:05:24,670 e again-- dimezzare con ogni tempo, ci ha dato questo risultato verde. 114 00:05:24,670 --> 00:05:27,080 Ed è così molto più piatta perché suggerisce 115 00:05:27,080 --> 00:05:29,160 che anche se questo problema diventa sempre più grande, 116 00:05:29,160 --> 00:05:32,470 come avviene attualmente con i dati set e reality-- Facebook e Google 117 00:05:32,470 --> 00:05:34,630 risultati di ricerca e la like-- fa il nostro algoritmo 118 00:05:34,630 --> 00:05:37,660 svolgere in modo altrettanto efficace con quei morsi più grandi 119 00:05:37,660 --> 00:05:40,310 come ha fatto anche con i piccoli morsi. 120 00:05:40,310 --> 00:05:45,330 >> Ora si pone la domanda, cosa possiamo davvero risolvere simile 121 00:05:45,330 --> 00:05:46,820 con questo tipo di intuizione? 122 00:05:46,820 --> 00:05:48,740 Questo tipo di divisione e conquistare? 123 00:05:48,740 --> 00:05:51,029 Beh, potremmo fare qualcosa come quella di oggi qui. 124 00:05:51,029 --> 00:05:52,070 Potremmo prendere presenze. 125 00:05:52,070 --> 00:05:56,102 Così forse come 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11-- 126 00:05:56,102 --> 00:05:57,560 non andare a essere tutto ciò che efficiente. 127 00:05:57,560 --> 00:05:58,990 Quindi aspettare, scuola elementare. 128 00:05:58,990 --> 00:06:02,770 2, 4, 6, 8, 10, 12, 14, 16, 18 e così via. 129 00:06:02,770 --> 00:06:04,140 Ma potremmo fare un po 'meglio? 130 00:06:04,140 --> 00:06:06,630 >> Sono abbastanza sicuro che non posso farlo da solo. 131 00:06:06,630 --> 00:06:09,420 Quindi, se sarò umorismo noi solo un momento, abbiamo portato con noi 132 00:06:09,420 --> 00:06:11,640 un algoritmo che è appena ricevuto tre passi, 133 00:06:11,640 --> 00:06:15,130 ma non se si require-- non mind-- tutti noi si alzano, 134 00:06:15,130 --> 00:06:15,690 se tu volessi. 135 00:06:15,690 --> 00:06:23,901 136 00:06:23,901 --> 00:06:29,380 Così, con tutti noi ora in piedi, passo uno di questo algoritmo è il seguente. 137 00:06:29,380 --> 00:06:31,680 Alzati e assegnare voi stessi il numero 1. 138 00:06:31,680 --> 00:06:34,180 Quindi, a questo punto nel tempo, letteralmente tutti in questa stanza 139 00:06:34,180 --> 00:06:38,830 speriamo che sta pensando a se stessi, tuttavia goffamente, il numero 1. 140 00:06:38,830 --> 00:06:42,020 >> Ora passo a due di questo algoritmo è andando a coinvolgere quanto segue. 141 00:06:42,020 --> 00:06:44,680 Fase due, in coppie con qualcuno in piedi, 142 00:06:44,680 --> 00:06:47,970 aggiungere i numeri insieme, e adottare l'importo che il tuo nuovo numero. 143 00:06:47,970 --> 00:06:53,110 144 00:06:53,110 --> 00:06:55,620 Sanity check rapida. 145 00:06:55,620 --> 00:06:58,180 Che numero è tutti pensando ora? 146 00:06:58,180 --> 00:07:01,930 >> Quindi 2, tranne forse per uno, goffo, persona solitaria. 147 00:07:01,930 --> 00:07:04,269 Se abbiamo un numero dispari di persone nella stanza. 148 00:07:04,269 --> 00:07:06,560 Così una persona potrebbe essere ancora il numero 1, va bene. 149 00:07:06,560 --> 00:07:09,440 Ma punto tre qui, uno di voi dovrebbe sedersi. 150 00:07:09,440 --> 00:07:13,620 L'altro dovrebbe tornare al passo due, e ripetere, se si farebbe. 151 00:07:13,620 --> 00:07:54,430 152 00:07:54,430 --> 00:07:58,240 >> Quindi, se ancora in piedi, si dovrebbe essere tra coloro che risale alla fase due. 153 00:07:58,240 --> 00:08:13,910 154 00:08:13,910 --> 00:08:14,574 Andare avanti. 155 00:08:14,574 --> 00:08:20,790 156 00:08:20,790 --> 00:08:22,130 Alcune persone ancora in piedi. 157 00:08:22,130 --> 00:08:33,590 158 00:08:33,590 --> 00:08:35,614 >> Quindi, se ancora in piedi, coppia con qualcuno. 159 00:08:35,614 --> 00:08:53,710 160 00:08:53,710 --> 00:08:55,020 Va bene, il calo verso il basso. 161 00:08:55,020 --> 00:09:06,394 162 00:09:06,394 --> 00:09:07,560 Alcune persone ancora in piedi. 163 00:09:07,560 --> 00:09:08,600 Ti aiuto se necessario. 164 00:09:08,600 --> 00:09:11,855 Ricordate il takeaway chiave qui, è come molto più veloce di me questo è il conteggio. 165 00:09:11,855 --> 00:09:15,090 166 00:09:15,090 --> 00:09:16,200 >> Quindi cerchiamo di vedere. 167 00:09:16,200 --> 00:09:16,900 Posso dare una mano. 168 00:09:16,900 --> 00:09:19,425 Così che numero sono ancora pensando? 169 00:09:19,425 --> 00:09:20,320 >> PUBBLICO: Sono a 44. 170 00:09:20,320 --> 00:09:22,400 >> DAVID J. MALAN: 44, così di andare avanti e sedersi. 171 00:09:22,400 --> 00:09:23,733 Che numero stai pensando? 172 00:09:23,733 --> 00:09:24,840 PUBBLICO: 74. 173 00:09:24,840 --> 00:09:27,006 >> DAVID J. MALAN: 74. 174 00:09:27,006 --> 00:09:28,380 Va bene, andare avanti e sedersi. 175 00:09:28,380 --> 00:09:30,390 Chi altro è ancora in piedi? 176 00:09:30,390 --> 00:09:31,550 86. 177 00:09:31,550 --> 00:09:33,340 Ed è chiunque altro ancora in piedi? 178 00:09:33,340 --> 00:09:34,976 >> Che numero? 179 00:09:34,976 --> 00:09:37,380 Ho sentito 67. 180 00:09:37,380 --> 00:09:39,370 E poi in cima? 181 00:09:39,370 --> 00:09:40,900 32. 182 00:09:40,900 --> 00:09:44,230 Chiunque altro ancora in piedi e pensare di un numero? 183 00:09:44,230 --> 00:09:44,730 >> Oh ciao. 184 00:09:44,730 --> 00:09:45,230 Scusate. 185 00:09:45,230 --> 00:09:48,350 Torno subito. 186 00:09:48,350 --> 00:09:49,520 42. 187 00:09:49,520 --> 00:09:51,758 Chiunque altro? 188 00:09:51,758 --> 00:09:52,610 >> PUBBLICO: 47. 189 00:09:52,610 --> 00:09:54,930 >> DAVID J. MALAN: 47. 190 00:09:54,930 --> 00:09:57,980 Chiunque altro è ancora in piedi che non è stato contato? 191 00:09:57,980 --> 00:10:06,450 Quindi il numero finale di persone in una stanza che ha 497 posti è-- tutte 192 00:10:06,450 --> 00:10:10,930 sono filled-- è 390. 193 00:10:10,930 --> 00:10:12,230 Quindi questo è grande. 194 00:10:12,230 --> 00:10:16,435 >> Ci sarà presto discutere la nozione di un bug in un programma per computer. 195 00:10:16,435 --> 00:10:19,660 Ma torneremo a che tra non molto. 196 00:10:19,660 --> 00:10:22,440 Ma in teoria, ciò potrebbe essere successo solo ora? 197 00:10:22,440 --> 00:10:25,930 Così, anche se c'erano tre grandi passi per questo algoritmo, ognuno di quelli 198 00:10:25,930 --> 00:10:27,510 era solo tipo di un unico grande operazione. 199 00:10:27,510 --> 00:10:31,020 E c'era questa ciclicità ad esso nel senso che se si erano ancora in piedi, 200 00:10:31,020 --> 00:10:34,870 si continuava dal passaggio 3-2, step 3-2, passo 3-2. 201 00:10:34,870 --> 00:10:37,330 >> Ma ciò che ha tenuto accadendo ad ogni iterazione? 202 00:10:37,330 --> 00:10:39,440 Ogni ciclo di questo ciclo? 203 00:10:39,440 --> 00:10:41,940 Cosa stava succedendo altrove nella stanza? 204 00:10:41,940 --> 00:10:45,170 Non solo la stessa cosa, ma cosa stava accadendo alla metà di voi? 205 00:10:45,170 --> 00:10:46,170 Sedendosi. 206 00:10:46,170 --> 00:10:49,710 E così c'è nella menzogna questa intuizione, proprio come l'esempio rubrica telefonica, 207 00:10:49,710 --> 00:10:52,050 nel senso che se la metà di voi sono sedersi ogni volta, 208 00:10:52,050 --> 00:10:54,560 il problema sta iniziando con forse 400 persone, 209 00:10:54,560 --> 00:10:57,780 poi a 200 persone, di 100 persone, poi 50 persone, e così via. 210 00:10:57,780 --> 00:11:00,660 >> E così noi cercare di ridurre in teoria ad una sola persona, 211 00:11:00,660 --> 00:11:02,830 pensando al valore totale di tutti. 212 00:11:02,830 --> 00:11:05,777 Ora la realtà, alcune dinamiche sociali, e alcuni errori aritmetici 213 00:11:05,777 --> 00:11:07,360 potrebbe contribuire a quel bug finale. 214 00:11:07,360 --> 00:11:10,300 Ma in teoria, mentre era ancora contando via, 215 00:11:10,300 --> 00:11:12,860 prendendo alcune decine gradini, o centinaia di passi 216 00:11:12,860 --> 00:11:16,240 a contare voi stessi, per contare una stanza piena di circa 500 persone 217 00:11:16,240 --> 00:11:20,560 avrebbe dovuto prendere molto meno passaggi, perché si può dividere solo 500 e 1/2 218 00:11:20,560 --> 00:11:21,350 così tante volte. 219 00:11:21,350 --> 00:11:24,120 E così, proprio come con il telefono prenotare esempio l'altro giorno, 220 00:11:24,120 --> 00:11:26,740 abbiamo dovuto qualcosa logaritmica per così dire, 221 00:11:26,740 --> 00:11:28,870 per cui se fossimo tutti operano all'unisono, 222 00:11:28,870 --> 00:11:32,000 e ignorando la errori di addizione, avremmo 223 00:11:32,000 --> 00:11:34,140 hanno ottenuto esattamente quel tipo di tempo di esecuzione? 224 00:11:34,140 --> 00:11:37,900 >> Ora, per essere onesti, un po 'truffati, in che ho sfruttato un'altra risorsa. 225 00:11:37,900 --> 00:11:40,320 Considerando che è solo uno di me, I Leveraged centinaia di voi. 226 00:11:40,320 --> 00:11:43,340 Ma che potrebbe essere detto di essere un esempio di elaborazione parallela, 227 00:11:43,340 --> 00:11:46,400 o di uno stato dell'arte molto in voga dove i computer in questi giorni hanno 228 00:11:46,400 --> 00:11:49,830 CPU multiple, o più tecnicamente, più più core, 229 00:11:49,830 --> 00:11:52,550 e può veramente fare di più cose in una volta, proprio come si 230 00:11:52,550 --> 00:11:54,706 tutto quello che stiamo facendo lì, in parallelo. 231 00:11:54,706 --> 00:11:56,580 Ma ricordare che quello che abbiamo anche fatto il Mercoledì 232 00:11:56,580 --> 00:12:02,640 è stato cercare di catturare questa intuizione e formalizzare nel codice. 233 00:12:02,640 --> 00:12:04,165 Qualcosa come pseudo-codice. 234 00:12:04,165 --> 00:12:07,040 E infatti, e spero che perdonare, è come 80 gradi in qui. 235 00:12:07,040 --> 00:12:09,420 Quindi ho intenzione di prendere questa off per appena un po '. 236 00:12:09,420 --> 00:12:12,410 Quello che ho pensato di fare è di transizione ora a una domanda in cui 237 00:12:12,410 --> 00:12:16,300 abbiamo ancora una volta coinvolgere il pubblico, ma scrivere un programma in inglese 238 00:12:16,300 --> 00:12:19,537 come la sintassi, con cui risolvere il problema qui. 239 00:12:19,537 --> 00:12:20,203 [RIPRODUZIONE VIDEO] 240 00:12:20,203 --> 00:12:22,266 Burro di arachidi tempo gelatina di -E. 241 00:12:22,266 --> 00:12:23,890 Burro di arachidi tempo gelatina. 242 00:12:23,890 --> 00:12:25,620 Burro di arachidi tempo gelatina. 243 00:12:25,620 --> 00:12:26,320 >> Way ya! 244 00:12:26,320 --> 00:12:26,927 Way ya! 245 00:12:26,927 --> 00:12:27,781 Way ya! 246 00:12:27,781 --> 00:12:28,350 Way ya! 247 00:12:28,350 --> 00:12:29,723 Ora ci si va! 248 00:12:29,723 --> 00:12:30,264 Ci si va! 249 00:12:30,264 --> 00:12:30,805 Ci si va! 250 00:12:30,805 --> 00:12:31,710 Ci si va! 251 00:12:31,710 --> 00:12:33,156 Burro di arachidi gelatina! 252 00:12:33,156 --> 00:12:34,602 Burro di arachidi gelatina! 253 00:12:34,602 --> 00:12:36,530 >> Burro di arachidi gelatina! 254 00:12:36,530 --> 00:12:37,494 Burro di arachidi gelatina! 255 00:12:37,494 --> 00:12:38,940 Arachidi, marmellata burro di arachidi! 256 00:12:38,940 --> 00:12:39,904 Burro di arachidi gelatina! 257 00:12:39,904 --> 00:12:41,840 Burro di arachidi gelatina con una mazza da baseball. 258 00:12:41,840 --> 00:12:42,423 >> [FINE RIPRODUZIONE] 259 00:12:42,423 --> 00:12:45,510 DAVID J. MALAN: --that video, ma è un po 'coinvolgente, 260 00:12:45,510 --> 00:12:46,540 se non un po 'fastidioso. 261 00:12:46,540 --> 00:12:49,623 Ma per fare questo, ho pensato che saremmo fare è cercare di scrivere un programma insieme, 262 00:12:49,623 --> 00:12:51,870 per il quale abbiamo bisogno di tre volontari. 263 00:12:51,870 --> 00:12:54,350 Devono essere confortevole sulla fotocamera e connessione internet. 264 00:12:54,350 --> 00:12:57,820 Sam, vieni su. 265 00:12:57,820 --> 00:12:59,830 Camicia viola, proprio qui, andiamo su. 266 00:12:59,830 --> 00:13:03,470 >> E da qui, lasciatemi andare un po 'più indietro. 267 00:13:03,470 --> 00:13:05,280 Crimson e camicie blu, andiamo su. 268 00:13:05,280 --> 00:13:06,980 Perfetto. 269 00:13:06,980 --> 00:13:09,790 Andiamo ora. 270 00:13:09,790 --> 00:13:12,490 Vieni su, vieni su. 271 00:13:12,490 --> 00:13:13,581 >> E qual'è il tuo nome? 272 00:13:13,581 --> 00:13:14,080 Erica. 273 00:13:14,080 --> 00:13:15,289 David, piacere di conoscerti. 274 00:13:15,289 --> 00:13:16,830 Se vuoi prendere questa sede qui. 275 00:13:16,830 --> 00:13:17,900 Questo è Sam. 276 00:13:17,900 --> 00:13:19,690 >> Come ti chiami? 277 00:13:19,690 --> 00:13:20,260 Antonio. 278 00:13:20,260 --> 00:13:21,595 Antonio, piacere di conoscerti. 279 00:13:21,595 --> 00:13:23,790 Erica e Sam, se aveste piace avere un posto qui. 280 00:13:23,790 --> 00:13:26,700 Che cosa siamo venuti preparati con, come questi ragazzi stanno scoprendo, 281 00:13:26,700 --> 00:13:30,580 è gli ingredienti con cui effettuare un burro di arachidi e gelatina sandwich. 282 00:13:30,580 --> 00:13:33,520 >> Ora, questo potrebbe essere qualcosa che si prende molto per scontato. 283 00:13:33,520 --> 00:13:35,430 Ma abbiamo dato ogni dei nostri tre volontari 284 00:13:35,430 --> 00:13:40,500 qui-- due volontari e Sam qui, un pagnotta di pane ciascuno, un piatto, un coltello, 285 00:13:40,500 --> 00:13:43,740 un barattolo di gelatina o marmellata, e un barattolo di burro di arachidi. 286 00:13:43,740 --> 00:13:46,190 E l'obiettivo a portata di mano ora è sarà per questi tre 287 00:13:46,190 --> 00:13:48,030 per fare un burro di arachidi e panino gelatina. 288 00:13:48,030 --> 00:13:51,000 Ma quello che andremo a fare è aspettare il audience-- poiché tutti voi 289 00:13:51,000 --> 00:13:53,710 sicuramente sapere come fare così bene in reality-- 290 00:13:53,710 --> 00:13:56,380 stanno per fornirci il passo per passo le istruzioni. 291 00:13:56,380 --> 00:13:57,970 La pseudo-codice, se si vuole. 292 00:13:57,970 --> 00:13:59,922 >> Così io interpreto il ruolo di scriba qui. 293 00:13:59,922 --> 00:14:02,880 E ho avuto un po 'to-do list, e così come ognuno di voi, uno alla volta, 294 00:14:02,880 --> 00:14:04,588 chiama fuori un potenziale didattico, io sarò 295 00:14:04,588 --> 00:14:06,110 scrivere in giù, ripetere se necessario. 296 00:14:06,110 --> 00:14:09,650 E poi voi ragazzi stanno andando a fare un burro di arachidi e gelatina di sandwich 297 00:14:09,650 --> 00:14:11,171 solo facendo ciò che ti viene detto. 298 00:14:11,171 --> 00:14:12,670 Quindi, pensare a voi stessi come i computer. 299 00:14:12,670 --> 00:14:13,740 >> Si può fare solo quello che ti dicono. 300 00:14:13,740 --> 00:14:14,948 Nessuna ipotesi, nessuna domanda. 301 00:14:14,948 --> 00:14:16,660 Hai solo bisogno di farlo. 302 00:14:16,660 --> 00:14:20,460 Allora, chi vorrebbe azzardare il primo istruzioni per fare un panino PBJ? 303 00:14:20,460 --> 00:14:21,460 Sul balcone c'è. 304 00:14:21,460 --> 00:14:22,801 >> AUDIENCE: Aprire la busta del pane. 305 00:14:22,801 --> 00:14:26,430 >> DAVID J. MALAN: Aprire il sacchetto di pane, se si vuole. 306 00:14:26,430 --> 00:14:34,440 307 00:14:34,440 --> 00:14:35,230 Quindi cerchiamo di vedere. 308 00:14:35,230 --> 00:14:37,910 Andiamo a iterare, e ottenere un po 'più precisi. 309 00:14:37,910 --> 00:14:39,040 >> Buon modo per iniziare però. 310 00:14:39,040 --> 00:14:42,340 Fase due, qualcun altro. 311 00:14:42,340 --> 00:14:43,590 Ora nessuno vuole fare volontariato. 312 00:14:43,590 --> 00:14:44,616 Fase due, nella parte anteriore. 313 00:14:44,616 --> 00:14:46,532 AUDIENCE: Aprire il interno sacchetto di pane pure. 314 00:14:46,532 --> 00:14:50,600 DAVID J. MALAN: Aprire il sacchetto interno del pane pure. 315 00:14:50,600 --> 00:14:51,880 Ottimo, abbiamo l'apprendimento. 316 00:14:51,880 --> 00:14:57,880 317 00:14:57,880 --> 00:14:59,090 Un po 'più precisi. 318 00:14:59,090 --> 00:15:00,240 Prendiamo questo lavoro. 319 00:15:00,240 --> 00:15:01,180 Sì, in camicia verde. 320 00:15:01,180 --> 00:15:04,608 >> PUBBLICO: [incomprensibile] 321 00:15:04,608 --> 00:15:05,108 322 00:15:05,108 --> 00:15:09,040 DAVID J. MALAN: Fette di pane. 323 00:15:09,040 --> 00:15:11,110 Rimuovere delicatamente due fette di pane. 324 00:15:11,110 --> 00:15:20,350 325 00:15:20,350 --> 00:15:21,000 Quello è buono. 326 00:15:21,000 --> 00:15:24,300 Fase quattro, qualcun altro? 327 00:15:24,300 --> 00:15:25,170 Qui, sì? 328 00:15:25,170 --> 00:15:26,130 >> PUBBLICO: [incomprensibile] 329 00:15:26,130 --> 00:15:28,810 >> DAVID J. MALAN: Luogo pane sul piatto. 330 00:15:28,810 --> 00:15:33,490 331 00:15:33,490 --> 00:15:35,290 Fase cinque? 332 00:15:35,290 --> 00:15:36,020 Fase cinque, sì? 333 00:15:36,020 --> 00:15:39,440 >> PUBBLICO: [incomprensibile] 334 00:15:39,440 --> 00:15:39,940 335 00:15:39,940 --> 00:15:43,860 DAVID J. MALAN: In cima di-- oh, mano. 336 00:15:43,860 --> 00:15:46,967 Mettere mano sulla parte superiore di burro di arachidi. 337 00:15:46,967 --> 00:15:47,800 E 'questo che ho la testa? 338 00:15:47,800 --> 00:15:49,160 >> PUBBLICO: Sì, e svitare. 339 00:15:49,160 --> 00:15:51,370 >> DAVID J. MALAN: e- dire di nuovo. 340 00:15:51,370 --> 00:15:52,696 >> PUBBLICO: [incomprensibile] 341 00:15:52,696 --> 00:15:57,990 >> DAVID J. MALAN: E mettere il coperchio accanto al burro di arachidi. 342 00:15:57,990 --> 00:16:00,370 Leggermente mettere mano su cima di burro di arachidi, 343 00:16:00,370 --> 00:16:03,240 e svitare, e mettere il coperchio accanto al burro di arachidi. 344 00:16:03,240 --> 00:16:14,760 345 00:16:14,760 --> 00:16:16,260 OK, passo a sei. 346 00:16:16,260 --> 00:16:17,520 Fase sei, qualcun altro. 347 00:16:17,520 --> 00:16:19,366 Sì? 348 00:16:19,366 --> 00:16:22,740 >> PUBBLICO: [incomprensibile] 349 00:16:22,740 --> 00:16:29,197 350 00:16:29,197 --> 00:16:30,405 DAVID J. MALAN: Dillo ancora. 351 00:16:30,405 --> 00:16:31,946 PUBBLICO: Ripetere il passaggio cinque di nuovo. 352 00:16:31,946 --> 00:16:37,380 DAVID J. MALAN: E ripetere il passaggio cinque di nuovo, 353 00:16:37,380 --> 00:16:39,400 che sta per creare un po 'un problema 354 00:16:39,400 --> 00:16:42,600 ora se stiamo facendo questo passo dopo passo. 355 00:16:42,600 --> 00:16:44,640 Così ora torniamo al punto cinque. 356 00:16:44,640 --> 00:16:47,760 Leggermente mettere mano sopra di burro di arachidi e svitare 357 00:16:47,760 --> 00:16:50,990 e mettere coperchio accanto al burro di arachidi. 358 00:16:50,990 --> 00:16:55,340 Poi afferrare il burro di arachidi e ripetere passo cinque. 359 00:16:55,340 --> 00:16:58,410 >> Quindi dovremo sovrascrivere che ciclo infinito, se si vuole. 360 00:16:58,410 --> 00:17:00,400 Passo sette, qualcun altro. 361 00:17:00,400 --> 00:17:02,918 Sì, in parte posteriore. 362 00:17:02,918 --> 00:17:06,397 >> PUBBLICO: [incomprensibile] 363 00:17:06,397 --> 00:17:16,084 364 00:17:16,084 --> 00:17:17,769 >> DAVID J. MALAN: top --sul di altri. 365 00:17:17,769 --> 00:17:20,529 >> PUBBLICO: [incomprensibile] 366 00:17:20,529 --> 00:17:23,175 >> DAVID J. MALAN: Sul dall'altro dall'altro superiore. 367 00:17:23,175 --> 00:17:28,880 368 00:17:28,880 --> 00:17:30,895 Vuoi venire solo qui? 369 00:17:30,895 --> 00:17:34,750 Come faccio a terminare l'istruzione? 370 00:17:34,750 --> 00:17:37,790 Qual è il resto della istruzione? 371 00:17:37,790 --> 00:17:39,140 >> PUBBLICO: Ignorare questa parte. 372 00:17:39,140 --> 00:17:41,050 >> DAVID J. MALAN: Ignorare questa parte. 373 00:17:41,050 --> 00:17:44,192 374 00:17:44,192 --> 00:17:44,900 Ricominciamo. 375 00:17:44,900 --> 00:17:45,400 Passo sette. 376 00:17:45,400 --> 00:17:48,516 377 00:17:48,516 --> 00:17:51,883 >> PUBBLICO: [incomprensibile] 378 00:17:51,883 --> 00:17:56,090 >> DAVID J. MALAN: Afferrare con opporsi mano-- questo è un bene. 379 00:17:56,090 --> 00:17:58,544 Questo in realtà è buono. 380 00:17:58,544 --> 00:18:01,750 >> PUBBLICO: [incomprensibile] 381 00:18:01,750 --> 00:18:03,975 >> DAVID J. MALAN: E plastica jar-- 382 00:18:03,975 --> 00:18:06,675 >> PUBBLICO: [incomprensibile] 383 00:18:06,675 --> 00:18:08,420 >> DAVID J. MALAN: E twist-- 384 00:18:08,420 --> 00:18:11,488 >> PUBBLICO: [incomprensibile] 385 00:18:11,488 --> 00:18:13,730 >> DAVID J. MALAN: Per due secondi. 386 00:18:13,730 --> 00:18:15,800 Basta aprire il barattolo di burro di arachidi. 387 00:18:15,800 --> 00:18:19,020 388 00:18:19,020 --> 00:18:20,632 Spero che mi perdoni. 389 00:18:20,632 --> 00:18:21,840 Quindi supponiamo ci siamo arrivati. 390 00:18:21,840 --> 00:18:23,240 Aprire il barattolo di burro di arachidi. 391 00:18:23,240 --> 00:18:27,008 392 00:18:27,008 --> 00:18:32,570 >> [Applausi] 393 00:18:32,570 --> 00:18:34,790 >> DAVID J. MALAN: Passo otto, andiamo. 394 00:18:34,790 --> 00:18:37,510 Passo otto, sì, sul retro. 395 00:18:37,510 --> 00:18:38,470 >> PUBBLICO: [incomprensibile] 396 00:18:38,470 --> 00:18:44,772 397 00:18:44,772 --> 00:18:45,700 >> DAVID J. MALAN: Good. 398 00:18:45,700 --> 00:18:47,040 Passo nove, sì? 399 00:18:47,040 --> 00:18:48,924 >> PUBBLICO: [incomprensibile] 400 00:18:48,924 --> 00:18:51,567 >> DAVID J. MALAN: --out di il barattolo di burro di arachidi. 401 00:18:51,567 --> 00:18:53,830 E- e che cosa? 402 00:18:53,830 --> 00:18:54,729 >> PUBBLICO: [incomprensibile] 403 00:18:54,729 --> 00:18:58,222 >> DAVID J. MALAN: E mettere coltello torna in burro di arachidi. 404 00:18:58,222 --> 00:19:11,130 405 00:19:11,130 --> 00:19:12,090 Passo dieci. 406 00:19:12,090 --> 00:19:13,050 Passo dieci. 407 00:19:13,050 --> 00:19:14,970 >> PUBBLICO: [incomprensibile] 408 00:19:14,970 --> 00:19:20,710 >> DAVID J. MALAN: Mettere il coltello fuori, e quindi rimuovere il sigillo. 409 00:19:20,710 --> 00:19:23,060 Bello. 410 00:19:23,060 --> 00:19:24,400 Fuori dal burro di arachidi. 411 00:19:24,400 --> 00:19:34,490 412 00:19:34,490 --> 00:19:36,406 Va bene, punto 11. 413 00:19:36,406 --> 00:19:37,322 >> PUBBLICO: [incomprensibile] 414 00:19:37,322 --> 00:19:42,520 415 00:19:42,520 --> 00:19:48,164 >> DAVID J. MALAN: OK, grigio computer seguire computer di blu o rosso. 416 00:19:48,164 --> 00:19:49,631 Bene. 417 00:19:49,631 --> 00:19:53,054 >> [Applausi] 418 00:19:53,054 --> 00:19:55,920 419 00:19:55,920 --> 00:19:57,170 DAVID J. MALAN: Portaci a casa. 420 00:19:57,170 --> 00:19:59,570 Altro paio di passi. 421 00:19:59,570 --> 00:20:00,250 Cosa c'è dopo? 422 00:20:00,250 --> 00:20:02,590 Passi 12. 423 00:20:02,590 --> 00:20:04,161 Passo 12. 424 00:20:04,161 --> 00:20:05,123 Sì? 425 00:20:05,123 --> 00:20:14,262 >> PUBBLICO: Metta una delle fette di pane delicatamente su una delle tue mani. 426 00:20:14,262 --> 00:20:17,550 >> DAVID J. MALAN: Una delle vostre mani. 427 00:20:17,550 --> 00:20:20,760 E poi, punto 13. 428 00:20:20,760 --> 00:20:21,260 Sì? 429 00:20:21,260 --> 00:20:22,220 >> PUBBLICO: [incomprensibile] 430 00:20:22,220 --> 00:20:25,580 431 00:20:25,580 --> 00:20:27,150 >> DAVID J. MALAN: fetta --sul di pane. 432 00:20:27,150 --> 00:20:29,950 Bene. 433 00:20:29,950 --> 00:20:32,260 Abbastanza buono. 434 00:20:32,260 --> 00:20:34,990 Passo 14, sì. 435 00:20:34,990 --> 00:20:38,126 >> PUBBLICO: Annulla passo 13. 436 00:20:38,126 --> 00:20:39,950 >> DAVID J. MALAN: Annulla passo 13. 437 00:20:39,950 --> 00:20:42,690 438 00:20:42,690 --> 00:20:44,770 Passiamo alla gelatina. 439 00:20:44,770 --> 00:20:47,900 Si tratta di un programma di 100- passo, ma stiamo eravamo sul punto 15. 440 00:20:47,900 --> 00:20:49,210 Già. 441 00:20:49,210 --> 00:20:50,170 >> PUBBLICO: [incomprensibile] 442 00:20:50,170 --> 00:20:53,050 443 00:20:53,050 --> 00:20:59,570 >> DAVID J. MALAN: da 7 a 13 utilizzando la gelatina, perché quelli è andato così bene. 444 00:20:59,570 --> 00:21:02,530 Ripetere i passaggi da 7 a 13, utilizzando la gelatina. 445 00:21:02,530 --> 00:21:07,940 Così afferrare la metà inferiore del barattolo di gelatina con la mano sulla parte superiore. 446 00:21:07,940 --> 00:21:11,970 D'altra parte la altri top, ignorando quella parte, 447 00:21:11,970 --> 00:21:15,430 afferrare con le mani avversarie, il coperchio e il vaso di plastica 448 00:21:15,430 --> 00:21:18,300 in basso, e torcere per due secondi. 449 00:21:18,300 --> 00:21:19,940 Quindi aprire il barattolo di gelatina. 450 00:21:19,940 --> 00:21:23,290 451 00:21:23,290 --> 00:21:26,580 E, infine, cerchiamo di ci danno qualcosa di commestibile. 452 00:21:26,580 --> 00:21:27,270 Passo 16. 453 00:21:27,270 --> 00:21:35,820 454 00:21:35,820 --> 00:21:37,130 Allora perché non la lasciamo lì. 455 00:21:37,130 --> 00:21:38,879 Grazie mille a i nostri tre volontari. 456 00:21:38,879 --> 00:21:41,466 [Applausi] 457 00:21:41,466 --> 00:21:45,920 458 00:21:45,920 --> 00:21:50,300 >> Abbiamo un piccolo CS50 palla antistress per voi. 459 00:21:50,300 --> 00:21:54,540 Stava per essere un panino ma-- così che cosa 460 00:21:54,540 --> 00:21:57,130 era il punto, oltre ad avere un po 'di divertimento con l'algoritmo? 461 00:21:57,130 --> 00:22:00,140 Ma la realtà è che anche quando stai programmare un computer, 462 00:22:00,140 --> 00:22:02,050 è necessario essere super-precisi. 463 00:22:02,050 --> 00:22:04,030 Come complesso o intimidatorio come il vostro computer 464 00:22:04,030 --> 00:22:06,670 potrebbe benissimo essere a voi, a almeno quando qualcosa va storto, 465 00:22:06,670 --> 00:22:10,150 la realtà è che è un abbastanza stupida dispositivo che è stato inventato da noi esseri umani, 466 00:22:10,150 --> 00:22:13,267 e può fare solo un sottoinsieme di quello che abbiamo fare-- talvolta certamente faster-- 467 00:22:13,267 --> 00:22:15,100 ma non sa come per fare ipotesi. 468 00:22:15,100 --> 00:22:18,070 Non sa come essere su la stessa lunghezza d'onda, come si. 469 00:22:18,070 --> 00:22:20,280 >> E 'solo fare esattamente quello che gli si dice. 470 00:22:20,280 --> 00:22:22,070 E sarete colpiti, forse, come si comincia 471 00:22:22,070 --> 00:22:24,770 la scrittura di codice reale con il primi set di problemi e di là, 472 00:22:24,770 --> 00:22:27,490 proprio come è facile fare un assunto come un essere umano, 473 00:22:27,490 --> 00:22:31,880 e non prevedo che ho bisogno di gestire tal caso, o quel caso angolo, 474 00:22:31,880 --> 00:22:34,900 per così dire, che potrebbe molto bene sorgere se per esempio Sam aveva il solo 475 00:22:34,900 --> 00:22:38,711 barattolo di gelatina comprimibile, mentre tutti gli altri avevano alcuni barattoli di vetro come 476 00:22:38,711 --> 00:22:39,210 bene. 477 00:22:39,210 --> 00:22:42,170 Quindi, prima ci rivolgiamo il nostro attenzione ad alcuni codice vero e proprio, 478 00:22:42,170 --> 00:22:44,680 mi permetta di introdurre la teste del corso qui a Yale. 479 00:22:44,680 --> 00:22:49,058 I nostri amici SCAZ, Andy, e Jason a venire e dire ciao. 480 00:22:49,058 --> 00:22:52,544 >> [Applausi] 481 00:22:52,544 --> 00:22:58,022 482 00:22:58,022 --> 00:23:01,060 >> SCAZ: Abbiamo temporaneamente interrotto Jason. 483 00:23:01,060 --> 00:23:02,440 Ciao di nuovo, tutti. 484 00:23:02,440 --> 00:23:03,610 Il mio nome è SCAZ. 485 00:23:03,610 --> 00:23:06,860 Ho insegnato a Yale dal 2001. 486 00:23:06,860 --> 00:23:10,820 E quando non sto insegnando, mia ricerca è nella robotica 487 00:23:10,820 --> 00:23:12,620 e l'intelligenza artificiale. 488 00:23:12,620 --> 00:23:17,700 >> E l'annuncio che ho oggi è che a partire in un paio di settimane, 489 00:23:17,700 --> 00:23:22,170 stiamo andando a portare un po ' materiale supplementare per CS50 per parlare 490 00:23:22,170 --> 00:23:24,510 su software di intelligenza. 491 00:23:24,510 --> 00:23:28,230 Stiamo per parlare di come luoghi come Netflix e Hulu 492 00:23:28,230 --> 00:23:31,780 può consigliare i film che si potrebbe desiderare di guardare. 493 00:23:31,780 --> 00:23:35,710 Dove parleremo di come auto-guidatore meno effettivamente lavoro. 494 00:23:35,710 --> 00:23:39,020 E noi saremo in grado di terra queste cose nei concetti 495 00:23:39,020 --> 00:23:41,730 che si sta imparando in questa classe oggi. 496 00:23:41,730 --> 00:23:45,410 >> Poiché tutte queste cose sono costruita sullo stesso fondamento. 497 00:23:45,410 --> 00:23:47,396 E questo è ciò che questo serie esplorerà. 498 00:23:47,396 --> 00:23:49,520 Quindi non vedo l'ora di vedere più di voi 499 00:23:49,520 --> 00:23:53,260 tutto, e si sta andando ad arrivare a vedere di più da tutti noi molto presto. 500 00:23:53,260 --> 00:23:56,500 Permettetemi quindi di presentarvi Jason. 501 00:23:56,500 --> 00:23:57,950 >> JASON: Ciao a tutti. 502 00:23:57,950 --> 00:23:59,290 Il mio nome è Jason. 503 00:23:59,290 --> 00:24:03,540 Io purtroppo andato a Harvard come studente non ancora laureato. 504 00:24:03,540 --> 00:24:07,020 Che sta per tagliarsi dal flusso effettivo. 505 00:24:07,020 --> 00:24:09,870 >> E ora sono qui come docente di il dipartimento di informatica. 506 00:24:09,870 --> 00:24:14,825 E io sto aiutando eseguire il corso con SCAZ, David e Andy. 507 00:24:14,825 --> 00:24:17,140 >> ANDY: Hey guys. 508 00:24:17,140 --> 00:24:17,980 Mi chiamo Andy. 509 00:24:17,980 --> 00:24:21,992 Io sono in realtà l'unico Yale studente sul palco in questo momento. 510 00:24:21,992 --> 00:24:25,464 >> [Applausi] 511 00:24:25,464 --> 00:24:29,440 512 00:24:29,440 --> 00:24:31,770 >> Sono a Berkeley College, originario di Solon, Ohio. 513 00:24:31,770 --> 00:24:35,240 514 00:24:35,240 --> 00:24:37,930 E io ero uno di quei ragazzi dove, quando sono arrivato a Yale, 515 00:24:37,930 --> 00:24:42,030 Ho davvero pensato che non avrei mai guardare a un numero sempre più. 516 00:24:42,030 --> 00:24:46,240 E poi ho capito che avevi bisogno scienza e QR credits per laurearsi. 517 00:24:46,240 --> 00:24:51,340 E così la mia primavera matricola, ho preso una classe, un CS, intro di classe CS qui 518 00:24:51,340 --> 00:24:52,230 a Yale. 519 00:24:52,230 --> 00:24:54,710 Ero come, questo è come in realtà piuttosto fresco. 520 00:24:54,710 --> 00:25:01,330 >> E mentre io in realtà finito per dichiarare come un affari globali importante, le competenze 521 00:25:01,330 --> 00:25:04,910 Ho imparato in CS e programmazione sono quindi applicabili a qualsiasi campo 522 00:25:04,910 --> 00:25:05,970 si sceglie di fare. 523 00:25:05,970 --> 00:25:09,770 E il personale qui a Yale, siamo stati così duramente al lavoro 524 00:25:09,770 --> 00:25:10,800 a preparare per voi ragazzi. 525 00:25:10,800 --> 00:25:13,410 E non vediamo l'ora di vedere tutto nella sezione e gli orari d'ufficio. 526 00:25:13,410 --> 00:25:14,874 Quindi sì. 527 00:25:14,874 --> 00:25:18,178 >> [Applausi] 528 00:25:18,178 --> 00:25:19,297 529 00:25:19,297 --> 00:25:20,380 DAVID J. MALAN: Grazie. 530 00:25:20,380 --> 00:25:22,940 Quindi, appena prima della lezione è iniziata, abbiamo avuto l'opportunità 531 00:25:22,940 --> 00:25:25,660 camminare intorno alla città universitaria con un cellulare e prendere 532 00:25:25,660 --> 00:25:30,530 alcuni selfies in forma di video di veramente il mio primo tour della città universitaria di Yale qui. 533 00:25:30,530 --> 00:25:35,420 E così abbiamo pensato di condividere un ruvido taglio di esattamente questo come SCAZ e Andy 534 00:25:35,420 --> 00:25:37,970 e Jason mi ha portato all'interno del campus. 535 00:25:37,970 --> 00:25:43,662 536 00:25:43,662 --> 00:25:44,328 [RIPRODUZIONE VIDEO] 537 00:25:44,328 --> 00:25:47,322 [SIRENE] 538 00:25:47,322 --> 00:25:49,318 -David. 539 00:25:49,318 --> 00:25:50,132 Il benvenuto al Yale. 540 00:25:50,132 --> 00:25:50,840 -É bello vederti. 541 00:25:50,840 --> 00:25:52,410 -Felice di vederti. 542 00:25:52,410 --> 00:25:53,340 -Può Andiamo in un tour? 543 00:25:53,340 --> 00:25:56,845 -Andiamo In un tour. 544 00:25:56,845 --> 00:25:57,523 Tour -Road. 545 00:25:57,523 --> 00:25:59,106 -Questo Segno è stato lì per un po '. 546 00:25:59,106 --> 00:26:00,200 -Whah, CS50. 547 00:26:00,200 --> 00:26:02,978 548 00:26:02,978 --> 00:26:05,293 >> -Hurry! 549 00:26:05,293 --> 00:26:08,970 Vai vai vai vai. 550 00:26:08,970 --> 00:26:12,340 Si dovrebbe [incomprensibile] Harkness Tower. 551 00:26:12,340 --> 00:26:13,850 >> -E Abbiamo visto che un paio di volte. 552 00:26:13,850 --> 00:26:16,760 553 00:26:16,760 --> 00:26:20,155 >> [Applausi] 554 00:26:20,155 --> 00:26:21,130 555 00:26:21,130 --> 00:26:22,890 >> -Look Fuori per la moto! 556 00:26:22,890 --> 00:26:24,500 Ahh! 557 00:26:24,500 --> 00:26:25,030 Ciao Frank. 558 00:26:25,030 --> 00:26:26,314 >> -Cosa succede ragazzi? 559 00:26:26,314 --> 00:26:26,855 -Come stai? 560 00:26:26,855 --> 00:26:28,474 -É bello vederti. 561 00:26:28,474 --> 00:26:29,390 -Benvenuti Al video. 562 00:26:29,390 --> 00:26:32,270 Non agire troppo eccitato. 563 00:26:32,270 --> 00:26:34,502 >> -Amo Silliman. 564 00:26:34,502 --> 00:26:36,430 Ahh! 565 00:26:36,430 --> 00:26:39,780 >> -E C'è stato circa tre ore da quando Jason aveva gelato e nutella. 566 00:26:39,780 --> 00:26:43,189 Quindi dobbiamo smettere di nuovo a Silliman per un po '. 567 00:26:43,189 --> 00:26:45,137 >> -Non È nemmeno [incomprensibile] tuttavia, solo il fatto 568 00:26:45,137 --> 00:26:47,270 che l'hanno qui è così sorprendente. 569 00:26:47,270 --> 00:26:49,830 Amico, ci sono Nutella ad ogni pasto. 570 00:26:49,830 --> 00:26:51,830 >> -Ci È stato anche l'anno scorso. 571 00:26:51,830 --> 00:26:54,220 >> -Già. 572 00:26:54,220 --> 00:26:56,440 >> -tell molto di Yale finora. 573 00:26:56,440 --> 00:26:58,485 Ma io ora che TD laggiù. 574 00:26:58,485 --> 00:26:59,860 E questo è considerato fuori dal campus. 575 00:26:59,860 --> 00:27:03,659 >> -Qui Abbiamo architettura gotica. 576 00:27:03,659 --> 00:27:04,200 Di fama mondiale. 577 00:27:04,200 --> 00:27:06,758 Abbiamo un po 'un'architettura più gotica. 578 00:27:06,758 --> 00:27:10,614 E la costruzione e un'architettura più gotica. 579 00:27:10,614 --> 00:27:11,114 Salve. 580 00:27:11,114 --> 00:27:15,470 Questo è dove noi stiamo avendo orario d'ufficio Da martedì a giovedì di Hogwarts, 581 00:27:15,470 --> 00:27:16,922 come [incomprensibile]. 582 00:27:16,922 --> 00:27:20,620 583 00:27:20,620 --> 00:27:21,120 -Tutto ok. 584 00:27:21,120 --> 00:27:22,078 Questo è tutto per il tour. 585 00:27:22,078 --> 00:27:24,030 Siamo alla Yale University di Law School, dove 586 00:27:24,030 --> 00:27:25,870 lezione di oggi è per avere luogo. 587 00:27:25,870 --> 00:27:29,220 Andiamo in testa. 588 00:27:29,220 --> 00:27:30,375 >> [FINE RIPRODUZIONE] 589 00:27:30,375 --> 00:27:32,370 >> DAVID J. MALAN: E che ci porta qui ora. 590 00:27:32,370 --> 00:27:38,040 591 00:27:38,040 --> 00:27:40,770 Quindi finora, siamo stati concentrandosi su pseudocodice, 592 00:27:40,770 --> 00:27:42,430 che è questa sintassi inglese-like. 593 00:27:42,430 --> 00:27:45,030 Non ha specifica prescritta. 594 00:27:45,030 --> 00:27:47,030 E 'solo un po' si usa linguaggio intuitivo se 595 00:27:47,030 --> 00:27:48,950 vuole spiegare che cosa si vuole fare. 596 00:27:48,950 --> 00:27:52,270 >> Ma cominciamo ora a transizione in codice, come la maggior parte delle persone direbbe. 597 00:27:52,270 --> 00:27:54,880 Ma più precisamente, qualcosa noto come codice sorgente. 598 00:27:54,880 --> 00:27:58,210 Questo è il linguaggio che gli esseri umani scrivono che i computer ultimately-- 599 00:27:58,210 --> 00:28:00,780 possibilmente dopo un certo numero di steps-- capisce definitiva 600 00:28:00,780 --> 00:28:02,530 in modo da sapere come fare qualcosa. 601 00:28:02,530 --> 00:28:05,120 Che si è visto un assaggio di questo forse il Mercoledì. 602 00:28:05,120 --> 00:28:07,780 >> Questo è un esempio che incredibilmente, deludente 603 00:28:07,780 --> 00:28:10,220 quando eseguito dice semplicemente "ciao mondo". 604 00:28:10,220 --> 00:28:13,510 Ed è scritto in un linguaggio chiamato C, che è molto simile sintatticamente 605 00:28:13,510 --> 00:28:15,676 a un sacco di altre lingue che si potrebbe non sapere, 606 00:28:15,676 --> 00:28:18,409 ma potrebbe aver sentito parlare di come Java, e C ++ e Python e Ruby, 607 00:28:18,409 --> 00:28:21,200 e simili, e in effetti, faremo spendere molto del semestre in C, 608 00:28:21,200 --> 00:28:23,530 e poi verso la fine del semestre, costruendo su di essa, 609 00:28:23,530 --> 00:28:25,446 e l'introduzione di qualsiasi numero di altre lingue. 610 00:28:25,446 --> 00:28:28,810 Tra questi PHP e JavaScript, un linguaggio di database chiamato SQL. 611 00:28:28,810 --> 00:28:31,526 Ma con C, quello che avremo questa comprensione bottom-up 612 00:28:31,526 --> 00:28:33,900 esattamente come i computer di lavoro, cosa si può fare con loro, 613 00:28:33,900 --> 00:28:37,252 e come è possibile risolvere i problemi tanto più efficacemente questo 614 00:28:37,252 --> 00:28:39,460 stratificazione che abbiamo discusso il Mercoledì, e in piedi 615 00:28:39,460 --> 00:28:40,870 sulle spalle di altri. 616 00:28:40,870 --> 00:28:42,200 Ma più su quello a venire. 617 00:28:42,200 --> 00:28:46,650 >> Oggi guardiamo un ambiente semplice, ma fondamentalmente identica 618 00:28:46,650 --> 00:28:49,970 ambiente conosciuto come Scratch by i nostri amici a MIT Media Lab. 619 00:28:49,970 --> 00:28:52,570 Questo è un grafico linguaggio di programmazione, Scratch, 620 00:28:52,570 --> 00:28:54,330 per cui è possibile trascinare e cadere le cose che 621 00:28:54,330 --> 00:28:57,430 guardare come pezzi di un puzzle che solo blocco se fa 622 00:28:57,430 --> 00:28:59,872 senso logico o programmatico di farlo. 623 00:28:59,872 --> 00:29:02,330 Ma sta andando a permetterci di avere una conversazione su tutto 624 00:29:02,330 --> 00:29:04,604 della stessa programmazione elementi fondamentali che alcuni di voi 625 00:29:04,604 --> 00:29:06,520 potrebbe sapere già, che molti di voi non potrebbe 626 00:29:06,520 --> 00:29:09,670 sapere nulla di senza dover impantanarsi francamente, 627 00:29:09,670 --> 00:29:13,150 nel intellettualmente sintassi poco interessante il punto e virgola, 628 00:29:13,150 --> 00:29:14,950 e tra parentesi, e cita, e simili. 629 00:29:14,950 --> 00:29:16,910 Tutto ciò, in anticipo via, sono una distrazione 630 00:29:16,910 --> 00:29:20,322 a ciò che sono interessanti e idee davvero utili. 631 00:29:20,322 --> 00:29:22,280 Quindi facciamo un rapido sguardo alla ambiente 632 00:29:22,280 --> 00:29:24,180 qui, in modo da sapere ciò che attende. 633 00:29:24,180 --> 00:29:28,060 E infatti, tra i giochi che abbiamo può giocare sono alcuni programmi scritti 634 00:29:28,060 --> 00:29:30,810 dagli stessi ex studenti del CS50. 635 00:29:30,810 --> 00:29:36,200 Uno di loro, io stesso, sarò questo scritto in scuola di specializzazione per me. 636 00:29:36,200 --> 00:29:39,030 >> Se potessi prendere un volontario che è disposto a giocare 637 00:29:39,030 --> 00:29:40,420 un gioco per la prima volta. 638 00:29:40,420 --> 00:29:40,920 Certo. 639 00:29:40,920 --> 00:29:41,690 Vieni su. 640 00:29:41,690 --> 00:29:42,565 Come ti chiami? 641 00:29:42,565 --> 00:29:43,372 >> PUBBLICO: Angela. 642 00:29:43,372 --> 00:29:44,830 DAVID J. MALAN: Angela, vieni su. 643 00:29:44,830 --> 00:29:47,220 Così Scratch è stato fuori per un paio di anni. 644 00:29:47,220 --> 00:29:49,960 E quando ero a scuola di specializzazione, Ero croce iscritti al MIT, 645 00:29:49,960 --> 00:29:53,392 prendendo professore Mitchel Resnick di corso di tecnologie educative. 646 00:29:53,392 --> 00:29:56,350 E siamo stati tra i primi gli studenti in tutto il mondo a realtà beta 647 00:29:56,350 --> 00:29:57,120 scratch test. 648 00:29:57,120 --> 00:30:00,090 E il mio progetto era quello che Angela ora ha gentilmente offerto volontario 649 00:30:00,090 --> 00:30:02,060 di gioco chiamato oscartime. 650 00:30:02,060 --> 00:30:04,507 >> Quindi ho intenzione di andare avanti e fare doppio clic sull'icona qui. 651 00:30:04,507 --> 00:30:07,590 Sta andando ad aprire una programmazione ambiente che ci tuffiamo in presto. 652 00:30:07,590 --> 00:30:09,720 Io vado a schermo intero per Angela, qui. 653 00:30:09,720 --> 00:30:12,490 Sto andando a colpire il verde Bandiera in un attimo. 654 00:30:12,490 --> 00:30:15,130 E poi un sacco di spazzatura sta per cadere dal cielo. 655 00:30:15,130 --> 00:30:17,830 E avete intenzione di usare il mouse qui di trascinare e rilasciare realmente 656 00:30:17,830 --> 00:30:20,169 la spazzatura in bidoni della spazzatura di Oscar. 657 00:30:20,169 --> 00:30:23,210 Quindi, se si vuole andare avanti e fare clic la bandiera verde, il gioco avrà inizio. 658 00:30:23,210 --> 00:30:26,890 >> [RIPRODUZIONE DI BRANI MUSICALI] 659 00:30:26,890 --> 00:30:29,980 >> Oh, io amo spazzatura. 660 00:30:29,980 --> 00:30:34,840 Qualsiasi cosa sporca o sporco o impolverato. 661 00:30:34,840 --> 00:30:39,300 Tutto ciò lacero o marcio, o arrugginito. 662 00:30:39,300 --> 00:30:43,155 Sì, amo spazzatura. 663 00:30:43,155 --> 00:30:45,530 Se si vuole veramente vedere qualcosa trash, guarda questo. 664 00:30:45,530 --> 00:30:49,570 Ho qui una scarpa da tennis che è a brandelli e logori. 665 00:30:49,570 --> 00:30:53,750 E 'tutto pieno di buchi stive e i lacci sono strappati. 666 00:30:53,750 --> 00:30:57,590 Un regalo da mia madre il giorno in cui è nato. 667 00:30:57,590 --> 00:30:59,434 Mi piace perché it's-- 668 00:30:59,434 --> 00:31:02,600 DAVID J. MALAN: --green questi giorni proprio essere buttare tutto nella spazzatura. 669 00:31:02,600 --> 00:31:04,312 E così ciò che uno dei Proprio did-- personale del CS50 670 00:31:04,312 --> 00:31:06,270 Jordan, che si potrebbe soddisfare oggi-- ha effettivamente 671 00:31:06,270 --> 00:31:08,030 aggiornato questo per i tempi di oggi. 672 00:31:08,030 --> 00:31:10,800 E così mi permetta di aprirmi un remix invece per Angela. 673 00:31:10,800 --> 00:31:13,600 E giocheremo questo invece per alcuni momenti in cui ora siete 674 00:31:13,600 --> 00:31:16,600 andando ad avere per decidere tra se di gettare qualcosa nel cestino, 675 00:31:16,600 --> 00:31:19,050 o riciclare o compostare esso. 676 00:31:19,050 --> 00:31:21,280 Quindi c'è un po 'di pressione su di voi per ottenere 677 00:31:21,280 --> 00:31:28,040 questo diritto davanti al 392 per 497 compagni di classe qui in sala, 678 00:31:28,040 --> 00:31:28,724 se tu volessi. 679 00:31:28,724 --> 00:31:29,390 [RIPRODUZIONE VIDEO] 680 00:31:29,390 --> 00:31:32,540 [RIPRODUZIONE DI BRANI MUSICALI] 681 00:31:32,540 --> 00:31:36,280 Oh io amo spazzatura. 682 00:31:36,280 --> 00:31:40,840 Qualsiasi cosa sporca o sporco o impolverato. 683 00:31:40,840 --> 00:31:44,910 Tutto ciò lacero o marcio o arrugginito. 684 00:31:44,910 --> 00:31:48,830 Sì, amo spazzatura. 685 00:31:48,830 --> 00:31:51,480 >> Se si vuole veramente vedere qualcosa trash, guarda questo. 686 00:31:51,480 --> 00:31:55,540 Ho qui una scarpa da tennis che è a brandelli e logori. 687 00:31:55,540 --> 00:31:59,440 E 'tutto pieno di buchi e i lacci sono strappati. 688 00:31:59,440 --> 00:32:03,762 Un regalo da mia madre il giorno in cui è nato. 689 00:32:03,762 --> 00:32:07,630 Mi piace perché è spazzatura. 690 00:32:07,630 --> 00:32:11,570 >> Oh, io amo spazzatura. 691 00:32:11,570 --> 00:32:15,512 Qualsiasi cosa sporca, o squallido, o polverosi. 692 00:32:15,512 --> 00:32:20,200 Tutto ciò lacero o marcio o arrugginito. 693 00:32:20,200 --> 00:32:23,856 Sì, amo spazzatura. 694 00:32:23,856 --> 00:32:26,246 Ecco alcune cose più marcio. 695 00:32:26,246 --> 00:32:28,240 Ho qui qualche newspaper-- 696 00:32:28,240 --> 00:32:28,889 >> [FINE RIPRODUZIONE] 697 00:32:28,889 --> 00:32:30,680 DAVID J. MALAN: --Siamo in realtà compostabile. 698 00:32:30,680 --> 00:32:32,790 Ma grazie al nostro volontario, Angela. 699 00:32:32,790 --> 00:32:37,920 Abbiamo una palla antistress per voi qui pure. 700 00:32:37,920 --> 00:32:38,790 Quindi grazie. 701 00:32:38,790 --> 00:32:40,250 >> Quindi questo è stato scritto da me. 702 00:32:40,250 --> 00:32:44,324 Ma ora uno da un ex studente reale che implementato questo, che è un gioco. 703 00:32:44,324 --> 00:32:46,490 Tutto questo in linguaggio chiamato Gratta e Vinci, che faremo presto 704 00:32:46,490 --> 00:32:47,850 buccia indietro gli strati di. 705 00:32:47,850 --> 00:32:49,940 Ma se avessimo like-- come su un altro volontario? 706 00:32:49,940 --> 00:32:50,440 Destra. 707 00:32:50,440 --> 00:32:50,970 >> Vieni su. 708 00:32:50,970 --> 00:32:52,070 Come ti chiami? 709 00:32:52,070 --> 00:32:52,570 Colpo d'occhio? 710 00:32:52,570 --> 00:32:53,280 Lance. 711 00:32:53,280 --> 00:32:54,082 Lance, andiamo su. 712 00:32:54,082 --> 00:32:54,790 Felice di conoscerti. 713 00:32:54,790 --> 00:32:56,170 Andiamo in questo modo. 714 00:32:56,170 --> 00:32:59,940 Quindi, questo potrebbe avere un tema familiare a qualcuno di voi. 715 00:32:59,940 --> 00:33:02,180 Ma vedrete anche che non ci può essere l'interattività, 716 00:33:02,180 --> 00:33:05,242 per cui si potrebbe effettivamente essere il ruolo del personaggio muoversi. 717 00:33:05,242 --> 00:33:05,950 Felice di conoscerti. 718 00:33:05,950 --> 00:33:06,470 Davide. 719 00:33:06,470 --> 00:33:10,464 >> Io ti do, Pikachu. 720 00:33:10,464 --> 00:33:12,380 Istruzioni sarà su venire sullo schermo. 721 00:33:12,380 --> 00:33:16,070 Ma insomma, si sta andando a vuole prendere la roba gustoso, 722 00:33:16,070 --> 00:33:18,827 ed evitare le bombe e altre cose. 723 00:33:18,827 --> 00:33:19,910 Con i cursori interamente. 724 00:33:19,910 --> 00:33:21,320 Quindi premere la barra spaziatrice. 725 00:33:21,320 --> 00:33:21,820 -Pikachu. 726 00:33:21,820 --> 00:33:23,480 DAVID J. MALAN: Cattura la roba di sinistra, 727 00:33:23,480 --> 00:33:24,938 non prendere la roba di destra. 728 00:33:24,938 --> 00:33:27,576 729 00:33:27,576 --> 00:34:44,540 >> [RIPRODUZIONE DI BRANI MUSICALI] 730 00:34:44,540 --> 00:34:46,332 >> Quindi un ultimo uno qui. 731 00:34:46,332 --> 00:34:48,040 Se potessimo avere una altro volontario qui. 732 00:34:48,040 --> 00:34:50,760 Abbiamo pensato di ricreare qualcosa from-- nel shirt-- gialla 733 00:34:50,760 --> 00:34:53,110 da Mercoledì. 734 00:34:53,110 --> 00:34:54,540 Come ti chiami? 735 00:34:54,540 --> 00:34:57,090 Mary, andiamo su Maria. 736 00:34:57,090 --> 00:35:01,340 >> E richiamare il Mercoledì abbiamo introdotto la nozione di binario e lampadine binari. 737 00:35:01,340 --> 00:35:03,930 Questo è in realtà un ora attuazione della stessa interfaccia 738 00:35:03,930 --> 00:35:07,360 che abbiamo avuto su iPad con la luce bulbi, ma qui digitalmente resi. 739 00:35:07,360 --> 00:35:11,220 E piuttosto che fare uno stress ball-- piacere di conoscerti, David. 740 00:35:11,220 --> 00:35:14,600 Abbiamo portato un paio di luce lampadine da Cambridge. 741 00:35:14,600 --> 00:35:18,650 >> Se è possibile, cliccando su quelle lampadine a girare loro e fuori, 742 00:35:18,650 --> 00:35:29,510 venire con il binario rappresentazione di dire 256. 743 00:35:29,510 --> 00:35:32,500 E vedrete nella mezzo, il conteggio corrente. 744 00:35:32,500 --> 00:35:33,690 In modo che uno è su. 745 00:35:33,690 --> 00:35:34,810 Così il bit più a sinistra è acceso. 746 00:35:34,810 --> 00:35:36,016 >> MARY: Sì, [incomprensibile] 747 00:35:36,016 --> 00:35:39,292 748 00:35:39,292 --> 00:35:41,280 >> DAVID J. MALAN: Beh, così abbiamo solo-- oh. 749 00:35:41,280 --> 00:35:42,780 Quindi questa è la colonna 128. 750 00:35:42,780 --> 00:35:44,460 Quindi siamo fino a 128. 751 00:35:44,460 --> 00:35:46,769 Abbiamo avuto modo di arrivare a 256. 752 00:35:46,769 --> 00:35:48,560 E si può sperimentare su e fuori, un grosso problema. 753 00:35:48,560 --> 00:35:53,700 Oppure si può colpire che 128 più volte se si desidera. 754 00:35:53,700 --> 00:35:56,310 >> Va bene, bene. 755 00:35:56,310 --> 00:35:58,090 24. 756 00:35:58,090 --> 00:35:59,790 Sì, avvicinandosi. 757 00:35:59,790 --> 00:36:02,105 Closer! 758 00:36:02,105 --> 00:36:05,980 Oh, qual è il problema allora? 759 00:36:05,980 --> 00:36:07,510 Allora qual è il problema? 760 00:36:07,510 --> 00:36:10,040 >> Così che cosa abbiamo bisogno di risolvere questo problema? 761 00:36:10,040 --> 00:36:11,060 Quindi abbiamo bisogno di un altro po '. 762 00:36:11,060 --> 00:36:12,770 E questo è perfettamente ragionevole in realtà, giusto? 763 00:36:12,770 --> 00:36:15,800 Se si desidera contare dal numero 1 a 2 a 3 a 4 a 5, 6, 7, 8, 9 764 00:36:15,800 --> 00:36:18,880 a rotolare in realtà oltre a 10, sei andando a bisogno di un ulteriore bit. 765 00:36:18,880 --> 00:36:21,240 Quindi cerchiamo di realtà riavvolgere qui, e venire 766 00:36:21,240 --> 00:36:23,790 with-- che era ovviamente vuole essere un set up. 767 00:36:23,790 --> 00:36:25,590 >> Non si può fare 256 con solo una lampadina. 768 00:36:25,590 --> 00:36:29,290 Così come su semplicemente il numero 50? 769 00:36:29,290 --> 00:36:29,977 Numero 50. 770 00:36:29,977 --> 00:36:34,550 771 00:36:34,550 --> 00:36:35,100 Eccellente. 772 00:36:35,100 --> 00:36:39,050 Un grande applauso per Maria e lei pure. 773 00:36:39,050 --> 00:36:41,840 Grazie. 774 00:36:41,840 --> 00:36:45,570 >> Quindi questo topic-- intenzionale come che era-- effettivamente ripresentarsi. 775 00:36:45,570 --> 00:36:50,020 Il valore più grande che si può rappresentare con otto bit o un byte, 776 00:36:50,020 --> 00:36:51,750 è infatti 256. 777 00:36:51,750 --> 00:36:55,770 Ma se non si avvia contare da 0, mentre 778 00:36:55,770 --> 00:36:58,060 sembrano continuare a fare da avere tutti quei bit off. 779 00:36:58,060 --> 00:37:01,530 Ma ora diamo tuffarsi nel sottostante l'attuazione di questo ambiente, 780 00:37:01,530 --> 00:37:03,200 e prendere in giro a parte alcune di queste idee. 781 00:37:03,200 --> 00:37:06,350 >> Quindi, in un momento che stiamo per vedere un alcune nozioni basilari di programmazione differenti. 782 00:37:06,350 --> 00:37:08,080 Il primo dei quali chiameremo dichiarazione. 783 00:37:08,080 --> 00:37:09,360 Sorta di verbi, se si vuole. 784 00:37:09,360 --> 00:37:09,960 Azioni. 785 00:37:09,960 --> 00:37:11,180 Le cose che dovrebbe essere fatto. 786 00:37:11,180 --> 00:37:13,430 >> E in un momento in cui si vedrà blocchi che assomigliano a questo. 787 00:37:13,430 --> 00:37:14,940 Dire "ciao mondo", per esempio. 788 00:37:14,940 --> 00:37:16,330 O attendere un secondo. 789 00:37:16,330 --> 00:37:17,834 O giocare meow suono. 790 00:37:17,834 --> 00:37:20,500 E infatti l'ambiente che abbiamo intenzione di fare questo 791 00:37:20,500 --> 00:37:21,610 si chiama Scratch. 792 00:37:21,610 --> 00:37:25,060 >> E se mi tiro su Scratch senza precarico qualsiasi codice vero e proprio, 793 00:37:25,060 --> 00:37:27,830 diamo un rapido sguardo a questo interfaccia utente, per così dire. 794 00:37:27,830 --> 00:37:29,730 I controlli con le quali interagiscono. 795 00:37:29,730 --> 00:37:32,840 Sulla parte superiore sinistra della qui schermo, sotto i menu, 796 00:37:32,840 --> 00:37:34,650 abbiamo la fase, per così dire. 797 00:37:34,650 --> 00:37:36,550 Quindi Scratch è quello che chiameremo Sprite. 798 00:37:36,550 --> 00:37:37,520 E 'un personaggio. 799 00:37:37,520 --> 00:37:40,660 >> E può essere controllata da scrittura di programmi contro di lui. 800 00:37:40,660 --> 00:37:43,950 E lui sarà in grado di muoversi su e giù e destra e sinistra in questo ambiente, 801 00:37:43,950 --> 00:37:46,075 non solo muovendo il mouse, ma a livello di programmazione. 802 00:37:46,075 --> 00:37:48,930 Posso dirgli piedi a destra, a piedi sinistra, alto, basso o simili. 803 00:37:48,930 --> 00:37:51,440 E posso introdurre altro sprite o caratteri pure. 804 00:37:51,440 --> 00:37:54,616 >> Infatti, sul fondo qui è dove vedrete la vostra lista di sprite. 805 00:37:54,616 --> 00:37:56,865 In questo momento, devo solo uno, ma posso creare di più, 806 00:37:56,865 --> 00:37:58,880 e questi vengono visualizzati esattamente laggiù. 807 00:37:58,880 --> 00:38:02,630 Quindi, se si riavvolge per un attimo, come Oscartime-- per esempio, Oscar, 808 00:38:02,630 --> 00:38:04,590 sulla sinistra, il cestino può, era un folletto. 809 00:38:04,590 --> 00:38:07,450 E la cosa in mezzo, la riciclaggio bin, era un altro sprite. 810 00:38:07,450 --> 00:38:09,300 E la compostiera è stato un altro sprite. 811 00:38:09,300 --> 00:38:11,790 E ogni pezzo di spazzatura o riciclabili 812 00:38:11,790 --> 00:38:14,590 che stava cadendo dal cielo è anche uno sprite, ciascuna delle quali 813 00:38:14,590 --> 00:38:16,150 è stato programmato individualmente. 814 00:38:16,150 --> 00:38:17,040 >> Come si programma? 815 00:38:17,040 --> 00:38:20,180 Beh, qui a destra lato è l'area script. 816 00:38:20,180 --> 00:38:22,930 E questo è dove possiamo trascinare e rilasciare i pezzi del puzzle. 817 00:38:22,930 --> 00:38:26,066 In una settimana, che sta per essere dove abbiamo equivalentemente scrivere codice 818 00:38:26,066 --> 00:38:28,940 con più di una tastiera, ma per oggi Sarà trascinando e rilasciando 819 00:38:28,940 --> 00:38:31,680 pezzi del puzzle, palette per la quale tutti possiamo 820 00:38:31,680 --> 00:38:33,190 essere trovato qui proprio nel mezzo. 821 00:38:33,190 --> 00:38:35,190 Infatti, nel mezzo qui c'è un sacco 822 00:38:35,190 --> 00:38:37,910 di categorie del puzzle pezzi o blocchi. 823 00:38:37,910 --> 00:38:42,500 Uno è legato al movimento, guardare, suono, una penna che va su e giù, 824 00:38:42,500 --> 00:38:43,860 i dati, gli eventi di controllo. 825 00:38:43,860 --> 00:38:45,654 Non abbastanza sicuro ancora ciò che tutti questi significa, 826 00:38:45,654 --> 00:38:47,820 ma vedrai che essi hanno stato ben classificato. 827 00:38:47,820 --> 00:38:50,680 E per scrivere un programma in Scratch, facciamo esattamente questo. 828 00:38:50,680 --> 00:38:53,480 >> Ho intenzione di iniziare sotto Eventi, e trascinare questa qui. 829 00:38:53,480 --> 00:38:55,470 Quando bandiera verde cliccato. 830 00:38:55,470 --> 00:38:56,704 Ora, perché quello? 831 00:38:56,704 --> 00:38:59,120 Bene ricordare che i nostri volontari si avvicinò, la prima cosa che 832 00:38:59,120 --> 00:39:02,017 o hanno fatto è stato fare clic su quel verde bandierina in alto a destra. 833 00:39:02,017 --> 00:39:03,600 E questo significa che basta avviare il programma. 834 00:39:03,600 --> 00:39:06,560 >> Così, quando l'evento si verifica, cosa voglio fare? 835 00:39:06,560 --> 00:39:10,070 Ho intenzione di andare sotto sguardi, e ho intenzione di fare "dire ciao." 836 00:39:10,070 --> 00:39:14,000 E ho intenzione di cambiare questo e dire qualcosa come "ciao Yale." 837 00:39:14,000 --> 00:39:16,970 Ed ora vado per ingrandire fuori, fare clic sulla bandiera verde, 838 00:39:16,970 --> 00:39:19,050 e voilà, ho scritto un programma. 839 00:39:19,050 --> 00:39:20,990 Non è tutto così eccitante appena ancora, ma questo 840 00:39:20,990 --> 00:39:23,195 è esattamente dove ogni di quelli autore ha cominciato, 841 00:39:23,195 --> 00:39:25,740 entrambi con Pikachu, e lampadine binari e oscartime, 842 00:39:25,740 --> 00:39:26,890 e tanti altri esempi. 843 00:39:26,890 --> 00:39:29,150 >> Si inizia super semplice, e poi si inizia a strato, 844 00:39:29,150 --> 00:39:31,046 e aggiungere caratteristiche e funzionalità. 845 00:39:31,046 --> 00:39:32,920 Ma quali sono questi strati andando consistono di? 846 00:39:32,920 --> 00:39:36,086 Ebbene, al di là di dichiarazioni, faremo anche avere le cose che sono poco più fancily 847 00:39:36,086 --> 00:39:38,910 chiamato booleano espressioni, dopo che qualcuno di nome Bool. 848 00:39:38,910 --> 00:39:42,820 E una espressione booleana è semplicemente un espressione che è o vera o falsa, 849 00:39:42,820 --> 00:39:45,740 sì o no, 1 o 0. 850 00:39:45,740 --> 00:39:47,480 >> Eventuali poli opposti del genere. 851 00:39:47,480 --> 00:39:48,902 E 'vero o no. 852 00:39:48,902 --> 00:39:51,360 Ma stiamo anche andando a vedere quelli che potrebbero apparire come questo. 853 00:39:51,360 --> 00:39:52,925 Così, per esempio, è il mouse? 854 00:39:52,925 --> 00:39:54,550 Sono genere di domande, se si vuole. 855 00:39:54,550 --> 00:39:57,650 >> Il mouse è o verso il basso, vero o non lo è, falso. 856 00:39:57,650 --> 00:39:59,990 1 o 0, se si vuole, tende ad essere la mappatura. 857 00:39:59,990 --> 00:40:01,740 Vero è 1, falso è 0. 858 00:40:01,740 --> 00:40:03,740 Beh che dire di meno di questa? 859 00:40:03,740 --> 00:40:05,400 O così, è questo a meno di questa? 860 00:40:05,400 --> 00:40:06,650 Questa è una questione di sorta. 861 00:40:06,650 --> 00:40:09,140 >> E se si mettono due numeri in là, sia x 862 00:40:09,140 --> 00:40:12,010 sta per essere inferiore a yo uguale ay, o maggiore di y, 863 00:40:12,010 --> 00:40:14,635 ma questo blocco si vedrà, è solo andando a rispondere alla domanda, 864 00:40:14,635 --> 00:40:15,810 questo è inferiore a quello? 865 00:40:15,810 --> 00:40:17,650 Potremmo anche vedere qualcosa di simile. 866 00:40:17,650 --> 00:40:18,790 Toccando puntatori del mouse. 867 00:40:18,790 --> 00:40:21,610 Quindi, in Scratch, potete chiedere la domanda, è la Sprite 868 00:40:21,610 --> 00:40:22,800 toccare il puntatore del mouse? 869 00:40:22,800 --> 00:40:26,040 Altre parole, è il cursore in bilico sopra il tappo, o l'equivalente? 870 00:40:26,040 --> 00:40:28,100 >> Vedremo cose Anding insieme. 871 00:40:28,100 --> 00:40:30,970 Potete chiedere due domande, e assicurarsi che entrambi 872 00:40:30,970 --> 00:40:34,920 dare sì o vere risposte prima di prendere una decisione di fare qualcosa. 873 00:40:34,920 --> 00:40:36,709 Ma allora come si fa a prendere decisioni? 874 00:40:36,709 --> 00:40:38,000 Beh, abbiamo queste condizioni. 875 00:40:38,000 --> 00:40:40,041 >> E abbiamo visto questo nella nostra esempio della rubrica telefonica. 876 00:40:40,041 --> 00:40:41,900 Guardando a sinistra o giusto per Mike Smith. 877 00:40:41,900 --> 00:40:45,140 E nella condizione, fare qualcosa di potenzialmente, 878 00:40:45,140 --> 00:40:47,240 se una espressione booleana è vero. 879 00:40:47,240 --> 00:40:48,720 >> E infatti, notare le forme ora. 880 00:40:48,720 --> 00:40:52,250 C'è questo segnaposto in questo momento sulla testa dove possiamo fit-- 881 00:40:52,250 --> 00:40:54,532 se riavvolgere un slide-- quella forma. 882 00:40:54,532 --> 00:40:55,740 Non è proprio la stessa dimensione. 883 00:40:55,740 --> 00:40:58,400 E infatti, vedrai che Scratch ridimensiona le cose in modo dinamico 884 00:40:58,400 --> 00:41:01,479 di adattare puzzle, ma la forma è ciò che è importante. 885 00:41:01,479 --> 00:41:03,270 Questa cosa sembra che, anzi è 886 00:41:03,270 --> 00:41:05,410 più o meno la stessa forma che dovrebbe andare bene in là. 887 00:41:05,410 --> 00:41:09,520 E se vogliamo fare qualcosa questo o in quel modo, se altrimenti, 888 00:41:09,520 --> 00:41:12,080 abbiamo questo puzzle pezzo Scratch pure. 889 00:41:12,080 --> 00:41:17,450 >> Ora si supponga di voler fare se, else if, o altro. 890 00:41:17,450 --> 00:41:20,120 In altre parole, un forcella a tre vie nella strada. 891 00:41:20,120 --> 00:41:22,656 Beh, cosa si può fare semplicemente guardando questo? 892 00:41:22,656 --> 00:41:25,030 Posso prendere questo pezzo di puzzle, e non sembra per adattarsi, 893 00:41:25,030 --> 00:41:27,670 ma ancora una volta, Scratch sta andando ridimensionare bene per noi. 894 00:41:27,670 --> 00:41:29,940 Potrei cominciare a strato queste cose insieme. 895 00:41:29,940 --> 00:41:32,900 >> Così ora ho una a tre vie forcella se questo è vero, fare questo. 896 00:41:32,900 --> 00:41:36,560 Altrimenti se quest'altra cosa è vera, andare in questo modo, altrimenti va questo altro modo. 897 00:41:36,560 --> 00:41:39,200 E in The Muppet Movie, il bivio, per così dire, 898 00:41:39,200 --> 00:41:42,610 tra Yale o Stanford, è stato esattamente che, solo due condizioni. 899 00:41:42,610 --> 00:41:45,190 O andare in questo modo, altrimenti andare in quel modo. 900 00:41:45,190 --> 00:41:46,940 >> Beh, loop esistere anche nella programmazione. 901 00:41:46,940 --> 00:41:49,100 E abbiamo usato questi già di classe e nel codice pseudocodice, 902 00:41:49,100 --> 00:41:51,060 e sicuramente in quelli Programmi Scratch per sempre. 903 00:41:51,060 --> 00:41:53,730 Scratch ha questo pezzo di puzzle che sarà solo consente di fare qualcosa per sempre. 904 00:41:53,730 --> 00:41:55,688 E a volte si desidera di fare qualcosa per sempre. 905 00:41:55,688 --> 00:41:58,810 Non è necessariamente un bug, è perché si vuole un orologio per andare avanti, 906 00:41:58,810 --> 00:42:00,730 o un gioco per continuare a giocare. 907 00:42:00,730 --> 00:42:04,800 In alternativa, è possibile specificare un numero finito di passi, come con questo blocco di ripetizione qui, 908 00:42:04,800 --> 00:42:06,550 che sarà ripetere qualcosa 10 volte. 909 00:42:06,550 --> 00:42:08,560 Siamo in grado di impostare le variabili, vedremo presto. 910 00:42:08,560 --> 00:42:12,300 E con le variabili, simile nello spirito all'algebra, come x, o y, z. 911 00:42:12,300 --> 00:42:16,390 E 'qualcosa di simbolico in grado di memorizzare certo valore, qualche pezzo di informazioni, 912 00:42:16,390 --> 00:42:18,320 che si potrebbe desiderare da ricordare per più tardi. 913 00:42:18,320 --> 00:42:21,080 >> Il miglior esempio di questo potrebbe essere un gioco in cui si dispone di un punteggio, 914 00:42:21,080 --> 00:42:22,080 come a Pikachu. 915 00:42:22,080 --> 00:42:25,180 Quanti pezzi di torta e quant'altro ha fatto si cattura? 916 00:42:25,180 --> 00:42:29,340 Beh, che potrebbe essere una variabile chiamato punteggio che parte da 0. 917 00:42:29,340 --> 00:42:32,400 E poi ogni volta che abbiamo preso una pezzo di torta o caramelle, o simili, 918 00:42:32,400 --> 00:42:33,720 esso viene incrementato. 919 00:42:33,720 --> 00:42:35,990 Esso viene aggiunto uno alla volta. 920 00:42:35,990 --> 00:42:38,450 E negozi così una variabile un pezzo di informazione del genere. 921 00:42:38,450 --> 00:42:41,450 Poi c'è array, e verremo torna a questi in una settimana o due di tempo, 922 00:42:41,450 --> 00:42:44,900 ma un array è un po 'come un inventario o una cartella, dentro 923 00:42:44,900 --> 00:42:46,940 di cui si può mettere le cose virtuali. 924 00:42:46,940 --> 00:42:49,852 Esso consente di memorizzare più di un pezzo di informazione. 925 00:42:49,852 --> 00:42:51,810 E che potrebbe essere utile se nel gioco, sei 926 00:42:51,810 --> 00:42:53,630 sorta di andare in giro raccogliere le cose. 927 00:42:53,630 --> 00:42:55,879 E magari si desidera mantenere tutti questi pezzi di torta 928 00:42:55,879 --> 00:42:58,260 intorno, e non solo mangiare uno dopo l'altro. 929 00:42:58,260 --> 00:43:00,010 E poi c'è un costrutto amatore faremo 930 00:43:00,010 --> 00:43:02,932 venire a funzioni chiamate o procedure. 931 00:43:02,932 --> 00:43:04,640 E anche se stiamo andando più veloce qui, ce la faremo 932 00:43:04,640 --> 00:43:07,345 vedere che questi sono molto la soluzione naturale ai problemi 933 00:43:07,345 --> 00:43:08,470 che stiamo andando incontro. 934 00:43:08,470 --> 00:43:10,220 Come i nostri programmi iniziano sempre più grande faremo 935 00:43:10,220 --> 00:43:12,640 iniziare a notare i modelli in il codice che stiamo scrivendo, 936 00:43:12,640 --> 00:43:14,556 i pezzi del puzzle Siamo trascinando. 937 00:43:14,556 --> 00:43:18,240 E non appena si nota se stessi facendo qualcosa di nuovo e di nuovo, o peggio ancora 938 00:43:18,240 --> 00:43:21,400 copia e incolla di programmazione codice che hai scritto, 939 00:43:21,400 --> 00:43:23,612 che è probabilmente un opportunità di fattore fuori 940 00:43:23,612 --> 00:43:25,820 qualunque cosa si mantiene copia e incolla, e la messa 941 00:43:25,820 --> 00:43:27,430 in qualcosa chiamato una "funzione". 942 00:43:27,430 --> 00:43:29,690 Ma più su quelli a molto più in dettaglio in breve tempo. 943 00:43:29,690 --> 00:43:31,314 >> E poi c'è anche caratteristiche amatore. 944 00:43:31,314 --> 00:43:34,100 Per quelli di voi più confortevole, o prendendo APCS o equivalente, 945 00:43:34,100 --> 00:43:37,600 Scratch in realtà sostiene cose come fili ed eventi e molto altro. 946 00:43:37,600 --> 00:43:39,840 Quindi rendersi conto che ha un soffitto abbastanza alto, 947 00:43:39,840 --> 00:43:42,540 anche se è anche molto ampiamente accessibile alla gente 948 00:43:42,540 --> 00:43:44,460 che non hanno mai programmato prima. 949 00:43:44,460 --> 00:43:47,130 Così infatti, diamo uno sguardo un semplice programma o due. 950 00:43:47,130 --> 00:43:49,920 >> Abbiamo già visto come noi potrebbe dire ciao con Scratch. 951 00:43:49,920 --> 00:43:52,800 Lasciami andare avanti e aprire un piccolo programma più interessante 952 00:43:52,800 --> 00:43:54,100 che ho scritto in anticipo. 953 00:43:54,100 --> 00:43:56,430 E di questo uno chiamato Pet the Cat. 954 00:43:56,430 --> 00:43:58,954 Tutti questi programmi saranno disponibile sul sito web di CS50. 955 00:43:58,954 --> 00:43:59,870 Infatti, già lì. 956 00:43:59,870 --> 00:44:01,190 >> Così si può scaricare loro e giocare con loro, 957 00:44:01,190 --> 00:44:03,850 e con Problem Set 0, che è anche sul sito web del corso, 958 00:44:03,850 --> 00:44:05,516 siete incoraggiati a camminare attraverso questi. 959 00:44:05,516 --> 00:44:07,820 Ed inoltre, abbiamo un il numero di video per walk-through 960 00:44:07,820 --> 00:44:10,951 on-line in cui io e La squadra di CS50 veramente a piedi 961 00:44:10,951 --> 00:44:14,200 attraverso ciascuno di questi esempi in un molto ritmo più lento, un forwardable molto veloce, 962 00:44:14,200 --> 00:44:18,530 o ritmo riavvolgibile, in modo che si può raggiungere a piedi attraverso questi a vostro piacimento pure. 963 00:44:18,530 --> 00:44:20,330 Quindi, ecco Scratch sulla sinistra. 964 00:44:20,330 --> 00:44:22,920 Ecco un programma a destra che ho già pre-fatto. 965 00:44:22,920 --> 00:44:24,880 Permettetemi quindi di ingrandire questa. 966 00:44:24,880 --> 00:44:28,780 E potrebbe qualcuno in inglese, sapendo ciò che si sa, solo da ora come 967 00:44:28,780 --> 00:44:31,650 di come funziona Scratch, sorta di dire in una frase o una frase inglese, 968 00:44:31,650 --> 00:44:35,450 che cosa fa questo programma apparentemente fare? 969 00:44:35,450 --> 00:44:36,836 >> Sì, in maglietta arancione. 970 00:44:36,836 --> 00:44:40,804 >> PUBBLICO: [incomprensibile] 971 00:44:40,804 --> 00:44:41,796 972 00:44:41,796 --> 00:44:44,980 >> DAVID J. MALAN: Sì, se il vostro cursore si trova sulla Scratch il gatto, 973 00:44:44,980 --> 00:44:46,220 riprodurre un suono miagolare. 974 00:44:46,220 --> 00:44:47,870 Ma notiamo come esprimiamo che. 975 00:44:47,870 --> 00:44:49,980 C'è apparentemente un cappio lì, per sempre. 976 00:44:49,980 --> 00:44:53,000 E poi c'è un condizione, la se espressione. 977 00:44:53,000 --> 00:44:55,090 E collettivamente, che cosa quelli significa? 978 00:44:55,090 --> 00:44:57,210 Significa questo programma è solo sempre in esecuzione, 979 00:44:57,210 --> 00:44:59,510 ed è solo sempre in attesa e guardando e ascoltando 980 00:44:59,510 --> 00:45:01,730 per me, per spostare il mio mouse sopra il gatto. 981 00:45:01,730 --> 00:45:04,810 >> Perché ogni volta che lo faccio che, come proponi, che sta andando a fare questo. 982 00:45:04,810 --> 00:45:06,475 Permettetemi di iniziare il programma. 983 00:45:06,475 --> 00:45:08,350 Nulla sembra essere accadendo, ma notare come 984 00:45:08,350 --> 00:45:10,152 è evidenziato oggi in una linea gialla. 985 00:45:10,152 --> 00:45:11,360 Questo significa solo che è in esecuzione. 986 00:45:11,360 --> 00:45:13,770 E perché c'è una sempre cappio, è ancora in esecuzione. 987 00:45:13,770 --> 00:45:19,610 >> Permettetemi quindi di spostare il mio cursore sopra Scratch. [MEOW] [MEOW] E se io sposto fuori, 988 00:45:19,610 --> 00:45:25,444 [MEOW] ora si ferma, ma il programma di ancora in esecuzione. [MEOW] E così, adorabile. 989 00:45:25,444 --> 00:45:28,550 [MEOW] Quindi cerchiamo di aprono leggermente più avanzato 990 00:45:28,550 --> 00:45:32,620 esempio chiamato Non Animali il gatto. 991 00:45:32,620 --> 00:45:35,805 >> E ora vediamo cosa succede qui. [MEOW] Miagolare. 992 00:45:35,805 --> 00:45:39,297 Quindi è un po ' pilota automatico, se si vuole. 993 00:45:39,297 --> 00:45:39,880 --pet il gatto. 994 00:45:39,880 --> 00:45:42,820 Mi chiedo il perché. 995 00:45:42,820 --> 00:45:45,389 [ROAR] [MEOW] Così come ha fatto questo lavoro? 996 00:45:45,389 --> 00:45:47,930 Beh, è ​​possibile tipo di ragione attraverso di essa intuitivamente, forse. 997 00:45:47,930 --> 00:45:49,346 >> Ma diamo un'occhiata al codice vero e proprio. 998 00:45:49,346 --> 00:45:51,819 Quindi, di nuovo, quando la bandiera verde si fa clic, fare questo per sempre. 999 00:45:51,819 --> 00:45:53,110 Che cosa vuoi fare per sempre? 1000 00:45:53,110 --> 00:45:56,150 Beh, se il mouse commovente puntatore, poi giocare 1001 00:45:56,150 --> 00:46:00,270 un suono che è apparentemente chiamato Leone 5, che è all'interno di questo progetto, il resto 1002 00:46:00,270 --> 00:46:03,010 riprodurre meow suono, e quindi attendere due secondi, in modo da 1003 00:46:03,010 --> 00:46:04,510 che non è miagolando incessantemente. 1004 00:46:04,510 --> 00:46:07,650 In realtà, si può iniziare molto rapidamente per infastidire te e dei tuoi compagni di stanza. 1005 00:46:07,650 --> 00:46:08,690 >> Rimuoviamo questo blocco. 1006 00:46:08,690 --> 00:46:10,580 E notare ciò che è bello su Scratch. 1007 00:46:10,580 --> 00:46:13,070 Le cose solo tipo di resistenza and drop e di blocco. 1008 00:46:13,070 --> 00:46:14,980 Quindi, di nuovo, cresce a riempire quello che vuoi. 1009 00:46:14,980 --> 00:46:20,118 Ma se rimuovo questo, e poi gioco di successo, [COMPUTER BLIP SOUND] 1010 00:46:20,118 --> 00:46:22,904 >> --è tipo di inciampare si, perché è letteralmente 1011 00:46:22,904 --> 00:46:23,820 fare quello che sto dicendo. 1012 00:46:23,820 --> 00:46:27,080 Si sta dicendo per sempre riprodurre questo suono, ma Io non sto dando la possibilità di finire. 1013 00:46:27,080 --> 00:46:28,205 E in modo che sarebbe un errore. 1014 00:46:28,205 --> 00:46:30,700 Ed è per questo che abbiamo avuto questa cosa qui ora. 1015 00:46:30,700 --> 00:46:34,030 Quindi cerchiamo di iniziare effettivamente da scratch-- sorta di gioco di parole un po 'intended-- 1016 00:46:34,030 --> 00:46:36,450 in cui ora abbiamo la mossa gatto. 1017 00:46:36,450 --> 00:46:38,130 >> Quindi ho intenzione di fare questo al volo. 1018 00:46:38,130 --> 00:46:40,910 Io vado per ingrandire qui, a fatemi parlare Eventi. 1019 00:46:40,910 --> 00:46:42,000 E bandiera verde cliccato. 1020 00:46:42,000 --> 00:46:43,410 E ci sono altri modi per avviare gli script. 1021 00:46:43,410 --> 00:46:44,920 Stiamo andando a mantenere le cose semplici qui. 1022 00:46:44,920 --> 00:46:48,049 >> E ora ho intenzione di andare avanti e passare sotto controllo. 1023 00:46:48,049 --> 00:46:50,590 E ancora, se si dimentica dove le cose sono, basta cliccare in giro, 1024 00:46:50,590 --> 00:46:52,048 e, infine, li trovate di nuovo. 1025 00:46:52,048 --> 00:46:53,680 Così voglio fare sempre quello che? 1026 00:46:53,680 --> 00:46:58,650 Voglio usare il blocco di movimento che io sappia esiste, spostare 10 passi. 1027 00:46:58,650 --> 00:47:02,016 >> Quindi vediamo cosa succede qui se gioco a questo gioco. 1028 00:47:02,016 --> 00:47:03,390 Per fortuna non va troppo lontano. 1029 00:47:03,390 --> 00:47:05,190 Posso ancora sorta di afferrarlo per la coda e lo tira indietro. 1030 00:47:05,190 --> 00:47:07,860 Ma il programma è ancora in esecuzione, quindi è sorta di combattere me. 1031 00:47:07,860 --> 00:47:10,870 Ma sarebbe sorta di bello se condizionatamente risolvere questo problema nel codice. 1032 00:47:10,870 --> 00:47:12,800 >> Perché questo è not-- in realtà questo è davvero 1033 00:47:12,800 --> 00:47:15,770 non è un gioco divertente per chiunque di qualsiasi età. 1034 00:47:15,770 --> 00:47:18,915 Quindi cerchiamo di risolvere questo problema avendo qualche tipo di condizioni. 1035 00:47:18,915 --> 00:47:21,670 Quindi ho intenzione di andare sotto Controllo, e poi se. 1036 00:47:21,670 --> 00:47:22,660 Mi piace questa idea. 1037 00:47:22,660 --> 00:47:27,470 Così, dopo lo spostamento 10 passi, se: lascia che avverto dove mi trovo. 1038 00:47:27,470 --> 00:47:30,799 Ho intenzione di andare sotto di rilevamento, e allora sembra posso andare qui. 1039 00:47:30,799 --> 00:47:31,840 fila alle partite di forma. 1040 00:47:31,840 --> 00:47:34,380 >> La dimensione non lo fa, ma è andando a crescere a riempire. 1041 00:47:34,380 --> 00:47:35,984 Ed ora questo è un piccolo menu. 1042 00:47:35,984 --> 00:47:38,650 E ora il mouse pointer-- non lo faccio vuole il mouse, voglio il bordo. 1043 00:47:38,650 --> 00:47:41,700 Così Scratch è abbastanza intelligente per sapere quando uno sprite sta toccando il bordo. 1044 00:47:41,700 --> 00:47:44,360 Cosa voglio che lui realmente fare? 1045 00:47:44,360 --> 00:47:46,025 >> Lasciami andare avanti e cambiare moto. 1046 00:47:46,025 --> 00:47:46,940 Sai cosa? 1047 00:47:46,940 --> 00:47:49,242 Ho intenzione di farlo girare intorno. 1048 00:47:49,242 --> 00:47:51,200 Così a 15 gradi non è davvero mi aiuterà. 1049 00:47:51,200 --> 00:47:53,990 Voglio che girarsi e andare nella direzione opposta. 1050 00:47:53,990 --> 00:47:57,740 >> Quindi vediamo cosa succede qui, se ho colpito Gioca subito. 1051 00:47:57,740 --> 00:48:01,520 OK, un po 'stupido guardare, ma che sta facendo esattamente quello che ho detto. 1052 00:48:01,520 --> 00:48:03,540 Ed è in rotazione l'intera sprite. 1053 00:48:03,540 --> 00:48:04,900 Ora si scopre posso risolvere questo problema. 1054 00:48:04,900 --> 00:48:06,691 E io non sapevo come per risolvere questo problema in un primo momento. 1055 00:48:06,691 --> 00:48:09,190 I tipi dovuto futz intorno e vedere il modo migliore per farlo. 1056 00:48:09,190 --> 00:48:12,630 Ma se vado a-- vediamo, movimento. 1057 00:48:12,630 --> 00:48:14,050 Oh, ho trovato questo. 1058 00:48:14,050 --> 00:48:15,660 In realtà, Set Style Rotation. 1059 00:48:15,660 --> 00:48:18,431 A sinistra, a destra, o fare no ruotare e tutto intorno. 1060 00:48:18,431 --> 00:48:19,930 E si scopre che è quello che voglio. 1061 00:48:19,930 --> 00:48:22,920 E ho intenzione di mettere questo non è il mio cappio, perché non ho bisogno di impostare 1062 00:48:22,920 --> 00:48:24,487 lo stile di rotazione più volte. 1063 00:48:24,487 --> 00:48:27,570 Ho intenzione metterlo in cima della questo programma in modo che venga impostata una volta, 1064 00:48:27,570 --> 00:48:28,670 e poi ricorda. 1065 00:48:28,670 --> 00:48:30,340 E ora ho intenzione di provare questo nuovo. 1066 00:48:30,340 --> 00:48:32,520 Mi permetta di fermare il programma. 1067 00:48:32,520 --> 00:48:34,050 >> E ora che fissa quel bug. 1068 00:48:34,050 --> 00:48:35,700 Così sto iterativo migliorare su questo. 1069 00:48:35,700 --> 00:48:37,900 Il programma è sempre un po 'più complesso e più grande, 1070 00:48:37,900 --> 00:48:40,810 ma sto prendendo piccoli passi per così dire, e piccoli morsi del problema 1071 00:48:40,810 --> 00:48:42,010 per farlo sempre meglio. 1072 00:48:42,010 --> 00:48:43,260 Ma anche questo, è un po 'stupido. 1073 00:48:43,260 --> 00:48:43,900 >> Sai cosa? 1074 00:48:43,900 --> 00:48:49,860 Sarebbe chiedere a qualcuno con una buona, voce spaventosa piace a venire? 1075 00:48:49,860 --> 00:48:51,210 Qualcuno con una voce. 1076 00:48:51,210 --> 00:48:54,070 1077 00:48:54,070 --> 00:48:54,570 Uh, si. 1078 00:48:54,570 --> 00:48:55,550 Vieni su. 1079 00:48:55,550 --> 00:48:57,990 In camicia verde. 1080 00:48:57,990 --> 00:49:01,530 >> Così si scopre c'è qualche altro divertimento le cose, l'estetica e suoni simili. 1081 00:49:01,530 --> 00:49:02,290 Ecco il miagolio. 1082 00:49:02,290 --> 00:49:04,000 Clicco sulla scheda Suoni. 1083 00:49:04,000 --> 00:49:08,730 [MEOW] C'è il miagolio. [MIAO MIAO] [MEOW] --actually qualcosa registrazione 1084 00:49:08,730 --> 00:49:10,310 della nostra qui. 1085 00:49:10,310 --> 00:49:13,120 >> Quindi cerchiamo di fare esattamente questo. 1086 00:49:13,120 --> 00:49:17,670 Invece di usare questo suono gatto, andiamo andare avanti qui, e qual è il tuo nome? 1087 00:49:17,670 --> 00:49:18,850 Nick, piacere di conoscerti. 1088 00:49:18,850 --> 00:49:19,350 E 'David. 1089 00:49:19,350 --> 00:49:21,474 Così, in un attimo, vado per colpire il pulsante Record. 1090 00:49:21,474 --> 00:49:23,240 E se si può solo urlare nel computer portatile, 1091 00:49:23,240 --> 00:49:26,140 "ahi", come se si appena entrato nel muro, 1092 00:49:26,140 --> 00:49:28,180 che sarà molto apprezzato. 1093 00:49:28,180 --> 00:49:29,660 1, 2. 1094 00:49:29,660 --> 00:49:31,470 >> NICK: Ouch! 1095 00:49:31,470 --> 00:49:32,470 DAVID J. MALAN: Awesome. 1096 00:49:32,470 --> 00:49:34,410 E ora può fare un po 'di editing qui. 1097 00:49:34,410 --> 00:49:35,910 Andando a sbarazzarsi delle parti tranquille. 1098 00:49:35,910 --> 00:49:37,000 E penso che sia buono. 1099 00:49:37,000 --> 00:49:37,690 Grazie mille. 1100 00:49:37,690 --> 00:49:38,315 >> NICK: Piacere. 1101 00:49:38,315 --> 00:49:43,277 1102 00:49:43,277 --> 00:49:45,110 DAVID J. MALAN: Ho semplicemente ribattezzata "ahi," 1103 00:49:45,110 --> 00:49:46,901 ma ora ho intenzione di tornare al mio script. 1104 00:49:46,901 --> 00:49:49,810 E notate c'è davvero il suono qui. 1105 00:49:49,810 --> 00:49:53,520 E ho intenzione di andare avanti e riprodurre il suono ahi, 1106 00:49:53,520 --> 00:49:56,991 e ho intenzione di farlo, se è toccare solo i bordi. 1107 00:49:56,991 --> 00:49:58,740 E poi ho intenzione di l'hanno girarsi. 1108 00:49:58,740 --> 00:50:00,250 Quindi vediamo cosa succede qui. 1109 00:50:00,250 --> 00:50:01,728 Andiamo a schermo intero. 1110 00:50:01,728 --> 00:50:02,394 [RIPRODUZIONE VIDEO] 1111 00:50:02,394 --> 00:50:03,790 -Ahia! 1112 00:50:03,790 --> 00:50:05,290 Ahia! 1113 00:50:05,290 --> 00:50:06,790 Ahia! 1114 00:50:06,790 --> 00:50:07,790 Ahia! 1115 00:50:07,790 --> 00:50:09,160 Ahia! 1116 00:50:09,160 --> 00:50:10,780 Ahia! 1117 00:50:10,780 --> 00:50:11,587 Ahia! 1118 00:50:11,587 --> 00:50:12,086 Ahia! 1119 00:50:12,086 --> 00:50:12,492 >> [FINE RIPRODUZIONE] 1120 00:50:12,492 --> 00:50:14,490 >> DAVID J. MALAN: Così ti rendi conto che stiamo ottenendo un po 'di fortuna. 1121 00:50:14,490 --> 00:50:17,110 Ho intenzione di avere lui mossa come 100 passi alla volta. 1122 00:50:17,110 --> 00:50:21,790 L'effetto che ora sta essere-- [COMPUTER GLITCH SOUND] Quindi, 1123 00:50:21,790 --> 00:50:22,490 entro limiti ragionevoli. 1124 00:50:22,490 --> 00:50:25,470 Quindi l'opportunità di affinare che ulteriormente se vogliamo davvero. 1125 00:50:25,470 --> 00:50:27,340 >> Così ora introduciamo un altro concetto. 1126 00:50:27,340 --> 00:50:30,660 Di lasciarmi andare in uno chiamato Conteggio delle pecore e uso qualcosa 1127 00:50:30,660 --> 00:50:31,610 chiamato una variabile. 1128 00:50:31,610 --> 00:50:34,700 Si tratta di una pecorella adorabile, e Ho cambiato il suo costume per così dire. 1129 00:50:34,700 --> 00:50:37,450 Così, anche se il valore predefinito è una gatto, è possibile caricare, è possibile disegnare, 1130 00:50:37,450 --> 00:50:40,020 si può fare un qualsiasi numero di caratteri sul vostro sprite. 1131 00:50:40,020 --> 00:50:43,740 Ecco un programma che è andando a fare quello che in inglese? 1132 00:50:43,740 --> 00:50:47,110 >> Sulla base di nuovo solo su quello che sai ora. 1133 00:50:47,110 --> 00:50:48,230 Che cosa è questo programma? 1134 00:50:48,230 --> 00:50:50,740 1135 00:50:50,740 --> 00:50:53,500 Sì, sta andando a contare. 1136 00:50:53,500 --> 00:50:55,842 Un numero alla volta. 1137 00:50:55,842 --> 00:50:57,550 Abbiamo a quanto pare avere questo contatore insieme. 1138 00:50:57,550 --> 00:50:59,380 >> Non so di cosa si tratta, ma forse è una variabile. 1139 00:50:59,380 --> 00:51:00,740 E 'solo un contenitore, xo y. 1140 00:51:00,740 --> 00:51:04,290 Ma il contatore parola è più descrittivo di x del matematico oppure y. 1141 00:51:04,290 --> 00:51:06,560 Così possiamo usare le parole inglesi per le cose. 1142 00:51:06,560 --> 00:51:08,490 Per sempre, significa solo continuare a fare questo. 1143 00:51:08,490 --> 00:51:10,020 >> Dire contatore. 1144 00:51:10,020 --> 00:51:11,270 Ora, da dove si è arrivati ​​da? 1145 00:51:11,270 --> 00:51:13,240 Beh, si scopre che contatore è una variabile. 1146 00:51:13,240 --> 00:51:15,645 Quindi è solo un altro puzzle pezzo che ho creato in anticipo. 1147 00:51:15,645 --> 00:51:18,020 E anche se accade non essere la stessa forma qui, 1148 00:51:18,020 --> 00:51:20,540 normalmente si direbbe qualcosa come ciao qui. 1149 00:51:20,540 --> 00:51:23,610 >> È anche possibile trascinare una variabile in modo tale che questo è ciò che ha detto di ottenere. 1150 00:51:23,610 --> 00:51:26,170 Poi mi aspetto un secondo, modificare il contatore di uno, 1151 00:51:26,170 --> 00:51:27,940 incrementarlo aggiungendo uno. 1152 00:51:27,940 --> 00:51:32,407 Così che l'effetto netto è questo contare le pecore adorabile. 1153 00:51:32,407 --> 00:51:33,615 Anche se si sta contando. 1154 00:51:33,615 --> 00:51:36,642 1155 00:51:36,642 --> 00:51:38,350 Ora è molto rapidamente andando a diventare noioso 1156 00:51:38,350 --> 00:51:40,900 perché ha intenzione di farlo veramente per sempre, 1157 00:51:40,900 --> 00:51:44,240 ma questo è esattamente ciò che il progettazione del programma prescrive. 1158 00:51:44,240 --> 00:51:48,090 Ora lascia provare un altro esempio che sfrutta una variabile. 1159 00:51:48,090 --> 00:51:51,140 Questa si chiama Hi Hi Hi, che fa arrivare fastidioso rapidamente. 1160 00:51:51,140 --> 00:51:52,987 Ora, questo ha due sceneggiature. 1161 00:51:52,987 --> 00:51:54,570 E così ancora una volta, stiamo prendendo le misure del bambino. 1162 00:51:54,570 --> 00:51:57,236 >> Abbiamo iniziato con qualcosa di super piccolo, aggiunto ad essa, aggiunto ad essa. 1163 00:51:57,236 --> 00:51:59,750 Ora voglio fare qualcosa ancora più dinamica, 1164 00:51:59,750 --> 00:52:02,950 quindi voglio essere in ascolto per due cose diverse alla volta. 1165 00:52:02,950 --> 00:52:05,420 Quindi a sinistra, quando bandiera verde viene cliccato, 1166 00:52:05,420 --> 00:52:08,100 Ho impostato una variabile che ho scritto in anticipo chiamato Muto. 1167 00:52:08,100 --> 00:52:09,700 E ho arbitrariamente impostato a 0. 1168 00:52:09,700 --> 00:52:13,290 Quindi Scratch non ha vere e falso, ma ha 0 e 1. 1169 00:52:13,290 --> 00:52:15,270 >> Così posso approssimare la stessa idea. 1170 00:52:15,270 --> 00:52:21,110 E poi per sempre, se la barra spaziatrice è premuto, quindi impostare la variabile a 0. 1171 00:52:21,110 --> 00:52:21,810 O mi dispiace. 1172 00:52:21,810 --> 00:52:25,920 Se si preme il Spazio, e se disattivato, la variabile, è 0, 1173 00:52:25,920 --> 00:52:29,950 quindi impostare sordina a 1, altro set in sordina a 0. 1174 00:52:29,950 --> 00:52:32,370 Questo sembra un po 'come siamo solo facendo e disfare il lavoro. 1175 00:52:32,370 --> 00:52:33,130 >> Ma qual è l'effetto? 1176 00:52:33,130 --> 00:52:35,588 Ogni volta che ha colpito la barra spaziatrice, cosa succede alla mia variabile 1177 00:52:35,588 --> 00:52:38,150 chiamato in sordina, logicamente? 1178 00:52:38,150 --> 00:52:39,100 Più o meno viene capovolto. 1179 00:52:39,100 --> 00:52:41,035 Si cambia da 0 a 1, o da 1 a 0. 1180 00:52:41,035 --> 00:52:43,035 Così ci sono voluti pochi isolati per esprimere che, ma tutti 1181 00:52:43,035 --> 00:52:47,280 Sto facendo si alterna lo stato di questa variabile a 0 o 1, oppure 0 o 1 1182 00:52:47,280 --> 00:52:48,530 ogni volta che ha colpito la barra spaziatrice. 1183 00:52:48,530 --> 00:52:49,905 Ora qui, che cosa è questo che fa? 1184 00:52:49,905 --> 00:52:53,400 Per sempre, se silenziato è 0, quindi se silenziato è falso. 1185 00:52:53,400 --> 00:52:57,910 Quindi, se non è disattivato, è il semantica lì, giocare il suono leone di mare, 1186 00:52:57,910 --> 00:53:00,810 e pensare Hi Hi Hi per due secondi, attendere due secondi. 1187 00:53:00,810 --> 00:53:02,710 Così notare ora questi script sono efficacemente 1188 00:53:02,710 --> 00:53:07,100 andare a correre in parallelo in modo che si può essere in ascolto per una azione, l'altra 1189 00:53:07,100 --> 00:53:09,010 di prendere una decisione sulla base di tale azione. 1190 00:53:09,010 --> 00:53:10,655 E può fare questo per sempre. 1191 00:53:10,655 --> 00:53:12,638 >> [SEA LION BARKING] 1192 00:53:12,638 --> 00:53:14,852 >> [SEA LION BARKING] 1193 00:53:14,852 --> 00:53:20,050 >> Sta andando a fare questo per sempre e [SEA LION SCORTECCIAMENTO] come ho appena fatto. 1194 00:53:20,050 --> 00:53:23,010 E ora è ancora in esecuzione ma ho "silenziato" il gioco. 1195 00:53:23,010 --> 00:53:27,260 [SEA LION SCORTECCIAMENTO] E questo è tutto questo ragazzo fa anche ora. 1196 00:53:27,260 --> 00:53:28,660 >> Apriamo un altro esempio qui. 1197 00:53:28,660 --> 00:53:31,840 Lasciami andare in Eventi, e ora questo adorabile troppo. 1198 00:53:31,840 --> 00:53:34,130 Ma bando ha due sprite. 1199 00:53:34,130 --> 00:53:37,520 Quindi non solo due script con uno sprite, ma due sprite. 1200 00:53:37,520 --> 00:53:40,750 E se clicco sul tizio blu come ho già, vedo lui come un programma 1201 00:53:40,750 --> 00:53:43,790 qui che dice letteralmente questo, quando ricevo un evento, 1202 00:53:43,790 --> 00:53:45,620 dire "Polo" per due secondi. 1203 00:53:45,620 --> 00:53:48,460 >> Quindi, se hai mai giocato a una piscina, il gioco Marco Polo, 1204 00:53:48,460 --> 00:53:52,500 se lo script arancione ragazzo è alcuna indicazione, apparentemente 1205 00:53:52,500 --> 00:53:57,380 ogni volta che ha colpito la barra spaziatrice, qual è il ragazzo arancione intenzione di fare? 1206 00:53:57,380 --> 00:53:58,642 Ha intenzione di dire "Marco". 1207 00:53:58,642 --> 00:53:59,850 E allora questo è un nuovo blocco. 1208 00:53:59,850 --> 00:54:02,409 Noi non abbiamo visto prima, ma trasmettere un avvenimento. 1209 00:54:02,409 --> 00:54:04,200 E potrei chiamare evento tutto ciò che vogliamo. 1210 00:54:04,200 --> 00:54:06,033 >> Torneremo a questo forse non molto. 1211 00:54:06,033 --> 00:54:08,410 Ma la trasmissione di un evento è un modo per uno sprite 1212 00:54:08,410 --> 00:54:11,836 a parlare con loro da essenzialmente passando un messaggio. 1213 00:54:11,836 --> 00:54:12,960 Non è un messaggio che si vede. 1214 00:54:12,960 --> 00:54:14,130 Non è qualcosa di visivo. 1215 00:54:14,130 --> 00:54:17,370 E 'una sorta di un computer messaggio che l'altro ragazzo è in ascolto per. 1216 00:54:17,370 --> 00:54:21,210 Perché in effetti, il ragazzo blu, richiamo non avere quando bandiera verde cliccato. 1217 00:54:21,210 --> 00:54:23,290 >> Ha invece, quando ricevo un evento. 1218 00:54:23,290 --> 00:54:26,850 Quando arriva consegnato questa nota in classe, per così dire, si dovrebbe dire "Polo". 1219 00:54:26,850 --> 00:54:30,200 E così l'effetto netto è che quando ha colpito la bandiera verde, non accade nulla. 1220 00:54:30,200 --> 00:54:34,940 Ma quando ho colpito la barra spaziatrice, dice "Marco", egli risponde con "Polo". 1221 00:54:34,940 --> 00:54:38,350 Ma l'unico sprite Sono interagendo con l'arancione. 1222 00:54:38,350 --> 00:54:40,980 Quindi questo è un modo di tipo di passare messaggi tra sprite 1223 00:54:40,980 --> 00:54:43,210 e di farle comunicare tra loro. 1224 00:54:43,210 --> 00:54:46,280 >> Ora diamo un'occhiata a un ultimo uno qui chiamati discussioni. 1225 00:54:46,280 --> 00:54:49,370 E notare questo da giocare. 1226 00:54:49,370 --> 00:54:51,184 Quindi queste sono due sprite. 1227 00:54:51,184 --> 00:54:52,600 L'uccello è una specie di volano intorno. 1228 00:54:52,600 --> 00:54:53,310 Sta rimbalzando. 1229 00:54:53,310 --> 00:54:55,890 Non c'è "ahi", ma stessa idea. 1230 00:54:55,890 --> 00:54:58,230 >> Ma il gatto sembra abbastanza intelligente. 1231 00:54:58,230 --> 00:55:01,010 Che cosa è il gatto apparentemente facendo? 1232 00:55:01,010 --> 00:55:03,430 E aspettare. 1233 00:55:03,430 --> 00:55:05,010 Che cosa è il gatto apparentemente facendo? 1234 00:55:05,010 --> 00:55:07,740 Non è solo rimbalzare. 1235 00:55:07,740 --> 00:55:09,860 >> Ha seguito l'uccello. 1236 00:55:09,860 --> 00:55:13,920 E così a quanto pare, c'è un modo con una combinazione di blocchi qui-- 1237 00:55:13,920 --> 00:55:15,760 e diamo un'occhiata al gatto veloce reale. 1238 00:55:15,760 --> 00:55:20,270 Per sempre, se toccando uccello, poi giocare il suono Leone 4, qualunque essa sia. 1239 00:55:20,270 --> 00:55:21,360 Abbiamo sentito una volta. 1240 00:55:21,360 --> 00:55:25,431 In caso contrario, puntare verso uccello, e muovere un passo. 1241 00:55:25,431 --> 00:55:27,680 Ora il fatto che è un passo è ciò che dà l'uccello 1242 00:55:27,680 --> 00:55:29,850 un po 'di vantaggio inizialmente, ma se invece 1243 00:55:29,850 --> 00:55:32,980 fare questo 10, per esempio, così che ogni iterazione del ciclo e ' 1244 00:55:32,980 --> 00:55:34,100 spostamento 10 passi di tempo. 1245 00:55:34,100 --> 00:55:35,280 Quindi più spazio. 1246 00:55:35,280 --> 00:55:36,650 Vediamo cosa succede allora. 1247 00:55:36,650 --> 00:55:38,740 [LION ROAR] Non tutto molto meglio. 1248 00:55:38,740 --> 00:55:41,460 Così ora proviamo a migliorare su questi un po iterativamente, 1249 00:55:41,460 --> 00:55:43,330 e tornare a quella concetto di funzione. 1250 00:55:43,330 --> 00:55:46,580 >> E infatti uno della fondamentale takeaway del design di classe. 1251 00:55:46,580 --> 00:55:49,560 Non solo la scrittura di programmi che funzionano e che sono corretti, ma sono ben 1252 00:55:49,560 --> 00:55:50,080 progettato. 1253 00:55:50,080 --> 00:55:54,349 E il design è molto più soggettivo, e si otterrà meglio a questo nel corso del tempo. 1254 00:55:54,349 --> 00:55:57,390 Ma facciamo qualche passo verso il bambino iniziando con un programma che funziona, 1255 00:55:57,390 --> 00:55:59,310 assolutamente, ma non è molto buono. 1256 00:55:59,310 --> 00:56:00,650 Non è molto ben scritto. 1257 00:56:00,650 --> 00:56:03,830 >> Quindi, ecco un programma che fa questo. 1258 00:56:03,830 --> 00:56:08,060 Tosse, tosse, tosse. 1259 00:56:08,060 --> 00:56:09,880 Che cosa fa il programma assomiglia? 1260 00:56:09,880 --> 00:56:11,330 Sembra corretto per me. 1261 00:56:11,330 --> 00:56:13,370 Si sta dicendo divano per un secondo, quindi attende. 1262 00:56:13,370 --> 00:56:14,515 >> Poi dice di nuovo, quindi attende. 1263 00:56:14,515 --> 00:56:16,056 Poi dice di nuovo, quindi attende. 1264 00:56:16,056 --> 00:56:18,770 E poi il programma implicitamente finisce, perché non c'è loop. 1265 00:56:18,770 --> 00:56:21,325 Ma perché è un programma scritto male? 1266 00:56:21,325 --> 00:56:22,950 Anche se non avete mai programmato prima? 1267 00:56:22,950 --> 00:56:25,240 Come, cosa strofina il modo sbagliato, forse qui? 1268 00:56:25,240 --> 00:56:26,016 Sì? 1269 00:56:26,016 --> 00:56:29,278 >> PUBBLICO: [incomprensibile] 1270 00:56:29,278 --> 00:56:29,950 1271 00:56:29,950 --> 00:56:30,950 DAVID J. MALAN: Esattamente. 1272 00:56:30,950 --> 00:56:32,700 Stai ripetendo te ancora e ancora. 1273 00:56:32,700 --> 00:56:36,190 E letteralmente, ho copiato e incollato due di nuovo e di nuovo i blocchi. 1274 00:56:36,190 --> 00:56:39,237 E questo è esattamente il tipo di sanità mentale verificare che si dovrebbe fare. 1275 00:56:39,237 --> 00:56:39,820 Apetta un minuto. 1276 00:56:39,820 --> 00:56:41,070 Devo davvero facendo questo? 1277 00:56:41,070 --> 00:56:43,610 Allora, qual è questo ciò che è il soluzione ovvia forse? 1278 00:56:43,610 --> 00:56:44,680 Avere un qualche tipo di ciclo. 1279 00:56:44,680 --> 00:56:46,860 E io ricordo non del tutto ciò che il pezzo del puzzle è, 1280 00:56:46,860 --> 00:56:48,810 ma se guardo il prossima iterazione qui, 1281 00:56:48,810 --> 00:56:50,560 infatti, non c'è appena il ciclo per sempre, 1282 00:56:50,560 --> 00:56:52,560 c'è ripetere un determinato numero di volte. 1283 00:56:52,560 --> 00:56:54,080 E così ho specificato tre. 1284 00:56:54,080 --> 00:56:57,839 E ora notare come molto più stretto, come molto più succinta questo programma è. 1285 00:56:57,839 --> 00:56:59,630 E in un certo senso, come molto più gestibile. 1286 00:56:59,630 --> 00:57:02,840 Se voglio cambiare la parola da tosse a qualcos'altro, 1287 00:57:02,840 --> 00:57:07,530 come achoo, come se stesse starnuti. 1288 00:57:07,530 --> 00:57:09,770 Poi cambio in uno posto, e non tre. 1289 00:57:09,770 --> 00:57:12,050 Quindi, questo si sente già come leggermente migliore progettazione. 1290 00:57:12,050 --> 00:57:14,610 Lasciatemi tosse invece aperto 2, il nostro terzo esempio. 1291 00:57:14,610 --> 00:57:17,670 >> Notate come un informatico, Comincio a contare da 0, in genere. 1292 00:57:17,670 --> 00:57:20,950 Ora, questo sembra un po 'più paura a prima, ma l'effetto è lo stesso. 1293 00:57:20,950 --> 00:57:22,590 Tosse, tosse, tosse. 1294 00:57:22,590 --> 00:57:26,920 Ma quello che sembra essere fondamentalmente nuovo nella parte superiore del programma? 1295 00:57:26,920 --> 00:57:28,670 Ho rimosso la parola. 1296 00:57:28,670 --> 00:57:29,830 >> Ho rimosso l'attesa. 1297 00:57:29,830 --> 00:57:32,370 E quello che ho ho collegato invece? 1298 00:57:32,370 --> 00:57:32,890 Una funzione. 1299 00:57:32,890 --> 00:57:33,670 Un blocco tosse. 1300 00:57:33,670 --> 00:57:35,410 Voglio dire, francamente, mi sembra tipo di un idiota, se non l'ho fatto solo 1301 00:57:35,410 --> 00:57:37,285 inizia con il blocco che è evidentemente chiama 1302 00:57:37,285 --> 00:57:38,894 "tosse", se questo è tutto quello che voglio fargli fare. 1303 00:57:38,894 --> 00:57:40,310 Ma che non esiste in Scratch. 1304 00:57:40,310 --> 00:57:43,396 Piuttosto sono andato a uno nella tavolozza chiamato più blocchi qui, 1305 00:57:43,396 --> 00:57:46,270 e trascino questa grande cosa viola qui che mi permette di definire una funzione. 1306 00:57:46,270 --> 00:57:48,240 Mi lascia essenzialmente creare il mio rompicapo 1307 00:57:48,240 --> 00:57:51,280 pezzo che può essere chiamato qualsiasi cosa vogliamo, che può fare tutto ciò che voglio, 1308 00:57:51,280 --> 00:57:52,360 ma dà un nome. 1309 00:57:52,360 --> 00:57:57,050 Mi dà un nuovo, viola pezzo di puzzle che ora fa qualunque cosa gli dico di fare. 1310 00:57:57,050 --> 00:58:01,060 Quindi questo pezzo viola qui corrisponde a questo qui. 1311 00:58:01,060 --> 00:58:01,960 >> E che cosa fa? 1312 00:58:01,960 --> 00:58:03,930 Dice tosse per un secondo, e quindi attende. 1313 00:58:03,930 --> 00:58:07,330 Ed ora ho creato una sorta di il mio pezzo di puzzle personalizzati, 1314 00:58:07,330 --> 00:58:10,040 modo che si comporti esattamente allo stesso modo. 1315 00:58:10,040 --> 00:58:11,130 Così posso continuare a fare questo. 1316 00:58:11,130 --> 00:58:14,421 E infatti, ci sara 'sempre maggiori opportunità per modularizzazione, 1317 00:58:14,421 --> 00:58:16,630 e per la stratificazione, la complessità uno sopra l'altro. 1318 00:58:16,630 --> 00:58:18,547 Ma questa idea di base, anzi in problema detto 0. 1319 00:58:18,547 --> 00:58:20,338 Che cosa hai intenzione di essere sfidato da fare è 1320 00:58:20,338 --> 00:58:23,810 per scaricare Scratch, o semplicemente utilizzarlo sul web, e solo divertirsi con esso. 1321 00:58:23,810 --> 00:58:26,056 Ti daremo una serie di requisiti, avendo un suono, 1322 00:58:26,056 --> 00:58:27,430 e un numero di pezzi del puzzle. 1323 00:58:27,430 --> 00:58:28,480 Ma farai esattamente questo. 1324 00:58:28,480 --> 00:58:31,771 E vi renderete conto che si sta andando a vogliono prendere alcune iniziative per bambini inizialmente, 1325 00:58:31,771 --> 00:58:33,690 fino a quando il programma ottiene più complesso. 1326 00:58:33,690 --> 00:58:36,010 Ma considerando è questo il modo migliore che potessi fare questo? 1327 00:58:36,010 --> 00:58:39,210 Posso evitare di questo istinto forse, per copiare e incollare? 1328 00:58:39,210 --> 00:58:41,850 >> Ma prima di Problem Set 0, e prima di aggiornare, 1329 00:58:41,850 --> 00:58:44,980 abbiamo pensato riprendiamo uno altro volontario se potessimo, 1330 00:58:44,980 --> 00:58:46,820 per un programma finale questa è forse la più 1331 00:58:46,820 --> 00:58:49,150 raccordo a tutti, dato luogo oggi. 1332 00:58:49,150 --> 00:58:50,298 Vieni giù. 1333 00:58:50,298 --> 00:58:51,234 Già. 1334 00:58:51,234 --> 00:58:52,170 Sì. 1335 00:58:52,170 --> 00:58:53,431 Come ti chiami? 1336 00:58:53,431 --> 00:58:53,930 Uh Oh. 1337 00:58:53,930 --> 00:58:57,820 1338 00:58:57,820 --> 00:58:59,010 Va bene. 1339 00:58:59,010 --> 00:59:01,230 Entrambi scendono. 1340 00:59:01,230 --> 00:59:05,520 E ho tratterà questo in qualche modo all'interno che dieci secondi. 1341 00:59:05,520 --> 00:59:06,550 Quindi forza verso il basso. 1342 00:59:06,550 --> 00:59:08,370 Vieni giù. 1343 00:59:08,370 --> 00:59:13,250 >> Fammi venire quassù. 1344 00:59:13,250 --> 00:59:16,050 Avanti. 1345 00:59:16,050 --> 00:59:16,685 Tutto ok. 1346 00:59:16,685 --> 00:59:21,360 1347 00:59:21,360 --> 00:59:22,360 Vediamo qui. 1348 00:59:22,360 --> 00:59:25,735 Così notare veloce reale qui, se volete venire su. 1349 00:59:25,735 --> 00:59:28,650 1350 00:59:28,650 --> 00:59:29,926 >> Faremo due turni di questo. 1351 00:59:29,926 --> 00:59:30,800 E qual'è il tuo nome? 1352 00:59:30,800 --> 00:59:31,270 >> SABRINA: Sabrina. 1353 00:59:31,270 --> 00:59:32,060 >> DAVID J. MALAN: Sabrina e? 1354 00:59:32,060 --> 00:59:32,622 >> YING GEE: Ying Gee. 1355 00:59:32,622 --> 00:59:33,360 >> DAVID J. MALAN: Ying Gee. 1356 00:59:33,360 --> 00:59:34,276 Piacere di conoscerti entrambi. 1357 00:59:34,276 --> 00:59:34,970 Davide. 1358 00:59:34,970 --> 00:59:38,785 Quindi il nostro esempio finale qui è chiamato gioco più difficile di Ivy. 1359 00:59:38,785 --> 00:59:41,160 E perché non dobbiamo fare Livello 1, e si fanno Livello 2. 1360 00:59:41,160 --> 00:59:43,350 >> E vedremo fino a che punto al di là che in realtà andiamo. 1361 00:59:43,350 --> 00:59:45,855 Scritto da uno studente lo scorso anno, remixata da me 1362 00:59:45,855 --> 00:59:48,840 in modo che ciò andrebbe oltre bene a New Haven. 1363 00:59:48,840 --> 00:59:53,180 E vi do un gioco che sta per coinvolgere spostando le frecce su e giù, 1364 00:59:53,180 --> 00:59:55,771 e ottenere Yale al traguardo. 1365 00:59:55,771 --> 00:59:56,270 Andiamo. 1366 00:59:56,270 --> 00:59:56,759 >> [RIPRODUZIONE VIDEO] 1367 00:59:56,759 --> 00:59:58,092 >> [MUSICA - NFL SU FOX TEMA SONG] 1368 00:59:58,092 --> 00:59:59,369 1369 00:59:59,369 --> 01:00:01,160 [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO "] 1370 01:00:01,160 --> 01:00:04,590 1371 01:00:04,590 --> 01:00:07,900 >> -U Non può toccare questo. 1372 01:00:07,900 --> 01:00:11,634 U non può toccare questo. 1373 01:00:11,634 --> 01:00:14,252 Non può toccare questo. 1374 01:00:14,252 --> 01:00:19,490 Il mio, il mio, il mio, la mia musica mi colpisce così duro, mi fa dire, oh, mio ​​signore. 1375 01:00:19,490 --> 01:00:22,927 Grazie per avermi benedizione con un mente di rima e due piedi di hype. 1376 01:00:22,927 --> 01:00:24,891 >> Questo è un bene quando si sa che sei giù. 1377 01:00:24,891 --> 01:00:26,855 Una droga homeboy eccellente dal Oaktown. 1378 01:00:26,855 --> 01:00:31,274 E io sono conosciuto come tale e questo un battito uh, non si può toccare. 1379 01:00:31,274 --> 01:00:34,672 Ho detto che Homeboy U non può toccare questo. 1380 01:00:34,672 --> 01:00:38,656 Sì, è così che stiamo vivendo e sai U non può toccare questo. 1381 01:00:38,656 --> 01:00:40,135 >> Guardami negli occhi, l'uomo. 1382 01:00:40,135 --> 01:00:43,093 U non può toccare questo. 1383 01:00:43,093 --> 01:00:44,572 Yo, lasciatemi busto i testi funky. 1384 01:00:44,572 --> 01:00:45,363 U non può toccare questo. 1385 01:00:45,363 --> 01:00:46,544 Freschi nuovi calci e pantaloni. 1386 01:00:46,544 --> 01:00:48,627 >> Avete capito bene così e sai che vuole ballare. 1387 01:00:48,627 --> 01:00:51,967 Quindi spostare fuori del suo posto e ottenere una mosca ragazza e prendere questo ritmo. 1388 01:00:51,967 --> 01:00:55,911 Mentre è a rotazione presa su pompare un po ' bit e far loro sapere che cosa sta succedendo. 1389 01:00:55,911 --> 01:00:56,890 Come quello. 1390 01:00:56,890 --> 01:00:57,390 Come quello. 1391 01:00:57,390 --> 01:00:59,362 >> Freddo in una missione così tirare sul retro. 1392 01:00:59,362 --> 01:01:04,785 Far loro sapere che sei troppo e questa è una mossa uh non si può toccare. 1393 01:01:04,785 --> 01:01:07,743 Yo, ti ho detto U non può toccare questo. 1394 01:01:07,743 --> 01:01:09,222 Perché lì l'uomo? 1395 01:01:09,222 --> 01:01:10,208 U non può toccare questo. 1396 01:01:10,208 --> 01:01:13,200 >> Yo, il suono nella scuola campana, ventosa. 1397 01:01:13,200 --> 01:01:14,005 U non può toccare questo. 1398 01:01:14,005 --> 01:01:18,326 Dammi una canzone, un ritmo che li rende sudore che è quello che sto dando loro ora. 1399 01:01:18,326 --> 01:01:21,805 Sanno quando si parla di martello si parla di uno spettacolo che è pubblicizzato. 1400 01:01:21,805 --> 01:01:24,290 E i cantanti sono stretti sudorazione così passare loro un microfono. 1401 01:01:24,290 --> 01:01:27,272 >> O un nastro per imparare ciò che sta andando a prendere e ora 1402 01:01:27,272 --> 01:01:29,260 ha intenzione di bruciare le classifiche. 1403 01:01:29,260 --> 01:01:32,739 Legit o lavoro duro o si potrebbe anche smettere. 1404 01:01:32,739 --> 01:01:37,709 Perché sai U non può toccare questo. 1405 01:01:37,709 --> 01:01:41,599 U non può toccare questo. 1406 01:01:41,599 --> 01:01:42,182 Rompilo. 1407 01:01:42,182 --> 01:01:56,095 1408 01:01:56,095 --> 01:01:56,595 Stop. 1409 01:01:56,595 --> 01:01:57,095 Hammer time. 1410 01:01:57,095 --> 01:01:59,577 Vai con il flusso in un giro se non si può passare a questo 1411 01:01:59,577 --> 01:02:01,068 allora probabilmente sei morto. 1412 01:02:01,068 --> 01:02:04,547 Così onda le mani in l'aria [incomprensibile] 1413 01:02:04,547 --> 01:02:08,026 >> Questo è tutto per un ballo vincitore questo e si sta andando ad ottenere più sottile. 1414 01:02:08,026 --> 01:02:12,996 Spostare far scorrere il groppone solo per un minuto andiamo tutti fanno l'urto. 1415 01:02:12,996 --> 01:02:13,990 Già. 1416 01:02:13,990 --> 01:02:14,984 U non può toccare questo. 1417 01:02:14,984 --> 01:02:17,966 1418 01:02:17,966 --> 01:02:19,457 >> U non può toccare questo. 1419 01:02:19,457 --> 01:02:23,433 È meglio ottenere strombazzata ragazzo U non può toccare questo. 1420 01:02:23,433 --> 01:02:24,924 Richiamata della scuola campana. 1421 01:02:24,924 --> 01:02:25,918 Rompilo. 1422 01:02:25,918 --> 01:02:38,837 1423 01:02:38,837 --> 01:02:39,337 Stop. 1424 01:02:39,337 --> 01:02:40,828 Hammer time 1425 01:02:40,828 --> 01:02:42,816 >> DAVID J. MALAN: Questo è tutto per CS50! 1426 01:02:42,816 --> 01:02:45,301 Grazie mille per averci! 1427 01:02:45,301 --> 01:02:47,786 Ci vediamo fuori. 1428 01:02:47,786 --> 01:02:48,611 >> [FINE RIPRODUZIONE] 1429 01:02:48,611 --> 01:02:49,277 [RIPRODUZIONE VIDEO] 1430 01:02:49,277 --> 01:02:52,259 [MUSICA - "Seinfeld" theme song] 1431 01:02:52,259 --> 01:02:53,860 -Ehi David. 1432 01:02:53,860 --> 01:02:54,500 Ehi, David. 1433 01:02:54,500 --> 01:02:55,912 Come sta andando? 1434 01:02:55,912 --> 01:02:58,078 >> -Buona Lavoro, oggi. 1435 01:02:58,078 --> 01:03:00,952 -Quindi Avete pensato a cosa si sta andando a fare per le battute fuori? 1436 01:03:00,952 --> 01:03:03,207 No, non ho niente. 1437 01:03:03,207 --> 01:03:07,550 -Che Cosa se: se questo è il fuori scherzo? 1438 01:03:07,550 --> 01:03:08,970 -Come, Disimballaggio carrelli? 1439 01:03:08,970 --> 01:03:11,430 -Uh Huh. 1440 01:03:11,430 --> 01:03:13,890 Sai, si tratta di nulla. 1441 01:03:13,890 --> 01:03:17,559 >> -Quindi Come, nessuna storia, nessun il conflitto, nessuna risoluzione. 1442 01:03:17,559 --> 01:03:18,350 Non capisco. 1443 01:03:18,350 --> 01:03:20,542 Di cosa si tratta allora? 1444 01:03:20,542 --> 01:03:23,510 >> Nullafacente. 1445 01:03:23,510 --> 01:03:27,427 >> -Quindi Abbiamo fuori battuta è su nulla, e non abbiamo attori. 1446 01:03:27,427 --> 01:03:28,510 Chi va di essere in questo? 1447 01:03:28,510 --> 01:03:29,010 >> -No no no. 1448 01:03:29,010 --> 01:03:31,310 Voglio dire, io sarò in esso. 1449 01:03:31,310 --> 01:03:32,109 >> -You 'Ll essere in esso? 1450 01:03:32,109 --> 01:03:32,608 -Già! 1451 01:03:32,608 --> 01:03:34,903 Le persone sono sempre dicendo mi sono un personaggio. 1452 01:03:34,903 --> 01:03:36,029 >> -Bene, Voglio dire, è vero. 1453 01:03:36,029 --> 01:03:37,445 Ma chi altro sta per essere in esso? 1454 01:03:37,445 --> 01:03:38,660 Non può essere solo te. 1455 01:03:38,660 --> 01:03:47,240 >> -Si Sarà in essa, Gavin, Dan, Dan, Colton, Z'Myla, Alysse, Doug, 1456 01:03:47,240 --> 01:03:51,120 David, tutti. 1457 01:03:51,120 --> 01:03:53,630 >> -Quindi Si tratta di nulla, e tutti sono in esso? 1458 01:03:53,630 --> 01:03:54,530 >> -Assolutamente niente. 1459 01:03:54,530 --> 01:03:58,730 1460 01:03:58,730 --> 01:04:00,580 >> -Questo è ridicolo.