1 00:00:14,320 --> 00:00:17,970 Così è il mio più grande piacere di dare il benvenuto a tutti voi qui oggi 2 00:00:17,970 --> 00:00:20,600 per la prima lezione di, beh, Introduzione 3 00:00:20,600 --> 00:00:22,510 di Informatica e Programmazione. 4 00:00:22,510 --> 00:00:29,110 Conosciuto anche come CS50 o ben, CPSC 100, ufficialmente qui a Yale. 5 00:00:29,110 --> 00:00:34,820 >> Quindi non potremmo essere più eccitati di dare il benvenuto a tutti voi qui. 6 00:00:34,820 --> 00:00:36,620 Il mio nome è Patrick Rebeschini. 7 00:00:36,620 --> 00:00:39,180 Sono l'istruttore capo per la classe. 8 00:00:39,180 --> 00:00:43,600 Sto qui che rappresenta un gruppo di circa 60 membri del personale 9 00:00:43,600 --> 00:00:46,380 che funzionerà con voi per tutto il semestre. 10 00:00:46,380 --> 00:00:49,040 Questo numero è quasi 60 di noi. 11 00:00:49,040 --> 00:00:52,440 Eppure, lungo la straordinaria livello degli impegni 12 00:00:52,440 --> 00:00:56,555 che abbiamo messo in questo classe, rende CS50 la classe 13 00:00:56,555 --> 00:01:00,690 alla Yale University che offre il massimo livello di sostegno 14 00:01:00,690 --> 00:01:01,960 a tutti voi. 15 00:01:01,960 --> 00:01:05,940 E non potremmo essere più orgogliosi di offrendo questa classe di nuovo qui. 16 00:01:05,940 --> 00:01:11,380 >> In realtà, come si vedrà presto l'esperienza, CS50 è molto più di una classe. 17 00:01:11,380 --> 00:01:13,120 Si tratta di una comunità. 18 00:01:13,120 --> 00:01:15,250 E si farà parte presto di questa comunità. 19 00:01:15,250 --> 00:01:18,730 Questo è il secondo anno che Yale sta offrendo questa classe. 20 00:01:18,730 --> 00:01:21,640 Stiamo costruendo sull'estrema successo dello scorso anno, in cui 21 00:01:21,640 --> 00:01:24,340 per la prima volta, qui in questa università, 22 00:01:24,340 --> 00:01:28,930 assistente di apprendimento di laurea sono state adottate nelle aule. 23 00:01:28,930 --> 00:01:32,650 Tutto è iniziato con questa classe l'anno scorso. 24 00:01:32,650 --> 00:01:37,050 >> Quindi, come si sa, la classe viene insegnato in collaborazione con l'Università di Harvard. 25 00:01:37,050 --> 00:01:39,920 Per insegnare questo corso siamo relying-- possiamo 26 00:01:39,920 --> 00:01:44,850 contare sulla grande esperienza di David Malan e il team di Harvard. 27 00:01:44,850 --> 00:01:48,930 Così David è stato l'insegnamento CS50 per bene, 10 anni. 28 00:01:48,930 --> 00:01:51,160 E ogni anno è stato spingendo i confini 29 00:01:51,160 --> 00:01:54,210 e migliorando l'esperienza scolastica. 30 00:01:54,210 --> 00:01:58,940 Anche in questo caso, non potremmo essere più felici di continuare questa collaborazione con loro. 31 00:01:58,940 --> 00:02:01,840 >> Infatti, uno degli la maggior parte delle parti interessanti, 32 00:02:01,840 --> 00:02:06,560 Dirò di correre questa classe ora, sia a Harvard e qui a Yale, 33 00:02:06,560 --> 00:02:09,420 è la davvero incredibile fertilizzazione incrociata 34 00:02:09,420 --> 00:02:13,770 di idee, volto a migliorare la esperienza di apprendimento a tutti voi. 35 00:02:13,770 --> 00:02:18,130 Così come risultato di questo ampio collaborazione tra i due 36 00:02:18,130 --> 00:02:23,070 università, CS50 è orgogliosa di annunciare la nuova versione di quest'anno 37 00:02:23,070 --> 00:02:24,770 con cambiamenti notevoli. 38 00:02:24,770 --> 00:02:27,580 David sarà tutto dirci su di loro ora. 39 00:02:27,580 --> 00:02:31,450 Quindi please-- questo essere Detto questo, si prega di unirsi a me 40 00:02:31,450 --> 00:02:34,220 e benvenuto per dare un grande applauso 41 00:02:34,220 --> 00:02:37,290 ad accogliere David e team di Harvard qui a Yale. 42 00:02:37,290 --> 00:02:40,032 >> [APPLAUSI] 43 00:02:40,032 --> 00:02:41,882 44 00:02:41,882 --> 00:02:43,247 >> DAVID MALAN: Grazie. 45 00:02:43,247 --> 00:02:43,746 Grazie. 46 00:02:43,746 --> 00:02:46,550 47 00:02:46,550 --> 00:02:51,400 Questo è CS50, Harvard University di e l'introduzione della Yale University 48 00:02:51,400 --> 00:02:53,960 per l'intellettuale aziende di informatica 49 00:02:53,960 --> 00:02:55,490 e l'arte della programmazione. 50 00:02:55,490 --> 00:02:59,640 E ciò significa che questo corso in ultima analisi, è di risolvere i problemi. 51 00:02:59,640 --> 00:03:01,849 Infatti molti di voi potrebbe sono usciti dal liceo 52 00:03:01,849 --> 00:03:04,931 o hanno trascorso gli ultimi due anni chiedendosi che cosa alcuni dei tuoi amici 53 00:03:04,931 --> 00:03:06,380 ha fatto l'anno scorso o in altre classi. 54 00:03:06,380 --> 00:03:08,449 Eppure, la realtà è, non importa quello che 55 00:03:08,449 --> 00:03:11,740 fare alla fine della giornata in questa classe, che sta per essere circa la soluzione dei problemi. 56 00:03:11,740 --> 00:03:14,320 >> E come tale, forse prendere qualche rassicurazione nel fatto 57 00:03:14,320 --> 00:03:16,770 che il 73% degli studenti che prendere questa classe, sia qui 58 00:03:16,770 --> 00:03:20,235 a Yale e ad Harvard, non hanno mai preso una classe CS prima. 59 00:03:20,235 --> 00:03:22,610 Quindi, se siete seduti qui a il pubblico oggi chiedendo 60 00:03:22,610 --> 00:03:24,520 il motivo per cui si è seduti qui tra il pubblico di oggi, 61 00:03:24,520 --> 00:03:26,300 o forse semplicemente seguito insieme ad alcuni amici, 62 00:03:26,300 --> 00:03:28,299 o forse sei stato un poco curioso di sapere cosa 63 00:03:28,299 --> 00:03:30,194 informatica e programmazione, realizzare 64 00:03:30,194 --> 00:03:32,860 che la maggior parte dei tuoi compagni di classe a sinistra ea destra di voi 65 00:03:32,860 --> 00:03:35,840 sono molto nello stesso demografico. 66 00:03:35,840 --> 00:03:38,120 >> E in effetti, se guardiamo le statistiche scorso anno 67 00:03:38,120 --> 00:03:42,760 all'interno del corpo studentesco di CS50, sia qui e ad Harvard, il 58% degli studenti 68 00:03:42,760 --> 00:03:44,630 si descrivono come meno confortevole. 69 00:03:44,630 --> 00:03:46,090 9% è più comodo. 70 00:03:46,090 --> 00:03:47,699 E poi il 33% è da qualche parte nel mezzo. 71 00:03:47,699 --> 00:03:50,240 E non c'è una definizione formale di quali mezzi questi secchi. 72 00:03:50,240 --> 00:03:52,335 È una sorta di sai che sei meno confortevole se siete. 73 00:03:52,335 --> 00:03:54,840 Ti senti un po 'a disagio con forse essere in classe. 74 00:03:54,840 --> 00:03:57,840 Tu non sei del tutto sicuro se un computer classe di scienze è in definitiva per voi, 75 00:03:57,840 --> 00:04:00,009 e rendersi conto che si è in ottima compagnia. 76 00:04:00,009 --> 00:04:01,800 E infatti la classificazione, e la valutazione, 77 00:04:01,800 --> 00:04:04,466 e il feedback, e tutto questo struttura di supporto nella classe 78 00:04:04,466 --> 00:04:06,550 è in definitiva molto individualizzato. 79 00:04:06,550 --> 00:04:09,187 Più che la maggior parte qualsiasi altra classe di progettazione. 80 00:04:09,187 --> 00:04:11,520 E in effetti, ciò che in definitiva le questioni in questa classe non è 81 00:04:11,520 --> 00:04:14,180 tanto dove si finisce up rispetto agli altri, 82 00:04:14,180 --> 00:04:18,070 ma dove, in settimana 11 o l'ultimo, e relativa a te stesso in settimana 83 00:04:18,070 --> 00:04:20,372 0 qui il nostro primo. 84 00:04:20,372 --> 00:04:21,330 Che cosa vuol dire? 85 00:04:21,330 --> 00:04:24,750 Ebbene, questo mezzo di quelli 73% di studenti l'anno scorso che non aveva mai preso 86 00:04:24,750 --> 00:04:26,917 una classe CS prima, dalla inizio del semestre hanno 87 00:04:26,917 --> 00:04:29,500 sono stati dilettarsi in una lingua chiamato Scratch, che noi stessi 88 00:04:29,500 --> 00:04:30,340 vedrà qui oggi. 89 00:04:30,340 --> 00:04:32,190 E per la fine del semestre aveva sono andati 90 00:04:32,190 --> 00:04:34,700 attraverso questa intera lista di sfide. 91 00:04:34,700 --> 00:04:36,399 Partendo con un linguaggio chiamato c. 92 00:04:36,399 --> 00:04:38,190 L'implementazione, ciò che è a prima vista, che va 93 00:04:38,190 --> 00:04:41,010 per essere un po 'una sfida per alcuni, ma abbastanza gratificante una volta che si 94 00:04:41,010 --> 00:04:44,510 ottenere Super Mario rimbalzo su e giù una piramide 95 00:04:44,510 --> 00:04:47,005 implementato, anche se, con un solo qualcosa chiamato ASCII art. 96 00:04:47,005 --> 00:04:49,380 L'implementazione dello scorso anno di successo quali gli studenti l'anno scorso poi 97 00:04:49,380 --> 00:04:53,270 ha fatto dopo che è stato attuare il loro proprio cifrario di Cesare e cifrario Vigenère. 98 00:04:53,270 --> 00:04:55,180 Così algoritmi di crittografia con la quale si potrebbe 99 00:04:55,180 --> 00:04:58,920 informazioni scramble e poi decodificare informazioni per inviare messaggi segreti. 100 00:04:58,920 --> 00:05:00,010 Il gioco del 15. 101 00:05:00,010 --> 00:05:02,260 Se vi ricordate da infanzia o qualche favore di partito, 102 00:05:02,260 --> 00:05:05,000 che giochino di plastica in cui ci si sposta i numeri su, giù, sinistra e destra 103 00:05:05,000 --> 00:05:07,500 per cercare di farli in ordine, in realtà attuare quel gioco 104 00:05:07,500 --> 00:05:09,640 e risolvendo la logica necessaria lì. 105 00:05:09,640 --> 00:05:11,640 E poi abbiamo sguazzato in forensics scorso anno. 106 00:05:11,640 --> 00:05:13,810 >> Quindi entro la metà del semestre, gli studenti che non avevano mai 107 00:05:13,810 --> 00:05:16,130 utilizzato le loro tastiere a tal fine prima, 108 00:05:16,130 --> 00:05:19,030 sono stati la scrittura di software recuperare, per così dire, 109 00:05:19,030 --> 00:05:21,420 JPEG o fotografie che abbiamo avuto accidentalmente 110 00:05:21,420 --> 00:05:24,430 cancellato da una fotocamera digitale scheda di memoria dalla fotocamera. 111 00:05:24,430 --> 00:05:28,130 Recupero di messaggi segreti dall'interno di un'immagine bitmap, 112 00:05:28,130 --> 00:05:30,030 e altri tali tipi di grafica. 113 00:05:30,030 --> 00:05:32,770 >> Abbiamo poi la transizione a dare tutta la classe di un dizionario. 114 00:05:32,770 --> 00:05:36,330 Solo un file di testo molto grande con 150.000 parole inglesi. 115 00:05:36,330 --> 00:05:39,080 E tutti è stata contestata in qualche modo di leggere, per così dire, 116 00:05:39,080 --> 00:05:40,780 quelle parole in memoria. 117 00:05:40,780 --> 00:05:42,060 Nella memoria del computer. 118 00:05:42,060 --> 00:05:44,310 E poi rispondere alle domande della forma, è questa una parola? 119 00:05:44,310 --> 00:05:44,934 Si tratta di una parola? 120 00:05:44,934 --> 00:05:45,580 Si tratta di una parola? 121 00:05:45,580 --> 00:05:47,880 In realtà solo attuazione un correttore ortografico. 122 00:05:47,880 --> 00:05:50,320 E poi sfidandosi altro con un grande board-- 123 00:05:50,320 --> 00:05:53,040 una classifica per vedere chi potrebbe usare la minor quantità di memoria, 124 00:05:53,040 --> 00:05:56,470 nel minor tempo per in realtà il controllo ortografico documenti di grandi dimensioni. 125 00:05:56,470 --> 00:05:59,760 >> Siamo passati da allora a attuazione di quelli proprio server web. 126 00:05:59,760 --> 00:06:04,070 Quindi non fare le pagine web in lingue come HTML e CSS, se si ha familiarità. 127 00:06:04,070 --> 00:06:06,360 Ma in realtà attuazione il server che 128 00:06:06,360 --> 00:06:09,260 ascolta su internet per le richieste da parte di browser 129 00:06:09,260 --> 00:06:11,022 e poi rispondere a tali richieste. 130 00:06:11,022 --> 00:06:13,230 Poi attuazione nostra e-commercio come sito web, dove 131 00:06:13,230 --> 00:06:15,490 gli studenti possono comprare e vendere azioni. 132 00:06:15,490 --> 00:06:18,590 Disegno in tempo quasi reale quotazioni di borsa da Yahoo Finanza. 133 00:06:18,590 --> 00:06:21,200 E consentendo agli studenti di vedere come il loro portafoglio sviluppa. 134 00:06:21,200 --> 00:06:23,570 E poi finalmente un mash up di Google News e Google 135 00:06:23,570 --> 00:06:26,540 Mappe in cui gli studenti dal termine entro la fine termini 136 00:06:26,540 --> 00:06:30,110 ha avuto la possibilità di cliccare, e tondo, e di ricerca su una mappa di Google. 137 00:06:30,110 --> 00:06:32,060 E poi vedi tutti gli articoli di notizie che 138 00:06:32,060 --> 00:06:33,940 sono prossimale a quelle particolari aree. 139 00:06:33,940 --> 00:06:36,180 Così veramente va da zero a 60. 140 00:06:36,180 --> 00:06:39,420 >> E lungo la strada con quello che avevamo l'anno scorso chiamato, le aggiunte di hacker. 141 00:06:39,420 --> 00:06:41,211 Che aumentano la barra oltre per quelli di voi 142 00:06:41,211 --> 00:06:44,390 che potrebbero benissimo avere una buona quantità di esperienza essere in quel 9% 143 00:06:44,390 --> 00:06:45,349 di più comodo. 144 00:06:45,349 --> 00:06:47,140 Così si rendono conto che non c'è un soffitto molto alto 145 00:06:47,140 --> 00:06:49,200 anche all'interno di quelli sfide per gli studenti 146 00:06:49,200 --> 00:06:50,660 proveniente da un background diverso. 147 00:06:50,660 --> 00:06:52,618 Perché alla fine il giorno, siamo in ultima analisi, 148 00:06:52,618 --> 00:06:54,910 focalizzata semplicemente su questo. 149 00:06:54,910 --> 00:06:57,010 >> Ma che cosa fa questo Cioè, la soluzione dei problemi? 150 00:06:57,010 --> 00:06:59,100 Quindi cerchiamo di proporre che abbiamo distilliamo in questo modo. 151 00:06:59,100 --> 00:07:01,550 Quindi, la soluzione dei problemi è davvero proprio questo tipo di immagine. 152 00:07:01,550 --> 00:07:04,675 Così hai input per qualche problema, qualcosa che si vuole realmente risolvere. 153 00:07:04,675 --> 00:07:07,020 L'obiettivo è quello di ottenere uscite, una soluzione a questo problema. 154 00:07:07,020 --> 00:07:09,950 E poi in mezzo è ciò che noi chiameremo una scatola nera. 155 00:07:09,950 --> 00:07:13,970 Non necessariamente conosce o addirittura cura cosa c'è dentro quella scatola nera. 156 00:07:13,970 --> 00:07:16,670 Tutto quello che sai è che quando si alimentano di ingresso in esso, 157 00:07:16,670 --> 00:07:19,890 si spera ottenere l'uscita o una soluzione da esso. 158 00:07:19,890 --> 00:07:22,380 E mentre Oggi vedremo sia a ingressi e uscite, 159 00:07:22,380 --> 00:07:24,838 faremo a lungo termine, e il corso di tutto il semestre, 160 00:07:24,838 --> 00:07:26,880 concentrarsi su ciò che c'è dentro quella scatola. 161 00:07:26,880 --> 00:07:30,040 >> E in essa si trovano qualcosa chiamato algoritmi. 162 00:07:30,040 --> 00:07:33,300 Istruzioni passo passo per effettivamente risolvere alcuni problemi. 163 00:07:33,300 --> 00:07:35,090 Ma che cosa è un esempio di alcuni input? 164 00:07:35,090 --> 00:07:37,840 Quindi forse una cosa semplice al All'inizio di ogni anno scolastico, qualcuno 165 00:07:37,840 --> 00:07:39,090 potrebbe desiderare di prendere presenze. 166 00:07:39,090 --> 00:07:42,030 Così si potrebbe fare uno, due, tre, quattro, cinque, sei, 167 00:07:42,030 --> 00:07:44,010 e come faccio a tenere traccia di tali informazioni. 168 00:07:44,010 --> 00:07:46,051 Potrei andare appena uno, due, tre, quattro, cinque, sei. 169 00:07:46,051 --> 00:07:47,720 E basta usare una sorta di singole cifre. 170 00:07:47,720 --> 00:07:51,210 >> Oppure avrei potuto effettivamente registrare questo termine un po 'di più. 171 00:07:51,210 --> 00:07:53,340 E come faccio a rappresentare tutti gli esseri umani in questa stanza? 172 00:07:53,340 --> 00:07:54,900 Beh, potrei fare qualcosa di simile, OK. 173 00:07:54,900 --> 00:07:56,070 Vedo una sola persona. 174 00:07:56,070 --> 00:07:56,600 Tutto ok. 175 00:07:56,600 --> 00:08:01,180 Vedo un'altra persona, un terzo, e così via. 176 00:08:01,180 --> 00:08:04,070 Ma nessuno conta persone piace questo. 177 00:08:04,070 --> 00:08:06,952 Quindi, letteralmente, la maggior parte di noi se siamo anche andando a disegnare qualcosa a tutti, 178 00:08:06,952 --> 00:08:08,910 sono probabilmente andando a andare uno due tre quattro, 179 00:08:08,910 --> 00:08:14,240 forse ottenere un po 'di fantasia, cinque, sei, sette, otto, nove, dieci e così via. 180 00:08:14,240 --> 00:08:16,960 >> E questo è in realtà un sistema chiamato unario. 181 00:08:16,960 --> 00:08:20,549 Uno, come Uno che implica uno, dove si basta avere una lettera dell'alfabeto. 182 00:08:20,549 --> 00:08:21,840 Hai appena avuto questo carattere cancelletto. 183 00:08:21,840 --> 00:08:24,570 E io, per l'efficienza, appena disegnato questi segni hash, in ultima analisi, 184 00:08:24,570 --> 00:08:25,500 come linee rette. 185 00:08:25,500 --> 00:08:27,666 Ma ho potuto li ho disegnato come figure bastoncino. 186 00:08:27,666 --> 00:08:29,550 Dove rappresentare una persona, un ingresso, 187 00:08:29,550 --> 00:08:32,210 Ho solo disegnare un bastone figura o un cancelletto. 188 00:08:32,210 --> 00:08:33,910 Ma questo non è tutto ciò che espressiva. 189 00:08:33,910 --> 00:08:38,020 >> Se tutto quello che ho è questi hash marchi, lasciate figure stilizzate da solo, 190 00:08:38,020 --> 00:08:41,410 come potrei rappresentare qualcosa come il numero 15? 191 00:08:41,410 --> 00:08:43,050 O 15 persone nella stanza? 192 00:08:43,050 --> 00:08:48,740 Avrei potuto fare qualcosa di simile 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 193 00:08:48,740 --> 00:08:51,270 14, 15. 194 00:08:51,270 --> 00:08:52,830 Semplicemente non scala molto bene. 195 00:08:52,830 --> 00:08:55,730 Come gli ingressi diventano grandi, abbiamo bisogno di un sistema migliore di questo. 196 00:08:55,730 --> 00:08:57,910 >> E si scopre che il sistema che usano i computer 197 00:08:57,910 --> 00:09:00,510 non è poi così diversa da quello che io e te sappiamo. 198 00:09:00,510 --> 00:09:03,301 In realtà, la maggior parte delle persone in questa stanza, anche se siete tra quelli meno 199 00:09:03,301 --> 00:09:06,300 comodo, non necessariamente sapere come il vostro Mac o PC funziona davvero, 200 00:09:06,300 --> 00:09:09,810 probabilmente avete almeno sentito parlare, che sotto il cofano sono 0 e 1 di. 201 00:09:09,810 --> 00:09:11,390 Il cosiddetto sistema binario. 202 00:09:11,390 --> 00:09:15,340 Così in effetti, i computer sono più che solo riferimenti che servono nel loro vocabolario, 203 00:09:15,340 --> 00:09:17,450 ma non tanto di un vocabolario come noi esseri umani. 204 00:09:17,450 --> 00:09:19,210 >> In effetti, noi esseri umani non usano binario. 205 00:09:19,210 --> 00:09:21,160 Bi significa 2, 0 e 1. 206 00:09:21,160 --> 00:09:24,140 Ma decimale, deca che significa 10, da 0 a 9. 207 00:09:24,140 --> 00:09:27,660 Così abbiamo molto più espressivo capacità nel nostro mondo umano normale. 208 00:09:27,660 --> 00:09:31,720 Ma direi che questi sistemi, binario e decimale, e tutto 209 00:09:31,720 --> 00:09:35,290 tra e oltre, sono in realtà tutti molto familiari. 210 00:09:35,290 --> 00:09:39,650 Ad esempio, si consideri questo esempio qui, 123. 211 00:09:39,650 --> 00:09:43,850 Quindi questo è davvero, naturalmente, un numero che conosciamo come 123. 212 00:09:43,850 --> 00:09:47,160 Ma tutto quello che ho appena disegnato è stato solo questo modello di simboli, glifi per così dire. 213 00:09:47,160 --> 00:09:49,100 Una specie di forme sul bordo di gesso. 214 00:09:49,100 --> 00:09:52,951 >> Ma perché abbiamo immediatamente e intuitivamente cogliere questo come 123? 215 00:09:52,951 --> 00:09:54,700 Beh, se si erano come me in grado di scuola, 216 00:09:54,700 --> 00:09:59,920 probabilmente imparato che questo è il Colonna 1s, questa è la colonna 10s, 217 00:09:59,920 --> 00:10:01,330 questa è la colonna 100s. 218 00:10:01,330 --> 00:10:02,860 E perché è così utile? 219 00:10:02,860 --> 00:10:06,440 Beh, è ​​semplice aritmetica voi ora fare per ottenere da un modello di simboli 220 00:10:06,440 --> 00:10:08,940 ad un certo numero si capisce intuitivamente. 221 00:10:08,940 --> 00:10:14,160 È ciò che, 100 volte 1, e poi 10 volte 2, e 1 volte 3, 222 00:10:14,160 --> 00:10:17,860 che ovviamente è solo 100, e questo è 20, e questo è tre. 223 00:10:17,860 --> 00:10:19,740 E così, se aggiungiamo quelli together-- ah. 224 00:10:19,740 --> 00:10:23,880 Così sta il tipo di ragionamento dietro perché questo insieme di simboli 225 00:10:23,880 --> 00:10:26,550 significa qualcosa di reale e numerico. 226 00:10:26,550 --> 00:10:32,030 >> Ebbene, i computer fanno la stessa identica cosa, ma hanno solo possono contare più in alto uno. 227 00:10:32,030 --> 00:10:34,400 Mentre ero in grado di contare alto come tre. 228 00:10:34,400 --> 00:10:37,380 E infatti, se ho continuato ad andare potevo arrivare fino a nove in questo sistema. 229 00:10:37,380 --> 00:10:40,430 I computer hanno solo zeri e quelli di loro alfabeto. 230 00:10:40,430 --> 00:10:41,410 >> Che cosa vuol dire? 231 00:10:41,410 --> 00:10:46,900 Beh, significa solo che se un computer vuole rappresentare, dire il numero 0, 232 00:10:46,900 --> 00:10:51,300 magari usando tre characters-- tre lettere dell'alfabeto così dire, 233 00:10:51,300 --> 00:10:53,050 che è come un computer rappresenta 0. 234 00:10:53,050 --> 00:10:54,620 Quindi non tutto ciò che spaventoso finora. 235 00:10:54,620 --> 00:10:56,450 E 'esattamente quello che noi umani avrebbero fatto. 236 00:10:56,450 --> 00:10:59,410 E infatti, la maggior parte di noi solo farebbe ignorare gli zeri iniziali in ogni caso. 237 00:10:59,410 --> 00:11:01,640 >> Un computer, se vuole per memorizzare il numero 1, 238 00:11:01,640 --> 00:11:03,330 risulta sta per fare questo. 239 00:11:03,330 --> 00:11:05,630 E un computer per memorizzare il numero 2 non è 240 00:11:05,630 --> 00:11:09,280 andando a fare il sistema unario, che ho accennato in precedenza. 241 00:11:09,280 --> 00:11:11,360 In realtà è intenzione di fare questo. 242 00:11:11,360 --> 00:11:13,570 E questo è probabilmente dove il modello inizia 243 00:11:13,570 --> 00:11:15,570 a diventare meno evidente per la maggior parte delle persone. 244 00:11:15,570 --> 00:11:18,580 Questo è 2, questo è 3. 245 00:11:18,580 --> 00:11:21,600 Curiosamente, questo è ora 4. 246 00:11:21,600 --> 00:11:24,120 E ora lo fa davvero sembrano essere forse criptico, 247 00:11:24,120 --> 00:11:26,762 ma non è se si considera ciò binario realmente significa. 248 00:11:26,762 --> 00:11:28,720 Significa che avete due le lettere del vostro alfabeto. 249 00:11:28,720 --> 00:11:31,940 Così due caratteri possibili per ogni segnaposto. 250 00:11:31,940 --> 00:11:35,970 >> Quindi, questo significa davvero stiamo andando avere bisogno di un posto 1s, o il luogo 2s, 251 00:11:35,970 --> 00:11:40,800 un luogo 4s e poi 8, e 16, 32 e 64. 252 00:11:40,800 --> 00:11:42,290 E qual è la differenza c'è? 253 00:11:42,290 --> 00:11:47,150 Come questi sono 1, 2, 4, 8, 16, 32, 64. 254 00:11:47,150 --> 00:11:50,690 E prima che avessimo 110, 100.000, 10.000. 255 00:11:50,690 --> 00:11:53,170 Qual è la somiglianza c'è? 256 00:11:53,170 --> 00:11:54,940 E qual è il motivo? 257 00:11:54,940 --> 00:11:55,505 Sì. 258 00:11:55,505 --> 00:11:57,380 Studente: potenze di 2 invece di potenze di 10. 259 00:11:57,380 --> 00:11:57,660 DAVID MALAN: Sì. 260 00:11:57,660 --> 00:11:59,290 Potenze di 2, invece di potenze di 10. 261 00:11:59,290 --> 00:12:02,160 E così, se volevo continuare andare, 8, 16 e così forth-- 262 00:12:02,160 --> 00:12:05,822 ma ora se si dispone di questo tipo di indizio, ora il sistema binario 263 00:12:05,822 --> 00:12:07,280 è in realtà abbastanza semplice. 264 00:12:07,280 --> 00:12:10,910 Perché questo modello di 0 di nel mondo dei computer 0? 265 00:12:10,910 --> 00:12:14,910 Bene, perché si tratta di 4 volte 0, 2 volte 0, 1 volte 0 e si ottiene 0. 266 00:12:14,910 --> 00:12:16,650 >> Perché questo è il numero 1? 267 00:12:16,650 --> 00:12:20,070 Stesso ragionamento, ma ora abbiamo avere un 1 nella colonna 1. 268 00:12:20,070 --> 00:12:21,840 Perché è questo 2? 269 00:12:21,840 --> 00:12:24,450 Abbiamo un 1 nella colonna 2s. 270 00:12:24,450 --> 00:12:30,190 E come allora mi rappresento dire, il numero 7 in binario? 271 00:12:30,190 --> 00:12:31,324 Di 'più forte. 272 00:12:31,324 --> 00:12:32,170 >> STUDENTE: Tre 1s. 273 00:12:32,170 --> 00:12:33,086 >> DAVID MALAN: Tre 1s. 274 00:12:33,086 --> 00:12:37,110 Quindi 1, 1, 1, perché abbiamo solo bisogno 4 più 2 più 1 mi dà 7. 275 00:12:37,110 --> 00:12:37,610 Tutto ok. 276 00:12:37,610 --> 00:12:40,410 Quindi da lì come facciamo rappresentare 8 con 3 segnaposto? 277 00:12:40,410 --> 00:12:43,310 278 00:12:43,310 --> 00:12:43,922 Sì. 279 00:12:43,922 --> 00:12:45,070 >> STUDENTE: 1, 0, 0, 0. 280 00:12:45,070 --> 00:12:46,970 >> DAVID MALAN: Sì 1, 0, 0, 0. 281 00:12:46,970 --> 00:12:49,380 Eppure forse, mi tipo di tecnicamente bisogno 282 00:12:49,380 --> 00:12:52,380 per aggiungere un altro segnaposto alla scheda. 283 00:12:52,380 --> 00:12:55,480 Se voglio andare bene che ho davvero bisogno di fare qualcosa di simile. 284 00:12:55,480 --> 00:12:58,990 Così ho effettivamente bisogno di usare ora la colonna 8s, e va bene. 285 00:12:58,990 --> 00:13:02,680 Ma la cosa curiosa di computing è che che sta andando a costare qualcosa. 286 00:13:02,680 --> 00:13:04,390 Hai bisogno di più RAM nel computer ora. 287 00:13:04,390 --> 00:13:06,348 Hai bisogno di più memoria perché avete bisogno di qualcosa 288 00:13:06,348 --> 00:13:09,650 fisico per memorizzare che ulteriore bit, per così dire. 289 00:13:09,650 --> 00:13:10,700 cifre binarie. 290 00:13:10,700 --> 00:13:13,260 E infatti tutto quello che è successo qui, come il sistema decimale, 291 00:13:13,260 --> 00:13:17,380 se continuare ad aggiungere numeri sempre più in alto e su, andiamo a 5-6 a 7-8 292 00:13:17,380 --> 00:13:19,330 è come portare il 1, letteralmente. 293 00:13:19,330 --> 00:13:21,940 E poi tutto il resto risale fino a zero. 294 00:13:21,940 --> 00:13:25,870 >> Ma come possiamo realmente rappresentiamo queste cose fisicamente in un computer? 295 00:13:25,870 --> 00:13:29,380 Ebbene, alla fine della giornata, l'unica ingresso fisico che va nel mio computer 296 00:13:29,380 --> 00:13:33,630 qui è il cavo di alimentazione, in modo da elettricità o elettroni dalla parete. 297 00:13:33,630 --> 00:13:36,920 E allora come posso ottenere da qualcosa fisico come quello di realtà 298 00:13:36,920 --> 00:13:40,630 che rappresenta un'idea come questo, invece. 299 00:13:40,630 --> 00:13:41,930 >> Ebbene, che cosa potevamo fare? 300 00:13:41,930 --> 00:13:45,560 Potremmo considerare che, va bene, forse se l'elettricità fluisce 301 00:13:45,560 --> 00:13:47,420 Ho potuto conservare e tenere su di esso. 302 00:13:47,420 --> 00:13:49,250 E se sto tenendo su certa energia elettrica, 303 00:13:49,250 --> 00:13:51,700 che è solo andando a arbitrariamente rappresentare un 1. 304 00:13:51,700 --> 00:13:53,997 E se staccare la spina e non c'è niente, 305 00:13:53,997 --> 00:13:56,330 si sa che è solo andando per rappresentare arbitrariamente un 0. 306 00:13:56,330 --> 00:13:57,700 >> Quindi, se qualcosa c'è, 1. 307 00:13:57,700 --> 00:13:59,280 Se non c'è, 0. 308 00:13:59,280 --> 00:14:01,420 Oppure si può fare questo un po 'più visiva. 309 00:14:01,420 --> 00:14:02,704 Qui è un 0. 310 00:14:02,704 --> 00:14:05,370 Non c'è niente di interessante in corso su circa la parte posteriore del mio cellulare. 311 00:14:05,370 --> 00:14:08,690 Ma se mi permetto un po ' po 'di energia elettrica di fluire, 312 00:14:08,690 --> 00:14:11,490 anche se è un po 'brillante qui, la torcia è andato via. 313 00:14:11,490 --> 00:14:15,840 Così sto immagazzinare una carica e ergo, questo telefono rappresenta oggi un 1. 314 00:14:15,840 --> 00:14:17,700 Così 0 1. 315 00:14:17,700 --> 00:14:23,630 >> Quindi, con 1 iPhone quanto in alto posso contare utilizzo di questo tipo di approccio? 316 00:14:23,630 --> 00:14:24,490 Voglio dire a 1. 317 00:14:24,490 --> 00:14:25,900 Non è tutto ciò che convincente. 318 00:14:25,900 --> 00:14:27,170 Allora, cosa altro potevamo fare? 319 00:14:27,170 --> 00:14:31,180 Beh vediamo, è chiunque su loro telefono in questo momento che ho potuto prendere in prestito? 320 00:14:31,180 --> 00:14:33,800 Chiunque abbia un telefono con una torcia costruito in? 321 00:14:33,800 --> 00:14:34,969 Posso prendere in prestito? 322 00:14:34,969 --> 00:14:36,010 Non ho bisogno che venga sbloccato. 323 00:14:36,010 --> 00:14:36,510 Tutto ok. 324 00:14:36,510 --> 00:14:37,150 Grazie. 325 00:14:37,150 --> 00:14:37,780 Mi permetta di prendere in prestito questo. 326 00:14:37,780 --> 00:14:38,279 Tutto ok. 327 00:14:38,279 --> 00:14:45,570 Quindi, se ora mi scorrere verso l'alto e qui, cosa sto rappresentando ora? 328 00:14:45,570 --> 00:14:46,070 Sì. 329 00:14:46,070 --> 00:14:49,350 Quindi è un tre perché questo è nella Colonna 1s, questo è nella colonna 2s. 330 00:14:49,350 --> 00:14:50,480 Quindi 1 + 2 fa 3. 331 00:14:50,480 --> 00:14:53,410 E poi se cerchiamo di ottenere davvero creative-- Oh, grazie. 332 00:14:53,410 --> 00:14:54,690 Molto preventiva. 333 00:14:54,690 --> 00:14:55,560 Tutto ok. 334 00:14:55,560 --> 00:14:57,100 Ora ho tre iPhone. 335 00:14:57,100 --> 00:14:58,810 Tutto ok. 336 00:14:58,810 --> 00:15:02,500 >> E ora questo-- non lo farò fare qualsiasi oltre questo. 337 00:15:02,500 --> 00:15:04,380 Che cosa sono io rappresento ora? 338 00:15:04,380 --> 00:15:05,090 A soli sette. 339 00:15:05,090 --> 00:15:08,000 Ma avevo bisogno fisicamente più memoria in questo caso. 340 00:15:08,000 --> 00:15:08,920 Ma questo è tutto quello che è. 341 00:15:08,920 --> 00:15:12,870 Si può pensare a quello che sta succedendo on-- grazie you-- all'interno del telefono 342 00:15:12,870 --> 00:15:16,240 come solo essere un interruttore che è essere acceso e spento. 343 00:15:16,240 --> 00:15:18,350 >> E se hai mai sentito parlare il transistor di parola. 344 00:15:18,350 --> 00:15:21,312 Oppure, se hai mai sentito il commercializzazione parlano Intel Inside, 345 00:15:21,312 --> 00:15:24,270 che sta parlando al tipo di hardware che è all'interno del vostro computer. 346 00:15:24,270 --> 00:15:26,707 Intel rende CPU, unità centrali di elaborazione, 347 00:15:26,707 --> 00:15:28,790 che sono come il cervello all'interno del computer. 348 00:15:28,790 --> 00:15:30,640 E queste CPU e cose che sono connessi 349 00:15:30,640 --> 00:15:32,740 di avere un sacco di minuscoli interruttori. 350 00:15:32,740 --> 00:15:36,440 Milioni, miliardi di interruttori che può essere sia acceso o spento. 351 00:15:36,440 --> 00:15:38,840 >> Quindi i computer, per fortuna, come i nostri Mac e PC, 352 00:15:38,840 --> 00:15:43,830 può contare modo superiore 7 o 8 perché hanno modo più di tre 353 00:15:43,830 --> 00:15:44,660 o quattro bit. 354 00:15:44,660 --> 00:15:48,140 Modo più dell'equivalente del tre torce elettriche che abbiamo appena avuto. 355 00:15:48,140 --> 00:15:52,110 Ma ora questo inizia a diventare abbastanza interessante rapidamente. 356 00:15:52,110 --> 00:15:55,810 Se ora voglio essere effettivamente in grado di fare qualcosa di più interessante, 357 00:15:55,810 --> 00:16:00,340 Voglio essere in grado di saltare a qualcosa di simile. 358 00:16:00,340 --> 00:16:03,604 >> Così ASCII, non è davvero un utile Acronimo, ma American Standard Code 359 00:16:03,604 --> 00:16:04,770 per scambio di informazioni. 360 00:16:04,770 --> 00:16:07,450 Significa solo, alcuni anni fa noi esseri umani hanno deciso, 361 00:16:07,450 --> 00:16:10,724 Sai cosa, vogliamo essere in grado di fare più con i computer che semplici numeri. 362 00:16:10,724 --> 00:16:12,890 Noi non vogliamo che solo essere calcolatrici costosi, 363 00:16:12,890 --> 00:16:16,730 vorremmo essere in grado di fare cose come elaborazione testi, anche se molto semplice. 364 00:16:16,730 --> 00:16:20,030 Più tardi abbiamo avuto e-mail e altri tali mezzi di comunicazione. 365 00:16:20,030 --> 00:16:23,700 >> E così il mondo ha deciso alcuni anni fa secondo questo sistema ASCII, 366 00:16:23,700 --> 00:16:24,770 sai cosa? 367 00:16:24,770 --> 00:16:26,970 In alcuni tipi di programmi di ogni volta che si 368 00:16:26,970 --> 00:16:30,649 vedere l'equivalente del numero 65, come il modello di bit. 369 00:16:30,649 --> 00:16:32,440 E potremmo fare il matematica qui sul bordo. 370 00:16:32,440 --> 00:16:34,450 Il modello di bit che rappresentano 65. 371 00:16:34,450 --> 00:16:37,240 Non pensare ad esso come 65 in decimale. 372 00:16:37,240 --> 00:16:41,620 Pensate a come arbitrariamente, ma a livello globale, costantemente come la capitale 373 00:16:41,620 --> 00:16:42,201 UN. 374 00:16:42,201 --> 00:16:43,950 E poi il mondo deciso, sai una cosa? 375 00:16:43,950 --> 00:16:45,630 Prendiamo un altro modello di bit. 376 00:16:45,630 --> 00:16:47,770 E se vedremo mai il il numero 66, diciamo solo 377 00:16:47,770 --> 00:16:50,573 supporre che questo è il capitale B. Fast forward al H 378 00:16:50,573 --> 00:16:55,510 e io, se si vede 72 o 73, che dovrebbe essere H e un I, rispettivamente. 379 00:16:55,510 --> 00:16:57,780 E così finché tutta mondo è d'accordo su questo. 380 00:16:57,780 --> 00:17:01,342 In modo che quando si riceve una e-mail, o si otterrebbe un file su una chiavetta USB, 381 00:17:01,342 --> 00:17:03,800 o qualcosa di simile quando che-- si vede che modello di bit, 382 00:17:03,800 --> 00:17:06,980 si sa che dovrebbe essere questo lettera o qualche altra lettera. 383 00:17:06,980 --> 00:17:08,620 >> Ma è specifico contesto, a destra. 384 00:17:08,620 --> 00:17:12,250 Un programma di email potrebbe interpretare queste cose come personaggi, 385 00:17:12,250 --> 00:17:15,760 ma una calcolatrice grafica o calcolatrice potrebbe rappresentare o interpretare 386 00:17:15,760 --> 00:17:18,370 queste cose, naturalmente, come lettere. 387 00:17:18,370 --> 00:17:21,610 >> Quindi, con questo detto, poco revisione rapida. 388 00:17:21,610 --> 00:17:25,440 Questa è forse una di tre caratteri e-mail che è stato inviato a me. 389 00:17:25,440 --> 00:17:27,990 Sotto il cofano è tutto in 0 e 1, ma noi non ci interessa. 390 00:17:27,990 --> 00:17:31,580 Stiamo per iniziare a astratto sopra i 0 e 1 per le lettere. 391 00:17:31,580 --> 00:17:36,830 E se vedo un modello di 0 e 1 che davvero rappresentare 72, suggerimento, suggerimento, 73, 392 00:17:36,830 --> 00:17:38,866 e poi 33, qual è il messaggio? 393 00:17:38,866 --> 00:17:40,348 >> STUDENTE: [INAUDIBLE] 394 00:17:40,348 --> 00:17:42,639 DAVID MALAN: Quindi, se si pensa indietro solo un momento fa, HI 395 00:17:42,639 --> 00:17:47,210 era il messaggio che stavo cercando di comunicare qui perché H è 72, 396 00:17:47,210 --> 00:17:50,925 Mi è 73, e ora 33-- non avrebbe necessariamente conoscere in anticipo, 397 00:17:50,925 --> 00:17:53,800 ma si scopre se effettivamente vedere di più del grafico e il sistema 398 00:17:53,800 --> 00:17:56,800 che l'umanità concordato anni fa, è solo un punto esclamativo. 399 00:17:56,800 --> 00:18:01,590 E infatti, vi è un modello di simboli e numeri per ogni personaggio 400 00:18:01,590 --> 00:18:03,849 che si potrebbe avere sulla tastiera. 401 00:18:03,849 --> 00:18:04,389 >> Tutto ok. 402 00:18:04,389 --> 00:18:05,660 Diamo astratto ulteriormente. 403 00:18:05,660 --> 00:18:09,380 Se non vogliamo avere solo cose come numeri e lettere, 404 00:18:09,380 --> 00:18:11,420 in realtà vogliamo implementare la grafica. 405 00:18:11,420 --> 00:18:13,351 Beh, se hai mai sentito l'acronimo RGB. 406 00:18:13,351 --> 00:18:15,559 È un po 'datato al momento, ma è ancora un po 'lì. 407 00:18:15,559 --> 00:18:17,380 RGB è di colore rosso, verde, blu. 408 00:18:17,380 --> 00:18:19,380 Ed è solo un sistema di di dire, si sa che cosa, 409 00:18:19,380 --> 00:18:21,650 usiamo tre serie di bit. 410 00:18:21,650 --> 00:18:25,280 Un insieme di 8 bit, un altro gruppo di 8 bit, e un altro gruppo di 8 bit. 411 00:18:25,280 --> 00:18:27,710 E usiamo quei bit per memorizzare quanto abbiamo rosso 412 00:18:27,710 --> 00:18:31,430 vuole sul nostro schermo, quanto verde vogliamo sul nostro schermo, 413 00:18:31,430 --> 00:18:34,070 e quanto blu vogliamo sul nostro schermo. 414 00:18:34,070 --> 00:18:37,860 E questo significa solo che se si avere un lot-- un numero grande per il rosso, 415 00:18:37,860 --> 00:18:39,200 questo significa che mi danno un sacco di rosso. 416 00:18:39,200 --> 00:18:41,658 Se si dispone di un numero grande per verde, mi danno un sacco di verde. 417 00:18:41,658 --> 00:18:44,660 E se avete solo un po ' di blu o di un piccolo numero come 33, 418 00:18:44,660 --> 00:18:45,960 dammi un po 'di blu. 419 00:18:45,960 --> 00:18:49,720 E se vi capita di combinare questi tre grandezze, per così dire, 420 00:18:49,720 --> 00:18:53,160 si ottiene questo-- si riesce a malapena a vedere su il proiettore qui, ma questa torbida 421 00:18:53,160 --> 00:18:54,630 tonalità di colore giallo o marrone. 422 00:18:54,630 --> 00:18:58,590 >> Ma questo per dire, utilizzando tale modello di 8 più 8 plus plus 8-- 423 00:18:58,590 --> 00:19:01,710 quel modello di 24 bit è come un computer sarebbe 424 00:19:01,710 --> 00:19:06,460 memorizzare quella tonalità di giallo in un puntino un pixel sullo schermo. 425 00:19:06,460 --> 00:19:10,570 Così siamo passati da 0 e 1 in decimale numeri alle lettere dell'alfabeto. 426 00:19:10,570 --> 00:19:13,680 O, più interessante, punti colorati. 427 00:19:13,680 --> 00:19:16,200 >> Beh, che ovviamente poi viene dopo? 428 00:19:16,200 --> 00:19:19,040 Beh, che è un'immagine che si vedi su Facebook o entrare in una e-mail? 429 00:19:19,040 --> 00:19:20,172 O simili? 430 00:19:20,172 --> 00:19:22,130 Qual è la definizione tecnicamente di un'immagine? 431 00:19:22,130 --> 00:19:25,090 432 00:19:25,090 --> 00:19:27,710 Sì. 433 00:19:27,710 --> 00:19:31,270 Qual è l'immagine composta da se guardare molto vicino al vostro schermo? 434 00:19:31,270 --> 00:19:31,770 Sì. 435 00:19:31,770 --> 00:19:33,186 E 'solo un insieme di pixel. 436 00:19:33,186 --> 00:19:35,220 In realtà, se si prende il laptop forse più tardi, 437 00:19:35,220 --> 00:19:37,180 e guardare veramente da vicino a seconda it-- 438 00:19:37,180 --> 00:19:40,370 in quanto costoso il portatile è e quanto alta qualità dello schermo è, 439 00:19:40,370 --> 00:19:43,480 si potrebbe benissimo vedere tutti i puntini sullo schermo. 440 00:19:43,480 --> 00:19:45,890 >> E quei punti o pixel, che significa che c'è 441 00:19:45,890 --> 00:19:49,810 24 bit che rappresentano ogni pixel in quel fotografia che si vede su Facebook, 442 00:19:49,810 --> 00:19:52,049 o che hai appena preso sul vostro iPhone di recente. 443 00:19:52,049 --> 00:19:54,090 E così è così che si ottiene a cose come la grafica. 444 00:19:54,090 --> 00:19:55,120 Ebbene, che cosa è un video? 445 00:19:55,120 --> 00:19:58,660 Un video è solo un insieme di elementi grafici volano dallo schermo di nuovo 446 00:19:58,660 --> 00:19:59,780 e ancora e ancora. 447 00:19:59,780 --> 00:20:04,080 E così i video in realtà, sono solo i modelli di bit che rappresentano griglie, righe 448 00:20:04,080 --> 00:20:06,880 e colonne di punti, volando dell'immagine sullo schermo, 449 00:20:06,880 --> 00:20:09,240 dopo immagine, a immagine, pseudonimo 450 00:20:09,240 --> 00:20:10,650 Film. 451 00:20:10,650 --> 00:20:12,340 Quindi questo è tutto per gli ingressi e le uscite. 452 00:20:12,340 --> 00:20:14,420 >> Tutto quello che abbiamo ora è un ipotesi che, si 453 00:20:14,420 --> 00:20:17,190 sapere che cosa, se vogliamo un computer per rappresentare le informazioni, 454 00:20:17,190 --> 00:20:18,560 abbiamo un sistema per farlo. 455 00:20:18,560 --> 00:20:20,780 Possiamo farlo con 0 e 1s alla fine della giornata. 456 00:20:20,780 --> 00:20:23,160 Ma possiamo astratto, così a parlare, in cima a quella 457 00:20:23,160 --> 00:20:25,140 in modo da rappresentare più cose interessanti. 458 00:20:25,140 --> 00:20:28,790 E qui in avanti in CS50, ed in informatica, più in generale, 459 00:20:28,790 --> 00:20:31,250 ci troviamo ora sulle spalle di tutte le persone che 460 00:20:31,250 --> 00:20:33,530 è venuto prima di noi che hanno capito che fuori. 461 00:20:33,530 --> 00:20:38,170 E ora solo supporre che i computer può rappresentare ingressi e uscite. 462 00:20:38,170 --> 00:20:41,140 >> Ma ora diamo in realtà fare qualcosa con loro. 463 00:20:41,140 --> 00:20:44,850 Quindi, un algoritmo è solo un insieme di istruzioni, passo dopo passo, 464 00:20:44,850 --> 00:20:46,340 per risolvere qualche problema. 465 00:20:46,340 --> 00:20:48,730 E che cosa potrebbe un tale problema sia. 466 00:20:48,730 --> 00:20:52,440 Quindi questa è una vecchia scuola La tecnologia, una rubrica telefonica. 467 00:20:52,440 --> 00:20:55,534 E dentro di una rubrica telefonica è un tutta una serie di nomi e numeri. 468 00:20:55,534 --> 00:20:57,700 E quei nomi sono generalmente in ordine alfabetico. 469 00:20:57,700 --> 00:21:01,310 >> Quindi, se ho voluto trovare qualcuno in questa rubrica come Mike Smith, 470 00:21:01,310 --> 00:21:02,930 che cosa è un tipico umano intenzione di fare? 471 00:21:02,930 --> 00:21:06,000 Beh, si potrebbe semplicemente aprire in su, guarda la prima pagina. 472 00:21:06,000 --> 00:21:07,390 Non vedo Mike Smith. 473 00:21:07,390 --> 00:21:09,740 Girare alla seconda pagina, Non vedo Mike Smith. 474 00:21:09,740 --> 00:21:11,830 E solo andare avanti e andare. 475 00:21:11,830 --> 00:21:14,397 E 'questo approccio graduale corretta? 476 00:21:14,397 --> 00:21:17,380 477 00:21:17,380 --> 00:21:18,310 Sì. 478 00:21:18,310 --> 00:21:20,080 È un po 'stupido, a destra. 479 00:21:20,080 --> 00:21:21,646 E 'inefficiente, a destra. 480 00:21:21,646 --> 00:21:24,520 Perché sta andando a prendere per sempre per arrivare a Mike, ma è corretto. 481 00:21:24,520 --> 00:21:26,620 Perché se Mike è qui Io davvero trovarlo. 482 00:21:26,620 --> 00:21:29,030 >> Quindi, che cosa è un po 'più persona ragionevole intenzione di fare? 483 00:21:29,030 --> 00:21:32,180 Potrebbero ancora aperta al fronte, e forse volare attraverso la rubrica telefonica 484 00:21:32,180 --> 00:21:33,250 due pagine alla volta. 485 00:21:33,250 --> 00:21:34,840 Due, quattro, sei, otto. 486 00:21:34,840 --> 00:21:36,830 Non posso davvero fisicamente farlo molto bene. 487 00:21:36,830 --> 00:21:39,560 Ma in teoria, questo dovrebbe essere due volte più veloce, due pagine alla volta. 488 00:21:39,560 --> 00:21:41,152 È questo algoritmo corretto? 489 00:21:41,152 --> 00:21:43,252 >> STUDENTE: [INAUDIBLE] 490 00:21:43,252 --> 00:21:44,460 DAVID MALAN: Non necessariamente. 491 00:21:44,460 --> 00:21:44,960 Buona. 492 00:21:44,960 --> 00:21:46,112 Perché quel avvertimento? 493 00:21:46,112 --> 00:21:50,020 >> STUDENTE: Perché potrebbe essere in uno delle pagine che si sta per saltare. 494 00:21:50,020 --> 00:21:50,770 DAVID MALAN: Sì. 495 00:21:50,770 --> 00:21:52,260 Quindi, anche se ho sempre più vicino. 496 00:21:52,260 --> 00:21:56,150 E se fosse solo per caso, dalla cattiva fortuna, inserita tra le due pagine 497 00:21:56,150 --> 00:21:57,290 che sto volando sopra? 498 00:21:57,290 --> 00:21:59,920 499 00:21:59,920 --> 00:22:01,730 Quindi abbiamo bisogno di una correzione per questo. 500 00:22:01,730 --> 00:22:03,590 Abbiamo effettivamente bisogno di poi dire, aspetta un minuto, 501 00:22:03,590 --> 00:22:06,240 forse se andiamo troppo lontano, forse se ci ha colpito la sezione a T, 502 00:22:06,240 --> 00:22:09,670 per T venendo dopo Smith, allora dovremmo almeno raddoppiare indietro almeno una pagina. 503 00:22:09,670 --> 00:22:12,630 Così risolvibile, ma non vi è una questione condizionale lì. 504 00:22:12,630 --> 00:22:16,159 Quindi è due volte più veloce, ma si potrebbe raddoppiare di nuovo solo un po '. 505 00:22:16,159 --> 00:22:19,200 Ma nessuno nella sua stanza, anche se in realtà non più usare elenchi telefonici, 506 00:22:19,200 --> 00:22:20,740 sta per cominciare dall'inizio. 507 00:22:20,740 --> 00:22:23,317 Che cosa hai intenzione di fare alla ricerca di Mike Smith? 508 00:22:23,317 --> 00:22:24,900 Hai intenzione di andare o meno alle S di. 509 00:22:24,900 --> 00:22:26,820 Oppure, se non si hanno veramente il foglietto sulla carta, 510 00:22:26,820 --> 00:22:28,365 si sta andando ad andare almeno all'incirca a metà. 511 00:22:28,365 --> 00:22:30,220 E non certo per la parte anteriore del libro. 512 00:22:30,220 --> 00:22:31,130 Si sta andando a guardare in basso. 513 00:22:31,130 --> 00:22:33,770 E matematicamente probabilmente siete andando a vedere la sezione M, che 514 00:22:33,770 --> 00:22:34,890 è più o meno nel mezzo. 515 00:22:34,890 --> 00:22:36,848 E poi si sta andando a realizzare, ciò che è vero? 516 00:22:36,848 --> 00:22:37,968 Dove è Mike? 517 00:22:37,968 --> 00:22:39,170 >> STUDENTE: [INAUDIBLE] 518 00:22:39,170 --> 00:22:39,920 DAVID MALAN: Sì. 519 00:22:39,920 --> 00:22:41,530 Così è finita su questo lato. 520 00:22:41,530 --> 00:22:42,710 E quindi cosa si può fare? 521 00:22:42,710 --> 00:22:48,870 Ebbene, sia in senso figurato e letterale si può strappare il problema a metà una volta? 522 00:22:48,870 --> 00:22:54,260 E allora sai che si può buttare questa metà del problema di distanza. 523 00:22:54,260 --> 00:22:58,170 E ora siamo lasciati con fondamentalmente lo stesso problema, ma è la metà più grande. 524 00:22:58,170 --> 00:22:59,920 E così ora qual è il set di istruzioni? 525 00:22:59,920 --> 00:23:01,753 Qual è l'algoritmo per la ricerca di Mike Smith? 526 00:23:01,753 --> 00:23:03,030 E 'esattamente la stessa cosa. 527 00:23:03,030 --> 00:23:05,750 >> Ora, questo sembra essere il M sezione e questa è la sezione Z, 528 00:23:05,750 --> 00:23:08,650 ma la fondamentale formula è sempre la stessa. 529 00:23:08,650 --> 00:23:10,800 Vai all'incirca a metà, guardare in basso, oh, accidenti. 530 00:23:10,800 --> 00:23:13,160 Ora sono nella sezione T, Sono andato troppo lontano. 531 00:23:13,160 --> 00:23:16,640 Ma anche qui si può applicare la stessa logica. 532 00:23:16,640 --> 00:23:19,189 la metà del tiro del problema via e ora siamo 533 00:23:19,189 --> 00:23:21,230 sinistra con un problema che è un quarto della dimensione. 534 00:23:21,230 --> 00:23:28,140 E possiamo ripetere, e possiamo ripetere, e siamo in grado di ripetere fino a quando teoricamente 535 00:23:28,140 --> 00:23:32,190 c'è solo una pagina a sinistra su che Mike sia è o non è. 536 00:23:32,190 --> 00:23:34,014 >> Così che cosa è così potente di questa idea? 537 00:23:34,014 --> 00:23:35,680 Voglio dire, dopo tutto, è abbastanza intuitivo. 538 00:23:35,680 --> 00:23:37,390 Nessuno sta per iniziare al All'inizio della rubrica telefonica 539 00:23:37,390 --> 00:23:39,320 e flip 1.000 pagine per trovare Mike Smith. 540 00:23:39,320 --> 00:23:42,319 La maggior parte tutti in questa stanza sta andando a fare più o meno questo tipo di algoritmo 541 00:23:42,319 --> 00:23:43,220 salvo la lacerazione. 542 00:23:43,220 --> 00:23:45,480 >> E allora perché l'abbiamo fatto? 543 00:23:45,480 --> 00:23:47,810 Beh, prendere in considerazione l'efficienza. 544 00:23:47,810 --> 00:23:51,500 Prendere in considerazione solo quanto meglio questo algoritmo è stato suddividendolo 545 00:23:51,500 --> 00:23:52,890 nelle sue parti componenti. 546 00:23:52,890 --> 00:23:53,980 Così che cosa ho fatto? 547 00:23:53,980 --> 00:23:55,389 Ho preso l'elenco telefonico. 548 00:23:55,389 --> 00:23:57,180 E un informatico, e un programmatore, 549 00:23:57,180 --> 00:24:00,090 più in generale, si scopre, sta andando per iniziare a contare tutto a 0. 550 00:24:00,090 --> 00:24:00,610 >> Perché? 551 00:24:00,610 --> 00:24:03,240 Beh, è ​​un po 'strano che noi esseri umani contiamo, in generale, 552 00:24:03,240 --> 00:24:04,400 partire da uno. 553 00:24:04,400 --> 00:24:08,110 Perché quello che è il più piccolo numero Possiamo rappresentare basato chiaramente 554 00:24:08,110 --> 00:24:09,930 anche sul nostro vecchio matematica scuola elementare? 555 00:24:09,930 --> 00:24:12,400 Beh, è ​​stato 0, se è in decimale o binario. 556 00:24:12,400 --> 00:24:14,900 E così vedrete nel mondo di informatica e programmazione, 557 00:24:14,900 --> 00:24:17,620 in particolare, si parte contando tutto da 0. 558 00:24:17,620 --> 00:24:19,690 >> Così ho preso il telefono libro passo 0. 559 00:24:19,690 --> 00:24:21,924 Ho intenzione di aprire al mezzo della rubrica telefonica. 560 00:24:21,924 --> 00:24:23,840 E questo è davvero un espressione di quello che ho fatto. 561 00:24:23,840 --> 00:24:25,900 E poi la fase due era un'occhiata ai nomi. 562 00:24:25,900 --> 00:24:29,110 Punto tre è un po ' diversa concettualmente. 563 00:24:29,110 --> 00:24:30,600 Sto chiedendo una domanda io stesso. 564 00:24:30,600 --> 00:24:33,610 Se Smith è tra i nomi, Ho intenzione di prendere una decisione. 565 00:24:33,610 --> 00:24:36,550 Se lui è tra i nomi, poi ho intenzione di chiamare Mike. 566 00:24:36,550 --> 00:24:39,590 E ho intenzione di prendere una decisione sulla base di tale informazione. 567 00:24:39,590 --> 00:24:44,100 >> Tuttavia, se non, se Smith è precedenza nel libro a fianco, 568 00:24:44,100 --> 00:24:48,200 Ho intenzione di aprire a metà della metà sinistra del libro. 569 00:24:48,200 --> 00:24:51,674 E poi ecco la bravura, Ho intenzione di tornare alla fase due. 570 00:24:51,674 --> 00:24:53,590 Ho intenzione di ordinare di stare in piedi sulle mie spalle 571 00:24:53,590 --> 00:24:55,110 e basta ripetere il lavoro passato ho fatto. 572 00:24:55,110 --> 00:24:58,062 Ma il lavoro che ho lasciato è meno, e meno, e meno. 573 00:24:58,062 --> 00:24:59,270 Ma è ancora andare a lavorare. 574 00:24:59,270 --> 00:25:02,110 Ma se Mike, invece, è tardi nel libro a destra, 575 00:25:02,110 --> 00:25:04,980 Ho intenzione di aprire a metà della metà destra del libro, 576 00:25:04,980 --> 00:25:07,240 per poi tornare al punto due. 577 00:25:07,240 --> 00:25:09,330 >> Ma c'è in realtà un quarto scenario. 578 00:25:09,330 --> 00:25:13,336 Mike sia qui, o qui, o qui, or-- 579 00:25:13,336 --> 00:25:14,152 >> STUDENTE: Non c'è. 580 00:25:14,152 --> 00:25:15,110 DAVID MALAN: Non c'è. 581 00:25:15,110 --> 00:25:18,580 E in effetti, se non prevediamo questa quarta ed ultima scenario 582 00:25:18,580 --> 00:25:21,510 il nostro programma potrebbe essere buggy o viziato in qualche modo. 583 00:25:21,510 --> 00:25:25,020 Altrimenti, uscire nel caso in cui non abbiamo trovato Mike affatto. 584 00:25:25,020 --> 00:25:27,720 E in effetti, se hai mai notato il vostro impiccagione del computer, o tutti 585 00:25:27,720 --> 00:25:30,490 di una parola improvvisa o qualche altro programma appena si chiude improvvisamente, 586 00:25:30,490 --> 00:25:32,614 e qualche volta ti errore messaggio letteralmente è che. 587 00:25:32,614 --> 00:25:34,070 Questo programma chiuso improvvisamente. 588 00:25:34,070 --> 00:25:35,570 Può essere per qualsiasi numero di ragioni. 589 00:25:35,570 --> 00:25:38,120 Ma a volte è qualcosa di semplice come questo. 590 00:25:38,120 --> 00:25:40,440 Il programmatore umano che ha scritto che il software 591 00:25:40,440 --> 00:25:43,610 non si rendono conto che, oh, c'è un avanti cosa che può realmente accadere. 592 00:25:43,610 --> 00:25:46,480 E se non si scrive codice per catturare quel quarto scenario, 593 00:25:46,480 --> 00:25:51,342 è davvero inaspettato volte ciò che il computer potrebbe effettivamente fare. 594 00:25:51,342 --> 00:25:53,050 Ora chiamiamolo un alcune di queste cose. 595 00:25:53,050 --> 00:25:55,465 Quindi, in giallo qui, avere termini evidenziati 596 00:25:55,465 --> 00:25:57,590 che d'ora in poi siamo solo andando a chiamare funzioni. 597 00:25:57,590 --> 00:26:00,700 Funzioni nel mondo di programmazione sono proprio come le azioni, 598 00:26:00,700 --> 00:26:01,850 dichiarazioni di azioni. 599 00:26:01,850 --> 00:26:05,720 Così pick up, aperto a, guardare a, chiamata, aperto, aperto, uscire. 600 00:26:05,720 --> 00:26:09,350 Questa è una funzione, una procedura, un'azione, qualsiasi numero di sinonimi 601 00:26:09,350 --> 00:26:10,184 avrebbe funzionato pure. 602 00:26:10,184 --> 00:26:11,850 Ora, che cosa sono queste le cose ora in giallo? 603 00:26:11,850 --> 00:26:14,210 Se il resto, se il resto, se altrimenti, questi sono ciò 604 00:26:14,210 --> 00:26:16,500 stiamo andando a chiamare condizioni di programmazione, 605 00:26:16,500 --> 00:26:19,270 o rami, decisione punti, se si vuole. 606 00:26:19,270 --> 00:26:22,759 Ma come fai a sapere che la forcella in mezzo alla strada a prendere, per così dire? 607 00:26:22,759 --> 00:26:24,550 Abbiamo bisogno di mettere in evidenza i termini a destra 608 00:26:24,550 --> 00:26:27,570 lì, che sono questi domande si No. 609 00:26:27,570 --> 00:26:29,040 Questi veri e propri falsi domande. 610 00:26:29,040 --> 00:26:30,880 Smith tra i nomi? 611 00:26:30,880 --> 00:26:32,190 Smith in precedenza nel libro? 612 00:26:32,190 --> 00:26:33,260 Smith più tardi nel libro? 613 00:26:33,260 --> 00:26:35,490 Queste sono domande a che vi è un sì o no, 614 00:26:35,490 --> 00:26:42,110 o equivalentemente vero, o falso, o equivalentemente, uno o zero risposta. 615 00:26:42,110 --> 00:26:44,260 >> E intanto c'è solo un ultimo pezzo. 616 00:26:44,260 --> 00:26:45,940 Questo qui ha che tipo di effetto? 617 00:26:45,940 --> 00:26:48,230 O se non si programma prima, come è possibile 618 00:26:48,230 --> 00:26:51,030 descrivere quello che passo sette e 10 stanno facendo? 619 00:26:51,030 --> 00:26:54,110 620 00:26:54,110 --> 00:26:55,027 Cosa hai detto? 621 00:26:55,027 --> 00:26:56,110 STUDENTE: Un passo ricorsivo. 622 00:26:56,110 --> 00:26:56,980 DAVID MALAN: Un passo ricorsivo. 623 00:26:56,980 --> 00:26:58,000 Sì, in sostanza. 624 00:26:58,000 --> 00:27:00,384 E 'tecnicamente iterativo qui se si ha familiarità. 625 00:27:00,384 --> 00:27:01,550 Ma torneremo a questo. 626 00:27:01,550 --> 00:27:03,930 Ma che sta facendo chiaramente qualcosa. 627 00:27:03,930 --> 00:27:06,370 Ancora una volta, è inducendo un ciclo, un ciclo, destra. 628 00:27:06,370 --> 00:27:08,770 Si sta letteralmente andando indietro a qualche passo in precedenza. 629 00:27:08,770 --> 00:27:12,592 E così in effetti, questo sta andando a implementare una sorta di ciclo. 630 00:27:12,592 --> 00:27:15,050 Ma non avete intenzione di ottenere bloccato in questo all'infinito, a destra. 631 00:27:15,050 --> 00:27:19,290 Perché se siete costantemente il controllo è Mike qui, oa sinistra, o non qui, 632 00:27:19,290 --> 00:27:21,360 alla fine lui non sta per essere lì. 633 00:27:21,360 --> 00:27:24,590 E si può solo uscire del tutto come per l'ultima riga. 634 00:27:24,590 --> 00:27:25,834 >> Quindi questo è tutto per il vocabolario. 635 00:27:25,834 --> 00:27:28,250 E questo era quello che ci generalmente chiamare il codice pseudocodice. 636 00:27:28,250 --> 00:27:29,570 Non è un linguaggio vero e proprio. 637 00:27:29,570 --> 00:27:32,405 E 'solo molto concisa inglese, ma comunica il punto. 638 00:27:32,405 --> 00:27:33,780 Non c'è struttura formale qui. 639 00:27:33,780 --> 00:27:35,738 Basta usare è poco parole, ma parole come chiare 640 00:27:35,738 --> 00:27:37,870 come si può comunicare la vostra idea. 641 00:27:37,870 --> 00:27:40,580 >> Ora, come buona è che l'algoritmo e quanto meglio è? 642 00:27:40,580 --> 00:27:43,570 Beh, non dobbiamo entrare nella specifiche di numeri o niente 643 00:27:43,570 --> 00:27:44,069 come quello. 644 00:27:44,069 --> 00:27:46,300 Ma possiamo guardare al forma di questa soluzione. 645 00:27:46,300 --> 00:27:50,194 Quindi, se ci limitiamo a disegnare qualche trama xy qui sull'asse orizzontale qui. 646 00:27:50,194 --> 00:27:51,860 Diciamo solo chiamare la dimensione del problema. 647 00:27:51,860 --> 00:27:55,540 E un informatico sarebbe tipicamente utilizzare n come variabile qui. 648 00:27:55,540 --> 00:27:59,690 Così n pagine, o n persone nella stanza, o qualunque essa sia si sta cercando di contare. 649 00:27:59,690 --> 00:28:03,039 >> E poi sull'asse verticale sulla sinistra, che sarebbe il tempo di risolvere. 650 00:28:03,039 --> 00:28:05,330 Quindi, quanti secondi lo fa mi prendere per trovare Mike Smith? 651 00:28:05,330 --> 00:28:06,621 O quanti passi ci vuole? 652 00:28:06,621 --> 00:28:08,100 Quanti giri pagina ci vuole? 653 00:28:08,100 --> 00:28:11,370 Ecco, questo è quanto costa me in tempo per risolvere un problema. 654 00:28:11,370 --> 00:28:15,030 E potremmo trarre la prima algoritmi di pendenza, se si vuole, 655 00:28:15,030 --> 00:28:16,910 come appena tale linea retta in rosso. 656 00:28:16,910 --> 00:28:18,450 E io chiamerò n. 657 00:28:18,450 --> 00:28:19,117 >> Perchè n? 658 00:28:19,117 --> 00:28:20,950 Perché è proprio questo uno a una relazione? 659 00:28:20,950 --> 00:28:22,700 Beh, se Verizon o qualunque compagnia telefonica 660 00:28:22,700 --> 00:28:25,130 aggiunge una pagina di più per la rubrica telefonica del prossimo anno, 661 00:28:25,130 --> 00:28:28,370 che potrebbe spingere Mike uno altro passo più vicino alla fine, 662 00:28:28,370 --> 00:28:29,950 a seconda di dove quella pagina è. 663 00:28:29,950 --> 00:28:32,380 E così l'effetto potrebbe solo essere di aggiungere un secondo di più. 664 00:28:32,380 --> 00:28:33,520 O ancora una pagina di turno. 665 00:28:33,520 --> 00:28:34,970 Un rapporto uno a uno. 666 00:28:34,970 --> 00:28:37,410 >> Per contro, il secondo algoritmo. 667 00:28:37,410 --> 00:28:41,406 Quanto più veloce è stato che intuitivamente? 668 00:28:41,406 --> 00:28:42,780 Dove sono andato due pagine alla volta? 669 00:28:42,780 --> 00:28:43,664 Sì. 670 00:28:43,664 --> 00:28:44,497 >> STUDENTE: [INAUDIBLE] 671 00:28:44,497 --> 00:28:47,255 672 00:28:47,255 --> 00:28:48,080 >> DAVID MALAN: Sì. 673 00:28:48,080 --> 00:28:49,220 Così sta andando ad essere due volte più veloce. 674 00:28:49,220 --> 00:28:51,344 E vorremmo disegnare quella qui a seconda della scala. 675 00:28:51,344 --> 00:28:54,220 È ancora una linea retta, ma inferiore alla linea rossa. 676 00:28:54,220 --> 00:28:56,410 Perché per qualche numero di pagine, se prende 677 00:28:56,410 --> 00:28:58,360 si questo molti passaggi con il primo algoritmo, 678 00:28:58,360 --> 00:29:00,570 sta andando a prendere la metà come molti passaggi con il secondo. 679 00:29:00,570 --> 00:29:02,770 E così la linea gialla descrivendo il secondo algoritmo 680 00:29:02,770 --> 00:29:03,990 è solo andare a essere al di sotto di esso. 681 00:29:03,990 --> 00:29:07,250 >> Ma ciò che è veramente potente è quello di pensare alla terza e ultima, 682 00:29:07,250 --> 00:29:10,480 e incredibilmente più intuitivo algoritmo, che ha questa forma. 683 00:29:10,480 --> 00:29:12,720 Tecnicamente noi chiameremmo questa una curva logaritmica. 684 00:29:12,720 --> 00:29:14,309 Log base 2 di n in questo caso. 685 00:29:14,309 --> 00:29:15,600 Ma questo non ha molta importanza. 686 00:29:15,600 --> 00:29:19,140 Ciò che conta è davvero il fondamentalmente forma diversa che ha. 687 00:29:19,140 --> 00:29:22,810 E si può considerare quanto sia molto più breve di questa linea davvero 688 00:29:22,810 --> 00:29:24,620 è nel lungo periodo. 689 00:29:24,620 --> 00:29:25,870 E 'in costante aumento. 690 00:29:25,870 --> 00:29:27,620 Essa non appiattirsi perfettamente. 691 00:29:27,620 --> 00:29:34,030 Ma cresce mai così molto più lentamente come il problema diventa sempre più grande. 692 00:29:34,030 --> 00:29:36,710 E si può pensare in questo way-- se Verizon non lo fa solo 693 00:29:36,710 --> 00:29:40,410 aggiungere una pagina anno successivo, ma raddoppia il numero di pagine del libro di telefono, 694 00:29:40,410 --> 00:29:42,740 il primo algoritmo potrebbe prendere il doppio di molti passi. 695 00:29:42,740 --> 00:29:45,360 Se si tratta di 1.000 pagine questo anno, 2.000 pagine l'anno prossimo, 696 00:29:45,360 --> 00:29:47,180 Mike potrebbe essere che molto più lontano. 697 00:29:47,180 --> 00:29:49,380 Quindi è 1.000 misure supplementari per trovarlo. 698 00:29:49,380 --> 00:29:51,610 Il secondo algoritmo potrebbe essere solo 500 in più 699 00:29:51,610 --> 00:29:55,490 passi per trovare lui perché ancora una volta, Sto volando attraverso di essa due alla volta. 700 00:29:55,490 --> 00:29:56,950 >> Ma per quanto riguarda il terzo algoritmo? 701 00:29:56,950 --> 00:29:59,010 Se Verizon raddoppia la dimensione della rubrica 702 00:29:59,010 --> 00:30:02,620 il prossimo anno dal 1000 al 2000 pagine, quanti più passaggi 703 00:30:02,620 --> 00:30:05,540 è il mio terzo algoritmo andando a prendere? 704 00:30:05,540 --> 00:30:06,630 Sì, è uno solo. 705 00:30:06,630 --> 00:30:08,600 E questa è la potente idea. 706 00:30:08,600 --> 00:30:12,780 Si può prendere 1.000 pagina morso su questo problema in una volta. 707 00:30:12,780 --> 00:30:14,510 E ora, se si considera uno scenario stupido, 708 00:30:14,510 --> 00:30:17,320 ma questo tipo di parla al potenza di questo tipo di intuition-- 709 00:30:17,320 --> 00:30:21,494 se una rubrica telefonica ha avuto, come, quattro miliardi pagine, si sente come un problema molto grande. 710 00:30:21,494 --> 00:30:23,410 E in effetti, potrebbe portami quattro miliardi di pagina 711 00:30:23,410 --> 00:30:26,549 si rivolge a trovare Mike Smith in quel caso con il primo algoritmo. 712 00:30:26,549 --> 00:30:28,840 Ma quanti passi è vero prendere nel terzo algoritmo 713 00:30:28,840 --> 00:30:31,585 per trovare Mike tra quattro miliardi di pezzi di carta? 714 00:30:31,585 --> 00:30:34,865 715 00:30:34,865 --> 00:30:36,240 Così quattro miliardi di strappare a metà. 716 00:30:36,240 --> 00:30:37,220 Si ottiene due miliardi. 717 00:30:37,220 --> 00:30:42,810 Poi un miliardo, poi 500 milioni, 250 milioni, 125 million-- ma 718 00:30:42,810 --> 00:30:44,780 si sente come questo è andando a prendere un po '. 719 00:30:44,780 --> 00:30:47,340 Potrei aver bisogno di 32 dita a contare così in alto. 720 00:30:47,340 --> 00:30:51,340 Ma è davvero come pochi come 32 lacrime pagina. 721 00:30:51,340 --> 00:30:54,060 Si può andare da quattro miliardi a una pagina di divisione 722 00:30:54,060 --> 00:30:57,030 il numero originale di Pagine in mezzo 32 volte 723 00:30:57,030 --> 00:30:59,290 fino a quando si è lasciato con solo che sola pagina. 724 00:30:59,290 --> 00:31:01,320 >> Ora, naturalmente, sto barare qui. 725 00:31:01,320 --> 00:31:06,470 Non è che ci sono solo di essere sorta di stupido interamente con i primi due 726 00:31:06,470 --> 00:31:07,470 algoritmi. 727 00:31:07,470 --> 00:31:11,500 Sto barare in un certo senso, o in realtà sto sfruttando una supposizione. 728 00:31:11,500 --> 00:31:15,610 Ciò che era vero per la rubrica telefonica nella sua forma originale che ha permesso 729 00:31:15,610 --> 00:31:17,450 mi uso per anche questo terzo algoritmo? 730 00:31:17,450 --> 00:31:18,110 Sì? 731 00:31:18,110 --> 00:31:19,360 PUBBLICO: E 'stato alfabetizzato. 732 00:31:19,360 --> 00:31:21,130 DAVID MALAN: E 'stato ordinato alfabeticamente, giusto? 733 00:31:21,130 --> 00:31:23,500 Se fosse solo in caso ordine, questo è uno spreco 734 00:31:23,500 --> 00:31:24,880 del tempo, tutta questa conversazione. 735 00:31:24,880 --> 00:31:27,500 Devo guardare ogni pagina se è in ordine casuale 736 00:31:27,500 --> 00:31:30,350 per trovare Mike Smith prima che io può concludere lui è lì o no. 737 00:31:30,350 --> 00:31:32,880 E così l'abbiamo angolo hanno tagliato è che non ho 738 00:31:32,880 --> 00:31:35,752 scontato che qualcun altro questo caso ha fatto il lavoro per me. 739 00:31:35,752 --> 00:31:38,460 E così che alla fine invita la domanda, bene, aspetta un minuto. 740 00:31:38,460 --> 00:31:41,284 Come si fa a ordinare 1.000 pagine di nomi e numeri? 741 00:31:41,284 --> 00:31:43,200 Questo è in realtà una diversa problema, qualcosa 742 00:31:43,200 --> 00:31:44,574 ci torneremo in futuro. 743 00:31:44,574 --> 00:31:48,130 Ma quando si pensa a siti web come Facebook e Google per Gmail 744 00:31:48,130 --> 00:31:50,450 e le cose come Google propri indici di ricerca, 745 00:31:50,450 --> 00:31:53,800 quando si dispone di milioni o miliardi di pezzi di dati che vengono memorizzati in questi giorni, 746 00:31:53,800 --> 00:31:56,660 searching-- e per non parlare l'ordinamento quei problems-- 747 00:31:56,660 --> 00:31:59,450 è in definitiva una sfida a se stessa. 748 00:31:59,450 --> 00:32:02,250 E in effetti, questo allora è solo una di quelle sfide 749 00:32:02,250 --> 00:32:03,460 che ci troveremmo di fronte a. 750 00:32:03,460 --> 00:32:05,590 >> Così ora facciamo un attimo e dare un'occhiata a CS50 751 00:32:05,590 --> 00:32:09,082 se stessa e vi darà un senso di cosa c'è in serbo questo semestre. 752 00:32:09,082 --> 00:32:11,540 In effetti, se non l'hai già fatto, non dare un'occhiata a questo URL. 753 00:32:11,540 --> 00:32:13,880 E come accennato Patrick a, quest'anno siamo 754 00:32:13,880 --> 00:32:17,130 facendo un investimento significativo tutto tanto più a sostegno del corso 755 00:32:17,130 --> 00:32:20,170 struttura in termini di TA e il CA, l'orario di ufficio, 756 00:32:20,170 --> 00:32:23,520 sezioni disponibilità, e materiale digitale on-line, pure. 757 00:32:23,520 --> 00:32:27,489 Infatti, in termini di corso di lezione, siamo qui oggi. 758 00:32:27,489 --> 00:32:29,780 E le aspettative questo anno ufficialmente del corso 759 00:32:29,780 --> 00:32:32,370 sono assistere ad oggi, del corso ultima conferenza, e un corso 760 00:32:32,370 --> 00:32:35,161 più o meno a metà del semestre con ogni conferenza in mezzo 761 00:32:35,161 --> 00:32:37,280 messo a disposizione in genere su un pomeriggio di Venerdì 762 00:32:37,280 --> 00:32:40,240 on-line, sia per gli studenti di Yale e studenti di Harvard quest'anno. 763 00:32:40,240 --> 00:32:42,090 Infatti, uno degli cambiamenti fondamentali è 764 00:32:42,090 --> 00:32:44,310 che stiamo adottando in Harvard un paradigma molto 765 00:32:44,310 --> 00:32:46,570 come abbiamo fatto qui lo scorso anno e ora quest'anno, 766 00:32:46,570 --> 00:32:50,300 in modo che allo stesso modo, abbiamo ancora film più delle lezioni del corso a Cambridge 767 00:32:50,300 --> 00:32:52,900 ma renderli disponibili in precedenza di quanto abbiamo fatto in passato 768 00:32:52,900 --> 00:32:55,540 in modo che quelli di you-- se vorrebbe, per esempio, 769 00:32:55,540 --> 00:32:58,400 ottenere un vantaggio sui materiali il primo fine settimana piuttosto 770 00:32:58,400 --> 00:33:02,000 rispetto al secondo fine settimana, avrai accesso a questi tipi di materiali, 771 00:33:02,000 --> 00:33:06,561 ricercabile, integrabile, hyperlinkable alle risorse correlate tutte le precedenti. 772 00:33:06,561 --> 00:33:09,560 In termini di argomenti, per darvi un senso di trajectory-- del corso 773 00:33:09,560 --> 00:33:12,365 e alcune di queste potrebbero essere gergo per ora, ma non per molto, tranquilli. 774 00:33:12,365 --> 00:33:15,010 Si comincerà oggi, in ultima analisi, con guardando una programmazione 775 00:33:15,010 --> 00:33:16,260 linguaggio chiamato Scratch. 776 00:33:16,260 --> 00:33:19,380 Ci transizione da allora in poi la prossima settimana per qualcosa che si chiama C 777 00:33:19,380 --> 00:33:22,140 e poi guardando un altro edificio blocchi per risolvere i problemi, 778 00:33:22,140 --> 00:33:26,230 cose chiamate array e algoritmi, come usiamo la memoria a nostro vantaggio 779 00:33:26,230 --> 00:33:28,326 e svantaggi, e cose come strutture di dati, 780 00:33:28,326 --> 00:33:31,200 e poi verso la coda della classe guardando machine learning 781 00:33:31,200 --> 00:33:33,410 e guardando un altro linguaggio chiamato Python, 782 00:33:33,410 --> 00:33:37,460 come funziona il web, come Internet più in genere funziona, protocolli come HTTP, 783 00:33:37,460 --> 00:33:40,950 linguaggi per database come SQL, JavaScript per il web, 784 00:33:40,950 --> 00:33:43,000 e, infine, legando tutte allo stesso tempo. 785 00:33:43,000 --> 00:33:44,708 >> E così effettivamente, al fine della giornata, 786 00:33:44,708 --> 00:33:50,250 non imparare in questa classe Scratch o C o Python o SQL o JavaScript. 787 00:33:50,250 --> 00:33:53,560 Sarà invece più in generale imparare l'informatica e le fondamenta 788 00:33:53,560 --> 00:33:55,790 dello stesso, e si vuole imparare a programmare 789 00:33:55,790 --> 00:33:58,800 in qualsiasi numero di questi lingue lungo la strada. 790 00:33:58,800 --> 00:34:00,970 Così in effetti, uno degli obiettivi del corso, alla fine, 791 00:34:00,970 --> 00:34:04,160 è di togliere tutto il corso della ruote di formazione da parte di queste ultime settimane 792 00:34:04,160 --> 00:34:06,710 in modo che dopo questo, è possibile tornare al proprio fields-- 793 00:34:06,710 --> 00:34:08,510 se tale è o è Non informatica 794 00:34:08,510 --> 00:34:12,290 o ingegneria, nel naturale scienze, arti, lettere, o beyond-- 795 00:34:12,290 --> 00:34:14,720 e portare alcune di queste Le idee di corso e questo campo di 796 00:34:14,720 --> 00:34:17,400 idee e pratiche competenze per il proprio dominio 797 00:34:17,400 --> 00:34:19,480 al fine di risolvere i problemi in esso. 798 00:34:19,480 --> 00:34:22,990 >> Quello che faremo qui nel frattempo nella maggior parte dei giovedì dopo oggi 799 00:34:22,990 --> 00:34:26,160 è con le teste del corso leader ciò che noi chiameremo procedure dettagliate 800 00:34:26,160 --> 00:34:27,620 di set il problema del corso. 801 00:34:27,620 --> 00:34:29,610 Così ogni settimana quando ci hanno un problema insieme, faremo 802 00:34:29,610 --> 00:34:32,900 camminare attraverso in una posizione in questo modo le sfide del corso, 803 00:34:32,900 --> 00:34:35,582 che vi offre alcuni suggerimenti e trucchi e tecniche di progettazione. 804 00:34:35,582 --> 00:34:37,540 Ma se non sei in grado per fare quelli di persona, 805 00:34:37,540 --> 00:34:39,760 realizzare quegli stessi risorse saranno incorporati 806 00:34:39,760 --> 00:34:41,590 da uno del corso di assistenti 807 00:34:41,590 --> 00:34:43,860 nel problema si pone, come bene. 808 00:34:43,860 --> 00:34:47,124 >> Il problema imposta di quest'anno, a differenza lo scorso anno, in base al feedback, 809 00:34:47,124 --> 00:34:48,540 sarà ancora rilasciato il venerdì. 810 00:34:48,540 --> 00:34:51,310 Ma piuttosto che essere dovuto la successiva Venerdì, 811 00:34:51,310 --> 00:34:55,079 dando in tal modo solo sette giorni, sarà effettivamente essere dovuto 10 giorni più tardi. 812 00:34:55,079 --> 00:34:57,620 E in effetti, questo significa che faranno si sovrappongono per un week-end. 813 00:34:57,620 --> 00:34:59,369 Ma speriamo quest'anno soprattutto questa volontà 814 00:34:59,369 --> 00:35:02,320 permettono agli studenti, per gestire meglio flusso e riflusso nei loro programmi, 815 00:35:02,320 --> 00:35:05,040 che si tratti di accademici o extracurriculars o l'atletica 816 00:35:05,040 --> 00:35:06,280 o della stagione di medio termine. 817 00:35:06,280 --> 00:35:10,060 È possibile caricamento frontale o posteriore-load la vostra settimana concentrandosi su CS50 basa 818 00:35:10,060 --> 00:35:12,400 il carico di corso attuale del proprio settimana. 819 00:35:12,400 --> 00:35:14,990 >> Il problema si pone coprirà una vasta gamma di lingue, 820 00:35:14,990 --> 00:35:17,990 anche se ci concentreremo prevalentemente nella fase iniziale su C 821 00:35:17,990 --> 00:35:23,040 prima di allora in poi ci concentriamo su una maggiore il livello, più web-centric lingue. 822 00:35:23,040 --> 00:35:25,970 E poi un paio di domande frequenti qui-- si dovrebbe prendere una classe come CS50 823 00:35:25,970 --> 00:35:26,900 come primo anno? 824 00:35:26,900 --> 00:35:27,970 Quindi, assolutamente. 825 00:35:27,970 --> 00:35:30,470 E in effetti, non è necessariamente qualcosa 826 00:35:30,470 --> 00:35:34,440 si dovrebbe rinviare fino a quando hai tagliato i denti su altri tipi di classi. 827 00:35:34,440 --> 00:35:36,290 Ma piuttosto, prendere in considerazione che per molti studenti, 828 00:35:36,290 --> 00:35:39,040 me compreso back in the day, questo è un campo molto familiare, 829 00:35:39,040 --> 00:35:40,997 soprattutto se si non ha mai fatto prendere un CSA AP 830 00:35:40,997 --> 00:35:42,580 o qualcosa di simile al liceo. 831 00:35:42,580 --> 00:35:44,705 Ma rendersi conto che nella fase iniziale, che si tratti di questo corso 832 00:35:44,705 --> 00:35:47,900 o qualche altro corso introduttivo, Ora è davvero il momento migliore, 833 00:35:47,900 --> 00:35:52,082 Credo che, di trovare qualche nuovo percorso o qualche nuovo interesse accademico, pure. 834 00:35:52,082 --> 00:35:55,040 E poi prendendo con altri courses-- così una delle differenze chiave qui 835 00:35:55,040 --> 00:35:57,906 rispetto a Harvard è che solo noi prendere quattro corsi a semestre 836 00:35:57,906 --> 00:35:59,030 a Harvard per qualche ragione. 837 00:35:59,030 --> 00:36:01,494 E voi ragazzi davvero tirare fuori alcuni 36 corsi in totale 838 00:36:01,494 --> 00:36:04,410 nel corso dei tuoi quattro anni, che significa generalmente quattro o cinque 839 00:36:04,410 --> 00:36:05,040 classi. 840 00:36:05,040 --> 00:36:08,367 E io credo che sia abbastanza giusto dire e declinano CS50, in base alla progettazione, è 841 00:36:08,367 --> 00:36:10,700 probabilmente non il tipo di classe che si dovrebbe in genere 842 00:36:10,700 --> 00:36:13,680 prendere con altri quattro corsi per un totale di cinque 843 00:36:13,680 --> 00:36:16,249 perché pset sono da design abbastanza intensa. 844 00:36:16,249 --> 00:36:18,040 In effetti, anche io imparai questo nel giorno. 845 00:36:18,040 --> 00:36:21,110 Non vorrei descrivere CS50 e informatica, programmazione 846 00:36:21,110 --> 00:36:24,477 come tanto difficile come è solo tempo. 847 00:36:24,477 --> 00:36:26,560 Non è il genere di cose dove dopo cena, 848 00:36:26,560 --> 00:36:28,310 può tornare al dormitorio camera, sedersi, e iniziare 849 00:36:28,310 --> 00:36:29,710 concentrandosi sulla pset pensare, va bene, 850 00:36:29,710 --> 00:36:31,340 Vado botto questo fuori stasera e poi mossa 851 00:36:31,340 --> 00:36:33,000 al mio prossimo argomento il giorno successivo. 852 00:36:33,000 --> 00:36:34,450 A volte basta colpito un muro. 853 00:36:34,450 --> 00:36:35,690 Hai bug nel codice. 854 00:36:35,690 --> 00:36:37,900 Non necessariamente sapere come risolvere qualche problema. 855 00:36:37,900 --> 00:36:41,670 E una delle caratteristiche chiave di la programmazione per me fino ad oggi 856 00:36:41,670 --> 00:36:44,480 è appena sorta di bisogno di prendere un passo indietro a volte, a dormire su di esso 857 00:36:44,480 --> 00:36:47,870 o pensare su di esso nel corso di una corsa o di qualche altra attività, 858 00:36:47,870 --> 00:36:49,240 e poi tornare al fresco. 859 00:36:49,240 --> 00:36:50,930 E basta queste finestre di tempo. 860 00:36:50,930 --> 00:36:52,910 >> E in effetti, è per questo che abbiamo allungato la quantità di tempo 861 00:36:52,910 --> 00:36:55,710 disponibile per gli insiemi di problema quest'anno e anche, a tale URL 862 00:36:55,710 --> 00:36:57,950 Ho messo in precedenza da cosa c'è di nuovo in questo semestre, 863 00:36:57,950 --> 00:37:00,950 rifilato il problema imposta in modo che sono fondamentalmente non meno rigoroso, 864 00:37:00,950 --> 00:37:03,741 e le takeaway non sono meno, ma c'è molto meno materia anteriore, 865 00:37:03,741 --> 00:37:07,630 molto meno noia che è necessario fare al anteriore di ogni problema proposto 866 00:37:07,630 --> 00:37:10,680 come si vedrà, prima di poter in realtà immergersi nella carne di esso. 867 00:37:10,680 --> 00:37:13,500 Quindi rendersi conto che questi e altri cambiamenti sono all'orizzonte 868 00:37:13,500 --> 00:37:16,490 per accogliere meglio gli studenti, ma in ultima analisi, per essere sicuri 869 00:37:16,490 --> 00:37:18,860 che i take away sono infatti il ​​più alto possibile. 870 00:37:18,860 --> 00:37:21,330 Così, mentre più lavoro di quanto non potrebbe essere in una classe tipica, 871 00:37:21,330 --> 00:37:25,120 ci auguriamo che i ritorni per voi e il takeaway per voi 872 00:37:25,120 --> 00:37:27,490 e le competenze e le idee con la quale si esce 873 00:37:27,490 --> 00:37:29,921 sono tanto più attraente come risultato. 874 00:37:29,921 --> 00:37:32,420 E per farti there-- e questo è uno dei punti salienti, 875 00:37:32,420 --> 00:37:35,470 come accennato Patrick earlier-- è struttura di sostegno del corso. 876 00:37:35,470 --> 00:37:39,720 Quindi non solo CS50 ha una delle la più grande personale corso del campus. 877 00:37:39,720 --> 00:37:41,750 Ha anche uno dei più la maggior parte di laurea. 878 00:37:41,750 --> 00:37:43,700 In effetti, l'anno scorso CS50 Era la prima classe 879 00:37:43,700 --> 00:37:45,366 di avere un corpo docente universitario. 880 00:37:45,366 --> 00:37:48,570 E testimonia che il successo fare ora molti altri corsi all'interno di Yale CS 881 00:37:48,570 --> 00:37:49,500 avere quella, pure. 882 00:37:49,500 --> 00:37:52,906 E per gli studenti, in particolare, saranno questi TAs e assistenti dei corsi 883 00:37:52,906 --> 00:37:55,030 supporterà un intero rete di risorse di supporto, 884 00:37:55,030 --> 00:37:58,250 Tra di loro sezioni o recitazioni, opportunità settimanali 885 00:37:58,250 --> 00:38:01,674 di avere discussioni più intime e recensioni di materiale di mira 886 00:38:01,674 --> 00:38:04,590 per le diverse tracce, per gli studenti meno comodo, più confortevole, 887 00:38:04,590 --> 00:38:05,720 o una via di mezzo. 888 00:38:05,720 --> 00:38:08,886 Questi seguiranno la disponibilità di le lezioni di diversi giorni alla settimana 889 00:38:08,886 --> 00:38:09,970 il lunedì e il martedì. 890 00:38:09,970 --> 00:38:11,970 E poi ufficio hours-- uno-a-uno opportunità 891 00:38:11,970 --> 00:38:15,490 di aiuto da parte della CA corso e TA sarà il mercoledì e il giovedì 892 00:38:15,490 --> 00:38:18,400 e la domenica alle multipla volte, tutte 893 00:38:18,400 --> 00:38:22,180 saranno pubblicati sul sito web del corso, ancor più rispetto allo scorso anno, pure. 894 00:38:22,180 --> 00:38:25,501 >> Ma qual è la chiave per CS50, se Non certamente un po 'insolita, 895 00:38:25,501 --> 00:38:27,750 è la cultura del corso che abbiamo cercato di coltivare, 896 00:38:27,750 --> 00:38:30,672 sia in Cambridge per molti anni e ora la maggior parte di recente a New Haven. 897 00:38:30,672 --> 00:38:33,130 E infatti, venendo questa Sabato, se non avete sentito parlare, 898 00:38:33,130 --> 00:38:36,410 è Giorno CS50 Puzzle, che ha niente a che fare con l'informatica 899 00:38:36,410 --> 00:38:39,430 ma è interamente progettato per inviare un messaggio che l'informatica è 900 00:38:39,430 --> 00:38:40,665 di risolvere i problemi. 901 00:38:40,665 --> 00:38:43,540 E in effetti, se si desidera socio con uno o due o tre amici 902 00:38:43,540 --> 00:38:46,150 e formare una squadra per CS50 Puzzle Giorno, date un'occhiata 903 00:38:46,150 --> 00:38:48,010 le inserzioni che si trovano sulla via d'uscita. 904 00:38:48,010 --> 00:38:51,582 E tre ore di pizza e puzzle e premi attendono. 905 00:38:51,582 --> 00:38:53,290 E infatti, per la prima volta quest'anno, 906 00:38:53,290 --> 00:38:54,873 non si terrà in collaborazione con Harvard. 907 00:38:54,873 --> 00:38:57,530 Sarà qui in modo indipendente a Yale. 908 00:38:57,530 --> 00:38:59,815 Quindi tenere d'occhio per quelli se non lo avete. 909 00:38:59,815 --> 00:39:02,440 La maggior parte ogni Venerdì nel semestre Non cerchiamo di fare una grande classe 910 00:39:02,440 --> 00:39:06,710 sentire piccolo e portare circa 50 studenti a pranzo con il personale del corso, 911 00:39:06,710 --> 00:39:08,730 con ex-alunni, amici da industria a parlare 912 00:39:08,730 --> 00:39:12,630 A proposito di ciò che la vita è come dopo un classe come CS50 e nel corso degli estati 913 00:39:12,630 --> 00:39:14,250 e dopo la laurea. 914 00:39:14,250 --> 00:39:16,280 Quindi tenere d'occhio per inviti a questo. 915 00:39:16,280 --> 00:39:17,988 Per la prima volta mai quest'anno abbiamo 916 00:39:17,988 --> 00:39:21,420 tenere la prima mai codifica CS50 concorso, una opportunità di opt-in opzionale 917 00:39:21,420 --> 00:39:25,580 di metà semestre, dopo tutti noi hanno avuto circa sei o sette settimane di programmazione 918 00:39:25,580 --> 00:39:30,100 in C alle spalle per competere, se si desidera così prego-- di nuovo 919 00:39:30,100 --> 00:39:32,460 su teams-- cercando di risolvere il maggior numero di sfide 920 00:39:32,460 --> 00:39:36,160 come si può in programmazione con amici tuoi contro gli altri. 921 00:39:36,160 --> 00:39:38,850 >> E verso la coda del semestre volontà abbiamo noleggio alcuni autobus, 922 00:39:38,850 --> 00:39:40,850 in realtà trascorrere del tempo a Cambridge, se si desidera 923 00:39:40,850 --> 00:39:43,460 unirvi a noi, per la cosiddetta CS50 hackathon. 924 00:39:43,460 --> 00:39:44,600 Alle 19:00 inizieremo. 925 00:39:44,600 --> 00:39:45,970 Intorno 21:00, avremo la pizza. 926 00:39:45,970 --> 00:39:47,650 Intorno 01:00, avremo burritos. 927 00:39:47,650 --> 00:39:50,550 E chiunque ancora sveglio sulla a casa in autobus intorno alle 5:00 del mattino, 928 00:39:50,550 --> 00:39:54,070 ci fermeremo per frittelle all'IHOP sulla strada home-- 929 00:39:54,070 --> 00:39:57,540 un'opportunità di 12 ore per immergere te stesso con i compagni e lo staff 930 00:39:57,540 --> 00:39:59,950 nel progetto finale del corso, che è un'opportunità 931 00:39:59,950 --> 00:40:01,870 ad andare ben oltre il problema insiemi del corso 932 00:40:01,870 --> 00:40:05,950 e progettare e implementare più nulla di vostro interesse, 933 00:40:05,950 --> 00:40:09,170 che alla fine sarà descritto qui a Commons. 934 00:40:09,170 --> 00:40:12,510 La prima fiera mai CS50 ultimo anno, una mostra di fine semestre 935 00:40:12,510 --> 00:40:15,460 o la celebrazione di quello che tutti nella classe aveva compiuto, 936 00:40:15,460 --> 00:40:19,810 specialmente quelli, ancora una volta, che è andato da niente da qualcosa, da zero a 60, 937 00:40:19,810 --> 00:40:22,450 avendo precedenti conoscenze e presentante, in ultima analisi, 938 00:40:22,450 --> 00:40:26,960 qualcosa per tutta la città universitaria e, se on-line, il mondo a vedere, pure. 939 00:40:26,960 --> 00:40:30,780 >> Ora, questi qui sono solo alcuni dei TA e CA che rende CS50 possibile. 940 00:40:30,780 --> 00:40:33,034 Mi permetto di invitare ogni di tale personale 941 00:40:33,034 --> 00:40:35,700 che sono qui per salire sul palco, così come le teste del corso, 942 00:40:35,700 --> 00:40:38,785 per offrire alcune parole di ispirazione, pure. 943 00:40:38,785 --> 00:41:03,138 944 00:41:03,138 --> 00:41:03,950 >> ANDI: Ciao, ragazzi. 945 00:41:03,950 --> 00:41:05,290 Can you guys mi senti? 946 00:41:05,290 --> 00:41:10,260 Grazie per averci seguito in questa bella, piovoso pomeriggio di Giovedi. 947 00:41:10,260 --> 00:41:11,010 Il mio nome è Andi. 948 00:41:11,010 --> 00:41:12,070 Sono un junior a Berkeley. 949 00:41:12,070 --> 00:41:17,250 E insieme con Stelios e l'estate, ci sarà il vostro insegnamento di tre testa 950 00:41:17,250 --> 00:41:19,277 assistenti per questo prossimo anno. 951 00:41:19,277 --> 00:41:21,110 Quindi, credo, spettacolo di hands-- quanti di voi 952 00:41:21,110 --> 00:41:26,680 non hanno alcuna intenzione di essere un CS importante né veramente immersioni in profondità 953 00:41:26,680 --> 00:41:29,930 in informatica come un importante qui? 954 00:41:29,930 --> 00:41:30,520 Eccezionale. 955 00:41:30,520 --> 00:41:32,730 È geniale. 956 00:41:32,730 --> 00:41:35,850 >> Quindi sono in realtà un affari globali e scienza cognitiva importante. 957 00:41:35,850 --> 00:41:37,780 Ho letteralmente venuto a Yale con l'intento 958 00:41:37,780 --> 00:41:42,199 di non dover guardare un numero mai più in vita mia. 959 00:41:42,199 --> 00:41:44,990 Quando sono arrivato a Yale, questo è stato qualcosa che non è mai stato sul mio radar. 960 00:41:44,990 --> 00:41:46,460 Volevo conoscere la poesia. 961 00:41:46,460 --> 00:41:48,500 Volevo conoscere affari internazionali. 962 00:41:48,500 --> 00:41:50,510 Volevo conoscere acquerello. 963 00:41:50,510 --> 00:41:53,360 Sì, offriamo una classe su disegni ad acquerello. 964 00:41:53,360 --> 00:41:57,340 >> Ma non sono mai stato veramente interessato in qualche cosa STEM relativo. 965 00:41:57,340 --> 00:41:59,620 Ma poi il vecchio mi ha, più mi rendevo conto 966 00:41:59,620 --> 00:42:03,340 che ogni campo davvero in qualche senso impiega informatica, 967 00:42:03,340 --> 00:42:05,700 o, se non di informatica, di calcolo. 968 00:42:05,700 --> 00:42:08,300 Infatti, per il mio globale Affari progetto chiave di volta, 969 00:42:08,300 --> 00:42:12,020 stiamo usando analisi dei dati per analizzare gli attacchi terroristici 970 00:42:12,020 --> 00:42:13,680 per Boko Haram in Nigeria. 971 00:42:13,680 --> 00:42:17,510 E così come si può vedere, a prescindere di quello principale finisce per perseguire 972 00:42:17,510 --> 00:42:21,640 o che cosa i vostri interessi qui a Yale sono, la programmazione e le fondamenta 973 00:42:21,640 --> 00:42:24,130 di qualsiasi competenze sono super utile. 974 00:42:24,130 --> 00:42:29,840 E CS50 realtà è ben attrezzato per tipo di dare molte delle sue risorse 975 00:42:29,840 --> 00:42:32,060 a, indipendentemente dalla come si sta comodi 976 00:42:32,060 --> 00:42:34,590 o come si è interessati nel perseguire la classe. 977 00:42:34,590 --> 00:42:37,290 >> Estate di andare a parlare un po ' po 'di quello che voi ragazzi siete 978 00:42:37,290 --> 00:42:39,635 andando a conoscere quest'anno. 979 00:42:39,635 --> 00:42:40,510 ESTATE: Hi, everyone. 980 00:42:40,510 --> 00:42:41,320 Sono Estate Wu. 981 00:42:41,320 --> 00:42:43,090 Sono un junior in Morse. 982 00:42:43,090 --> 00:42:48,100 E io in realtà iniziato come uno studente CS50 me stesso. 983 00:42:48,100 --> 00:42:51,460 Così tre anni fa, ero su un anno sabbatico. 984 00:42:51,460 --> 00:42:53,940 Non avevo mai preso un CS classe al liceo, 985 00:42:53,940 --> 00:42:57,800 ma ho pensato che nel mio tempo libero, sarebbe bello imparare a codice. 986 00:42:57,800 --> 00:43:02,610 Così ho fatto una rapida ricerca su Google, guardato per quello che era disponibile on-line, 987 00:43:02,610 --> 00:43:06,990 e ho visto questo video con Muppets e DJ e siti web freddi. 988 00:43:06,990 --> 00:43:09,450 Ero come, voglio imparare a farlo. 989 00:43:09,450 --> 00:43:14,690 >> Così ho preso il corso, ed io appena caduto nell'amore con esso. 990 00:43:14,690 --> 00:43:20,410 Ma mi ricordo di essere così geloso della ragazzi che hanno potuto partecipare alla Hackathon, 991 00:43:20,410 --> 00:43:24,610 partecipare Puzzle Giorno, partecipare ufficio ore, ricevere aiuto da TA in persona. 992 00:43:24,610 --> 00:43:27,410 E così non avrei mai immaginato che avrei avuto la possibilità 993 00:43:27,410 --> 00:43:30,640 da qui coinvolti in il percorso che prima schiera 994 00:43:30,640 --> 00:43:33,630 Mi interessa di computer scienza e motivo 995 00:43:33,630 --> 00:43:35,690 Sono un informatica importante oggi. 996 00:43:35,690 --> 00:43:39,290 Quindi ti avverto, questa classe sta per allungare voi. 997 00:43:39,290 --> 00:43:41,120 E 'intenzione di sfidare voi. 998 00:43:41,120 --> 00:43:43,910 Ma è anche andando a ti insegnano come fare le cose 999 00:43:43,910 --> 00:43:45,506 che non avete mai immaginato che si poteva. 1000 00:43:45,506 --> 00:43:49,330 1001 00:43:49,330 --> 00:43:52,160 >> STELIOS: Hi, everyone. 1002 00:43:52,160 --> 00:43:53,510 Il mio nome è Stelios. 1003 00:43:53,510 --> 00:43:58,240 Sono un junior a Branford College e un importante CS. 1004 00:43:58,240 --> 00:44:01,640 Sono anche da Athens, Greece. 1005 00:44:01,640 --> 00:44:03,830 Davvero non vedo l'ora a soddisfare tutti voi, 1006 00:44:03,830 --> 00:44:09,010 chattare con te in sezione, a orario d'ufficio, a venerdì pranzi. 1007 00:44:09,010 --> 00:44:11,250 Sono molto eccitato perché abbiamo messo tanto impegno 1008 00:44:11,250 --> 00:44:14,650 nella creazione di un supporto unico Struttura per tutti voi 1009 00:44:14,650 --> 00:44:19,170 per rendere la vostra esperienza con corso il migliore possibile. 1010 00:44:19,170 --> 00:44:22,640 E spero che, anche se la maggior parte di non è stato probabilmente preso un CS 1011 00:44:22,640 --> 00:44:27,310 Naturalmente prima, spero che sia CS50 per voi è quello scintille interesse 1012 00:44:27,310 --> 00:44:30,260 per proseguire del computer la scienza in futuro, 1013 00:44:30,260 --> 00:44:33,270 come ha fatto con così molte persone in passato. 1014 00:44:33,270 --> 00:44:36,740 Quindi grazie per essere qui, felice di vedere voi. 1015 00:44:36,740 --> 00:44:38,487 Jason Hirschhorn. 1016 00:44:38,487 --> 00:44:39,820 JASON HIRSCHHORN: Ciao a tutti. 1017 00:44:39,820 --> 00:44:41,700 Il mio nome è Jason Hirschhorn. 1018 00:44:41,700 --> 00:44:43,050 Io vivo in Silliman. 1019 00:44:43,050 --> 00:44:46,910 E sono andato a Harvard come un undergrad e laureato in studi sociali 1020 00:44:46,910 --> 00:44:48,870 e minored in informatica. 1021 00:44:48,870 --> 00:44:53,100 E uno dei miei ruoli principali qui è quello di sostenere questo meraviglioso personale 1022 00:44:53,100 --> 00:44:54,630 come tutti sostengono. 1023 00:44:54,630 --> 00:44:56,410 In realtà, questo non è tutti. 1024 00:44:56,410 --> 00:45:01,230 Ci sono 55 studenti e laureati qui per supportare tutti voi. 1025 00:45:01,230 --> 00:45:04,420 E oserei dire uno dei migliori parti del corso per voi 1026 00:45:04,420 --> 00:45:08,080 tutto è sempre a lavorare con loro, conoscere loro, 1027 00:45:08,080 --> 00:45:12,389 arrivare a vederli, sia in CS50 e al di fuori di questo semestre CS50 1028 00:45:12,389 --> 00:45:13,680 e per molti semestri a venire. 1029 00:45:13,680 --> 00:45:16,770 Così si spera ti prende il Naturalmente, perché si spera 1030 00:45:16,770 --> 00:45:21,060 arrivare a interagire con il meraviglioso personale che abbiamo sul palco. 1031 00:45:21,060 --> 00:45:24,977 >> SPEAKER: Bene, lasciami finire dicendo che sarà divertente. 1032 00:45:24,977 --> 00:45:26,810 DAVID MALAN: Beh, grazie a tutta la nostra squadra. 1033 00:45:26,810 --> 00:45:29,610 Mi permetta di abbassare le luci e permettere un po 'della nostra squadra, 1034 00:45:29,610 --> 00:45:32,890 sia da Cambridge e New Haven, dire ciao come file fuori questi ragazzi. 1035 00:45:32,890 --> 00:45:36,130 E dopo che potremo passare a il primo dei nostri impegni programmazione 1036 00:45:36,130 --> 00:45:37,584 con questo linguaggio chiamato Scratch. 1037 00:45:37,584 --> 00:45:38,500 Così grazie al team. 1038 00:45:38,500 --> 00:45:40,770 Cerchiamo di abbassare le luci e sentire da pochi altri. 1039 00:45:40,770 --> 00:45:44,207 >> [APPLAUSI] 1040 00:45:44,207 --> 00:45:45,680 1041 00:45:45,680 --> 00:45:48,140 >> [RIPRODUZIONE VIDEO] 1042 00:45:48,140 --> 00:45:53,210 >> -La Missione del CS50 è di farvi più a suo agio con un modo totalmente nuovo 1043 00:45:53,210 --> 00:45:54,947 di pensare, questa mentalità computazionale. 1044 00:45:54,947 --> 00:45:56,780 -E Fatto informatica interessante, che 1045 00:45:56,780 --> 00:46:00,241 è qualcosa che non ho davvero capito è stato possibile fino a quando ho preso la classe. 1046 00:46:00,241 --> 00:46:00,990 -I Era come, whoa. 1047 00:46:00,990 --> 00:46:04,120 Sono davvero tradurre i miei pensieri in un computer in questo momento. 1048 00:46:04,120 --> 00:46:07,970 >> -Anche Se non si dispone di alcun background in informatica o qualsiasi esperienza, 1049 00:46:07,970 --> 00:46:10,140 questo è in realtà la classe per voi. 1050 00:46:10,140 --> 00:46:12,250 >> -Quindi Voglio assolutamente i miei studenti a poco 1051 00:46:12,250 --> 00:46:14,350 eccitarsi informatica. 1052 00:46:14,350 --> 00:46:17,187 Non solo di programmazione, ma pensare come un informatico 1053 00:46:17,187 --> 00:46:19,270 è davvero quello che voglio cercare di insegnare la mia matricola. 1054 00:46:19,270 --> 00:46:21,560 >> -CS50 È difficile e gratificante. 1055 00:46:21,560 --> 00:46:22,592 >> -Un'esperienza. 1056 00:46:22,592 --> 00:46:23,456 >> -Extravaganza. 1057 00:46:23,456 --> 00:46:26,350 >> -E Ci sta portando al livello successivo. 1058 00:46:26,350 --> 00:46:28,850 >> [RIPRODUZIONE DI BRANI MUSICALI] 1059 00:46:28,850 --> 00:46:32,167 >> -Le TF sono, credo, la linfa vitale del corso. 1060 00:46:32,167 --> 00:46:34,560 >> -Sono Entusiasti di avere i miei studenti Sto aiutando 1061 00:46:34,560 --> 00:46:38,027 ha quel aha momento di realizzare quello che stanno effettivamente cercando 1062 00:46:38,027 --> 00:46:39,610 da fare, per capire come fare un pset. 1063 00:46:39,610 --> 00:46:41,438 >> -CS50 È sicuramente un percorso difficile. 1064 00:46:41,438 --> 00:46:43,960 Ma a differenza di qualsiasi altro corso davvero a Yale, 1065 00:46:43,960 --> 00:46:45,759 ha una così grande, comunità solidale. 1066 00:46:45,759 --> 00:46:47,550 -Non Assolutamente no bisogno di sapere nulla 1067 00:46:47,550 --> 00:46:49,341 di codifica per essere in grado per partecipare al corso. 1068 00:46:49,341 --> 00:46:52,270 -E 'Sorprendente vedere quanto lontano la gente viene in un semestre. 1069 00:46:52,270 --> 00:46:55,610 >> -Non Sono stati solo seduto in la vostra camera imparare a codice, 1070 00:46:55,610 --> 00:46:57,170 ma era molto più di una classe. 1071 00:46:57,170 --> 00:46:58,044 E 'stata un'esperienza. 1072 00:46:58,044 --> 00:47:02,500 -Il Modo migliore per imparare i concetti e per elaborarli è da insegnare agli altri. 1073 00:47:02,500 --> 00:47:04,033 >> -Qual È la divisione di telefono? 1074 00:47:04,033 --> 00:47:06,934 >> [RIPRODUZIONE DI BRANI MUSICALI] 1075 00:47:06,934 --> 00:47:08,080 >> -E Questo è CS50. 1076 00:47:08,080 --> 00:47:10,810 >> [RIPRODUZIONE DI BRANI MUSICALI] 1077 00:47:10,810 --> 00:47:11,720 1078 00:47:11,720 --> 00:47:12,380 >> -Questo È CS50. 1079 00:47:12,380 --> 00:47:13,446 >> -Ho un problema? 1080 00:47:13,446 --> 00:47:14,852 Strappo a metà. 1081 00:47:14,852 --> 00:47:15,804 >> [RIPRODUZIONE DI BRANI MUSICALI] 1082 00:47:15,804 --> 00:47:18,184 >> Buttalo via. 1083 00:47:18,184 --> 00:47:19,520 >> DAVID MALAN: Va bene. 1084 00:47:19,520 --> 00:47:23,190 Quindi cerchiamo di tackle-- in un po ' bit, per inciso, è 1085 00:47:23,190 --> 00:47:25,270 stata questa tradizione per qualche ragione per 10 anni 1086 00:47:25,270 --> 00:47:27,260 per servire la torta al inizio e la fine del CS50. 1087 00:47:27,260 --> 00:47:30,800 Così si attende alla fine del Oggi, oltre a syllabi, 1088 00:47:30,800 --> 00:47:34,270 sarà un po 'di torta come pure, e il personale del corso per dire ciao. 1089 00:47:34,270 --> 00:47:37,110 Ma ora, di lasciare che la transizione alla prima delle nostre lingue, in cui 1090 00:47:37,110 --> 00:47:40,970 passeremo davvero solo una settimana e un problema impostato su questo dominio, Scratch. 1091 00:47:40,970 --> 00:47:43,160 E troverete se hai programmato prima, molti 1092 00:47:43,160 --> 00:47:46,280 delle idee e del possibilità sono familiari. 1093 00:47:46,280 --> 00:47:48,160 Ma troverete che è divertente lungo la strada 1094 00:47:48,160 --> 00:47:51,201 di capire esattamente come tradurre alcune delle idee che già conosci 1095 00:47:51,201 --> 00:47:53,852 a questo particolare ambiente per impressionare davvero la tua famiglia 1096 00:47:53,852 --> 00:47:57,060 e amici con il vostro lavoro, che può andare online, se lo desiderano, dopo. 1097 00:47:57,060 --> 00:47:58,851 >> E se non avete precedente esperienza e sono 1098 00:47:58,851 --> 00:48:01,540 tra la maggioranza dei studenti meno confortevoli, 1099 00:48:01,540 --> 00:48:05,320 rendersi conto che molte delle idee che abbiamo appena esplorato con le cose reality-- 1100 00:48:05,320 --> 00:48:07,970 come elenchi telefonici e presenze e così forth-- tradurre 1101 00:48:07,970 --> 00:48:12,280 abbastanza bene a un computer, ma non se si utilizza, 1102 00:48:12,280 --> 00:48:13,710 Inizialmente, un linguaggio come questo. 1103 00:48:13,710 --> 00:48:16,290 Quindi questo è un programma scritto in un linguaggio chiamato C. 1104 00:48:16,290 --> 00:48:18,590 E passeremo un bel po ' di tempo in C, in ultima analisi. 1105 00:48:18,590 --> 00:48:22,560 Ma le probabilità sono, questo avrà un aspetto un po ' criptico per voi al primo sguardo. 1106 00:48:22,560 --> 00:48:25,760 In realtà, c'è un sacco di strano sintassi, parentesi, parentesi angolari, 1107 00:48:25,760 --> 00:48:27,422 parentesi graffe, citazioni, e punti e virgola. 1108 00:48:27,422 --> 00:48:29,880 E in effetti, se ci si immerge in programmazione per la prima volta 1109 00:48:29,880 --> 00:48:33,420 guardando e cercando di creare roba come questo, onestamente, si ottiene così impantanato 1110 00:48:33,420 --> 00:48:36,500 così spesso in solo stupido minuzia che non ha nulla 1111 00:48:36,500 --> 00:48:38,240 intellettualmente interessante a questo proposito. 1112 00:48:38,240 --> 00:48:40,980 >> Ma immaginate se si potesse creare questo stesso program-- che, 1113 00:48:40,980 --> 00:48:46,200 come si potrebbe tipo di inferire, probabilmente stampe "Ciao, mondo", un modo o nell'altro. 1114 00:48:46,200 --> 00:48:49,850 Siamo in grado di distillare la stessa idea in solo due pezzi del puzzle, se si vuole. 1115 00:48:49,850 --> 00:48:52,850 Infatti, Scratch è interessante perché è questo linguaggio grafico. 1116 00:48:52,850 --> 00:48:56,110 È possibile trascinare e rilasciare questi pezzi di un puzzle che solo interlock 1117 00:48:56,110 --> 00:48:57,940 se ha senso logico per farlo. 1118 00:48:57,940 --> 00:48:59,830 E così nel Scratch, vedremo presto, questo è 1119 00:48:59,830 --> 00:49:03,460 come si potrebbe implementare la stessa programma, con solo due pezzi del puzzle 1120 00:49:03,460 --> 00:49:05,420 che praticamente fare quello che dicono. 1121 00:49:05,420 --> 00:49:08,870 >> Ma vedremo tra un momento che alcuni degli elementi costitutivi che abbiamo accennato 1122 00:49:08,870 --> 00:49:12,140 in precedenza e pochi altri sono tutto ciò che in ultima analisi, stanno andando a costituire 1123 00:49:12,140 --> 00:49:13,460 alcuni dei nostri primi programmi. 1124 00:49:13,460 --> 00:49:15,460 Stiamo per avere le cose come functions-- solo 1125 00:49:15,460 --> 00:49:18,034 azioni che fanno qualcosa, come dire ciao, mondo. 1126 00:49:18,034 --> 00:49:20,200 Stiamo per avere cicli, cose che inducono cicli 1127 00:49:20,200 --> 00:49:23,210 più e più volte, proprio come noi ha fatto un momento fa con la ricerca 1128 00:49:23,210 --> 00:49:24,110 per Mike Smith. 1129 00:49:24,110 --> 00:49:27,190 Le variabili, come in algebra, se si hanno xoy, in grado di memorizzare un numero. 1130 00:49:27,190 --> 00:49:29,940 Ebbene, in un programma, si può effettivamente memorizzare più di semplici numeri. 1131 00:49:29,940 --> 00:49:34,290 È possibile memorizzare le parole e le frasi e la grafica e altre cose ancora. 1132 00:49:34,290 --> 00:49:37,530 espressioni booleane, appena questions-- sì o no, vero o falso. 1133 00:49:37,530 --> 00:49:40,680 Condizioni, le decisioni per la preparazione sulla base di tali risposte sì / no. 1134 00:49:40,680 --> 00:49:43,890 >> E poi le cose come amatore array e le discussioni ed eventi 1135 00:49:43,890 --> 00:49:46,100 e qualsiasi numero di altri caratteristiche, ma tutte 1136 00:49:46,100 --> 00:49:48,670 mappa molto bene per molto blocchi friendly come questo. 1137 00:49:48,670 --> 00:49:52,736 Questo sta per essere una funzione, un pezzo di puzzle viola che dice basta 1138 00:49:52,736 --> 00:49:54,717 ciò che il suo nome è-- in questo caso, dire. 1139 00:49:54,717 --> 00:49:56,550 E poi spesso, non c'è una scatola bianca che si 1140 00:49:56,550 --> 00:49:58,550 può digitare o trascinare un certo valore in. 1141 00:49:58,550 --> 00:50:01,370 E questo è ciò che è generalmente chiamato un argomento o di un parametro. 1142 00:50:01,370 --> 00:50:04,110 E 'un modo di alterare il comportamento predefinito di un puzzle 1143 00:50:04,110 --> 00:50:07,530 piece o una funzione in modo che lo fa qualcosa su misura per voi come dire, 1144 00:50:07,530 --> 00:50:12,570 ciao, mondo o ciao, Andy o ciao, Jason o qualche altra frase, invece. 1145 00:50:12,570 --> 00:50:15,830 >> Se si vuole dire che un lot-- letteralmente forever-- 1146 00:50:15,830 --> 00:50:18,142 si può prendere un altro pezzo di puzzle chiamato per sempre 1147 00:50:18,142 --> 00:50:20,100 e appena inserita la due insieme in questo modo. 1148 00:50:20,100 --> 00:50:24,090 E quel ciclo, come l'immagine suggerisce, significa solo dire ciao, mondo per sempre, 1149 00:50:24,090 --> 00:50:25,810 Ancora e ancora e ancora. 1150 00:50:25,810 --> 00:50:28,840 Oppure, se si desidera solo fare un numero finito di volte, come 50 volte, 1151 00:50:28,840 --> 00:50:32,050 ci sara 'un altro puzzle pezzo per che-- ripetere 50 volte. 1152 00:50:32,050 --> 00:50:34,190 >> Nel frattempo, se si desidera avere una variabile 1153 00:50:34,190 --> 00:50:36,090 in questa lingua siamo su cui giocare, 1154 00:50:36,090 --> 00:50:37,880 è possibile utilizzare un blocco arancione come questo. 1155 00:50:37,880 --> 00:50:40,750 E questa variabile I arbitrariamente Ho chiamato per intero. 1156 00:50:40,750 --> 00:50:42,290 E ho appena impostato è uguale a 0. 1157 00:50:42,290 --> 00:50:44,780 E così forse io, in questo case-- questo variable-- 1158 00:50:44,780 --> 00:50:46,630 rappresenta il punteggio di qualcuno in un gioco. 1159 00:50:46,630 --> 00:50:49,680 Si inizia a zero, e ogni volta che si fare un gol o qualcosa del genere, 1160 00:50:49,680 --> 00:50:51,270 si ottiene un punto supplementare. 1161 00:50:51,270 --> 00:50:52,830 >> È possibile porre domande in Scratch. 1162 00:50:52,830 --> 00:50:55,390 Se il drag and drop di puzzle pezzi in un momento come questo, 1163 00:50:55,390 --> 00:50:58,470 si possono porre domande del tipo: bene, io meno di 50? 1164 00:50:58,470 --> 00:51:00,060 Forse avete bisogno di 50 punti per vincere. 1165 00:51:00,060 --> 00:51:01,893 E quindi questo sarebbe la domanda che ci si chiede. 1166 00:51:01,893 --> 00:51:04,030 Oppure, più in generale, si potrebbe dire è x meno di y, 1167 00:51:04,030 --> 00:51:05,780 dove ci sono due variabili in gioco? 1168 00:51:05,780 --> 00:51:08,320 Ora, questo è un sacco più grande a prima vista, 1169 00:51:08,320 --> 00:51:11,470 ma in realtà non è affatto più complessa. 1170 00:51:11,470 --> 00:51:15,390 >> Questo è solo una combinazione di condizioni e variabili 1171 00:51:15,390 --> 00:51:19,370 e le espressioni booleane per chiedere tre questions-- è x meno y? 1172 00:51:19,370 --> 00:51:20,660 Se è così, diciamo così. 1173 00:51:20,660 --> 00:51:22,170 Dire, x è minore di y. 1174 00:51:22,170 --> 00:51:26,571 Altrimenti, se x è maggiore di y, altrimenti x deve essere uguale a y. 1175 00:51:26,571 --> 00:51:29,070 E mentre con Mike Smith, ci sono stati quattro scenari, qui 1176 00:51:29,070 --> 00:51:32,270 nel mondo dei numeri, x è o inferiore, superiore o uguale a. 1177 00:51:32,270 --> 00:51:34,531 Tutto quello che abbiamo sono tre forchette in mezzo alla strada. 1178 00:51:34,531 --> 00:51:36,530 E poi c'è amatore pezzi del puzzle come questo 1179 00:51:36,530 --> 00:51:39,613 per cose come gli array, dove stiamo sarà in grado di memorizzare informazioni. 1180 00:51:39,613 --> 00:51:43,590 Stiamo andando a vedere i blocchi che consentono di implementare più thread, 1181 00:51:43,590 --> 00:51:46,620 Un'altra caratteristica useremo, e poi anche qualcosa chiamato eventi. 1182 00:51:46,620 --> 00:51:49,390 Ma prima di arrivare a questo punto e creare ancora, 1183 00:51:49,390 --> 00:51:52,000 in ultima analisi, la nostra personalizzato parti di puzzle, diamo 1184 00:51:52,000 --> 00:51:53,950 in realtà aprire il programma stesso. 1185 00:51:53,950 --> 00:51:54,860 >> Quindi questo è Scratch. 1186 00:51:54,860 --> 00:51:57,490 E 'disponibile presso scratch.mit.edu. 1187 00:51:57,490 --> 00:51:59,650 E tu sei il benvenuto a giocare ora o più tardi, pure. 1188 00:51:59,650 --> 00:52:01,330 Questo sembra essere la versione offline. 1189 00:52:01,330 --> 00:52:03,129 Per le persone che non lo fanno necessariamente avere grande internet, 1190 00:52:03,129 --> 00:52:04,962 è possibile scaricare il stesso software, pure. 1191 00:52:04,962 --> 00:52:07,460 E non c'è davvero solo tre componenti di questo software. 1192 00:52:07,460 --> 00:52:10,860 In alto a sinistra di lo schermo è il tipo di fase 1193 00:52:10,860 --> 00:52:13,800 che Scratch, che per impostazione predefinita si presenta come un gatto, vive dentro. 1194 00:52:13,800 --> 00:52:16,799 Egli può spostarsi verso l'alto, in basso, a sinistra ea destra e fare qualsiasi numero di altre cose, 1195 00:52:16,799 --> 00:52:20,520 e può guardare un qualsiasi numero di modi base sui costumi che si assegnano a lui. 1196 00:52:20,520 --> 00:52:22,980 Ma questo è ciò che chiameremo un sprite, una sorta di personaggio. 1197 00:52:22,980 --> 00:52:25,429 E si può avere più personaggi, come vedremo tra poco. 1198 00:52:25,429 --> 00:52:30,060 >> In mezzo ora sono tutti questi rompicapo pezzi e queste categorie o pallet 1199 00:52:30,060 --> 00:52:30,900 loro. 1200 00:52:30,900 --> 00:52:32,429 Quindi in questo momento, ho cliccato su Motion. 1201 00:52:32,429 --> 00:52:35,900 E così io sto vedendo tutto il movimento legati pezzi del puzzle o blocchi, 1202 00:52:35,900 --> 00:52:37,950 così funzioni che hanno a che fare con salendo, 1203 00:52:37,950 --> 00:52:39,950 in basso, a sinistra oa destra o qualche altra operazione. 1204 00:52:39,950 --> 00:52:43,790 Ma se ho cliccato sugli sguardi, si potrebbe vedere le cose come il blocco di dire 1205 00:52:43,790 --> 00:52:45,084 che abbiamo visto solo un momento fa. 1206 00:52:45,084 --> 00:52:48,250 E se clicco per il controllo, si vedrà cose come la ripetizione e la sempre 1207 00:52:48,250 --> 00:52:50,410 e il blocco if che abbiamo visto un momento fa. 1208 00:52:50,410 --> 00:52:51,670 >> E in modo da trovare che ci limiteremo a grattiamo 1209 00:52:51,670 --> 00:52:53,750 la superficie di alcune delle puzzle di pezzi insieme, 1210 00:52:53,750 --> 00:52:55,833 ma è tutto abbastanza intuitivo e il punto e fare clic. 1211 00:52:55,833 --> 00:52:58,219 Infatti, è stato progettato Scratch per gli studenti più giovani 1212 00:52:58,219 --> 00:53:00,730 per contribuire a dare loro uno sbocco per il pensiero creativo. 1213 00:53:00,730 --> 00:53:03,040 Eppure meravigliosamente, è un meraviglioso trampolino di lancio 1214 00:53:03,040 --> 00:53:07,020 per esattamente le idee che andremo a esplorare in C e Python e JavaScript, 1215 00:53:07,020 --> 00:53:07,719 anche. 1216 00:53:07,719 --> 00:53:11,960 >> Sul lato destro, infine, qui è questo, la cosiddetta zona script. 1217 00:53:11,960 --> 00:53:15,750 E questo è solo la tabula rasa con che si inizia a scrivere un programma. 1218 00:53:15,750 --> 00:53:16,897 E sarò esattamente questo. 1219 00:53:16,897 --> 00:53:19,980 Ora, mi capita di sapere dove sono le cose perché ho fatto un paio di volte. 1220 00:53:19,980 --> 00:53:22,710 Ma so che sotto la categoria Eventi, 1221 00:53:22,710 --> 00:53:25,520 c'è questo blocco qui-- quando la bandiera verde cliccato. 1222 00:53:25,520 --> 00:53:28,790 E notare se io diminuire e nel qui sul palco, 1223 00:53:28,790 --> 00:53:31,190 vita Scratch all'interno di questo piccolo mondo di forma rettangolare, 1224 00:53:31,190 --> 00:53:33,920 in cima che è un verde bandiera e un segnale di stop rosso. 1225 00:53:33,920 --> 00:53:36,180 Quindi, andare e fermarsi, rispettivamente. 1226 00:53:36,180 --> 00:53:38,710 >> E così quello che voglio fare quando si fa clic su quella bandiera verde? 1227 00:53:38,710 --> 00:53:40,900 Ebbene, lasciami andare a che appare categoria. 1228 00:53:40,900 --> 00:53:43,357 E mi permetta di andare avanti e trascinare e rilasciare questo. 1229 00:53:43,357 --> 00:53:45,940 E notare, non appena si arriva vicino, sono una sorta di magnetico. 1230 00:53:45,940 --> 00:53:48,489 Quindi, se ora ho lasciato andare, non si blocca insieme bello e pulito. 1231 00:53:48,489 --> 00:53:51,030 E ho intenzione di andare avanti e dire qualcosa di simile ciao, mondo 1232 00:53:51,030 --> 00:53:52,190 per due secondi. 1233 00:53:52,190 --> 00:53:56,730 Mi permetta di diminuire e fare clic ora il bandiera verde, e dire ciao, mondo. 1234 00:53:56,730 --> 00:53:57,230 Tutto ok. 1235 00:53:57,230 --> 00:53:58,460 Ecco, questo è tutto bello e buono. 1236 00:53:58,460 --> 00:53:59,900 Non tutto ciò che eccitante. 1237 00:53:59,900 --> 00:54:01,340 Facciamo un po 'più carino. 1238 00:54:01,340 --> 00:54:03,494 E so che in anticipo, Scratch accade 1239 00:54:03,494 --> 00:54:05,160 a venire con alcune cose carine come questa. 1240 00:54:05,160 --> 00:54:07,720 Così giocare meow suono fino a cottura. 1241 00:54:07,720 --> 00:54:09,531 Quindi cerchiamo di fare questo. 1242 00:54:09,531 --> 00:54:10,380 >> [MIAO] 1243 00:54:10,380 --> 00:54:11,819 >> Ah, questo è adorabile. 1244 00:54:11,819 --> 00:54:12,860 E se lo scatto again-- 1245 00:54:12,860 --> 00:54:14,920 >> [MIAO] 1246 00:54:14,920 --> 00:54:15,460 >> E di nuovo. 1247 00:54:15,460 --> 00:54:16,740 >> [MIAO] 1248 00:54:16,740 --> 00:54:18,760 >> Ma io continuo a dover rianimare Scratch. 1249 00:54:18,760 --> 00:54:20,010 Ma posso fare meglio di questo. 1250 00:54:20,010 --> 00:54:23,060 Perché non è sufficiente trascinare tre di questi. 1251 00:54:23,060 --> 00:54:24,821 E ora è tre volte più adorabile. 1252 00:54:24,821 --> 00:54:26,264 >> [Miagolando] 1253 00:54:26,264 --> 00:54:28,190 >> OK, in realtà, è un po 'inquietante. 1254 00:54:28,190 --> 00:54:31,020 Quindi abbiamo bisogno di una via di mezzo c'è. 1255 00:54:31,020 --> 00:54:33,870 Se vado a controllo, sembra che c'è in realtà un blocco di attesa. 1256 00:54:33,870 --> 00:54:36,994 E così notare se mi passa il mouse sopra there-- e mi permetta di rendere questo un po 'più grande. 1257 00:54:36,994 --> 00:54:38,780 Se mi passa il mouse, sta andando a scattare in posizione. 1258 00:54:38,780 --> 00:54:41,660 Quindi, attendere un secondo, attendere un secondo. 1259 00:54:41,660 --> 00:54:43,170 Diamo ha colpito di nuovo bandiera verde. 1260 00:54:43,170 --> 00:54:46,330 >> [Miagolando] 1261 00:54:46,330 --> 00:54:47,695 1262 00:54:47,695 --> 00:54:50,660 >> OK, un po 'più naturale, ma non molto efficiente. 1263 00:54:50,660 --> 00:54:54,300 Quindi questo è corretto se il mio programma di obiettivo è stato meow tre volte. 1264 00:54:54,300 --> 00:54:56,410 Ma non è molto ben progettato. 1265 00:54:56,410 --> 00:54:57,740 I tipi di tagliare alcuni angoli. 1266 00:54:57,740 --> 00:54:58,730 Ho avuto un po 'pigro. 1267 00:54:58,730 --> 00:55:05,620 Che cosa si sente like-- cosa mi sembra di aver fatto male, diresti? 1268 00:55:05,620 --> 00:55:07,197 Sì? 1269 00:55:07,197 --> 00:55:08,030 Sì, nel mezzo. 1270 00:55:08,030 --> 00:55:11,208 1271 00:55:11,208 --> 00:55:13,083 PUBBLICO: usato più la memoria di quello che era necessario 1272 00:55:13,083 --> 00:55:15,005 perché si sta utilizzando tanti linea diversa. 1273 00:55:15,005 --> 00:55:16,380 DAVID MALAN: Sì, così più linee. 1274 00:55:16,380 --> 00:55:19,190 E non sarebbe necessariamente di memoria, anche se potrebbe essere visto come in questo modo. 1275 00:55:19,190 --> 00:55:20,898 Ma è definitely-- c'è ridondanza. 1276 00:55:20,898 --> 00:55:23,440 E io letteralmente tipo di trascinata e lasciò cadere le stesse cose. 1277 00:55:23,440 --> 00:55:26,564 E se tipo di extrapolate-- se Non è ovvio qui-- bene, come sarebbe 1278 00:55:26,564 --> 00:55:27,910 Mi meow 30 volte? 1279 00:55:27,910 --> 00:55:31,450 Vorrei trascinare e rilasciare, come, 30 più coppie di pezzi del puzzle. 1280 00:55:31,450 --> 00:55:32,890 E sicuramente, c'è un modo migliore. 1281 00:55:32,890 --> 00:55:34,056 E abbiamo visto un modo migliore. 1282 00:55:34,056 --> 00:55:36,870 Cosa sarebbe intuitivamente essere il modo migliore? 1283 00:55:36,870 --> 00:55:37,890 Sì, basta utilizzare un ciclo. 1284 00:55:37,890 --> 00:55:38,810 No copia e incolla. 1285 00:55:38,810 --> 00:55:40,790 E in effetti, in qualsiasi momento questo semestre se si avvia 1286 00:55:40,790 --> 00:55:43,890 ritrovarsi trascinando, o realmente copia e incolla, 1287 00:55:43,890 --> 00:55:47,050 pericolosa abitudine di entrare in causa questo non è solo molto gestibile. 1288 00:55:47,050 --> 00:55:49,740 Per esempio, se voglio cambiare il suono di qualcosa d'altro, 1289 00:55:49,740 --> 00:55:52,826 Devo cambiare ora in tre posizioni invece di uno solo. 1290 00:55:52,826 --> 00:55:54,575 Perché in effetti, se io rompere questo away-- Sono 1291 00:55:54,575 --> 00:55:56,170 solo andando a disaccoppiare in quel modo. 1292 00:55:56,170 --> 00:56:01,900 Mi permetta di prendere un blocco di ripetizione, e quindi fare clic su tre, digitare tre, 1293 00:56:01,900 --> 00:56:04,015 gettare un po 'di questi via da solo lasciando andare. 1294 00:56:04,015 --> 00:56:05,890 E poi notarlo non sembra si adatta, 1295 00:56:05,890 --> 00:56:08,139 ma magneticamente, sta andando a scatto non solo in posto 1296 00:56:08,139 --> 00:56:09,510 ma crescere per adattarsi alla forma. 1297 00:56:09,510 --> 00:56:10,310 Quindi, questo è un bene. 1298 00:56:10,310 --> 00:56:11,530 E ora se clicco gioco. 1299 00:56:11,530 --> 00:56:13,870 >> [Miagolando] 1300 00:56:13,870 --> 00:56:14,370 1301 00:56:14,370 --> 00:56:15,620 Molto bella. 1302 00:56:15,620 --> 00:56:16,126 Tutto ok. 1303 00:56:16,126 --> 00:56:18,500 E ora è molto facile da cambiare, anche perché posso solo 1304 00:56:18,500 --> 00:56:20,670 modificare un numero in un unico luogo. 1305 00:56:20,670 --> 00:56:22,500 Ma anche questo non è tutto ciò che interessa. 1306 00:56:22,500 --> 00:56:25,350 Diamo in realtà hanno Scratch non meow, ma si muove. 1307 00:56:25,350 --> 00:56:32,680 Lasciami andare a Motion e spostare 10 passi all'interno di-- urla, mi permetta di risolvere il problema. 1308 00:56:32,680 --> 00:56:37,460 Dammi muovere 10 steps-- in realtà, non facciamolo ripetere. 1309 00:56:37,460 --> 00:56:40,670 Mi permetta di prendere un blocco di controllo, e effettuare le seguenti operazioni per sempre. 1310 00:56:40,670 --> 00:56:42,720 Per sempre, spostare 10 passi. 1311 00:56:42,720 --> 00:56:45,070 E fare clic su Play. 1312 00:56:45,070 --> 00:56:45,600 >> OK. 1313 00:56:45,600 --> 00:56:46,740 Ma per fortuna, si ferma. 1314 00:56:46,740 --> 00:56:49,710 In caso contrario, i bambini sarebbe ottenere molto turbato quando una sorta di perdono il loro gatto. 1315 00:56:49,710 --> 00:56:52,720 Ma almeno posso trascinare indietro nello schermo. 1316 00:56:52,720 --> 00:56:56,177 Ma questo non è tutto ciò che grande di un gioco o di animazione. 1317 00:56:56,177 --> 00:56:58,260 Sarebbe bello se forse ha rimbalzato fuori dal bordo. 1318 00:56:58,260 --> 00:57:00,020 Quindi cosa facciamo? 1319 00:57:00,020 --> 00:57:04,302 Che costrutto abbiamo bisogno di avere Scratch decidere di rimbalzo, pensi, 1320 00:57:04,302 --> 00:57:06,010 anche se non hai mai visto Scratch prima? 1321 00:57:06,010 --> 00:57:06,593 Sì, in parte posteriore. 1322 00:57:06,593 --> 00:57:08,359 PUBBLICO: Avete bisogno di un se il blocco o if-then. 1323 00:57:08,359 --> 00:57:10,650 DAVID MALAN: Sì, così alcuni tipo di blocco o se if-then. 1324 00:57:10,650 --> 00:57:12,275 Quindi, in realtà, ne abbiamo uno di questi qui. 1325 00:57:12,275 --> 00:57:14,500 So so se: mi permetta di ottenere liberarsi del movimento. 1326 00:57:14,500 --> 00:57:16,070 Mi permetta di ingrandimento in modo che sia più grande. 1327 00:57:16,070 --> 00:57:16,890 Così come su questo. 1328 00:57:16,890 --> 00:57:21,920 Per sempre, se Sensing-- Noi non abbiamo visto prima. 1329 00:57:21,920 --> 00:57:23,160 Ho bisogno di una espressione booleana. 1330 00:57:23,160 --> 00:57:25,970 E si scopre se tocca che cosa? 1331 00:57:25,970 --> 00:57:29,030 Se toccando il bordo, cosa voglio fare? 1332 00:57:29,030 --> 00:57:32,030 Beh, se torno a Motion, Risulta, oh, posso girare intorno. 1333 00:57:32,030 --> 00:57:33,350 Mi permetta di trascinare questo qui. 1334 00:57:33,350 --> 00:57:36,430 Perché non andare avanti e girarsi di 180 gradi? 1335 00:57:36,430 --> 00:57:38,190 >> Ed ora, vorrei solo muovere alla fine. 1336 00:57:38,190 --> 00:57:40,500 Ho potuto mettere il movimento al all'inizio o alla fine. 1337 00:57:40,500 --> 00:57:44,452 Ma logicamente, ogni volta che si muove, io voler controllare, sto toccando il bordo? 1338 00:57:44,452 --> 00:57:45,410 Sto toccando il bordo? 1339 00:57:45,410 --> 00:57:46,490 Sto toccando il bordo? 1340 00:57:46,490 --> 00:57:49,200 In modo che logicamente mi giro in caso affermativo. 1341 00:57:49,200 --> 00:57:51,190 Quindi cerchiamo di colpire il gioco. 1342 00:57:51,190 --> 00:57:52,030 >> OK. 1343 00:57:52,030 --> 00:57:53,910 Quindi è un po 'buggy, per così dire. 1344 00:57:53,910 --> 00:57:56,560 E un bug è solo un errore in un programma per computer. 1345 00:57:56,560 --> 00:57:57,800 Ma almeno si sta lavorando. 1346 00:57:57,800 --> 00:57:59,420 E infatti, posso andare a qui. 1347 00:57:59,420 --> 00:58:03,130 E permettetemi di fare non 10 passi ad un tempo, ma questo è tutto animazione è. 1348 00:58:03,130 --> 00:58:05,310 Questo è tutto un cartone o anche un film è. 1349 00:58:05,310 --> 00:58:07,110 Mi permetta di spostare 20 passi alla volta. 1350 00:58:07,110 --> 00:58:11,200 Così 20 volte il numero di cose stanno accadendo una volta o due volte come molti, in questo caso. 1351 00:58:11,200 --> 00:58:12,600 E lui si muove più velocemente. 1352 00:58:12,600 --> 00:58:15,150 Mi permetta di cambiare a 30. 1353 00:58:15,150 --> 00:58:17,450 100. 1354 00:58:17,450 --> 00:58:19,406 1.000. 1355 00:58:19,406 --> 00:58:20,530 E sta andando veramente veloce. 1356 00:58:20,530 --> 00:58:22,190 E questo è-- sì, OK. 1357 00:58:22,190 --> 00:58:24,130 >> Così ora stiamo solo scherzi con esso. 1358 00:58:24,130 --> 00:58:24,954 OK, così buggy. 1359 00:58:24,954 --> 00:58:26,620 Ma lo si può trascinare fuori strada qui. 1360 00:58:26,620 --> 00:58:28,286 Ma possiamo fare più divertimento con questo, anche. 1361 00:58:28,286 --> 00:58:30,710 Che ne dite di questo-- lui è a testa in giù. 1362 00:58:30,710 --> 00:58:32,800 Ma si scopre Scratch-- e vi è in realtà, 1363 00:58:32,800 --> 00:58:35,510 Devo smentire, non accademico valore a ciò che sto per fare. 1364 00:58:35,510 --> 00:58:40,200 Ma se apro il microfono, andiamo lui fermarsi e fare qualcosa del genere. 1365 00:58:40,200 --> 00:58:41,960 Ahia! 1366 00:58:41,960 --> 00:58:42,884 >> [RIDERE] 1367 00:58:42,884 --> 00:58:45,200 1368 00:58:45,200 --> 00:58:45,990 >> E 'stato adorabile. 1369 00:58:45,990 --> 00:58:46,740 Grazie. 1370 00:58:46,740 --> 00:58:50,850 Ora, questo è ciò che la mia voce sembra che quando grido ouch. 1371 00:58:50,850 --> 00:58:52,630 Non credo che abbiamo preso la tua risata. 1372 00:58:52,630 --> 00:58:53,280 Va bene. 1373 00:58:53,280 --> 00:58:56,550 Mi permetta di salvare questo come "ahi". 1374 00:58:56,550 --> 00:58:57,915 Salviamo questo come "ahi". 1375 00:58:57,915 --> 00:58:59,410 E ora andremo agli script. 1376 00:58:59,410 --> 00:59:01,660 E ora mi need-- vediamo, Sound. 1377 00:59:01,660 --> 00:59:03,160 Oh, riprodurre ouch suono. 1378 00:59:03,160 --> 00:59:08,180 Quindi, se io sto toccando il bordo, mi permetta prima commedia ahi, e poi girarsi. 1379 00:59:08,180 --> 00:59:10,191 E adesso lo ha messo in mezzo. 1380 00:59:10,191 --> 00:59:14,754 >> [Dicendo "OUCH"] 1381 00:59:14,754 --> 00:59:15,740 >> Due volte più veloce. 1382 00:59:15,740 --> 00:59:20,660 1383 00:59:20,660 --> 00:59:21,830 >> OK. 1384 00:59:21,830 --> 00:59:23,780 Ma è letteralmente fare quello che sto dicendo. 1385 00:59:23,780 --> 00:59:27,580 Così è infatti corretto, è solo un po 'fastidioso in fretta. 1386 00:59:27,580 --> 00:59:30,330 Quindi aggiungiamo qualcosa più interessante a questo. 1387 00:59:30,330 --> 00:59:32,950 Lasciatemi in realtà aprono uno che ho fatto in anticipo, 1388 00:59:32,950 --> 00:59:38,560 giustamente chiamato Pet la Cat, che fa questo. 1389 00:59:38,560 --> 00:59:40,340 Ecco lo script qui. 1390 00:59:40,340 --> 00:59:44,510 Che cosa è questa intenzione di fare in termini inglesi? 1391 00:59:44,510 --> 00:59:45,820 Che cosa è questo progettato per fare? 1392 00:59:45,820 --> 00:59:47,900 Sì, andiamo some-- sì? 1393 00:59:47,900 --> 00:59:49,665 >> PUBBLICO: quando si accarezzare il gatto, miagola. 1394 00:59:49,665 --> 00:59:52,290 DAVID MALAN: Sì, così quando si accarezzare il gatto, sta andando a miagolare. 1395 00:59:52,290 --> 00:59:55,452 In altre parole, non c'è ora un eterno ciclo ancora, combinato 1396 00:59:55,452 --> 00:59:57,660 con una condizione, combinata con una espressione booleana, 1397 00:59:57,660 --> 01:00:00,140 combinato con una coppia di funzioni, l'effetto 1398 01:00:00,140 --> 01:00:02,610 di cui, una volta io gioco questo programma, è nulla 1399 01:00:02,610 --> 01:00:06,820 succede fino a quando ho spostare il cursore sempre più vicino e più vicino e- 1400 01:00:06,820 --> 01:00:08,029 >> [MIAO] 1401 01:00:08,029 --> 01:00:09,320 Poi è come accarezzare il gatto. 1402 01:00:09,320 --> 01:00:11,210 [MIAO] 1403 01:00:11,210 --> 01:00:14,270 Solo una volta che effettivamente spostare il cursore su di lui. 1404 01:00:14,270 --> 01:00:19,964 Ora, ho anche scatenato non domestico il gatto, che fa questo, invece. 1405 01:00:19,964 --> 01:00:21,350 >> [Miagolando] 1406 01:00:21,350 --> 01:00:23,485 >> Così ha appena costantemente miagolando. 1407 01:00:23,485 --> 01:00:24,455 >> [Miagolando] 1408 01:00:24,455 --> 01:00:27,705 >> Ma se ho troppo close-- 1409 01:00:27,705 --> 01:00:29,645 >> [Miagolando] 1410 01:00:29,645 --> 01:00:32,080 >> [RUGGITO] 1411 01:00:32,080 --> 01:00:33,590 >> Così come fa questo lavoro? 1412 01:00:33,590 --> 01:00:35,880 Ora devo solo un bidirezionale bivio. 1413 01:00:35,880 --> 01:00:38,930 Se toccando il puntatore del mouse, quindi riprodurre il suono leone. 1414 01:00:38,930 --> 01:00:41,950 Altrimenti basta riprodurre il suono Meow, e quindi attendere tre secondi in modo 1415 01:00:41,950 --> 01:00:43,880 che è una specie di fare molto tranquillamente. 1416 01:00:43,880 --> 01:00:44,380 Tutto ok. 1417 01:00:44,380 --> 01:00:47,290 Ecco, questo è la combinazione alcune altre idee ancora. 1418 01:00:47,290 --> 01:00:50,870 Diamo uno sguardo a questo esempio Ho sbattuto fino chiamati fili. 1419 01:00:50,870 --> 01:00:54,020 E questo è fondamentalmente differente in quanto leve 1420 01:00:54,020 --> 01:00:56,070 una caratteristica di molti linguaggio di programmazione chiamato 1421 01:00:56,070 --> 01:00:59,970 fili, la capacità di un programma di letteralmente fare due cose contemporaneamente. 1422 01:00:59,970 --> 01:01:03,600 In effetti, in questi giorni se si sta utilizzando Google Docs o Microsoft Word, 1423 01:01:03,600 --> 01:01:09,620 e il documento è costantemente essere eseguire il controllo ortografico, anche, come si type-- o 1424 01:01:09,620 --> 01:01:11,580 colpire Comando-P o Control-P e qualcosa di stampa, 1425 01:01:11,580 --> 01:01:13,380 è la stampa mentre si continua a digitare. 1426 01:01:13,380 --> 01:01:16,680 Programmi oggi può davvero fare di più le cose in una volta, proprio come in Scratch 1427 01:01:16,680 --> 01:01:17,180 Qui. 1428 01:01:17,180 --> 01:01:20,400 >> Così qui, ho due sprites ora, un uccello e un gatto. 1429 01:01:20,400 --> 01:01:22,780 E se clicco su ciascuno dei quelli caratteri uno alla volta, 1430 01:01:22,780 --> 01:01:25,590 Vedo in questo momento l'uccello del script in alto a destra. 1431 01:01:25,590 --> 01:01:27,270 Ora vedo il gatto. 1432 01:01:27,270 --> 01:01:28,540 Bird, gatto. 1433 01:01:28,540 --> 01:01:30,270 Così ciascuno di loro hanno il loro script. 1434 01:01:30,270 --> 01:01:32,700 Ma preavviso, cosa pezzo di puzzle Hanno entrambi cominciare? 1435 01:01:32,700 --> 01:01:34,260 Quando bandiera verde cliccato. 1436 01:01:34,260 --> 01:01:36,890 E uccello, quando la bandiera verde cliccato. 1437 01:01:36,890 --> 01:01:40,870 Così, quando scatto la bandiera verde, entrambi questi script o programmi 1438 01:01:40,870 --> 01:01:42,759 stanno andando a correre in parallelo. 1439 01:01:42,759 --> 01:01:45,800 E si noterà che l'uccello è solo senza pensare che rimbalza fuori dal bordo. 1440 01:01:45,800 --> 01:01:50,890 Il gatto è stato programmato in modo chiaro con un vantaggio strategico. 1441 01:01:50,890 --> 01:01:52,704 E-- 1442 01:01:52,704 --> 01:01:53,490 >> [RUGGITO] 1443 01:01:53,490 --> 01:01:53,821 1444 01:01:53,821 --> 01:01:54,320 Tutto ok. 1445 01:01:54,320 --> 01:01:57,340 Così il gatto catturato l'uccello in questo caso. 1446 01:01:57,340 --> 01:01:58,390 Perché? 1447 01:01:58,390 --> 01:02:03,310 Beh, avviso prima dobbiamo solo l'uccello solo senza pensare di andare 1448 01:02:03,310 --> 01:02:05,120 a questa posizione iniziale, e poi per sempre, 1449 01:02:05,120 --> 01:02:06,774 se non toccare il gatto, basta spostare. 1450 01:02:06,774 --> 01:02:08,190 E se siete ai margini, di rimbalzo. 1451 01:02:08,190 --> 01:02:08,870 E basta spostare. 1452 01:02:08,870 --> 01:02:10,286 E se siete ai margini, di rimbalzo. 1453 01:02:10,286 --> 01:02:12,840 Ma il gatto, nel frattempo, ha una certa logica aggiuntiva 1454 01:02:12,840 --> 01:02:18,250 che dice questo-- prima, solo così che questo non è completamente polarizzato 1455 01:02:18,250 --> 01:02:21,191 contro l'uccello, noto che ho usato un pezzo di puzzle verde lì 1456 01:02:21,191 --> 01:02:22,690 che in realtà raccoglie un numero casuale. 1457 01:02:22,690 --> 01:02:26,179 Una caratteristica di molte lingue è quello di dare voi numeri casuali o pseudocasuali. 1458 01:02:26,179 --> 01:02:29,220 Quindi in questo caso, il gatto inizialmente sceglie un numero casuale tra, come, 1459 01:02:29,220 --> 01:02:31,727 90 gradi e 180 gradi, in sostanza, così 1460 01:02:31,727 --> 01:02:33,310 che c'è un po 'di varianza. 1461 01:02:33,310 --> 01:02:37,000 E poi per sempre, se commovente l'uccello, riprodurre il suono leone. 1462 01:02:37,000 --> 01:02:38,754 In caso contrario, basta puntare verso l'uccello. 1463 01:02:38,754 --> 01:02:39,670 Puntare verso l'uccello. 1464 01:02:39,670 --> 01:02:44,199 Point verso l'uccello, che è un pezzo di puzzle a se stessa in questo caso. 1465 01:02:44,199 --> 01:02:45,740 Beh, possiamo fare un'altra cosa qui. 1466 01:02:45,740 --> 01:02:49,820 Mi permetta di aprire il programma eventi qui. 1467 01:02:49,820 --> 01:02:53,520 E qui abbiamo di nuovo due sprite, che sembrano questi due pupazzi qui. 1468 01:02:53,520 --> 01:02:55,710 E ciò che è interessante è questo. 1469 01:02:55,710 --> 01:02:59,140 Il ragazzo arancione ha questo set di pezzi del puzzle qui. 1470 01:02:59,140 --> 01:03:01,700 Sempre fare il following-- se la barra spaziatrice viene premuto, 1471 01:03:01,700 --> 01:03:05,430 poi dire, Marco, e poi trasmettere un avvenimento. 1472 01:03:05,430 --> 01:03:09,460 E nel frattempo, il ragazzo blu qui ha Questa poi quando si riceve l'evento, 1473 01:03:09,460 --> 01:03:10,540 dire Polo. 1474 01:03:10,540 --> 01:03:12,850 Così si scopre in Scratch e in altre lingue, 1475 01:03:12,850 --> 01:03:15,830 ci sono modi per due programmi o due script, in questo caso, 1476 01:03:15,830 --> 01:03:20,310 intercomunicare modo che quando ha colpito la barra spaziatrice, dice Marco. 1477 01:03:20,310 --> 01:03:23,539 E l'altro sente che, per così parla, e dice Polo in risposta. 1478 01:03:23,539 --> 01:03:26,080 Così si può scrivere programmi che effettivamente interagire in questo modo. 1479 01:03:26,080 --> 01:03:28,630 E se faccio questo uno invece, Posso anche aggiungere le variabili, 1480 01:03:28,630 --> 01:03:31,287 solo utilizzando uno sprite in questo caso. 1481 01:03:31,287 --> 01:03:32,578 Questo è particolarmente fastidioso. 1482 01:03:32,578 --> 01:03:36,174 >> [BARKING SEAL] 1483 01:03:36,174 --> 01:03:37,100 1484 01:03:37,100 --> 01:03:42,490 >> Ora, notate a destra abbiamo un po 'di logica aggiuntiva qui. 1485 01:03:42,490 --> 01:03:45,146 Come faccio a interrompere questo sigillo di abbaiare? 1486 01:03:45,146 --> 01:03:48,320 >> [BARKING SEAL] 1487 01:03:48,320 --> 01:03:52,830 1488 01:03:52,830 --> 01:03:55,630 >> Sembra che sul destro lato è ciò che è la riproduzione del suono. 1489 01:03:55,630 --> 01:03:58,500 Ma è solo la riproduzione di un suonerà se ciò che è vero? 1490 01:03:58,500 --> 01:04:03,390 Se un arancio variable-- block-- sordina è pari a zero. 1491 01:04:03,390 --> 01:04:07,916 Come faccio a cambiare in sordina per essere 1, nel senso vero, fanno di questo sordina? 1492 01:04:07,916 --> 01:04:12,455 A quanto pare, l'altro script, posso premere la barra spaziatrice, e ora si ferma. 1493 01:04:12,455 --> 01:04:15,080 Così possiamo avere questa intercomunicazione attraverso script, così, 1494 01:04:15,080 --> 01:04:18,349 da solo la condivisione di una variabile tra i due come questo. 1495 01:04:18,349 --> 01:04:19,890 Ora, questo non è tutto ciò che interessa. 1496 01:04:19,890 --> 01:04:24,360 Andiamo avanti e fare questo e si combinano molte di queste idee con questo programma 1497 01:04:24,360 --> 01:04:25,940 Qui. 1498 01:04:25,940 --> 01:04:28,100 Prima di farlo, però, Che ne dite di un volontario? 1499 01:04:28,100 --> 01:04:30,558 Mi permetta di prendere la pressione fuori di me, perché io in realtà non 1500 01:04:30,558 --> 01:04:31,280 giocare a questo gioco. 1501 01:04:31,280 --> 01:04:33,030 Diamo qualcuno che non hanno visto prima. 1502 01:04:33,030 --> 01:04:36,420 Bisogna stare bene a venire sul palco qui, sulla macchina fotografica. 1503 01:04:36,420 --> 01:04:37,430 OK, andiamo su. 1504 01:04:37,430 --> 01:04:38,130 Molto coraggioso. 1505 01:04:38,130 --> 01:04:39,052 Come ti chiami? 1506 01:04:39,052 --> 01:04:39,962 >> IDRIS: Idris. 1507 01:04:39,962 --> 01:04:40,753 DAVID MALAN: Siamo spiacenti? 1508 01:04:40,753 --> 01:04:41,196 IDRIS: Idris. 1509 01:04:41,196 --> 01:04:42,670 DAVID MALAN: Idris, piacere di conoscerti. 1510 01:04:42,670 --> 01:04:43,170 Vieni su. 1511 01:04:43,170 --> 01:04:45,630 E ora, sul proprio cellulare telefono, si gioca Pokemon GO? 1512 01:04:45,630 --> 01:04:46,567 >> IDRIS: No. 1513 01:04:46,567 --> 01:04:47,400 DAVID MALAN: Davvero? 1514 01:04:47,400 --> 01:04:48,104 IDRIS: Sì. 1515 01:04:48,104 --> 01:04:48,770 DAVID MALAN: OK. 1516 01:04:48,770 --> 01:04:49,020 Tutto ok. 1517 01:04:49,020 --> 01:04:49,978 Bene, piacere di conoscerti. 1518 01:04:49,978 --> 01:04:50,820 Vieni su. 1519 01:04:50,820 --> 01:04:51,950 Nemmeno io. 1520 01:04:51,950 --> 01:04:55,380 Quindi dovremo capire insieme come giocare a questo, che qualcuno in realtà 1521 01:04:55,380 --> 01:05:00,140 è andato e attuati in Scratch cambiando il gatto essenzialmente 1522 01:05:00,140 --> 01:05:02,260 diversi personaggi tutti insieme. 1523 01:05:02,260 --> 01:05:04,870 E se a tutto schermo questo qui, stiamo andando 1524 01:05:04,870 --> 01:05:06,860 vedere il seguente gioco insieme. 1525 01:05:06,860 --> 01:05:09,560 Ancora caricamento, ancora carica. 1526 01:05:09,560 --> 01:05:10,270 Dai. 1527 01:05:10,270 --> 01:05:12,590 Mi permetta di fare questo. 1528 01:05:12,590 --> 01:05:14,520 Dai. 1529 01:05:14,520 --> 01:05:17,200 Questo gioco è così grande che si è schiantato. 1530 01:05:17,200 --> 01:05:18,980 Stand-by. 1531 01:05:18,980 --> 01:05:22,390 Prova questo ancora una volta. 1532 01:05:22,390 --> 01:05:23,710 Dai. 1533 01:05:23,710 --> 01:05:24,211 Tutto ok. 1534 01:05:24,211 --> 01:05:26,840 1535 01:05:26,840 --> 01:05:27,430 >> Ecco quà. 1536 01:05:27,430 --> 01:05:27,929 OK. 1537 01:05:27,929 --> 01:05:29,330 Bandiera verde. 1538 01:05:29,330 --> 01:05:30,190 Quindi qui si va. 1539 01:05:30,190 --> 01:05:30,950 >> [RIPRODUZIONE DI BRANI MUSICALI] 1540 01:05:30,950 --> 01:05:32,510 >> Scegliere il livello di mezzo qui. 1541 01:05:32,510 --> 01:05:34,200 Clicca il ragazzo blu lì. 1542 01:05:34,200 --> 01:05:34,700 Tutto ok. 1543 01:05:34,700 --> 01:05:37,860 Ed è possibile utilizzare la freccia keys-- su, giù, sinistra, destra. 1544 01:05:37,860 --> 01:05:42,150 Ora, consideriamo come noi questo-- e poi andare dopo il carattere lì. 1545 01:05:42,150 --> 01:05:42,650 Sì. 1546 01:05:42,650 --> 01:05:45,786 E ora cliccare lui con il mouse. 1547 01:05:45,786 --> 01:05:46,693 O si. 1548 01:05:46,693 --> 01:05:47,193 Mossa. 1549 01:05:47,193 --> 01:05:47,662 Dov'è la freccia? 1550 01:05:47,662 --> 01:05:48,131 Ecco qui. 1551 01:05:48,131 --> 01:05:48,600 Quindi cliccare su lì. 1552 01:05:48,600 --> 01:05:48,840 Sì. 1553 01:05:48,840 --> 01:05:49,340 Tutto ok. 1554 01:05:49,340 --> 01:05:56,008 Così ora, mi hanno detto di avere una Poké Ball, che se clic su di esso, si farà. 1555 01:05:56,008 --> 01:05:57,932 Molto bene. 1556 01:05:57,932 --> 01:06:00,390 In pratica per oggi, ha trovato questa versione del gioco di 1557 01:06:00,390 --> 01:06:01,760 in realtà non è molto difficile. 1558 01:06:01,760 --> 01:06:07,650 Quindi, se si vuole andare di nuovo qui, camminare fino a questo Poké Ball. 1559 01:06:07,650 --> 01:06:08,780 E poi andare a girare a destra. 1560 01:06:08,780 --> 01:06:11,200 Prova a cliccare su di esso. 1561 01:06:11,200 --> 01:06:13,120 Oh, in realtà, questo è il negozio, a quanto pare. 1562 01:06:13,120 --> 01:06:14,170 OK così vicino che. 1563 01:06:14,170 --> 01:06:15,150 Mai fatto prima. 1564 01:06:15,150 --> 01:06:16,566 Forse andare fino a questa cosa qui. 1565 01:06:16,566 --> 01:06:17,460 Oh, ci si va. 1566 01:06:17,460 --> 01:06:18,910 Aspetta, c'è una laggiù. 1567 01:06:18,910 --> 01:06:20,412 Oh, c'è un altro. 1568 01:06:20,412 --> 01:06:21,285 OK. 1569 01:06:21,285 --> 01:06:21,785 Giù. 1570 01:06:21,785 --> 01:06:23,210 Sì, fare clic su. 1571 01:06:23,210 --> 01:06:24,635 >> OK, questo è molto carino. 1572 01:06:24,635 --> 01:06:27,485 1573 01:06:27,485 --> 01:06:28,810 OK, molto ben fatto. 1574 01:06:28,810 --> 01:06:30,010 Questo gioco non è molto difficile. 1575 01:06:30,010 --> 01:06:30,510 OK. 1576 01:06:30,510 --> 01:06:32,150 Complimenti. 1577 01:06:32,150 --> 01:06:34,720 Qui, abbiamo un CS50 palla antistress per voi. 1578 01:06:34,720 --> 01:06:37,680 Ma consideriamo per un attimo cosa alcuni degli take away ci sono. 1579 01:06:37,680 --> 01:06:39,263 Più facile che il gioco vero e proprio, a quanto pare. 1580 01:06:39,263 --> 01:06:41,809 Ma tutto quello che abbiamo in corso qui è un personaggio 1581 01:06:41,809 --> 01:06:44,100 che probabilmente ha qualche tipo del circuito associato. 1582 01:06:44,100 --> 01:06:44,590 Non è un gatto. 1583 01:06:44,590 --> 01:06:45,860 E 'questo personaggio, invece. 1584 01:06:45,860 --> 01:06:49,052 E questo ciclo è appena costantemente dicendo, se la freccia premuto, 1585 01:06:49,052 --> 01:06:51,260 se freccia verso il basso premuto, se freccia sinistra o destra premuta 1586 01:06:51,260 --> 01:06:53,960 freccia premuto, spostarsi verso l'alto o verso il basso o verso sinistra o verso destra. 1587 01:06:53,960 --> 01:06:57,870 O se c'è un altro pezzo del puzzle ci che dice quando si tocca un altro sprite, 1588 01:06:57,870 --> 01:07:01,320 quando si tocca uno dei personaggi per la Poké Ball, se toccante, 1589 01:07:01,320 --> 01:07:02,440 poi fare questo. 1590 01:07:02,440 --> 01:07:04,800 >> Quindi, tutte le idee che abbiamo state usando finora davvero 1591 01:07:04,800 --> 01:07:09,130 può solo essere applicato in questo particolare contesto di giocare a questo gioco, pure. 1592 01:07:09,130 --> 01:07:13,580 Lasciami andare avanti e tirare Su di un altro qui, in effetti. 1593 01:07:13,580 --> 01:07:17,060 Lasciami andare avanti e tirare fino, diciamo, questo. 1594 01:07:17,060 --> 01:07:18,540 Questo è qualcosa che remixato. 1595 01:07:18,540 --> 01:07:20,329 Realizzato da uno dei nostri studenti a Cambridge, 1596 01:07:20,329 --> 01:07:23,370 e poi ho attraversato e ha cambiato praticamente ogni istanza di Harvard 1597 01:07:23,370 --> 01:07:25,580 a Yale questa volta. 1598 01:07:25,580 --> 01:07:27,870 Qualcuno vuole competere contro i Ivies 1599 01:07:27,870 --> 01:07:31,650 qui in un altro accumulo di tutte queste idee? 1600 01:07:31,650 --> 01:07:32,662 Vieni giù, sì. 1601 01:07:32,662 --> 01:07:33,370 Come ti chiami? 1602 01:07:33,370 --> 01:07:34,190 >> DINA: Dina. 1603 01:07:34,190 --> 01:07:35,015 >> DAVID MALAN: Adina? 1604 01:07:35,015 --> 01:07:35,380 >> DINA: Dina. 1605 01:07:35,380 --> 01:07:36,410 >> DAVID MALAN: Dina, vieni giù. 1606 01:07:36,410 --> 01:07:37,320 Va bene, Dina. 1607 01:07:37,320 --> 01:07:40,780 Quindi, questo gioco diventa più difficile e più difficile, perché in questo gioco, 1608 01:07:40,780 --> 01:07:43,970 c'è variabili in uso pure che sono costantemente tenere traccia 1609 01:07:43,970 --> 01:07:45,930 di quale livello si è in gioco. 1610 01:07:45,930 --> 01:07:47,120 Piacere di conoscerti. 1611 01:07:47,120 --> 01:07:48,250 Vieni qui intorno. 1612 01:07:48,250 --> 01:07:51,460 E così l'obiettivo qui è quello di ordinare di rendere il vostro modo attraverso un labirinto 1613 01:07:51,460 --> 01:07:52,710 che questo studente implementato. 1614 01:07:52,710 --> 01:07:55,334 >> E proprio per preparare il terreno, ogni di queste immagini sullo schermo 1615 01:07:55,334 --> 01:07:57,222 è proprio sprite, il suo carattere. 1616 01:07:57,222 --> 01:07:59,680 Quindi questi erano da gatti di default, ma lo studente li cambiato 1617 01:07:59,680 --> 01:08:01,480 ai vari loghi edere qui. 1618 01:08:01,480 --> 01:08:04,370 E allora vedrai che proprio utilizzando condizioni e loop 1619 01:08:04,370 --> 01:08:06,848 e funzioni e di più, si ottiene questo. 1620 01:08:06,848 --> 01:08:07,478 >> [RIPRODUZIONE DI BRANI MUSICALI] 1621 01:08:07,478 --> 01:08:09,228 [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1622 01:08:09,228 --> 01:08:13,060 1623 01:08:13,060 --> 01:08:14,018 >> Sì, ok. 1624 01:08:14,018 --> 01:08:17,371 1625 01:08:17,371 --> 01:08:20,110 Sì, andare avanti. 1626 01:08:20,110 --> 01:08:21,180 In primo luogo è molto facile livello. 1627 01:08:21,180 --> 01:08:22,554 Hai appena avuto modo di andare laggiù. 1628 01:08:22,554 --> 01:08:25,644 Ma ancora una volta, considerare, questo è solo un ciclo di ascolto per la freccia keys-- 1629 01:08:25,644 --> 01:08:26,560 Su giù sinistra destra. 1630 01:08:26,560 --> 01:08:28,320 E ora un blocco di rilevamento. 1631 01:08:28,320 --> 01:08:29,345 Molto bella. 1632 01:08:29,345 --> 01:08:32,600 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1633 01:08:32,600 --> 01:08:40,340 1634 01:08:40,340 --> 01:08:41,288 >> Molto bella. 1635 01:08:41,288 --> 01:08:44,550 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1636 01:08:44,550 --> 01:08:55,540 1637 01:08:55,540 --> 01:08:56,430 >> Molto bella. 1638 01:08:56,430 --> 01:08:57,975 Abbastanza facile, Crimson. 1639 01:08:57,975 --> 01:08:59,060 Tutto ok. 1640 01:08:59,060 --> 01:09:00,250 Levels-- uh-oh. 1641 01:09:00,250 --> 01:09:02,380 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1642 01:09:02,380 --> 01:09:04,980 1643 01:09:04,980 --> 01:09:07,150 >> E ancora, in questi tre creste di Harvard, 1644 01:09:07,150 --> 01:09:10,334 basta logica dicendo che se sul bordo, rimbalzo. 1645 01:09:10,334 --> 01:09:13,238 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1646 01:09:13,238 --> 01:09:14,690 1647 01:09:14,690 --> 01:09:17,651 >> OK, quello che stai facendo è più interessante perché. 1648 01:09:17,651 --> 01:09:18,150 Molto bella. 1649 01:09:18,150 --> 01:09:18,810 Molto bella. 1650 01:09:18,810 --> 01:09:20,270 Uh Oh. 1651 01:09:20,270 --> 01:09:23,350 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1652 01:09:23,350 --> 01:09:26,005 1653 01:09:26,005 --> 01:09:27,630 Credo che bisogna sacrificare te stesso. 1654 01:09:27,630 --> 01:09:30,372 [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1655 01:09:30,372 --> 01:09:30,872 Veloce! 1656 01:09:30,872 --> 01:09:34,848 1657 01:09:34,848 --> 01:09:38,824 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1658 01:09:38,824 --> 01:09:44,288 1659 01:09:44,288 --> 01:09:44,788 Bello. 1660 01:09:44,788 --> 01:09:52,240 1661 01:09:52,240 --> 01:09:52,740 Va bene. 1662 01:09:52,740 --> 01:09:53,770 Otterrete esso. 1663 01:09:53,770 --> 01:09:56,304 Si si! 1664 01:09:56,304 --> 01:09:58,256 Molto bella. 1665 01:09:58,256 --> 01:10:01,184 >> [INCORAGGIA] 1666 01:10:01,184 --> 01:10:02,160 1667 01:10:02,160 --> 01:10:05,576 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1668 01:10:05,576 --> 01:10:09,480 1669 01:10:09,480 --> 01:10:10,940 >> Bello! 1670 01:10:10,940 --> 01:10:14,370 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1671 01:10:14,370 --> 01:10:39,050 1672 01:10:39,050 --> 01:10:39,550 Fatto. 1673 01:10:39,550 --> 01:10:41,510 Dai! 1674 01:10:41,510 --> 01:10:43,470 In secondo luogo per ultimo livello. 1675 01:10:43,470 --> 01:10:46,900 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1676 01:10:46,900 --> 01:10:49,588 1677 01:10:49,588 --> 01:10:50,580 >> Tutto ok. 1678 01:10:50,580 --> 01:10:54,052 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1679 01:10:54,052 --> 01:11:00,992 1680 01:11:00,992 --> 01:11:01,492 Sì. 1681 01:11:01,492 --> 01:11:06,230 1682 01:11:06,230 --> 01:11:08,020 Buon uso di variabili qui. 1683 01:11:08,020 --> 01:11:09,770 [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1684 01:11:09,770 --> 01:11:10,770 Sì. 1685 01:11:10,770 --> 01:11:14,743 [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1686 01:11:14,743 --> 01:11:16,707 1687 01:11:16,707 --> 01:11:17,689 Bello. 1688 01:11:17,689 --> 01:11:21,126 [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1689 01:11:21,126 --> 01:11:23,581 1690 01:11:23,581 --> 01:11:24,570 Va bene. 1691 01:11:24,570 --> 01:11:25,770 Abbiamo avuto modo di arrivare alla fine. 1692 01:11:25,770 --> 01:11:26,270 Là. 1693 01:11:26,270 --> 01:11:27,010 Oh! 1694 01:11:27,010 --> 01:11:29,980 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1695 01:11:29,980 --> 01:11:32,160 1696 01:11:32,160 --> 01:11:34,866 >> Potrebbe funzionare oggi in ritardo, ma sta andando essere valsa la pena. 1697 01:11:34,866 --> 01:11:38,200 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1698 01:11:38,200 --> 01:11:39,640 1699 01:11:39,640 --> 01:11:42,520 >> Puoi farlo! 1700 01:11:42,520 --> 01:11:43,480 Sì! 1701 01:11:43,480 --> 01:11:46,278 >> [INCORAGGIA] 1702 01:11:46,278 --> 01:11:47,230 1703 01:11:47,230 --> 01:11:50,086 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1704 01:11:50,086 --> 01:11:51,470 >> Questo è davvero difficile. 1705 01:11:51,470 --> 01:11:54,070 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1706 01:11:54,070 --> 01:11:57,458 1707 01:11:57,458 --> 01:11:59,000 >> Vi daremo altre due vite. 1708 01:11:59,000 --> 01:11:59,968 Puoi farlo? 1709 01:11:59,968 --> 01:12:03,356 >> [MUSICA - MC Hammer, "U PUÒ NON TOCCARE  QUESTO"] 1710 01:12:03,356 --> 01:12:06,744 1711 01:12:06,744 --> 01:12:07,244 >> Tutto ok. 1712 01:12:07,244 --> 01:12:09,160 Che ne dite di una grande rotonda di applausi comunque. 1713 01:12:09,160 --> 01:12:10,800 You got a seconda di ultimo livello. 1714 01:12:10,800 --> 01:12:11,723 Grazie. 1715 01:12:11,723 --> 01:12:14,964 >> [APPLAUSI] 1716 01:12:14,964 --> 01:12:15,890 1717 01:12:15,890 --> 01:12:19,600 >> Quindi questo è solo per dire quanto si può fare con questo genere di cose. 1718 01:12:19,600 --> 01:12:21,892 E rendersi conto, anche, che quando pezzi del puzzle non exist-- 1719 01:12:21,892 --> 01:12:24,891 e in effetti, questo sta per essere uno dei poteri con il primo problema 1720 01:12:24,891 --> 01:12:27,080 set e beyond-- è quello di effettivamente creare il proprio. 1721 01:12:27,080 --> 01:12:28,860 E questo è solo un frammento di uno degli esempi 1722 01:12:28,860 --> 01:12:30,230 sarete in grado di giocare con on-line, dove 1723 01:12:30,230 --> 01:12:33,380 se non avete costruito in Scratch qualcosa di simile a un pezzo di puzzle tosse, 1724 01:12:33,380 --> 01:12:35,470 si può effettivamente fare da soli. 1725 01:12:35,470 --> 01:12:37,387 >> E così tutti questo e molto altro vi aspetta. 1726 01:12:37,387 --> 01:12:39,470 E proprio per dipingere una finale immagine di ciò che è davvero 1727 01:12:39,470 --> 01:12:43,120 avanti in serbo per la classe per voi, sulla base di alcune immagini da compagni di classe 1728 01:12:43,120 --> 01:12:46,970 passato, mi permetta di abbassare le luci per l'ultima volta e vi mostrerà CS50. 1729 01:12:46,970 --> 01:12:49,580 1730 01:12:49,580 --> 01:12:53,038 >> [RIPRODUZIONE DI BRANI MUSICALI] 1731 01:12:53,038 --> 01:14:38,210 1732 01:14:38,210 --> 01:14:38,860 >> Tutto ok. 1733 01:14:38,860 --> 01:14:41,540 Questo è tutto per CS50. 1734 01:14:41,540 --> 01:14:44,964 La torta è ora servito. 1735 01:14:44,964 --> 01:14:50,610 1736 01:14:50,610 --> 01:14:53,960 >> [RIPRODUZIONE DI BRANI MUSICALI] 1737 01:14:53,960 --> 01:15:07,624