1 00:00:00,000 --> 00:00:03,440 >> [MUSIC JOC] 2 00:00:03,440 --> 00:01:57,217 3 00:01:57,217 --> 00:02:00,710 >> [Aplauze] 4 00:02:00,710 --> 00:02:05,700 5 00:02:05,700 --> 00:02:09,669 >> David J. MALAN: Acest lucru este CS50, Introducerea Universitatea Harvard 6 00:02:09,669 --> 00:02:12,370 pentru intelectualul întreprinderile de informatică 7 00:02:12,370 --> 00:02:14,180 și arta de programare. 8 00:02:14,180 --> 00:02:17,530 Acum, dacă sunteți printre cei care în fiecare an, stau aici 9 00:02:17,530 --> 00:02:21,450 cu un pic de nervi în mintea ta, cum ar că tu nu crezi că ți-e locul aici, 10 00:02:21,450 --> 00:02:24,270 crezi că cele mai multe cineva stând în jurul tău 11 00:02:24,270 --> 00:02:27,730 știe mult mai mult decât tine, este într-adevăr mai confortabil decât la calculator 12 00:02:27,730 --> 00:02:30,430 stiinta sau computere mai mult, în general, dau seama 13 00:02:30,430 --> 00:02:36,140 că 78% dintre elevii care au acum ia CS50 nu au nici o experiență anterioară. 14 00:02:36,140 --> 00:02:39,570 >> Într-adevăr, există 100 de puncte acolo pe ecran, dintre care 78 15 00:02:39,570 --> 00:02:43,540 sunt de culoare verde solid, care înseamnă, daca esti printre care demografică, 16 00:02:43,540 --> 00:02:46,420 sunt în foarte bună companie aici pe afară. 17 00:02:46,420 --> 00:02:50,320 Și dacă ești în locul printre 22% dintre elevii CS50 care face într-adevăr 18 00:02:50,320 --> 00:02:53,920 au experiență anterioară, dacă în liceu sau un alt program, 19 00:02:53,920 --> 00:02:56,430 seama că, de asemenea, va fi contestată în curs. 20 00:02:56,430 --> 00:02:59,930 >> Nu numai că avem trasee diferite pentru elevii mai puțin confortabil și mai mult 21 00:02:59,930 --> 00:03:03,789 confortabil la fel în secțiuni, ne-am De asemenea, au așa-numitele ediții ale hackerilor 22 00:03:03,789 --> 00:03:06,080 de cele mai multe probleme stabilește că va contesta elevii 23 00:03:06,080 --> 00:03:09,650 cu această experiență suplimentară pentru a explora material similar 24 00:03:09,650 --> 00:03:12,140 ci dintr-o mai perspectivă sofisticat. 25 00:03:12,140 --> 00:03:13,900 >> Dar ceea ce este informatica? 26 00:03:13,900 --> 00:03:17,750 Ei bine, în cele din urmă, ce se întâmplă la Indiferent ca ai explora acest domeniu nu este 27 00:03:17,750 --> 00:03:20,500 atât de mult în cazul în care va ajunge în raport cu colegii dumneavoastră, 28 00:03:20,500 --> 00:03:25,350 dar unde te ajunge în săptămâna 12 față de unde începe aici 29 00:03:25,350 --> 00:03:26,720 în săptămâna zero. 30 00:03:26,720 --> 00:03:31,850 Acum calculator science-- bine, hai sa numesc știința de computation-- 31 00:03:31,850 --> 00:03:35,910 unde calcul este de fapt doar un mod fantezist de a spune, a lua unele de intrare, 32 00:03:35,910 --> 00:03:39,460 producătoare de unele ieșire, și Astfel de algoritmi de funcționare, 33 00:03:39,460 --> 00:03:43,700 seturi de instrucțiuni pentru rezolvarea unele probleme cu privire la aceste intrări 34 00:03:43,700 --> 00:03:48,460 în scopul de a produce unele ieșire sau soluție în care sunteți interesat. 35 00:03:48,460 --> 00:03:51,310 >> Așa că am avut recent prilej de a călători în 36 00:03:51,310 --> 00:03:53,170 în California să se întâlnească cu o absolventă. 37 00:03:53,170 --> 00:03:54,650 Numele ei este Susan Wojcicki. 38 00:03:54,650 --> 00:03:57,190 Și ea vrea să vorbească pentru a te aici pe video 39 00:03:57,190 --> 00:04:01,690 să depună mărturie la cât de aplicabilă chiar doar un gust de calculator 40 00:04:01,690 --> 00:04:03,770 stiinta de la nivel introductiv poate fi. 41 00:04:03,770 --> 00:04:06,870 Chiar dacă nu te duci pe la urmări informatica ca un câmp, 42 00:04:06,870 --> 00:04:09,330 sau chiar de inginerie, sau STEM mai general, 43 00:04:09,330 --> 00:04:12,360 veți vedea, de fapt, modul în care o anumită Desigur, astfel influențat viața ei. 44 00:04:12,360 --> 00:04:16,630 Și ea abia a luat atunci când ea a fost un senior aici la Harvard College. 45 00:04:16,630 --> 00:04:19,482 >> Dacă am putea dim luminile de Susan. 46 00:04:19,482 --> 00:04:20,690 SUSAN Wojcicki: Buna ziua, lume. 47 00:04:20,690 --> 00:04:22,100 Sunt Susan Wojcicki. 48 00:04:22,100 --> 00:04:24,110 Eu sunt CEO al YouTube. 49 00:04:24,110 --> 00:04:29,150 Și am luat CS50 când am fost un senior la Harvard în 1990. 50 00:04:29,150 --> 00:04:31,220 Am fost de fapt o istorie și mare literatură. 51 00:04:31,220 --> 00:04:36,760 >> Și vara mea junior, Am dat seama că poate am 52 00:04:36,760 --> 00:04:39,060 a vrut să învețe ceva despre computere. 53 00:04:39,060 --> 00:04:40,930 Și așa, m-am întors. 54 00:04:40,930 --> 00:04:42,500 Mi-am luat CS50. 55 00:04:42,500 --> 00:04:46,940 A fost greu, dar a fost cel mai uimitor de clasă i-am luat. 56 00:04:46,940 --> 00:04:49,630 >> Mi-a schimbat modul în care cred despre tot. 57 00:04:49,630 --> 00:04:55,810 Și când am absolvit de la Harvard în 1990, m-am dus la Silicon Valley. 58 00:04:55,810 --> 00:04:57,140 Și am un loc de muncă. 59 00:04:57,140 --> 00:05:00,150 Și eu am fost de lucru în tech de atunci. 60 00:05:00,150 --> 00:05:02,650 David J. MALAN: Acum ce Susan nu a menționat în acest film, 61 00:05:02,650 --> 00:05:05,340 ca, de fapt, în ei garaj care Google în sine a fost 62 00:05:05,340 --> 00:05:07,420 fondata de Larry și Sergey. 63 00:05:07,420 --> 00:05:11,169 >> Acum avem, de asemenea, a ajuns la prietenii noștri la code.org, o organizație care 64 00:05:11,169 --> 00:05:13,460 pe parcursul anului trecut a fost de obtinerea de oameni deosebit de 65 00:05:13,460 --> 00:05:16,520 încântați de informatică și programare, în special. 66 00:05:16,520 --> 00:05:20,590 Dar este de remarcat faptul că programarea nu este știință de calculator în sine. 67 00:05:20,590 --> 00:05:22,090 Informatică nu este de programare. 68 00:05:22,090 --> 00:05:24,560 Mai degrabă de programare este doar un tool-- cu care voi toți 69 00:05:24,560 --> 00:05:27,510 va fi prea bine familiar cu end-- semestru 70 00:05:27,510 --> 00:05:30,650 astfel încât nu se poate aplica doar la viitoarele cursuri de CS 71 00:05:30,650 --> 00:05:33,670 dar pentru orice domenii de unde vii, în umaniste, 72 00:05:33,670 --> 00:05:36,090 științe sociale, naturale știință, sau altele asemenea. 73 00:05:36,090 --> 00:05:39,740 >> Într-adevăr, permite o altă câteva absolventii si colegii lor 74 00:05:39,740 --> 00:05:43,400 pentru a vorbi la aplicabilitatea din câmpul care așteaptă. 75 00:05:43,400 --> 00:05:52,340 76 00:05:52,340 --> 00:05:57,350 >> Bill Gates: Am fost 13, atunci când am Primul a avut acces la un calculator. 77 00:05:57,350 --> 00:06:00,485 >> JACK DORSEY: Părinții mei mi-a cumpărat un Macintosh în 1984 78 00:06:00,485 --> 00:06:01,640 când aveam opt ani-vechi. 79 00:06:01,640 --> 00:06:02,990 >> Mark Zuckerberg: Am fost în clasa a șasea. 80 00:06:02,990 --> 00:06:04,670 >> SPEAKER 1: Am învățat să cod în facultate. 81 00:06:04,670 --> 00:06:09,080 >> RUCHI Sanghvi: primul an de liceu, primul semestru, Introducere în Informatică. 82 00:06:09,080 --> 00:06:11,850 >> Bill Gates: I-am scris un program de care a jucat tic-tac-toe. 83 00:06:11,850 --> 00:06:14,100 >> DREW HOUSTON: Cred că a fost începuturi destul de modeste. 84 00:06:14,100 --> 00:06:16,370 Cred că primul program I-am scris întrebat lucruri cum ar fi, 85 00:06:16,370 --> 00:06:17,820 Care e culoarea ta preferată? 86 00:06:17,820 --> 00:06:18,696 Sau câți ani ai? 87 00:06:18,696 --> 00:06:21,070 ELENA SILENOK: Am aflat pentru prima dată modul de a face un cerc verde 88 00:06:21,070 --> 00:06:23,670 și un pătrat de culoare roșie apare pe ecran. 89 00:06:23,670 --> 00:06:25,420 GABE NEWELL: Prima timp am avut de fapt 90 00:06:25,420 --> 00:06:27,360 ceva vin și spun, salut, lume. 91 00:06:27,360 --> 00:06:29,710 Și am făcut un calculator face asta. 92 00:06:29,710 --> 00:06:30,850 A fost doar uimitor. 93 00:06:30,850 --> 00:06:33,224 >> Mark Zuckerberg: Învățarea cum a programului nu a începe 94 00:06:33,224 --> 00:06:35,450 ca dorința de a învăța toate de informatică 95 00:06:35,450 --> 00:06:38,630 sau încearcă să stăpânească această disciplina sau ceva de genul asta. 96 00:06:38,630 --> 00:06:41,591 Pur și simplu a început pentru că am a vrut să facă un lucru simplu. 97 00:06:41,591 --> 00:06:44,340 Am vrut să fac ceva care A fost distractiv pentru mine și surorile mele. 98 00:06:44,340 --> 00:06:46,399 >> Și am scris acest mic program. 99 00:06:46,399 --> 00:06:48,440 Și atunci, practic, doar adaugă un pic la ea. 100 00:06:48,440 --> 00:06:49,930 Și atunci când am avut nevoie de de a învăța ceva nou, 101 00:06:49,930 --> 00:06:52,210 M-am uitat în sus, fie în o carte sau pe internet, 102 00:06:52,210 --> 00:06:53,240 și apoi se adaugă un pic la ea. 103 00:06:53,240 --> 00:06:56,300 >> DREW HOUSTON: Nu e adevărat, spre deosebire de cântatul la un instrument sau ceva 104 00:06:56,300 --> 00:07:00,007 sau practicarea unui sport. 105 00:07:00,007 --> 00:07:01,090 David J. MALAN: Bine. 106 00:07:01,090 --> 00:07:04,120 Așa că haideți să ne acum de fapt se arunca cu capul într-un pic mai profund. 107 00:07:04,120 --> 00:07:07,430 Ce sunt aceste intrări și ieșiri că vorbim despre aici? 108 00:07:07,430 --> 00:07:09,110 >> Deci, ce zici de ceva simplu? 109 00:07:09,110 --> 00:07:12,120 Probabil știți, chiar dacă aveți nu familiaritate cu stiinta calculatoarelor 110 00:07:12,120 --> 00:07:16,570 un fel, că computerele folosesc într-un fel și înțelege numai zero si unu. 111 00:07:16,570 --> 00:07:20,500 Dar cum poate fi, eventual, având în vedere cât desktop-uri mult astăzi și laptop-uri, cât 112 00:07:20,500 --> 00:07:21,280 se poate face? 113 00:07:21,280 --> 00:07:24,310 >> ADN-ul de a doua zi, singurul alfabet că ei înțeleg 114 00:07:24,310 --> 00:07:26,410 este zero sau una. 115 00:07:26,410 --> 00:07:27,470 Ei bine, ia în considerare acest lucru. 116 00:07:27,470 --> 00:07:30,840 Noi, oamenii, tind să folosească sistem zecimal. "Decembrie", ceea ce înseamnă 10. 117 00:07:30,840 --> 00:07:33,970 Și asta pentru că avem 10 10 cifre, 0 prin nouă. 118 00:07:33,970 --> 00:07:36,180 >> Acum calculatoare, prin contrast, tendința de a folosi binar. 119 00:07:36,180 --> 00:07:37,270 "Bi", adică doi. 120 00:07:37,270 --> 00:07:39,560 Deci, ei au tendința de a utiliza numai zero și unu. 121 00:07:39,560 --> 00:07:42,680 Dar se pare, că chiar doar cu zero si unu, care 122 00:07:42,680 --> 00:07:45,900 este un alfabet suficient de mare cu care să reprezinte cel 123 00:07:45,900 --> 00:07:48,490 orice bucată de date pe care doriți, indiferent dacă este un număr, 124 00:07:48,490 --> 00:07:52,100 indiferent dacă este un mesaj, fie că este vorba un grafic sau video de pe ecran. 125 00:07:52,100 --> 00:07:57,140 >> Luați în considerare, de exemplu, modul în care noi, oamenii, interpreta de obicei, acest număr aici. 126 00:07:57,140 --> 00:08:00,010 Acest lucru este doar trei cifre, unul, doi, trei. 127 00:08:00,010 --> 00:08:04,570 Dar noi știm acest număr înnăscută acum ca 123. 128 00:08:04,570 --> 00:08:05,510 Dar de ce este asta? 129 00:08:05,510 --> 00:08:07,570 >> Ei bine, dacă vă gândiți la, probabil, școala primară, 130 00:08:07,570 --> 00:08:11,700 probabil s-au învățat să se gândească la aceste numere ca fiind în coloane, 131 00:08:11,700 --> 00:08:14,700 în cazul în care unul este în sute loc, cei doi se află în locul zeci, 132 00:08:14,700 --> 00:08:16,360 iar cele trei este în locul celor. 133 00:08:16,360 --> 00:08:17,790 De ce este că, de fapt util? 134 00:08:17,790 --> 00:08:19,665 Ei bine, gândiți-vă la aritmetică super-simplu 135 00:08:19,665 --> 00:08:22,219 că noi toți am fost face de ani de zile acum. 136 00:08:22,219 --> 00:08:24,510 Efectiv, dacă ai unul în locul sute, 137 00:08:24,510 --> 00:08:29,610 tu faci matematica rapid 100 ori un plus de 10 ori 2-- 138 00:08:29,610 --> 00:08:33,059 pentru că a doua este de ordinul zecilor loc-- plus 1 ori 3-- 139 00:08:33,059 --> 00:08:34,830 deoarece trei este în locul celor. 140 00:08:34,830 --> 00:08:37,039 Deci, desigur, dacă ne de fapt multiplica acest lucru, 141 00:08:37,039 --> 00:08:39,600 ceea ce suntem cu adevărat, reprezentând cu aceasta pattern-- 142 00:08:39,600 --> 00:08:46,150 două three-- este de 100 plus 20 plus 3, care, desigur, este 123. 143 00:08:46,150 --> 00:08:51,130 >> Acum binar, și calculatoare într-adevăr, vorbesc în mod fundamental aceeași limbă 144 00:08:51,130 --> 00:08:51,680 pe care le face. 145 00:08:51,680 --> 00:08:53,400 Ei au doar un alfabet mai mic. 146 00:08:53,400 --> 00:08:57,100 Deci, calculatoarele au numai zerouri și cele aflate la dispoziția lor. 147 00:08:57,100 --> 00:09:02,500 Deci, în timp ce noi, oamenii, au, în esență, puteri de 10, în fiecare din aceste places-- 148 00:09:02,500 --> 00:09:06,810 10 la zero, 10 la unul, zece la cele două, oferindu-vă 110 și 100 149 00:09:06,810 --> 00:09:07,700 respectiv. 150 00:09:07,700 --> 00:09:12,140 >> Deoarece computerele au doar două valori ei pot înțelege, zero și unu, 151 00:09:12,140 --> 00:09:16,600 ei trebuie să folosească valori diferite în aceste coloane, una, două, patru. 152 00:09:16,600 --> 00:09:20,480 Și dacă ne-am continuat drumul, opt, 16, 32, 64, și așa mai departe. 153 00:09:20,480 --> 00:09:24,220 Dar modelul și mentalitatea este exact la fel. 154 00:09:24,220 --> 00:09:27,340 >> Deci, prin această logică, cineva, cum ar fi Mă duc despre care reprezintă numărul 155 00:09:27,340 --> 00:09:28,530 unul în binar? 156 00:09:28,530 --> 00:09:33,080 Dacă v-ați gândit niciodatã sã acest lucru înainte, ceea ce se spune instinctul? 157 00:09:33,080 --> 00:09:33,777 >> Audiența: Unul. 158 00:09:33,777 --> 00:09:34,610 David J. MALAN: Unu. 159 00:09:34,610 --> 00:09:35,660 Exact. 160 00:09:35,660 --> 00:09:38,100 Avem nevoie doar de un singur în loc cele deoarece zerourile 161 00:09:38,100 --> 00:09:40,610 este suficient pentru a ne da nici un patru nici un doi. 162 00:09:40,610 --> 00:09:42,440 Deci, unul ori unul este egal cu unul. 163 00:09:42,440 --> 00:09:43,940 Acum, lucrurile devin un pic mai interesant. 164 00:09:43,940 --> 00:09:46,830 Dacă vreau să reprezinte în binare, numărul doi-- dar, 165 00:09:46,830 --> 00:09:49,790 din nou, chiar dacă nu ați mai vorbit această limbă înainte, 166 00:09:49,790 --> 00:09:54,680 cum putem reprezenta în binar valoarea pe care o oamenii stiu ca doi? 167 00:09:54,680 --> 00:09:55,570 Zero un zero. 168 00:09:55,570 --> 00:09:57,620 Doar pune cel din coloana pe care-l vrei. 169 00:09:57,620 --> 00:09:59,560 >> Acum se face destul de ușor, probabil, acum. 170 00:09:59,560 --> 00:10:02,950 Deci, dacă vreau să reprezinte three-- nu există nici o coloana trei a lui. 171 00:10:02,950 --> 00:10:06,770 Deci, din nou, eu pot adăuga acum aceste valori împreună cu punerea una aici. 172 00:10:06,770 --> 00:10:10,320 Deci, de 2 ori 1 plus 1 ori 1 este, desigur, 3. 173 00:10:10,320 --> 00:10:13,480 >> Acum, lucrurile devin un pic de distracție în cei care devin acum zerouri. 174 00:10:13,480 --> 00:10:15,480 Și pentru a reprezenta patru, am obține acest. 175 00:10:15,480 --> 00:10:19,310 Și dacă ne-am incrementa încet aici-- că ar fi cinci. 176 00:10:19,310 --> 00:10:20,700 Acest lucru ar fi șase. 177 00:10:20,700 --> 00:10:22,100 Acest lucru ar fi de șapte. 178 00:10:22,100 --> 00:10:25,310 >> Dar acum mi se pare a avea alerga într-o problemă. 179 00:10:25,310 --> 00:10:30,520 Cum s-ar putea să merg despre care reprezintă eight-- ar fi valoarea viitoare. 180 00:10:30,520 --> 00:10:31,900 Da, asa ca am nevoie de un nou biți. 181 00:10:31,900 --> 00:10:33,899 Și, într-adevăr, dacă ai a auzit această frază înainte, 182 00:10:33,899 --> 00:10:37,380 biți, asta e doar pentru scurt cifre binare, zero sau unu. 183 00:10:37,380 --> 00:10:41,520 >> Și așa se întâmplă să fie, reprezentând numai trei astfel de biți aici. 184 00:10:41,520 --> 00:10:44,900 Dar dacă am avut un fel de nu stocare trei diferite de biți, dar patru, 185 00:10:44,900 --> 00:10:47,250 cu siguranță am putea reprezenta opt, și apoi nouă, și apoi 186 00:10:47,250 --> 00:10:49,400 10, și chiar mai mare și mai mare. 187 00:10:49,400 --> 00:10:52,140 >> Dar apoi cheamă în discuție modul în care putem 188 00:10:52,140 --> 00:10:54,540 du-te cu privire la acestea reprezentând lucruri în primul rând. 189 00:10:54,540 --> 00:10:56,950 Este un lucru pentru a trage le aici pe un diapozitiv, 190 00:10:56,950 --> 00:11:00,660 dar cum a face tu le reprezintă daca esti un dispozitiv mecanic? 191 00:11:00,660 --> 00:11:04,390 Ce este un calculator face la reprezintă intrările și ieșirile care 192 00:11:04,390 --> 00:11:09,020 defini în mod fundamental de calcul la sfârșitul zilei? 193 00:11:09,020 --> 00:11:12,090 >> Ei bine, ce zici de ceva super-simplu ca asta? 194 00:11:12,090 --> 00:11:13,200 E doar un bec. 195 00:11:13,200 --> 00:11:15,460 Și eu pot declanșa această bec pentru a merge la 196 00:11:15,460 --> 00:11:17,920 prin rotirea unele electricitate pe și permit electroni 197 00:11:17,920 --> 00:11:22,585 să curgă prin, care se schimbă de de stat sau valoarea sa, ca să spunem așa. 198 00:11:22,585 --> 00:11:24,460 De exemplu, acest lucru este o lampă de birou vechi de școală 199 00:11:24,460 --> 00:11:27,250 aici cu un astfel de bec în interiorul de el. 200 00:11:27,250 --> 00:11:29,940 Iar acum nu e a face într-adevăr ceva folositor. 201 00:11:29,940 --> 00:11:32,680 Dar, de îndată ce am să vă conectați într-o priză electrică 202 00:11:32,680 --> 00:11:36,390 și apoi să utilizați acest switch-- sau am putea spune un tranzistor 203 00:11:36,390 --> 00:11:39,970 sau cred ca e such-- Eu pot reprezenta acum, fie 204 00:11:39,970 --> 00:11:44,120 această valoare, în cazul în care becul de evident off, sau această valoare. 205 00:11:44,120 --> 00:11:46,060 Această valoare sau această valoare. 206 00:11:46,060 --> 00:11:47,520 Această valoare și așa mai departe. 207 00:11:47,520 --> 00:11:51,220 >> Deci în interiorul unui calculator, probabil, sunt piese mult mai mici de hardware, 208 00:11:51,220 --> 00:11:52,970 dar că, la sfârșitul zilei au pur și simplu 209 00:11:52,970 --> 00:11:55,360 de a utiliza electricity-- poate capta it-- 210 00:11:55,360 --> 00:11:59,730 și apoi, fie să păstreze ceva sau păstra ceva în afara. 211 00:11:59,730 --> 00:12:02,021 Desigur, acest lucru nu este deosebit de interesant pentru a face 212 00:12:02,021 --> 00:12:03,270 cu doar un singur bec. 213 00:12:03,270 --> 00:12:06,726 >> De fapt, cât de mare poate conta în binar cu această lampă de birou aici? 214 00:12:06,726 --> 00:12:07,420 >> Audiența: Unul. 215 00:12:07,420 --> 00:12:08,545 >> David J. MALAN: O, da? 216 00:12:08,545 --> 00:12:11,020 Am nevoie de mai multe lămpi de birou, dacă am de fapt, doresc să conteze mai mare. 217 00:12:11,020 --> 00:12:12,210 Dar putem face mai bine decât asta. 218 00:12:12,210 --> 00:12:14,460 Pentru ca becurile care ne-am pus în aceste lucruri 219 00:12:14,460 --> 00:12:17,730 sunt becuri de fapt crescator decât odinioară s-ar permite. 220 00:12:17,730 --> 00:12:20,310 Și sunt de fapt becuri rețea. 221 00:12:20,310 --> 00:12:23,160 Și buchete de companii face aceste lucruri în aceste zile. 222 00:12:23,160 --> 00:12:25,190 >> Dar se pare că aceasta în special 223 00:12:25,190 --> 00:12:27,680 vine cu o caracteristică prin care aveți posibilitatea să modificați culorile sale. 224 00:12:27,680 --> 00:12:30,810 Deci, de exemplu, dacă împodobit camera de camin 225 00:12:30,810 --> 00:12:33,200 cu câteva dintre acestea lumină becuri, în funcție de starea ta de spirit, 226 00:12:33,200 --> 00:12:35,366 în funcție de care vine, în funcție de vreme, 227 00:12:35,366 --> 00:12:37,360 în funcție de timpul de zi, poti de fapt 228 00:12:37,360 --> 00:12:40,300 schimba culorile becurile din camera ta. 229 00:12:40,300 --> 00:12:43,740 Și asta pentru că acestea lumină bulbi si altii ca el au ceea ce este 230 00:12:43,740 --> 00:12:48,010 numit un API, o cerere interfață de programare, care 231 00:12:48,010 --> 00:12:50,920 este un subiect cu care vei fi bine familiarizat cu până la sfârșitul semestru. 232 00:12:50,920 --> 00:12:53,710 >> Și aceasta este doar o fantezie, mod criptic de a spune, 233 00:12:53,710 --> 00:12:57,570 puteți programa aceste lumina becuri pentru a face licitare dumneavoastră. 234 00:12:57,570 --> 00:13:00,360 Aveți posibilitatea să le trimiteți mesaje la fel ca tine, un om, 235 00:13:00,360 --> 00:13:03,640 poate trimite un mesaj la un server de web spune, da-mi noutăți ale zilei 236 00:13:03,640 --> 00:13:05,110 sau da-mi e-mail meu. 237 00:13:05,110 --> 00:13:08,010 >> Puteți trimite mai multe arcane Mesajele la aceste becuri 238 00:13:08,010 --> 00:13:09,700 a spus, la rândul său și opri. 239 00:13:09,700 --> 00:13:11,370 Dar asta nu e tot ce interesant. 240 00:13:11,370 --> 00:13:14,280 Puteți spune, la rândul său roșu, rândul său, pe verde, porniți albastru, 241 00:13:14,280 --> 00:13:15,990 toate cu același bec. 242 00:13:15,990 --> 00:13:20,990 Și puteți chiar, cu un pic mai mult savvy, spune, întoarce-te la albastru 243 00:13:20,990 --> 00:13:24,710 atunci când este o zi tristă exterior, de exemplu. 244 00:13:24,710 --> 00:13:27,910 Se poate patch-uri de fapt, în un API vreme și de a afla 245 00:13:27,910 --> 00:13:32,260 ceea ce vremea este, sau timpul de de zi, sau alte astfel de factori declanșatori. 246 00:13:32,260 --> 00:13:35,550 >> Deci, de fapt, două dintre Membri ai personalului propriu CS50 lui, 247 00:13:35,550 --> 00:13:38,827 Dan Bradley și Ansel Duff aici, vă rugăm să procurate 248 00:13:38,827 --> 00:13:40,410 ne o grămadă de aceste becuri. 249 00:13:40,410 --> 00:13:42,910 Și-au construit lui CS50 Primele becuri vreodată binare, 250 00:13:42,910 --> 00:13:46,850 unde am reprezentat aici-- cu aceste magnets-- jucaus puțin 251 00:13:46,850 --> 00:13:49,780 diferitele substituenții noi a făcut aluzie la doar un pic în urmă. 252 00:13:49,780 --> 00:13:52,572 >> Deci, până aici este loc cele, două, patru. 253 00:13:52,572 --> 00:13:54,030 Iar noi n-am văzut mai mult decât atât. 254 00:13:54,030 --> 00:13:55,613 Dar, desigur, ei sunt puteri ale lui doi. 255 00:13:55,613 --> 00:13:59,490 Opt, 16, 32, 64, și 128. 256 00:13:59,490 --> 00:14:03,320 Deci, dacă acum vreau sa fiu un pic crescator decât cu ajutorul acestui comutator școală veche, 257 00:14:03,320 --> 00:14:07,310 Am aici pe acest iPad o interfață super-simplu 258 00:14:07,310 --> 00:14:10,440 că Dan Bradley, un fost elev și colegi acum de predare, 259 00:14:10,440 --> 00:14:13,510 programat folosind unele HTML și JavaScript, care 260 00:14:13,510 --> 00:14:15,685 sunt markup și de programare respectiv limbi. 261 00:14:15,685 --> 00:14:17,560 Și puteți, probabil, see-- chiar în back-- 262 00:14:17,560 --> 00:14:21,670 există un mare plus și un minus mare, plus un buton pentru fiecare dintre aceste becuri. 263 00:14:21,670 --> 00:14:25,740 Și ce acest lucru se întâmplă pentru a-mi permite să Nu este, de exemplu, faceți clic pe plus 264 00:14:25,740 --> 00:14:28,250 și acum reprezintă, de Desigur, ce număr? 265 00:14:28,250 --> 00:14:28,750 One. 266 00:14:28,750 --> 00:14:30,220 Și eu pot lovi din nou. 267 00:14:30,220 --> 00:14:31,480 Doi. 268 00:14:31,480 --> 00:14:32,800 Trei. 269 00:14:32,800 --> 00:14:33,950 Patru. 270 00:14:33,950 --> 00:14:35,200 Cinci. 271 00:14:35,200 --> 00:14:36,360 Șase. 272 00:14:36,360 --> 00:14:36,880 Șapte. 273 00:14:36,880 --> 00:14:40,740 >> Și aici avem că rollover, dar avem un al patrulea bit de data aceasta, 274 00:14:40,740 --> 00:14:42,180 așa că acum avem opt. 275 00:14:42,180 --> 00:14:44,000 Deci, am putea face acest lucru de ceva timp. 276 00:14:44,000 --> 00:14:46,530 De fapt, ca o paranteză, cât de mare am putea conta? 277 00:14:46,530 --> 00:14:48,318 Oricine? 278 00:14:48,318 --> 00:14:49,270 >> Audiența: 255. 279 00:14:49,270 --> 00:14:51,420 >> David J. MALAN: 255, corect? 280 00:14:51,420 --> 00:14:54,900 Nu vă faceți griji prea mult despre matematica pentru acum, dar asta e un număr destul de decent. 281 00:14:54,900 --> 00:14:59,140 Dar de fapt, nu doar legat cum de multe bucăți de informații, 282 00:14:59,140 --> 00:15:01,760 ca o scrisoare, sau un grafic pe care le-ar putea reprezenta. 283 00:15:01,760 --> 00:15:02,697 >> Dar indiferent de acum. 284 00:15:02,697 --> 00:15:04,530 Am de gând să merg mai departe și porniți-le pe toate off. 285 00:15:04,530 --> 00:15:09,670 Și dacă aș putea, aș dori să întreb pentru un voluntar, primul nostru volunteer-- 286 00:15:09,670 --> 00:15:11,342 oh, hello-- pe scenă. 287 00:15:11,342 --> 00:15:14,050 Captura este că trebuie să fii apar confortabil, în timp ce în mod clar 288 00:15:14,050 --> 00:15:17,421 sunt în fața tuturor colegilor dumneavoastră, precum și pe internet. 289 00:15:17,421 --> 00:15:20,420 Și permiteți-mi să se uite un pic dincolo de Cel-- ce zici aici, în cămașă albă? 290 00:15:20,420 --> 00:15:20,920 Și de mână în sus. 291 00:15:20,920 --> 00:15:22,071 Hai sus. 292 00:15:22,071 --> 00:15:22,820 Care este numele tau? 293 00:15:22,820 --> 00:15:23,760 >> Audiența: Jackie. 294 00:15:23,760 --> 00:15:24,718 >> David J. MALAN: Jackie. 295 00:15:24,718 --> 00:15:25,820 Jackie, hai sus. 296 00:15:25,820 --> 00:15:29,820 Deci, ce este, de asemenea, pe această iPad este un buton numit modul pentru jocuri. 297 00:15:29,820 --> 00:15:32,570 Și acest mod de joc este O să-mi permit să introduceți 298 00:15:32,570 --> 00:15:35,780 în prealabil un anumit zecimal număr, numerele noi, oamenii sunt 299 00:15:35,780 --> 00:15:36,760 familiarizat cu. 300 00:15:36,760 --> 00:15:39,820 Și atunci va fi contestată aici pentru a utiliza butoanele 301 00:15:39,820 --> 00:15:42,140 pe cea top-- pentru fiecare dintre aceste bulbs-- 302 00:15:42,140 --> 00:15:45,050 să dau efectiv modelul de becuri 303 00:15:45,050 --> 00:15:46,970 care reprezintă numărul în cauză. 304 00:15:46,970 --> 00:15:47,790 >> Și îmi pare rău, ceea ce a fost din nou numele tău? 305 00:15:47,790 --> 00:15:48,250 >> Audiența: Jackie. 306 00:15:48,250 --> 00:15:48,620 >> David J. MALAN: Jackie. 307 00:15:48,620 --> 00:15:48,920 În regulă. 308 00:15:48,920 --> 00:15:49,740 Mă bucur să te cunosc. 309 00:15:49,740 --> 00:15:54,580 >> Așa că lasă-mă să mergeți mai departe și de program în pentru ca lumea să vadă numărul 15. 310 00:15:54,580 --> 00:15:56,360 Vom păstra mic la început aici. 311 00:15:56,360 --> 00:15:58,240 Și am de gând să merg în modul pentru jocuri. 312 00:15:58,240 --> 00:16:01,160 Și am de gând să precizeze, să ne dea numărul 15. 313 00:16:01,160 --> 00:16:01,900 >> OK. 314 00:16:01,900 --> 00:16:05,510 Iar acum, cu toată lumea watching-- dacă vrei sa stai poate în acest fel, 315 00:16:05,510 --> 00:16:09,970 pentru că va alinia up-- merge mai departe și comuta cele opt butoane de-a lungul partea de sus 316 00:16:09,970 --> 00:16:12,530 la rândul său, becurile de pe sau off ca tu de cuviință. 317 00:16:12,530 --> 00:16:13,530 >> Audiența: OK. 318 00:16:13,530 --> 00:16:17,720 >> David J. MALAN: Și nu inseala prin lovirea plus de 15 ori. 319 00:16:17,720 --> 00:16:19,275 Oh, vom face asta. 320 00:16:19,275 --> 00:16:20,069 >> Audiența: Oh, așteptați. 321 00:16:20,069 --> 00:16:20,610 Îmi pare foarte rău. 322 00:16:20,610 --> 00:16:22,660 >> David J. MALAN: Puteți activa, de asemenea, becurile de pe individual 323 00:16:22,660 --> 00:16:24,076 cu fiecare dintre aceste butoane pe partea de sus. 324 00:16:24,076 --> 00:16:24,844 Audiența: Oh, OK. 325 00:16:24,844 --> 00:16:27,429 Deci, ar fi ca-- 326 00:16:27,429 --> 00:16:28,220 David J. MALAN: OK. 327 00:16:28,220 --> 00:16:29,100 Deci, acum avem opt. 328 00:16:29,100 --> 00:16:31,280 Așa că haideți să ne oprim public de a se angaja aici. 329 00:16:31,280 --> 00:16:34,300 Ce număr este Jackie reprezentând în prezent? 330 00:16:34,300 --> 00:16:34,800 11. 331 00:16:34,800 --> 00:16:35,730 Deci suntem aproape acolo. 332 00:16:35,730 --> 00:16:38,360 333 00:16:38,360 --> 00:16:39,630 Și excelent. 334 00:16:39,630 --> 00:16:41,487 Deci, avem primul nostru câștigător. 335 00:16:41,487 --> 00:16:42,445 Felicitări. 336 00:16:42,445 --> 00:16:48,200 >> Și ne-am gândit vom avea unele cadouri fabuloase. 337 00:16:48,200 --> 00:16:50,860 Dacă doriți să fie o astfel de Dorm Room aici în campus, 338 00:16:50,860 --> 00:16:56,126 vă puteți avea un proiect final folosind acum acest API, datorită Jackie. 339 00:16:56,126 --> 00:16:57,050 Deci, acum-- 340 00:16:57,050 --> 00:16:58,902 >> [Aplauze] 341 00:16:58,902 --> 00:17:01,690 342 00:17:01,690 --> 00:17:04,839 >> --if am putea, una mai mult cum ar jur de acest lucru. 343 00:17:04,839 --> 00:17:07,690 Oh, acum toată lumea vrea niste becuri. 344 00:17:07,690 --> 00:17:11,790 Pentru așa-numita ediția hacker, noi o să-l intensifice un-- oh, 345 00:17:11,790 --> 00:17:12,770 Da, lipsit. 346 00:17:12,770 --> 00:17:16,010 Cred că vine acum dacă mâna ta se întâmplă jos. 347 00:17:16,010 --> 00:17:16,800 Care este numele tau? 348 00:17:16,800 --> 00:17:17,424 >> Audiența: Alex. 349 00:17:17,424 --> 00:17:19,440 David J. MALAN: Alex, vino aici. 350 00:17:19,440 --> 00:17:26,190 Deci pentru Alex, vom Programul într-un număr puțin mai mare. 351 00:17:26,190 --> 00:17:27,790 Poate în ordine. 352 00:17:27,790 --> 00:17:29,110 Numărul 50. 353 00:17:29,110 --> 00:17:29,744 >> Audiența: OK. 354 00:17:29,744 --> 00:17:31,660 David J. MALAN: Dar, așa cum Am zis-- și s-ar putea 355 00:17:31,660 --> 00:17:33,580 vreau sa stau aici așa că butoanele de linia de sus 356 00:17:33,580 --> 00:17:37,115 cum v-ar expect-- dar am făcut-o numim aceasta editie hacker. 357 00:17:37,115 --> 00:17:47,125 Deci-- noroc! 358 00:17:47,125 --> 00:17:48,416 >> [Râsete] 359 00:17:48,416 --> 00:17:58,570 360 00:17:58,570 --> 00:18:02,050 >> Veți fi capabil de a transforma le-off daca-- OK. 361 00:18:02,050 --> 00:18:02,880 Excelent. 362 00:18:02,880 --> 00:18:03,675 Minunat. 363 00:18:03,675 --> 00:18:04,341 Felicitări. 364 00:18:04,341 --> 00:18:08,730 >> [Aplauze] 365 00:18:08,730 --> 00:18:10,355 Cred că ar trebui să plătească în sus. 366 00:18:10,355 --> 00:18:11,830 Felicitări lui Alex, de asemenea. 367 00:18:11,830 --> 00:18:12,330 OK. 368 00:18:12,330 --> 00:18:15,550 >> Deci Takeaway final aici este, sperăm, sincer, 369 00:18:15,550 --> 00:18:18,109 simplicity-- ATÂT simplitatea cu care 370 00:18:18,109 --> 00:18:20,650 puteți obține unele lumina frumos becuri, aparent în [neauzit]. 371 00:18:20,650 --> 00:18:23,000 Dar ele reprezintă, în cele din urmă, la fel de idei 372 00:18:23,000 --> 00:18:26,310 cu care noi, oamenii sunt deja mult prea familiare. 373 00:18:26,310 --> 00:18:28,660 Deci, ceea ce ar putea următoare pas să fie în progresie 374 00:18:28,660 --> 00:18:30,920 de a încerca să facă ceva interesant cu date 375 00:18:30,920 --> 00:18:34,950 și care reprezintă factori de producție care nu sunt doar Numerele dar sunt poate scrisori sau mai mult? 376 00:18:34,950 --> 00:18:37,820 >> Ei bine, se pare că lume de calculator, de mai mulți ani, 377 00:18:37,820 --> 00:18:43,300 pur și simplu a adoptat o arbitrar, ci o standard de consistent că hărțile numere 378 00:18:43,300 --> 00:18:44,610 la litere ale alfabetului. 379 00:18:44,610 --> 00:18:47,120 De exemplu, aici este o extras din asta de cartografiere. 380 00:18:47,120 --> 00:18:48,350 Se numește ASCII. 381 00:18:48,350 --> 00:18:53,220 A-S-C-I-I. Și că este pur și simplu o tabel care hărți letters-- majuscule 382 00:18:53,220 --> 00:18:56,600 în acest case-- în zecimal numere. 383 00:18:56,600 --> 00:18:57,890 >> Dar ceea ce este implicația? 384 00:18:57,890 --> 00:19:01,090 Ei bine, dacă chiar vrei să reprezinte ceva de genul un e-mail sau un text 385 00:19:01,090 --> 00:19:03,310 pe o pagină web, vă în mod evident, vrea să arate 386 00:19:03,310 --> 00:19:06,100 literele umane ale alfabet, nu numere. 387 00:19:06,100 --> 00:19:09,140 Deci, în funcție de contextul programului 388 00:19:09,140 --> 00:19:12,600 că un utilizator se utilizează, dacă este un browser web sau client de e-mail, 389 00:19:12,600 --> 00:19:16,090 Numerele pot fi cu siguranță interpretate ca scrisori. 390 00:19:16,090 --> 00:19:20,290 Asta este de a spune, modele de biți poate fi ușor interpretată ca litere. 391 00:19:20,290 --> 00:19:24,700 >> Și astfel ceea ce poate avea este litera O ființă 392 00:19:24,700 --> 00:19:28,410 reprezentat ca 65, B fiind reprezentat de 66. 393 00:19:28,410 --> 00:19:30,900 Deci, dacă avem o super- cuvânt scurt, cum ar fi hi, 394 00:19:30,900 --> 00:19:35,740 ceea ce un calculator ar fi în cele din urmă magazin în zecimal, dar într-adevăr în binar, 395 00:19:35,740 --> 00:19:40,070 folosind unele secvență de biți, care beneficiază de un pic de energie electrică într-un fel, 396 00:19:40,070 --> 00:19:44,010 ar fi cele două numere 72 și 73. 397 00:19:44,010 --> 00:19:46,780 >> Dar modelul de biți care reprezintă aceste valori. 398 00:19:46,780 --> 00:19:49,820 Deci, acestea sunt atunci cum putem reprezintă intrări și ieșiri noastre. 399 00:19:49,820 --> 00:19:52,630 Și este suficient să spunem, putem face reprezentări mai complexe 400 00:19:52,630 --> 00:19:56,450 în cele din urmă cu lucruri cum ar fi grafică, video, muzică, și mai mult 401 00:19:56,450 --> 00:19:58,190 cum vom vedea mai târziu în acest termen. 402 00:19:58,190 --> 00:20:00,630 >> Așa că doar lasă apoi algoritmi, aceste seturi 403 00:20:00,630 --> 00:20:03,490 de instrucțiuni cu care suntem rezolvarea problemelor reale. 404 00:20:03,490 --> 00:20:05,820 Trecem în intrări de algoritmi. 405 00:20:05,820 --> 00:20:09,630 Și aceste algoritmi sunt producătoare de ieșiri, ieșiri sperăm corecte 406 00:20:09,630 --> 00:20:14,160 și sperăm, de asemenea, s-au adunat eficient ieșiri. 407 00:20:14,160 --> 00:20:16,890 Cu alte cuvinte, e un lucru să pună în aplicare în mod corect ceva. 408 00:20:16,890 --> 00:20:20,790 Este un alt lucru pentru a pune în aplicare ceva bine sau mai eficient. 409 00:20:20,790 --> 00:20:23,690 >> De exemplu, una demonstrație că suntem pasionat de, în cursul 410 00:20:23,690 --> 00:20:24,460 este acesta. 411 00:20:24,460 --> 00:20:26,345 Dar aceste lucruri devin ce în ce mai greu de găsit. 412 00:20:26,345 --> 00:20:28,930 Dar acest lucru este într-adevăr o școală veche carte de telefon, de care în interiorul 413 00:20:28,930 --> 00:20:32,580 sunt 1.000 de pagini, plus de nume și numere de telefon. 414 00:20:32,580 --> 00:20:34,830 Și dacă aș fi vrut să se uite în sus cineva în această carte de telefon, 415 00:20:34,830 --> 00:20:38,640 Aș putea face pur și simplu o algoritm foarte naiv. 416 00:20:38,640 --> 00:20:42,150 Am putea deschide până la prima pagină, și Aș putea începe să caute, să zicem, cineva 417 00:20:42,150 --> 00:20:43,130 pe nume Mike Smith. 418 00:20:43,130 --> 00:20:46,160 Și dacă el nu e pe primul pagină, am trece la cea de a doua, 419 00:20:46,160 --> 00:20:49,120 și apoi la a treia și apoi la al patrulea, și așa mai departe, 420 00:20:49,120 --> 00:20:51,430 până la urmă am găsit pe Mike Smith. 421 00:20:51,430 --> 00:20:53,010 >> Acum, este faptul că algoritmul corect? 422 00:20:53,010 --> 00:20:53,896 >> Audiența: Da. 423 00:20:53,896 --> 00:20:54,248 >> David J. MALAN: Da. 424 00:20:54,248 --> 00:20:56,039 Dacă e acolo, voi în cele din urmă l găsesc. 425 00:20:56,039 --> 00:20:58,820 Dar nu este, fără îndoială, foarte Nu eficient, cu siguranță rapid, 426 00:20:58,820 --> 00:21:01,200 pentru că, Doamne, de ce sunt eu pierd meu flipping timp 427 00:21:01,200 --> 00:21:04,500 prin toate aceste pagini, atunci când am putut cu siguranță face acest punct de vedere fizic mai repede? 428 00:21:04,500 --> 00:21:08,210 >> Ei bine, o ușoară optimizare, astfel încât să vorbi, s-ar putea să nu fie o pagină la un moment dat, 429 00:21:08,210 --> 00:21:11,610 ci două, patru, șase, opt, 10. 430 00:21:11,610 --> 00:21:12,725 Încă corect? 431 00:21:12,725 --> 00:21:14,030 >> Audiența: Nu 432 00:21:14,030 --> 00:21:17,040 >> David J. MALAN: Deci, nu, dacă am pentru exemplu săriți peste Mike Smith. 433 00:21:17,040 --> 00:21:20,530 Dar, atâta timp cât eu înapoi pedala o pagină, dacă l-am depăși, 434 00:21:20,530 --> 00:21:25,240 poate am putea corecta ceea ce s-ar putea fi altfel un Te-am prins. 435 00:21:25,240 --> 00:21:26,020 >> Dar este mai bine? 436 00:21:26,020 --> 00:21:27,469 Este mai rapid? 437 00:21:27,469 --> 00:21:28,010 Adică, da. 438 00:21:28,010 --> 00:21:30,950 Este pur și simplu de două ori la fel de repede dacă fac două pagini la un moment dat. 439 00:21:30,950 --> 00:21:35,720 Deci, dacă am avut inițial 1.000 de pagini, acum am doar pentru a răsturna de 500 de ori, 440 00:21:35,720 --> 00:21:39,429 nu pe deplin 1.000 de pagini pentru a obține potențial în cel mai rău caz 441 00:21:39,429 --> 00:21:41,220 la capătul telefonului carte, în cazul în care cineva 442 00:21:41,220 --> 00:21:44,380 cum ar fi Mike Smith sau pe cineva cu un nume mai târziu s-ar putea fi de fapt. 443 00:21:44,380 --> 00:21:46,540 >> Dar, desigur, ne-am oamenii cu siguranță nu sunt 444 00:21:46,540 --> 00:21:49,250 gând să faci asta, cu siguranță Nu în acest moment în viața noastră. 445 00:21:49,250 --> 00:21:51,454 Ce este un rezonabil om probabil de gând să faci? 446 00:21:51,454 --> 00:21:52,870 Audiența: Du-te direct la the9 lui S. 447 00:21:52,870 --> 00:21:53,860 David J. MALAN: Du-te direct la anii S? 448 00:21:53,860 --> 00:21:55,563 Cum pot să merg direct la anii S? 449 00:21:55,563 --> 00:21:57,342 >> Audiența: Rip-o în jumătate. 450 00:21:57,342 --> 00:21:59,050 David J. MALAN: Ei bine, nu e nici un marcaj. 451 00:21:59,050 --> 00:22:02,116 Deci, da, dacă ar exista într-adevăr o etichetă sau o filă lipicios pentru S, 452 00:22:02,116 --> 00:22:03,240 noi ar trebui să sară chiar acolo. 453 00:22:03,240 --> 00:22:05,420 Dar e destul de inofensiv. 454 00:22:05,420 --> 00:22:08,480 Deci, tot ce pot face este de aproximativ la secțiunea S sau poate aproximativ 455 00:22:08,480 --> 00:22:09,650 în mijloc. 456 00:22:09,650 --> 00:22:12,110 Dar Takeaway cheie acum-- și intuiția 457 00:22:12,110 --> 00:22:14,430 care le-ați luat pentru acordată de ani probabil-- 458 00:22:14,430 --> 00:22:17,103 este că ceea ce faci tu acum știu despre această problemă? 459 00:22:17,103 --> 00:22:19,320 >> Audiența: [inaudibil] 460 00:22:19,320 --> 00:22:22,290 >> David J. MALAN: Mike Smith este cu siguranță Nu în această jumătate a problemei 461 00:22:22,290 --> 00:22:25,600 pentru că Smith vine după mijlocul care este aproximativ secțiunea M, 462 00:22:25,600 --> 00:22:26,510 se pare a fi. 463 00:22:26,510 --> 00:22:30,340 Deci, după cum ați văzut la Visitas, putem acum literalmente 464 00:22:30,340 --> 00:22:31,737 rupe această problemă în jumătate. 465 00:22:31,737 --> 00:22:32,320 Audiența: Woo! 466 00:22:32,320 --> 00:22:33,690 David J. MALAN: E mai usor si mai usor. 467 00:22:33,690 --> 00:22:34,666 [Aplauze] 468 00:22:34,666 --> 00:22:36,618 Acolo te duci. 469 00:22:36,618 --> 00:22:39,060 [Râsete] 470 00:22:39,060 --> 00:22:41,870 Și acum am în mod fundamental au aceeași problemă, 471 00:22:41,870 --> 00:22:43,866 dar este pur și simplu pe jumătate la fel de mare. 472 00:22:43,866 --> 00:22:45,240 Sunt încă în căutarea pentru Mike Smith. 473 00:22:45,240 --> 00:22:47,950 Și îndrăznesc să spun, eu pot încă uita-te pentru el în același mod, 474 00:22:47,950 --> 00:22:51,200 divizarea problemei în jumătate din nou, ruperea problema din nou 475 00:22:51,200 --> 00:22:54,140 în jumătate, care ma lasa acum cu o problemă un sfert din mărimea, 476 00:22:54,140 --> 00:22:58,710 arunca dramatic că jumătate depărtare, și repetă din nou și din nou acest proces 477 00:22:58,710 --> 00:23:01,150 și din nou, uitându-se în jos în fiecare punct a vedea 478 00:23:01,150 --> 00:23:03,400 în cazul în care Mike Smith este pe pagina în cauză. 479 00:23:03,400 --> 00:23:06,190 >> Acum, dacă am face acest lucru drept, în cele din urmă mă voi găsi 480 00:23:06,190 --> 00:23:11,085 cu doar o singură pagină pe care Mike Smith este dacă el este într-adevăr în cartea de telefon. 481 00:23:11,085 --> 00:23:13,510 Desigur, am putea nu suna din nou Mike. 482 00:23:13,510 --> 00:23:18,800 Dar punctul de aici este că, dacă am început cu 1.000 de pagini, primul meu algoritm, 483 00:23:18,800 --> 00:23:21,620 flip pagina, poate 1000 times-- cu siguranță mai puțin pentru că este 484 00:23:21,620 --> 00:23:26,430 un nume S și nu un nume Z, ci ca mulți ca 1.000 de pagini potențial. 485 00:23:26,430 --> 00:23:27,590 >> În al doilea rând algoritm, mai bine. 486 00:23:27,590 --> 00:23:28,480 500 de pagini. 487 00:23:28,480 --> 00:23:31,230 Algoritm al treilea rând, deși, câți pași aceasta ar 488 00:23:31,230 --> 00:23:35,520 ia să împartă o pagină 1000 carte de telefon în jumătate de genul asta? 489 00:23:35,520 --> 00:23:37,000 10, da sau de a lua. 490 00:23:37,000 --> 00:23:40,770 Deci, numai prin flipping prin care carte de telefon, scufundări și cucerirea, 491 00:23:40,770 --> 00:23:46,130 ca să spunem așa, de 10 ori, voi face felul meu de până la doar o singură pagină. 492 00:23:46,130 --> 00:23:48,880 >> Și astfel încât să putem capta această intuiție acum un pic grafic 493 00:23:48,880 --> 00:23:51,320 dacă tocmai ați lua în considerare acest grafic super-simplu. 494 00:23:51,320 --> 00:23:55,470 Suntem pe axa x, sau orizontală axă, este dimensiunea de problema mea, 495 00:23:55,470 --> 00:23:57,100 numărul de pagini din cartea de telefon. 496 00:23:57,100 --> 00:23:59,040 Si oameni de stiinta de calculator în general place să numesc 497 00:23:59,040 --> 00:24:02,180 dimensiunea unei probleme n, unde n este doar o variabilă care 498 00:24:02,180 --> 00:24:04,310 represents-- în acest case-- număr de pagini. 499 00:24:04,310 --> 00:24:07,412 >> Vertical, sau axa y, aici este Va fi timp pentru a rezolva, 500 00:24:07,412 --> 00:24:09,870 Poate numărul de spire de pagini, Poate numărul de secunde 501 00:24:09,870 --> 00:24:11,960 sau minute, indiferent de unitatea de măsură este. 502 00:24:11,960 --> 00:24:14,337 Și astfel această linie roșie reprezintă primul algoritm, 503 00:24:14,337 --> 00:24:16,670 pentru că nu e de unu la unu relație între numărul 504 00:24:16,670 --> 00:24:18,880 de pagini și cantitatea de timp este nevoie. 505 00:24:18,880 --> 00:24:22,240 >> Dacă Verizon dublează numărul de pagini din cartea de telefon de anul viitor, 506 00:24:22,240 --> 00:24:24,590 funcționare meu atunci-- timpul necesar pentru a executa 507 00:24:24,590 --> 00:24:27,610 că primul algorithm-- dublează în cel mai rău caz. 508 00:24:27,610 --> 00:24:30,690 Dar doilea algoritm, unde am flipping de două, 509 00:24:30,690 --> 00:24:33,650 necesită mai puțin timp pentru o problemă dimensiune dată. 510 00:24:33,650 --> 00:24:36,090 Deci, dacă am avea acest multe Anunț de pagini aici-- 511 00:24:36,090 --> 00:24:38,870 că linia galbenă sugerează mai puțin timp pentru a rezolva. 512 00:24:38,870 --> 00:24:42,490 Și într-adevăr, ea reprezintă, vom spune, n peste două. 513 00:24:42,490 --> 00:24:47,717 >> Dar ceea ce este forma de-a treia și curba finală va arata ca? 514 00:24:47,717 --> 00:24:50,800 Da, este într-adevăr o să Uite-- I Nu știu ce ai de gând să spun. 515 00:24:50,800 --> 00:24:52,300 Dar sa vedem ce ai de gând să spun. 516 00:24:52,300 --> 00:24:53,280 >> Audiența: Ca asta. 517 00:24:53,280 --> 00:24:57,060 >> David J. MALAN: O să arate ca aceasta, o exactly-- slope-- logaritmică 518 00:24:57,060 --> 00:24:59,770 în care aveți această pantă curios. 519 00:24:59,770 --> 00:25:01,235 Nu mai este o linie dreaptă. 520 00:25:01,235 --> 00:25:05,000 Și ce e convingatoare despre asta este că chiar dacă graficul este acum tăiat, 521 00:25:05,000 --> 00:25:07,790 puteți extrapola la dvs. deranjează că acea linie verde nu este 522 00:25:07,790 --> 00:25:10,060 va spori pe înălțime tot atât de mult 523 00:25:10,060 --> 00:25:13,500 ca voi merge mai departe jos care axa orizontală. 524 00:25:13,500 --> 00:25:15,890 >> Într-adevăr, Verizon, pentru exemplu, ar putea dubla 525 00:25:15,890 --> 00:25:19,100 numărul de pagini din telefon carte între acest an și anul viitor 526 00:25:19,100 --> 00:25:22,140 de la 1000 la 2000 pagini, dar nu e mare lucru. 527 00:25:22,140 --> 00:25:24,960 Cu această a treia și ultima, există un algoritm intuitiv 528 00:25:24,960 --> 00:25:26,209 de împărțirea și cucerirea. 529 00:25:26,209 --> 00:25:29,000 O să-mi iau câte mai mult pașii de anul viitor pentru a găsi pe cineva 530 00:25:29,000 --> 00:25:29,700 place Mike Smith? 531 00:25:29,700 --> 00:25:30,560 >> Audiența: Unul. 532 00:25:30,560 --> 00:25:31,230 >> David J. MALAN: Nu e doar unul. 533 00:25:31,230 --> 00:25:34,430 Și ei pot de patru ori, e O să-mi iau doar două mai multe etape 534 00:25:34,430 --> 00:25:35,210 și așa mai departe. 535 00:25:35,210 --> 00:25:38,730 Și astfel aceasta este o dovadă a cât unele de design atent 536 00:25:38,730 --> 00:25:42,437 și unele apreciere pentru ceea ce intrări tale sunt poate face chiar mai bine. 537 00:25:42,437 --> 00:25:44,270 Acum suntem inselat-o puțin în sens 538 00:25:44,270 --> 00:25:46,350 că suntem leveraging o presupunere. 539 00:25:46,350 --> 00:25:48,500 Ce este presupunerea mea despre cartea de telefon 540 00:25:48,500 --> 00:25:52,720 care mi-a permis să-și împartă și să cucerească în acest mod intuitiv și mai corect? 541 00:25:52,720 --> 00:25:53,705 >> Audiența: [inaudibil] 542 00:25:53,705 --> 00:25:54,580 David J. MALAN: Da. 543 00:25:54,580 --> 00:25:55,440 Deci, a fost comandat. 544 00:25:55,440 --> 00:25:57,392 A fost ordonate alfabetic de compania cartea de telefon. 545 00:25:57,392 --> 00:26:00,100 Dacă ar fi fost în ordine aleatorie, care ar fi un iad de o carte de telefon, 546 00:26:00,100 --> 00:26:02,850 dar cu siguranță nu ar fi se pretează la algoritmul 547 00:26:02,850 --> 00:26:05,950 Am folosit, pentru că nu și-ar doar se întâmplă peste Mike Smith 548 00:26:05,950 --> 00:26:09,210 dacă te-a ținut împărțirea în jumătate în acest fel de șansă. 549 00:26:09,210 --> 00:26:12,060 >> Deci, haideți să oficializeze acum ceea ce este în mod clar intuitiv. 550 00:26:12,060 --> 00:26:13,950 Așa ceva numit pseudocod este locul unde ne vom 551 00:26:13,950 --> 00:26:15,780 începe o parte din problemele noastre initiale. 552 00:26:15,780 --> 00:26:20,410 Și acesta este un mod generic de a descrie un algoritm sau un program de calculator, 553 00:26:20,410 --> 00:26:24,150 Nu utilizați C, sau C ++, sau Java, sau orice limbaj specific, 554 00:26:24,150 --> 00:26:27,430 dar folosind doar limba engleză, cu care orice om ar putea fi familiar. 555 00:26:27,430 --> 00:26:31,220 >> Și s-ar putea scrie pseudocod pentru această problemă, după cum urmează. 556 00:26:31,220 --> 00:26:33,520 Pasul unu, ridica cartea de telefon. 557 00:26:33,520 --> 00:26:35,840 Pasul doi, deschise la mijloc de carte de telefon. 558 00:26:35,840 --> 00:26:37,730 Pasul trei, uita-te la numele. 559 00:26:37,730 --> 00:26:40,630 Pasul patru, în cazul în care Smith este printre names-- 560 00:26:40,630 --> 00:26:42,960 >> Și acum aceasta este o construct interesant. 561 00:26:42,960 --> 00:26:44,290 Este un punct de decizie. 562 00:26:44,290 --> 00:26:47,920 Este o furculiță în drum, dacă va, o ramură, ca să spunem așa. 563 00:26:47,920 --> 00:26:50,810 Așa că am de gând să liniuță doar prin convenție step-- 564 00:26:50,810 --> 00:26:53,950 nu cinci-- care urmează să să zicem, voi suna pe Mike. 565 00:26:53,950 --> 00:26:57,290 Deci acest indentare, total convenție umană arbitrar, dar e 566 00:26:57,290 --> 00:27:01,160 pur și simplu rolul de a transmite semantic că în cazul în care Smith este unul dintre nume, 567 00:27:01,160 --> 00:27:03,310 atunci ar trebui să sun pe Mike. 568 00:27:03,310 --> 00:27:06,630 >> Între timp, în pasul șase, notificare că indentare a plecat. 569 00:27:06,630 --> 00:27:10,980 Deci, mai este un alt furculiță în rutier, celălalt drum s-ar putea călători. 570 00:27:10,980 --> 00:27:14,130 Deci, dacă altceva Smith este mai devreme în carte, ceea ce-i 571 00:27:14,130 --> 00:27:16,964 urmatorul meu pas, probabil, va fi aici? 572 00:27:16,964 --> 00:27:18,380 Audiența: Du-te la partea stângă. 573 00:27:18,380 --> 00:27:21,004 David J. MALAN: Da, deci du-te la jumătatea stângă a cartea de telefon. 574 00:27:21,004 --> 00:27:24,140 Aruncați jumătatea din dreapta, dacă Smith este mai devreme în carte. 575 00:27:24,140 --> 00:27:27,140 Deci, deschis la mijlocul jumătatea stângă a cărții. 576 00:27:27,140 --> 00:27:30,240 >> Și apoi pas opt, du-te la linia trei. 577 00:27:30,240 --> 00:27:34,520 Și aceasta este o buclă curios sunt inducerea, o recursivitate ca să spunem așa. 578 00:27:34,520 --> 00:27:35,990 Dar mai multe despre asta în viitor. 579 00:27:35,990 --> 00:27:39,590 >> Sunt folosind același algoritm meu, același pseudocod mea, 580 00:27:39,590 --> 00:27:43,020 pentru a rezolva aceeași problemă din nou pentru că singurul lucru care sa schimbat 581 00:27:43,020 --> 00:27:46,550 este dimensiunea problemei, nu Obiectivul meu, și nu persoana 582 00:27:46,550 --> 00:27:47,340 Caut. 583 00:27:47,340 --> 00:27:51,610 Deci, eu pot reutiliza algoritmul care le-am definit deja. 584 00:27:51,610 --> 00:27:53,580 >> Altfel, dacă Smith este mai târziu în book-- s-ar putea 585 00:27:53,580 --> 00:27:56,200 ghicesc deschis la mijlocul jumătatea din dreapta a cărții. 586 00:27:56,200 --> 00:27:58,350 Și din nou, du-te la linia trei. 587 00:27:58,350 --> 00:28:01,480 Else-- ceea ce este linia finală în acest program va fi? 588 00:28:01,480 --> 00:28:03,580 Dacă el nu e printre Numele de pe pagina sunt 589 00:28:03,580 --> 00:28:06,870 pe, dacă nu e mai devreme în carte, iar el nu-i mai târziu 590 00:28:06,870 --> 00:28:09,899 în carte, ceea ce știu este adevărat despre Mike Smith acum? 591 00:28:09,899 --> 00:28:11,190 Audiența: Nu e în carte. 592 00:28:11,190 --> 00:28:12,731 David J. MALAN: Nu e în carte. 593 00:28:12,731 --> 00:28:16,040 Deci, tot ce pot face este doar renunța și se va opri acest program. 594 00:28:16,040 --> 00:28:16,540 În regulă. 595 00:28:16,540 --> 00:28:20,350 Deci, la acest punct, haideți să aruncăm o tur rapid de o parte din ceea ce așteaptă. 596 00:28:20,350 --> 00:28:23,620 Și, de fapt, eu alăturat aici de un număr de personal CS50. 597 00:28:23,620 --> 00:28:26,940 Dacă acești oameni ar putea tot mi se alăture aici pe scenă. 598 00:28:26,940 --> 00:28:28,900 >> [Aplauze] 599 00:28:28,900 --> 00:28:35,280 600 00:28:35,280 --> 00:28:38,170 >> Țineți minte, aceasta este doar un subset de personal CS50, 601 00:28:38,170 --> 00:28:42,380 deoarece în fiecare an ne-am aproape 100 de angajați membri în rolurile de asistenți de curs, 602 00:28:42,380 --> 00:28:44,410 predare semenii, și mai mult. 603 00:28:44,410 --> 00:28:45,700 Hai sus. 604 00:28:45,700 --> 00:28:48,820 Deci, ei ne vor alătura aici neîndemânatic pentru doar o clipă 605 00:28:48,820 --> 00:28:54,230 ca ne-am da un tur vârtej de ce trebuie să vă așteptați aici în curs. 606 00:28:54,230 --> 00:28:59,640 >> Deci, în primul rând, avem SAT / UNS ca opțiunea de notare în curs. 607 00:28:59,640 --> 00:29:03,180 Acest lucru este menit în mod deliberat să fie o opțiune prin care 608 00:29:03,180 --> 00:29:05,570 daca esti un pic incomod de a fi în curs, 609 00:29:05,570 --> 00:29:09,390 și tu nu se tem de failure-- chiar dacă sincer eșec înseamnă doare GPA dumneavoastră, 610 00:29:09,390 --> 00:29:13,180 obtinerea unui B și nu o A-- care este exact ceea ce, cu siguranță, pentru o poarta de acces 611 00:29:13,180 --> 00:29:15,750 Desigur ca CS50 și alte cursuri introductive, 612 00:29:15,750 --> 00:29:17,540 această opțiune clasificare este menit să permită. 613 00:29:17,540 --> 00:29:19,930 >> Îi încurajez pe toată inima students-- mai ales 614 00:29:19,930 --> 00:29:23,090 dacă pe fence-- pentru a începe Desigur, SAT / UNS, rămâne chiar SAT / UNS. 615 00:29:23,090 --> 00:29:27,310 Dar se poate trece cu siguranță la o scrisoare clasa de-a cincea luni în termen. 616 00:29:27,310 --> 00:29:31,560 >> Sincer, înapoi, atunci când am a fost un student în anul întâi, în 1995, 617 00:29:31,560 --> 00:29:34,630 Eu însumi chiar nu a luat CS50 pentru că nu am primit curaj 618 00:29:34,630 --> 00:29:36,540 la pasul de fapt piciorul în sala de clasă. 619 00:29:36,540 --> 00:29:40,020 Părea un domeniu mult prea necunoscut pentru mine și într-adevăr numai 620 00:29:40,020 --> 00:29:43,080 pentru acei prieteni de-ai mei, sincer, care a fost de programare 621 00:29:43,080 --> 00:29:45,570 deoarece acestea au fost de șase sau poate 10 de ani-vechi. 622 00:29:45,570 --> 00:29:48,640 Și a fost doar pentru că am fost în măsură să ia CS50 în ziua mea 623 00:29:48,640 --> 00:29:52,720 în versiunea echivalent SAT / pass UNS-- / nu înapoi în zi-- 624 00:29:52,720 --> 00:29:53,850 care chiar am luat 50. 625 00:29:53,850 --> 00:29:57,440 Și într-un fel sau altul, eu sunt Aici, din nou cu tine azi. 626 00:29:57,440 --> 00:30:00,690 >> Acum, între timp ce altceva te ar trebui să păstreze în minte despre 50 627 00:30:00,690 --> 00:30:01,910 este inscriere simultan. 628 00:30:01,910 --> 00:30:03,785 Contrar zvonurilor că s-ar putea fi auzit, 629 00:30:03,785 --> 00:30:07,650 puteți, de fapt, în același timp se inscrie in CS50 și o altă clasă care 630 00:30:07,650 --> 00:30:12,150 îndeplinește în același timp sau unele suprapuneri timp de prelegeri CS50 are dreptate aici. 631 00:30:12,150 --> 00:30:16,420 Vezi programa pentru informațiile de punere în aplicare a acestora. 632 00:30:16,420 --> 00:30:19,540 >> Prelegeri, între timp, spre deosebire de ceea ce este în mod oficial în catalog, 633 00:30:19,540 --> 00:30:22,060 în general va numai întâlni pentru doar o oră. 634 00:30:22,060 --> 00:30:24,240 Pe ocazie s-ar putea rula un pic mai lung. 635 00:30:24,240 --> 00:30:26,800 Dar tineti cont de faptul că Scopul în prelegeri CS50 lui 636 00:30:26,800 --> 00:30:28,980 este de a vă oferi o privire de ansamblu conceptual, 637 00:30:28,980 --> 00:30:31,830 sperăm că unele demonstrații, poate chiar unele cadouri, 638 00:30:31,830 --> 00:30:34,390 de ceea ce așteaptă de săptămâna care urmează. 639 00:30:34,390 --> 00:30:37,730 >> Și așa în prelegeri, vom explora aceste subiecte și exemple împreună, 640 00:30:37,730 --> 00:30:41,420 aducerea elevilor pe scenă, și personalului pe scenă cât de des putem, 641 00:30:41,420 --> 00:30:43,740 pentru doar câteva ore în fiecare săptămână. 642 00:30:43,740 --> 00:30:47,435 Secțiunile, între timp, va fi oferite de acesti oameni aici-- multe 643 00:30:47,435 --> 00:30:50,060 de învățându-i semeni, unele dintre ei vor, desigur assistants-- 644 00:30:50,060 --> 00:30:51,160 se întâmplă săptămânal. 645 00:30:51,160 --> 00:30:52,940 >> Și ceea ce este esențial pentru a păstra în minte este că noi 646 00:30:52,940 --> 00:30:55,920 Nu avem-- spre deosebire de Primul Nights, muzica class-- 647 00:30:55,920 --> 00:30:59,220 diferite piese de secțiuni de elevii mai puțin confortabile, mai mult 648 00:30:59,220 --> 00:31:01,150 confortabil, și undeva în între. 649 00:31:01,150 --> 00:31:03,559 Și sincer, tu știi dacă tu ești mai puțin confortabil. 650 00:31:03,559 --> 00:31:05,600 Și probabil știți dacă tu esti mult mai confortabil. 651 00:31:05,600 --> 00:31:09,920 Și dacă nu ești sigur, sunteți prin definiție undeva în între. 652 00:31:09,920 --> 00:31:12,850 Deci, atunci când vine vorba de timp pentru secțiune într-o săptămână sau așa, pe programa, 653 00:31:12,850 --> 00:31:14,070 vă vom pune această întrebare. 654 00:31:14,070 --> 00:31:16,890 Și vă puteți auto-selectați Pe la nivelul de confort propriu 655 00:31:16,890 --> 00:31:22,220 și să fie cu students-- fi cu verde dots-- similară în nivelul de confort pentru tine. 656 00:31:22,220 --> 00:31:25,710 >> Între timp, avem o problemă seturi, care în cele din urmă va 657 00:31:25,710 --> 00:31:28,310 defini experiența dumneavoastră în acest curs. 658 00:31:28,310 --> 00:31:30,370 Ei au oferit în mod obișnuit în mai multe ediții. 659 00:31:30,370 --> 00:31:34,150 O ediție standard care ne asteptam cel mai fiecare elev în curs de a aborda 660 00:31:34,150 --> 00:31:37,900 dar, de asemenea, un așa-numit ediție hacker care nu oferă nici o formă de credit suplimentar 661 00:31:37,900 --> 00:31:41,980 pur și simplu, dar într-adevăr drepturile fanfaronadă să spun că ai încercat și abordate 662 00:31:41,980 --> 00:31:45,250 ediții ale hackerilor Cursul de care se apropie de material similar 663 00:31:45,250 --> 00:31:47,370 ci dintr-un unghi mai sofisticate. 664 00:31:47,370 --> 00:31:49,480 >> Ce oferim pentru Standard Edition, pentru, 665 00:31:49,480 --> 00:31:51,420 din nou, o majoritate super- de studenți, nu sunt 666 00:31:51,420 --> 00:31:54,060 numai walk-through, care sunt Clipuri conduse de personal ale cursului 667 00:31:54,060 --> 00:31:57,840 că într-adevăr te plimbi prin problemele de curs și posibil de design 668 00:31:57,840 --> 00:31:58,910 implementari. 669 00:31:58,910 --> 00:32:01,434 Și noi, de asemenea, după De fapt, oferta postmortems, 670 00:32:01,434 --> 00:32:03,350 prin care în cazul în care vă întrebați cum ai putea avea 671 00:32:03,350 --> 00:32:05,930 sau ar fi rezolvat ceva problemă, cadrele didactice 672 00:32:05,930 --> 00:32:08,640 vă va plimba prin cele de pe video. 673 00:32:08,640 --> 00:32:14,350 >> Între timp, ceea ce așteaptă de asemenea sunt cinci zile de întârziere și de faptul 674 00:32:14,350 --> 00:32:16,680 pe care le va scadea ta cea mai mică problemă set scor. 675 00:32:16,680 --> 00:32:20,370 Cu siguranță aprecia că, în schimb pentru volumul de muncă pe care se așteaptă de 50 de 676 00:32:20,370 --> 00:32:24,020 de tine, viața devine în mod uneori, dacă nu de cinci ori. 677 00:32:24,020 --> 00:32:26,150 Și așa va oferi ai un pic de flexibilitate, 678 00:32:26,150 --> 00:32:29,400 extinde termenul limită de la, să zicem, un Joi la prânz pentru o zi de vineri la prânz. 679 00:32:29,400 --> 00:32:33,150 Vezi programa școlară pentru detalii de implementare a acestora. 680 00:32:33,150 --> 00:32:34,702 >> Acum, ce așteaptă acum? 681 00:32:34,702 --> 00:32:36,660 Și este doar loc la mine acum doar cât timp 682 00:32:36,660 --> 00:32:38,333 Am voi sta aici pe scenă. 683 00:32:38,333 --> 00:32:39,060 >> [Râsete] 684 00:32:39,060 --> 00:32:41,867 >> David J. MALAN: Dar vom ajunge la finisajul culminant, înainte de mult timp. 685 00:32:41,867 --> 00:32:43,700 Deci, ce așteaptă în termeni de seturi de probleme? 686 00:32:43,700 --> 00:32:47,099 Ei bine, poate un teaser de ceea ce noi toți anul trecut cu predecesorii dumneavoastră. 687 00:32:47,099 --> 00:32:49,140 In primul set problemă Anul trecut, am introdus 688 00:32:49,140 --> 00:32:51,630 Scratch, un grafic limbaj de programare care 689 00:32:51,630 --> 00:32:54,570 vă permite să programați literalmente de drag and drop piese de puzzle, 690 00:32:54,570 --> 00:32:57,220 ca acestea, care sunt amintind de construcțiile 691 00:32:57,220 --> 00:32:59,260 va vedea doar o săptămână prin urmare, atunci când trece 692 00:32:59,260 --> 00:33:01,870 pentru o mai tradițional limbă, cunoscut sub numele de C. 693 00:33:01,870 --> 00:33:03,930 >> Anul trecut am procedat pentru acest set problemă, 694 00:33:03,930 --> 00:33:06,720 care implică de criptografie, Amestecarea informațiilor 695 00:33:06,720 --> 00:33:10,410 să-l păstrați de la guvern sau de prieteni " Ochii care nu doriți să-l văd. 696 00:33:10,410 --> 00:33:12,540 Codificat aici este o mesaj că în curând voi 697 00:33:12,540 --> 00:33:15,740 va fi capabil să decripteze sau de-scramble. 698 00:33:15,740 --> 00:33:17,960 >> Breakout a fost o problemă stabilit anul trecut, în care 699 00:33:17,960 --> 00:33:21,530 utilizați aceste noi programe găsite aptitudinile necesare pentru a implementa efectiv 700 00:33:21,530 --> 00:33:24,840 un joc wherein-- ca tine poate aminti de childhood-- 701 00:33:24,840 --> 00:33:28,040 Scopul a fost de a bash cărămizi care sunt deasupra ecranului 702 00:33:28,040 --> 00:33:30,190 aici, acumulând o scor de-a lungul drum, 703 00:33:30,190 --> 00:33:35,460 și punerea în aplicare a propriilor algoritmi cu care această soluție în cele din urmă 704 00:33:35,460 --> 00:33:37,357 vă permite să joace acest joc. 705 00:33:37,357 --> 00:33:39,440 Între timp, mai târziu, în semestru, vă vom da 706 00:33:39,440 --> 00:33:43,470 un dicționar de 143,091 cuvinte în limba engleză. 707 00:33:43,470 --> 00:33:46,300 Și va fi contestată pentru a scrie un program care 708 00:33:46,300 --> 00:33:50,260 scrie cecuri, documente, prin încărcare că multe cuvinte în memorie 709 00:33:50,260 --> 00:33:52,300 cât mai eficient posibil. 710 00:33:52,300 --> 00:33:54,240 În general, vă pitting împotriva colegii tăi 711 00:33:54,240 --> 00:33:56,610 dacă optați într-un pic de o provocare în bord lider 712 00:33:56,610 --> 00:34:00,090 pentru a vedea cine poate utiliza cele mai puține secunde de timpul de funcționare, 713 00:34:00,090 --> 00:34:03,550 și cel mai mic număr de megabytes de memorie, 714 00:34:03,550 --> 00:34:08,659 și de fapt de reglaj fin programele pentru a fi incredibil de eficientă a resurselor nu 715 00:34:08,659 --> 00:34:09,820 doar timp. 716 00:34:09,820 --> 00:34:13,239 >> Anul trecut, de asemenea, ne-am uitat la final semestrului în programare web. 717 00:34:13,239 --> 00:34:16,230 Și într-adevăr, vom face asta din nou acest an cu mai multe seturi de probleme, 718 00:34:16,230 --> 00:34:20,290 introducerea vă la tehnicile și mentalitatea cu care se poate aplica 719 00:34:20,290 --> 00:34:23,489 aceste aptitudini de programare pentru a site-uri web, site-uri dinamice, 720 00:34:23,489 --> 00:34:26,639 site-uri care rezolva de fapt probleme si se comporta diferit 721 00:34:26,639 --> 00:34:30,620 și nu sunt pur și simplu statice site-uri cu informații statice. 722 00:34:30,620 --> 00:34:32,854 >> Proiectul final în cele din urmă va defini, deși, 723 00:34:32,854 --> 00:34:34,770 punctul culminant al cursului pentru studenți, care 724 00:34:34,770 --> 00:34:37,228 veți fi provocați să pună în aplicare mai nimic de interes 725 00:34:37,228 --> 00:34:40,590 pentru tine, atât timp cât ea într-un fel se bazează pe lecțiile Cursul de. 726 00:34:40,590 --> 00:34:42,930 >> Și, după cum ați văzut în film de la început, 727 00:34:42,930 --> 00:34:47,340 vom încheia semestru cu CS50 Hackathon, care în cazul în care, nefamiliare, 728 00:34:47,340 --> 00:34:51,420 va începe la 07:00 o noapte și se încheie la 07:00 în dimineața următoare. 729 00:34:51,420 --> 00:34:53,614 În jurul valorii de 09:00, vom Pentru primul în cină. 730 00:34:53,614 --> 00:34:55,489 În jurul valorii de 01:00, vom Pentru al doilea cină. 731 00:34:55,489 --> 00:34:57,490 Și dacă tu ești încă în picioare la 05:00, ne-am 732 00:34:57,490 --> 00:35:00,320 va tine de transfer cu autobuzul la IHOP pentru micul dejun. 733 00:35:00,320 --> 00:35:04,980 >> CS50 Târgul, între timp, este un eveniment la care 2.000 plus facultate, studenți, 734 00:35:04,980 --> 00:35:07,850 și personal din întreaga campus va vin pentru a vedea realizarile tale 735 00:35:07,850 --> 00:35:10,150 în cursul și finala proiecte și creații 736 00:35:10,150 --> 00:35:14,960 pe care le creați pe laptop-uri, desktop-uri, sau poate chiar becuri de lumină. 737 00:35:14,960 --> 00:35:17,340 >> Între timp, ore de birou și structura de susținere. 738 00:35:17,340 --> 00:35:20,480 Și acum ar fi fost o moment mai bun pentru tine toate aduc. 739 00:35:20,480 --> 00:35:24,310 >> Program de lucru va avea loc patru nopți o săptămână pentru mai multe ore in fiecare noapte 740 00:35:24,310 --> 00:35:27,710 cu 20 până la 30, în general, a Personalul curs de de serviciu la o dată 741 00:35:27,710 --> 00:35:31,240 pentru a vă oferi intim unu-la-unu oportunități de sprijin 742 00:35:31,240 --> 00:35:33,790 cu seturi de probleme ale cursului. 743 00:35:33,790 --> 00:35:36,120 Meditatii prea va fi disponibile, în special 744 00:35:36,120 --> 00:35:39,630 pentru elevii mai puțin comfortable-- sau Îndrăznesc să spun că cel puțin comfortable-- pentru care 745 00:35:39,630 --> 00:35:41,869 orelor de program nu sunt cel mai mediu favorabil 746 00:35:41,869 --> 00:35:43,660 și cu siguranță nu sunt cea mai lipsită de stres. 747 00:35:43,660 --> 00:35:47,430 Mai ales atunci când termenele sunt presare, va vom asocia noi înșine în mod proactiv 748 00:35:47,430 --> 00:35:51,440 cu un membru al personalului de a lucra cu pe unii program regulat de nevoile dvs. 749 00:35:51,440 --> 00:35:53,850 și programul lor permite. 750 00:35:53,850 --> 00:35:55,260 >> Și de personal. 751 00:35:55,260 --> 00:36:01,020 Permiteți-mi să introducă Davon, Rob, și Gabriel, capetele din acest an. 752 00:36:01,020 --> 00:36:02,370 Dacă v-ar fiecare vrea să spun-- 753 00:36:02,370 --> 00:36:03,349 >> [Aplauze] 754 00:36:03,349 --> 00:36:03,849 cuvânt --Un. 755 00:36:03,849 --> 00:36:05,328 [Aplauze] 756 00:36:05,328 --> 00:36:10,270 757 00:36:10,270 --> 00:36:13,220 Davon aici este manager de curs, care 758 00:36:13,220 --> 00:36:15,730 înseamnă, în rolul său full-time el ajută cu executarea 759 00:36:15,730 --> 00:36:18,424 și logistică de CS50. 760 00:36:18,424 --> 00:36:19,340 Davon: Da, bună, băieți. 761 00:36:19,340 --> 00:36:20,965 Veți vedea o mulțime de mine la orele de birou. 762 00:36:20,965 --> 00:36:22,110 Voi fi de predare secțiuni. 763 00:36:22,110 --> 00:36:25,150 Și dacă te împușc email-uri înainte, Voi fi, probabil, răspunde. 764 00:36:25,150 --> 00:36:27,670 Așa că vom vedea o mulțime de voi toți semestru. 765 00:36:27,670 --> 00:36:29,890 Și bine ați venit la CS50. 766 00:36:29,890 --> 00:36:38,330 >> David J. MALAN: Și acum Gabriel, care a fost doar un student în anul întâi de anul trecut, 767 00:36:38,330 --> 00:36:41,820 dar pentru ultimii doi ani a operează propria sa versiune a CS50 768 00:36:41,820 --> 00:36:44,660 în Brazilia, în care el a descărcat toate content-- cursului 769 00:36:44,660 --> 00:36:46,890 care este în mod clar fiind filmat și pus online-- 770 00:36:46,890 --> 00:36:51,480 astfel că el ar putea traduce în Portugheză și apoi învață mai mult de 100 771 00:36:51,480 --> 00:36:54,610 de colegii lui de-a lungul curs de un cuplu de ani, 772 00:36:54,610 --> 00:36:57,650 predare în limba lui maternă curriculum cursului. 773 00:36:57,650 --> 00:36:58,964 >> GABRIEL: Buna ziua. 774 00:36:58,964 --> 00:37:00,912 >> [Aplauze] 775 00:37:00,912 --> 00:37:06,669 776 00:37:06,669 --> 00:37:07,710 GABRIEL: Bună, eu sunt Gabriel. 777 00:37:07,710 --> 00:37:09,340 Sunt TF șef al cursului. 778 00:37:09,340 --> 00:37:10,780 Și sper că vei iubi CS50. 779 00:37:10,780 --> 00:37:12,830 Acest lucru este CS50. 780 00:37:12,830 --> 00:37:14,697 >> David J. MALAN: Acum pentru Rob. 781 00:37:14,697 --> 00:37:15,780 Oh, vrei introducere? 782 00:37:15,780 --> 00:37:16,696 >> ROB: Nu, nu știu. 783 00:37:16,696 --> 00:37:18,225 [Râsete] 784 00:37:18,225 --> 00:37:19,475 David J. MALAN: Si Rob Boden. 785 00:37:19,475 --> 00:37:22,300 [Râsete] 786 00:37:22,300 --> 00:37:23,800 ROB: Bună, eu sunt Rob. 787 00:37:23,800 --> 00:37:27,220 Acesta este al cincilea an mea implicat cu cursul. 788 00:37:27,220 --> 00:37:29,220 În fiecare an, e doar un mai bine și mai bine de clasă, 789 00:37:29,220 --> 00:37:31,550 asa ca voi sunt în mod clar Va fi minunat. 790 00:37:31,550 --> 00:37:33,181 Sper ca toate să se distreze cu ea. 791 00:37:33,181 --> 00:37:34,430 Am de gând să se distreze cu ea. 792 00:37:34,430 --> 00:37:36,670 Deci, ne mai vedem. 793 00:37:36,670 --> 00:37:38,445 >> David J. MALAN: Si timpul nu va permite noi-- 794 00:37:38,445 --> 00:37:39,670 >> [Aplauze] 795 00:37:39,670 --> 00:37:41,661 >> Timpul nu ne va permite de a introduce toată lumea 796 00:37:41,661 --> 00:37:44,660 pe scena și toți colegii lor care sunt de cumpărături clase de azi. 797 00:37:44,660 --> 00:37:47,390 Dar permiteți-mi să introducă Belinda și CS50 Puzzle 798 00:37:47,390 --> 00:37:49,550 Ziua, care așteaptă această vine sâmbătă, care 799 00:37:49,550 --> 00:37:51,800 este primul dintre curs de evenimente la scară largă. 800 00:37:51,800 --> 00:37:54,300 >> Aceasta în special a însemnat pentru ciocan de origine la punctul 801 00:37:54,300 --> 00:37:57,580 că informatica este în cele din urmă nu despre programare, ci mai degrabă 802 00:37:57,580 --> 00:37:59,280 despre rezolvarea de probleme, în general. 803 00:37:59,280 --> 00:38:01,450 Și Puzzle Day, după cum veți vezi, te va aduce 804 00:38:01,450 --> 00:38:04,207 și colegii dumneavoastră together-- speram ca acest sâmbătă. 805 00:38:04,207 --> 00:38:04,961 >> BELINDA: OK. 806 00:38:04,961 --> 00:38:05,750 Bună, băieți. 807 00:38:05,750 --> 00:38:06,740 Deci, mulțumesc. 808 00:38:06,740 --> 00:38:10,120 Deci, ca căpitanul nostru ilustrul a spus, numele meu e Belinda. 809 00:38:10,120 --> 00:38:12,100 Sunt un al doilea de studentie la Quincy House. 810 00:38:12,100 --> 00:38:15,730 >> Eu, la fel ca voi, a luat CS50 anul trecut, într-adevăr a placut. 811 00:38:15,730 --> 00:38:17,960 Am o slabiciune pentru voi în al treilea rând. 812 00:38:17,960 --> 00:38:21,384 Si sunt mandru sa spun, eu sunt acum într-o relație 813 00:38:21,384 --> 00:38:22,300 cu CS50 [neauzit]. 814 00:38:22,300 --> 00:38:22,799 OK. 815 00:38:22,799 --> 00:38:26,140 Asta a fost versiunea mea lame de o glumă. 816 00:38:26,140 --> 00:38:28,320 >> Oricum, așa se deplasează pe, doar a vrut să invite 817 00:38:28,320 --> 00:38:31,439 voi tot la i-laborator, sau urticarie HBS. 818 00:38:31,439 --> 00:38:33,730 Vom fi având Puzzle Day 12:00 - 03:00. 819 00:38:33,730 --> 00:38:37,680 Și este o mare oportunitate pentru tine baieti pentru a satisface colegii dvs. prieteni CS, 820 00:38:37,680 --> 00:38:42,780 rezolva unele puzzle-uri non-CS, cum ar fi căpitanul menționat, și să mănânce, de asemenea, unele alimente gratuit, 821 00:38:42,780 --> 00:38:46,910 câștiga premii minunat, cum ar fi carduri cadou, 75 dolari per persoană, 822 00:38:46,910 --> 00:38:48,400 și also-- ce a fost? 823 00:38:48,400 --> 00:38:49,540 Wii U sau ceva? 824 00:38:49,540 --> 00:38:50,333 Wii U? 825 00:38:50,333 --> 00:38:51,040 Da. 826 00:38:51,040 --> 00:38:52,330 Pentru tombola noastră. 827 00:38:52,330 --> 00:38:52,830 Minunat. 828 00:38:52,830 --> 00:38:54,310 Așa că o să rămâi după ore. 829 00:38:54,310 --> 00:38:56,770 Și dacă voi avea nici o întrebări, să-mi spuneți. 830 00:38:56,770 --> 00:38:59,980 >> David J. MALAN: Și veți vedea, dincolo de aceasta nu e nimic de făcut azi. 831 00:38:59,980 --> 00:39:01,920 Prima problemă setat va ieși vineri. 832 00:39:01,920 --> 00:39:05,420 Dar, pentru a ne aduce acasă astăzi, aș vrea să va introduce in mod special una mai 833 00:39:05,420 --> 00:39:09,080 membru al personalului, Colton Ogden aici, ale căror mâini sunt acum 834 00:39:09,080 --> 00:39:12,250 protejat de mai sus vă cu acest controler MIDI 835 00:39:12,250 --> 00:39:15,170 pentru ciocan de origine la punctul continuare că informatică, de asemenea, 836 00:39:15,170 --> 00:39:19,130 are aplicabilitate dincolo de inginerie și STEM și informatică în sine, 837 00:39:19,130 --> 00:39:22,890 extinderea chiar de domenii, cum ar fi muzica. 838 00:39:22,890 --> 00:39:30,590 >> Colton are amabilitate offered-- m-am gândit unul dintre ei a fost de gând să fixeze focalizarea. 839 00:39:30,590 --> 00:39:34,400 Andrew, dacă am putea convoca focalizare pe aici pentru un moment. 840 00:39:34,400 --> 00:39:36,780 >> Ce Colton a făcut în avans este programul 841 00:39:36,780 --> 00:39:40,345 acest dispozitiv, acest pad de butoane pe care le vezi imaginat aici, 842 00:39:40,345 --> 00:39:42,470 ca un controler MIDI, prin care fiecare dintre aceste butoane 843 00:39:42,470 --> 00:39:47,080 este conectat la un anumit notă muzicală sau un sunet, în general o înregistrare, 844 00:39:47,080 --> 00:39:50,445 astfel încât prin joc modele de acestea butoane, mult, cum ar fi modele de biți, 845 00:39:50,445 --> 00:39:52,620 poate reprezenta alte concepte de nivel mai înalt. 846 00:39:52,620 --> 00:39:56,750 El va putea în cele din urmă să ne ia acasă aici azi? 847 00:39:56,750 --> 00:39:59,540 Fără alte formalități, în cazul în care am putea dim luminile, 848 00:39:59,540 --> 00:40:03,145 și porniți ecranul din spatele Colton. 849 00:40:03,145 --> 00:40:03,865 >> Audiența: Woo! 850 00:40:03,865 --> 00:40:06,090 >> David J. MALAN: Acest lucru este CS50. 851 00:40:06,090 --> 00:40:10,518 >> [MUSIC JOC] 852 00:40:10,518 --> 00:42:46,018 853 00:42:46,018 --> 00:42:49,420 >> [Aplauze] 854 00:42:49,420 --> 00:42:54,766 855 00:42:54,766 --> 00:42:56,450 >> Asta e pentru CS50. 856 00:42:56,450 --> 00:42:57,950 Ne vedem vineri. 857 00:42:57,950 --> 00:42:59,890 Unii tort vă așteaptă în transept. 858 00:42:59,890 --> 00:43:04,046 859 00:43:04,046 --> 00:43:08,850 >> [MUSIC JOC] 860 00:43:08,850 --> 00:45:49,227