1 00:00:00,000 --> 00:00:07,700 2 00:00:07,700 --> 00:00:15,180 >> SPEAKER: OK, deci, tu nu-l va crede, dar saptamana trecuta, luni, în Pierce, I 3 00:00:15,180 --> 00:00:16,090 a fost în jos la subsol. 4 00:00:16,090 --> 00:00:17,010 Nu merg la Pierce. 5 00:00:17,010 --> 00:00:20,530 Și eu nu mă întorc din nou, pentru că Am lăsat lucrurile singur, 6 00:00:20,530 --> 00:00:23,950 cum ar fi, cinci minute și cineva mi-a furat calculatorul meu și meu 7 00:00:23,950 --> 00:00:26,050 telefon din rucsacul meu. 8 00:00:26,050 --> 00:00:28,780 Ceea ce înseamnă că am luat înapoi, și apoi mai puțin de o săptămână mai târziu 9 00:00:28,780 --> 00:00:30,220 l-au furat din nou. 10 00:00:30,220 --> 00:00:31,570 >> Și apoi l-am pornit - 11 00:00:31,570 --> 00:00:34,540 Find My iPhone continuă pentru a fi nefolositoare. 12 00:00:34,540 --> 00:00:37,340 Așa că am continua să încurajeze nu să-l folosească. 13 00:00:37,340 --> 00:00:42,270 Sa dovedit pe o dată, și a fost în MIT, ca 15 minute mai târziu, iar persoana 14 00:00:42,270 --> 00:00:45,770 numit acest număr de telefon care a arătat în AT & T jurnalul meu apel. 15 00:00:45,770 --> 00:00:48,830 >> Așa că m-am dus on-line, numit ca telefon număr, și sa dus direct la acest 16 00:00:48,830 --> 00:00:50,540 robot telefonic în limba spaniolă. 17 00:00:50,540 --> 00:00:52,520 Și nu am auzit de ea de atunci. 18 00:00:52,520 --> 00:00:54,800 Așa că am avut de a obține un nou computer și telefon. 19 00:00:54,800 --> 00:00:55,150 Știu. 20 00:00:55,150 --> 00:00:56,326 Da. 21 00:00:56,326 --> 00:01:00,110 Dar dacă vreți să cip în a mea fond de calculator după aceasta, de aceea 22 00:01:00,110 --> 00:01:01,030 Te-am chemat aici. 23 00:01:01,030 --> 00:01:02,280 Glumeam. 24 00:01:02,280 --> 00:01:04,239 25 00:01:04,239 --> 00:01:07,420 Dar care a fost foarte trist și traumatic. 26 00:01:07,420 --> 00:01:10,700 >> Dar totul e înapoi acum, și care a fost motivul -p set 8 durat atât de mult, deoarece 27 00:01:10,700 --> 00:01:12,480 Nu am avut un calculator. 28 00:01:12,480 --> 00:01:13,730 Și cineva a furat-o. 29 00:01:13,730 --> 00:01:16,940 Și eu prin e-mail, cere, dacă acestea ar fi clasa a 8-set-p dumneavoastră. 30 00:01:16,940 --> 00:01:18,790 Dar au spus nu. 31 00:01:18,790 --> 00:01:20,000 Și am fost ca, pot avea computerul meu înapoi? 32 00:01:20,000 --> 00:01:21,270 Și ei sunt ca, nu. 33 00:01:21,270 --> 00:01:22,130 Glumeam. 34 00:01:22,130 --> 00:01:22,930 >> OK. 35 00:01:22,930 --> 00:01:28,140 Aceasta este secțiunea finală, și am un cuplu de - avem doar trei 36 00:01:28,140 --> 00:01:29,790 lucrurile de pe ordinea de zi. 37 00:01:29,790 --> 00:01:31,330 Vom vorbi un pic despre ghidul Q. 38 00:01:31,330 --> 00:01:33,900 Apoi ne-am de gând să-și petreacă 15 de minute pe un demo rece. 39 00:01:33,900 --> 00:01:36,890 Apoi, vom spune tot la revedere unul de altul. 40 00:01:36,890 --> 00:01:41,460 Nu aveți cu adevărat nevoie de computere sau un stilou sau hârtie pentru a lua notițe, sau 41 00:01:41,460 --> 00:01:42,410 urmați de-a lungul. 42 00:01:42,410 --> 00:01:45,620 Deci, eu presupun, dacă aveți computerul în sus, atunci esti pe Facebook. 43 00:01:45,620 --> 00:01:46,530 Doar spune. 44 00:01:46,530 --> 00:01:49,650 Daca nu esti completarea Ghid Q, care este primul. 45 00:01:49,650 --> 00:01:50,690 >> Ghidul Q este deschis. 46 00:01:50,690 --> 00:01:53,520 Ai avut un e-mail cu privire la aceasta. 47 00:01:53,520 --> 00:01:56,930 După ce toate lucrurile Q se depune la sfârșitul anului, am obține toate 48 00:01:56,930 --> 00:02:03,710 Comentarii Q în scorurile din toată lumea care alege să-mi dea un feedback. 49 00:02:03,710 --> 00:02:04,810 Așa că atunci când te duci în Q - 50 00:02:04,810 --> 00:02:07,440 Nu știu dacă pot face asta, Jeff, pentru că ești și student de extensie. 51 00:02:07,440 --> 00:02:12,730 Dar când te duci în Q, dacă nu aveți făcut-o înainte, alegeți dvs. 52 00:02:12,730 --> 00:02:14,020 profesor, care este David Malan. 53 00:02:14,020 --> 00:02:14,970 Trebuie să-l facă. 54 00:02:14,970 --> 00:02:15,690 >> Și apoi puteți alege TFS. 55 00:02:15,690 --> 00:02:17,750 Și tu poți alege cât mai multe TFS, după cum doriți. 56 00:02:17,750 --> 00:02:18,990 Dar există 60 de noi. 57 00:02:18,990 --> 00:02:20,350 Nu trebuie să alegeți toată lumea. 58 00:02:20,350 --> 00:02:23,090 Puteți alege doar pe mine, sau pur și simplu alege un alte persoane cuplu, dacă doriți, să 59 00:02:23,090 --> 00:02:24,470 să le dea feedback-ul la fel de bine. 60 00:02:24,470 --> 00:02:27,595 Și atunci veți obține scoruri la toate acestea axe diferite, și apoi puteți pleca 61 00:02:27,595 --> 00:02:28,570 le feedback. 62 00:02:28,570 --> 00:02:31,520 >> Și apoi, ca o lună mai târziu, Voi lua tot ce feedback-ul. 63 00:02:31,520 --> 00:02:34,570 Și la fel ca feedback-ul le-ați fost să-mi dea de-a lungul semestrului, am 64 00:02:34,570 --> 00:02:35,790 citeste tot de asta. 65 00:02:35,790 --> 00:02:39,620 Și este într-adevăr util, și-l ajută mi cresc ca profesor și ca un 66 00:02:39,620 --> 00:02:40,680 individuală. 67 00:02:40,680 --> 00:02:43,360 Deci, vă rog, să ia ceva timp să o facă. 68 00:02:43,360 --> 00:02:45,020 Suntem doar de gând să fie aici pentru, cum ar fi, 30 de minute. 69 00:02:45,020 --> 00:02:48,090 Deci, dacă doriți, la sfârșitul acestui, la ia cinci minute, și doar să completați 70 00:02:48,090 --> 00:02:49,960 Q, deoarece nu ia orice mai mult timp decât asta. 71 00:02:49,960 --> 00:02:53,410 Asta ar fi minunat, și tu, de asemenea, obține note înapoi mai repede în cazul în care 72 00:02:53,410 --> 00:02:54,620 vă completați Q. 73 00:02:54,620 --> 00:02:56,580 >> Deci, cele mai multe dintre voi ați făcut asta înainte - 74 00:02:56,580 --> 00:02:58,240 sau nu, aproximativ jumatate din tine au făcut asta înainte. 75 00:02:58,240 --> 00:03:00,060 Dar daca esti un student în anul întâi, asta e ceea ce este. 76 00:03:00,060 --> 00:03:01,910 Va fi la fel pentru toate clasele. 77 00:03:01,910 --> 00:03:02,270 Fă-o. 78 00:03:02,270 --> 00:03:02,900 Este nevoie de cinci minute. 79 00:03:02,900 --> 00:03:07,610 Dar, de asemenea, dacă o faci un pic serios, că nu e cel mai rău lucru 80 00:03:07,610 --> 00:03:10,270 în lume, pentru că eu cu siguranță ia-o în serios. 81 00:03:10,270 --> 00:03:13,000 >> Deci, dacă mă lași o fata zambitoare, Eu va aprecia asta. 82 00:03:13,000 --> 00:03:17,550 Dar mi-ar aprecia, de asemenea, dacă mi-a lăsat mai mult de o fata zambitoare. 83 00:03:17,550 --> 00:03:18,270 Dar este de până la tine. 84 00:03:18,270 --> 00:03:21,540 Eu nu pot să vă spun - sau ca un smiley mare se confruntă, cu un capital D. Asta ar 85 00:03:21,540 --> 00:03:23,060 fi chiar mai bine. 86 00:03:23,060 --> 00:03:27,860 >> OK, asta e tot ce am pentru Q. Dacă Pentru orice întrebări, puteți cere 87 00:03:27,860 --> 00:03:29,370 mine, dar destul de auto-explicative. 88 00:03:29,370 --> 00:03:31,090 Doar, te rog, o completați. 89 00:03:31,090 --> 00:03:34,390 Mi-ar aprecia cu adevărat, și aceasta înseamnă foarte mult pentru mine. 90 00:03:34,390 --> 00:03:38,910 >> OK, asta este ceea ce am de gând să-și petreacă 15 minute trece prin. 91 00:03:38,910 --> 00:03:39,800 Am de gând să-ți arăt ceva cod. 92 00:03:39,800 --> 00:03:42,080 Cred că acest lucru este foarte cool, și acest lucru mi-a luat mai mult 93 00:03:42,080 --> 00:03:43,810 entuziasmat în informatică. 94 00:03:43,810 --> 00:03:46,480 Deci, eu sper că va face aceeași pentru voi toți. 95 00:03:46,480 --> 00:03:51,760 >> Vom deschide - și toate acestea Codul voi trimite la tine mai târziu. 96 00:03:51,760 --> 00:03:52,680 Dar suntem doar de gând să se deschidă - 97 00:03:52,680 --> 00:03:54,310 Sunt în terminalul meu - 98 00:03:54,310 --> 00:03:56,810 vom deschide acest program numit [? MySum. ?] 99 00:03:56,810 --> 00:04:01,290 100 00:04:01,290 --> 00:04:02,540 >> Poate toata lumea citit, sau ar trebui să facă mai mare? 101 00:04:02,540 --> 00:04:07,670 102 00:04:07,670 --> 00:04:13,040 Poate cineva să-mi spui ce acest cod va fac atunci când am alerga, sau ceea ce acest 103 00:04:13,040 --> 00:04:14,320 Programul se va face atunci când am rula? 104 00:04:14,320 --> 00:04:30,710 105 00:04:30,710 --> 00:04:32,400 >> [? Avi,?] Ce crezi este de gând să faci? 106 00:04:32,400 --> 00:04:33,335 Finisaj de mestecat. 107 00:04:33,335 --> 00:04:35,033 Nu ar trebui să vorbim cu gura deschisa. 108 00:04:35,033 --> 00:04:38,330 109 00:04:38,330 --> 00:04:42,860 >> Audiența: Are ia o grămadă de argumente, găsi suma de ei se întorc 110 00:04:42,860 --> 00:04:45,285 sumă, și apoi imprimați-l? 111 00:04:45,285 --> 00:04:53,045 Sau este nevoie de două argumente, și apoi se face [neauzit]. 112 00:04:53,045 --> 00:04:56,460 Și apoi se imprimă din orice rezultatele sunt. 113 00:04:56,460 --> 00:04:58,100 >> SPEAKER: Close, foarte aproape. 114 00:04:58,100 --> 00:04:59,840 Vrea cineva să adauge la [? ce Avi?] spus? 115 00:04:59,840 --> 00:05:04,830 116 00:05:04,830 --> 00:05:07,293 Ai nevoie pentru a da acest program orice argumente în linia de comandă? 117 00:05:07,293 --> 00:05:09,145 >> Audiența: Nu. 118 00:05:09,145 --> 00:05:09,610 >> SPEAKER: Nu. 119 00:05:09,610 --> 00:05:11,250 Ce se întâmplă dacă nu-l dau orice argumente în linia de comandă? 120 00:05:11,250 --> 00:05:12,500 Doar scriu punct MySum slash. 121 00:05:12,500 --> 00:05:15,145 122 00:05:15,145 --> 00:05:16,630 >> Audiența: 1 plus 2 egal cu 3. 123 00:05:16,630 --> 00:05:17,250 >> Difuzor: 1 plus 2 egal cu 3. 124 00:05:17,250 --> 00:05:18,570 Și se va tipări asta. 125 00:05:18,570 --> 00:05:19,450 Asta-i exact corect. 126 00:05:19,450 --> 00:05:21,370 Veți vedea că de imprimare f linie în partea de jos. 127 00:05:21,370 --> 00:05:23,450 Se va imprima o, b, și atunci suma dintre a și b. 128 00:05:23,450 --> 00:05:26,360 Și cred că voi presupune că Suma funcționează corect. 129 00:05:26,360 --> 00:05:28,120 Bună presupunere. 130 00:05:28,120 --> 00:05:32,250 >> OK, și ce se întâmplă dacă am da ce argument? 131 00:05:32,250 --> 00:05:33,010 [? Manu? ?] 132 00:05:33,010 --> 00:05:36,230 >> Audiența: Se va adăuga orice primul argument este de b. 133 00:05:36,230 --> 00:05:37,150 Sau la 2, îmi pare rău. 134 00:05:37,150 --> 00:05:38,480 >> SPEAKER: Dreptul, la 2. 135 00:05:38,480 --> 00:05:42,470 Stie cineva ce strtol face? 136 00:05:42,470 --> 00:05:43,960 Este practic atoi. 137 00:05:43,960 --> 00:05:47,240 Atoi este de fapt o versiune de lux a - 138 00:05:47,240 --> 00:05:49,600 sau o versiune mai simplă a strtol. 139 00:05:49,600 --> 00:05:51,790 Dar se foloseste de fapt strtol. 140 00:05:51,790 --> 00:05:54,610 141 00:05:54,610 --> 00:05:58,010 Și am aflat asta pentru că am vrut ceva de genul atoi, iar apoi, când am 142 00:05:58,010 --> 00:06:01,110 a atoi, am citit pe aici. 143 00:06:01,110 --> 00:06:04,380 Și am găsit "acest comportament este la fel ca "strtol. 144 00:06:04,380 --> 00:06:06,850 Deci, este practic atoi pentru toate punctele de vedere. 145 00:06:06,850 --> 00:06:09,320 Și veți vedea chiar am folosi nul și 10. 146 00:06:09,320 --> 00:06:14,390 >> Acest fapt vă permite să ia un șir de caractere, și-l transforma într-un număr, și alege 147 00:06:14,390 --> 00:06:15,970 ce baza vrei să o faci inch 148 00:06:15,970 --> 00:06:17,370 Deci, aceasta este baza 10 chiar aici. 149 00:06:17,370 --> 00:06:20,455 Am fi putut face de bază pentru două zecimale, de bază 16 pentru hexazecimal. 150 00:06:20,455 --> 00:06:22,090 Este destul de cool. 151 00:06:22,090 --> 00:06:25,860 Dar pe scurt, această nevoie de doi numere și le adaugă împreună. 152 00:06:25,860 --> 00:06:29,260 >> Deci, haideți să-l rulați. 153 00:06:29,260 --> 00:06:32,560 Și veți observa, de asemenea, acolo sunt unele lucruri - 154 00:06:32,560 --> 00:06:37,830 așa că am un Makefile chiar aici, și Dacă deschideți asta, unele lucruri 155 00:06:37,830 --> 00:06:39,270 veți observa sunt diferite. 156 00:06:39,270 --> 00:06:42,370 În special, acest argument chiar aici, tu, probabil, 157 00:06:42,370 --> 00:06:43,010 nu s-au văzut că, înainte. 158 00:06:43,010 --> 00:06:45,770 În general, ne-am compila lucrurile cu liniuță de zero, zero. 159 00:06:45,770 --> 00:06:51,500 Dash de zero, zero înseamnă să nu faci orice optimizări, compilator. 160 00:06:51,500 --> 00:06:54,950 Nu încercați și de a face orice fantezie, sau face ceva alerga mai repede, sau de a lua 161 00:06:54,950 --> 00:06:56,530 scăpa de variabile care sunt necesare. 162 00:06:56,530 --> 00:06:58,080 Nu a optimiza acest cod, la toate, 163 00:06:58,080 --> 00:07:00,110 >> Eu cer pentru al treilea nivel, optimizare. 164 00:07:00,110 --> 00:07:02,580 Deci, eu cer compilator pentru a face o mulțime de optimizări. 165 00:07:02,580 --> 00:07:05,870 Aveți posibilitatea să modificați că, în Makefile atunci când aveți acest cod, dacă vrei 166 00:07:05,870 --> 00:07:07,190 pentru a vedea lucrurile diferit. 167 00:07:07,190 --> 00:07:08,660 Pe care le vom arăta într-o secundă. 168 00:07:08,660 --> 00:07:12,080 Deci, vom rula sumă mea 1 plus 2, plus 3. 169 00:07:12,080 --> 00:07:13,445 Cineva dă-mi două argumente. 170 00:07:13,445 --> 00:07:17,221 171 00:07:17,221 --> 00:07:18,210 >> Audiența: 4 și 5. 172 00:07:18,210 --> 00:07:18,966 >> SPEAKER: 4 și 5. 173 00:07:18,966 --> 00:07:19,900 Mulțumesc. 174 00:07:19,900 --> 00:07:20,860 Mare, funcționează. 175 00:07:20,860 --> 00:07:25,700 Care sunt alte argumente bune pentru a încerca, pentru a vă asigura funcționează? 176 00:07:25,700 --> 00:07:27,050 Oricine? 177 00:07:27,050 --> 00:07:27,430 >> Audiența: 0. 178 00:07:27,430 --> 00:07:29,210 >> SPEAKER: 0 și? 179 00:07:29,210 --> 00:07:31,010 >> Audiența: Negativ 3. 180 00:07:31,010 --> 00:07:32,040 >> SPEAKER: Se lucrează. 181 00:07:32,040 --> 00:07:33,670 Dar acestea au fost alegeri bune. 182 00:07:33,670 --> 00:07:36,600 OK, așa că hai să ne întoarcem aici. 183 00:07:36,600 --> 00:07:38,540 Acest lucru este mysum.c. 184 00:07:38,540 --> 00:07:42,440 Veți observa, există, de asemenea, ceva numit sumfunction.c. 185 00:07:42,440 --> 00:07:48,110 Și aceasta spune, oh, e ceva definite în sumfunction.c. 186 00:07:48,110 --> 00:07:51,480 Eu nu includ acest fișier aici pentru că nu am nevoie să. 187 00:07:51,480 --> 00:07:54,840 Dar l-am link-ul din când am compila, pe care ai observat. 188 00:07:54,840 --> 00:07:57,380 >> Să derulați în sus. 189 00:07:57,380 --> 00:08:02,880 Am văzut când am compilat mysum, chiar acolo, ne-am legat în binar de la 190 00:08:02,880 --> 00:08:04,130 sumfunction.o. 191 00:08:04,130 --> 00:08:05,780 192 00:08:05,780 --> 00:08:08,470 Și nu am nevoie de fișierul header pentru că, desigur, nu e 193 00:08:08,470 --> 00:08:09,240 declarație a funcției. 194 00:08:09,240 --> 00:08:12,200 Atât de clare includ în mod normal, doar pune într-o declarație funcție. 195 00:08:12,200 --> 00:08:13,730 Aici l-am pune-l drept în codul. 196 00:08:13,730 --> 00:08:16,370 Și așa că am nevoie să faceți este să link în binar, pe care eu fac. 197 00:08:16,370 --> 00:08:19,950 >> Orice presupuneri pentru ceea ce este în sumfunction.c? 198 00:08:19,950 --> 00:08:21,950 Ce cod am scris în sumfunction.c? 199 00:08:21,950 --> 00:08:25,445 200 00:08:25,445 --> 00:08:26,695 >> Audiența: [inaudibil]. 201 00:08:26,695 --> 00:08:29,460 202 00:08:29,460 --> 00:08:30,630 >> SPEAKER: Orice presupuneri? 203 00:08:30,630 --> 00:08:30,940 Da? 204 00:08:30,940 --> 00:08:33,710 >> Audiența: Cred că, definește unele [neauzit]. 205 00:08:33,710 --> 00:08:33,975 >> SPEAKER: Da. 206 00:08:33,975 --> 00:08:37,650 Deci, eu scriu suma int int a. 207 00:08:37,650 --> 00:08:41,120 Scriu această linie, și apoi am deschis acoladă, închis acoladă. 208 00:08:41,120 --> 00:08:46,160 Ce crezi că scriu în interiorul celor acolade, în interiorul această funcție? 209 00:08:46,160 --> 00:08:46,600 Da? 210 00:08:46,600 --> 00:08:48,150 >> Audiența: Înapoi egal cu o. 211 00:08:48,150 --> 00:08:50,010 >> Procesor: Asta este o presupunere foarte bun. 212 00:08:50,010 --> 00:08:51,720 Cine crede [? Manu?] Este corect? 213 00:08:51,720 --> 00:08:54,122 Se spune reveni un plus b. 214 00:08:54,122 --> 00:08:55,860 OK, nu toată lumea. 215 00:08:55,860 --> 00:08:56,520 [? Akshar,?] 216 00:08:56,520 --> 00:08:57,390 face, de asemenea? 217 00:08:57,390 --> 00:09:00,430 Ești sigur? 218 00:09:00,430 --> 00:09:01,680 OK. 219 00:09:01,680 --> 00:09:09,551 220 00:09:09,551 --> 00:09:10,050 Ce? 221 00:09:10,050 --> 00:09:11,662 >> Audiența: Ai scris greșit. 222 00:09:11,662 --> 00:09:13,000 >> SPEAKER: Nu, nu am făcut-o. 223 00:09:13,000 --> 00:09:13,966 Da, doar glumesc. 224 00:09:13,966 --> 00:09:15,300 Ai dreptate. 225 00:09:15,300 --> 00:09:15,930 Asta este exact ceea ce spune. 226 00:09:15,930 --> 00:09:17,110 Este reveni un plus b. 227 00:09:17,110 --> 00:09:18,570 Care face o mulțime de sens. 228 00:09:18,570 --> 00:09:20,240 >> OK, hai să ne întoarcem aici. 229 00:09:20,240 --> 00:09:21,490 Vedem cum antetul - 230 00:09:21,490 --> 00:09:24,540 231 00:09:24,540 --> 00:09:25,660 asta e tipul de întoarcere. 232 00:09:25,660 --> 00:09:29,100 Amintiți-vă, am văzut în acea zi una, reveni tip de funcție, dar se 233 00:09:29,100 --> 00:09:30,160 înainte de numele funcției Int. 234 00:09:30,160 --> 00:09:31,560 Aici, am scris int. 235 00:09:31,560 --> 00:09:35,680 Ce crezi că se va întâmpla în cazul în care, în acest funcție, eu nu scriu int, dar 236 00:09:35,680 --> 00:09:38,270 Scriu nesemnate? 237 00:09:38,270 --> 00:09:41,050 Diferența, desigur, fiind că nesemnate reprezintă doar pozitiv 238 00:09:41,050 --> 00:09:43,620 numere întregi, și int pot fi pozitiv sau negativ. 239 00:09:43,620 --> 00:09:45,450 >> Așa că m-am schimbat revenirea tip de această funcție. 240 00:09:45,450 --> 00:09:49,370 Acest cod nu corespunde această întoarcere tip de aici. 241 00:09:49,370 --> 00:09:50,925 Ce crezi că se va întâmpla când am compila? 242 00:09:50,925 --> 00:09:53,840 243 00:09:53,840 --> 00:09:56,240 Ar trebui să țipi la mine. 244 00:09:56,240 --> 00:09:57,700 Fara strigate. 245 00:09:57,700 --> 00:10:00,050 >> Ce zici de când am rula programul? 246 00:10:00,050 --> 00:10:05,810 Să facem înainte de 0 negativ 3, sau negativă 1. 247 00:10:05,810 --> 00:10:10,180 Încă mai funcționează, chiar dacă spun se întoarce un întreg fără semn. 248 00:10:10,180 --> 00:10:12,060 În mod clar nu e întoarce un întreg fără semn. 249 00:10:12,060 --> 00:10:13,520 Se întoarce un întreg semnat. 250 00:10:13,520 --> 00:10:16,130 Se întoarce negativ 1. 251 00:10:16,130 --> 00:10:17,830 OK, asta e ciudat. 252 00:10:17,830 --> 00:10:27,030 >> Ce zici dacă mă duc în aici și de a face asta? 253 00:10:27,030 --> 00:10:29,700 Așa că m-am schimbat totul de la int la nesemnate. 254 00:10:29,700 --> 00:10:31,590 Se poate lua numai numere întregi fără semn. 255 00:10:31,590 --> 00:10:33,840 Dar nu am încă mai cred că va fugi? 256 00:10:33,840 --> 00:10:35,652 >> Publicul: Da. 257 00:10:35,652 --> 00:10:37,270 >> SPEAKER: Acesta va. 258 00:10:37,270 --> 00:10:39,410 Asta-i nebunie. 259 00:10:39,410 --> 00:10:43,140 Și vom trece într-un mod clar atribuit întreg, putem trece două semnat 260 00:10:43,140 --> 00:10:46,280 întreg, încă mai funcționează. 261 00:10:46,280 --> 00:10:52,150 >> OK, orice idei de ce-l mai lucrări, sau ce se întâmplă? 262 00:10:52,150 --> 00:10:53,368 Da, Jeff. 263 00:10:53,368 --> 00:10:56,296 >> Audiența: Ea are ceva de-a face cu dvs. de optimizare pe care le 264 00:10:56,296 --> 00:10:57,760 evidențiat. 265 00:10:57,760 --> 00:10:58,210 >> SPEAKER: Nu. 266 00:10:58,210 --> 00:11:00,570 Am putea schimba optimizarea, ar funcționa în continuare. 267 00:11:00,570 --> 00:11:02,240 Pot face asta pentru tine, dar - 268 00:11:02,240 --> 00:11:02,930 >> Audiența: Voi lua cuvântul tău pentru ea. 269 00:11:02,930 --> 00:11:03,690 >> SPEAKER: Da. 270 00:11:03,690 --> 00:11:09,690 Dacă deschideți Makefile chiar aici, Am schimbat de optimizare. 271 00:11:09,690 --> 00:11:11,570 Astfel încât să puteți face strop de zero, zero. 272 00:11:11,570 --> 00:11:12,820 Acesta va funcționa în continuare. 273 00:11:12,820 --> 00:11:16,839 274 00:11:16,839 --> 00:11:20,280 Alte gânduri? 275 00:11:20,280 --> 00:11:22,600 >> Voi aștepta tot la locul de muncă, așa ce te-ai aștepta să funcționeze? 276 00:11:22,600 --> 00:11:31,210 277 00:11:31,210 --> 00:11:32,150 Nu? 278 00:11:32,150 --> 00:11:33,660 Tăcere. 279 00:11:33,660 --> 00:11:34,910 OK. 280 00:11:34,910 --> 00:11:39,271 281 00:11:39,271 --> 00:11:41,650 Trebuie să așteptați șapte secunde, pentru că am pus o întrebare. 282 00:11:41,650 --> 00:11:44,190 283 00:11:44,190 --> 00:11:48,660 >> Deci, cool thing despre C, și le-ați probabil experimentat înainte - te 284 00:11:48,660 --> 00:11:50,260 nu ar putea avea, aceasta s-ar putea fi prima dată. 285 00:11:50,260 --> 00:11:57,030 Dar, după cum știți cu toții, când scriu ceva în C, nu salvează ca 286 00:11:57,030 --> 00:11:57,760 acest lucru pe computer. 287 00:11:57,760 --> 00:11:59,440 Este salvat ca cele si zerouri. 288 00:11:59,440 --> 00:12:02,970 Se merge de la codul C la codul de asamblare. 289 00:12:02,970 --> 00:12:09,460 >> A văzut cineva codul de asamblare înainte, codul de asamblare mașină? 290 00:12:09,460 --> 00:12:10,630 Ne vom uita la într-o secundă. 291 00:12:10,630 --> 00:12:12,040 Se merge de la codul C la codul de asamblare. 292 00:12:12,040 --> 00:12:13,755 Și voi cunoaște etapele de compilare. 293 00:12:13,755 --> 00:12:17,410 Trebuia să memoreze că pentru un test, și apoi scrie-l pe test de zero. 294 00:12:17,410 --> 00:12:18,240 Cei mai mulți oameni înțeles greșit. 295 00:12:18,240 --> 00:12:19,760 Cred că voi l prins. 296 00:12:19,760 --> 00:12:22,880 >> Dar, voi sunteti cel mai bun sectiunea pentru teste, apropo. 297 00:12:22,880 --> 00:12:25,210 Ceea ce este minunat. 298 00:12:25,210 --> 00:12:25,910 Nu te va răni. 299 00:12:25,910 --> 00:12:26,900 Nu fi îngrijorat. 300 00:12:26,900 --> 00:12:28,800 Dar e foarte misto. 301 00:12:28,800 --> 00:12:29,660 Bună treabă. 302 00:12:29,660 --> 00:12:32,870 >> Deci, se duce la limbaj de asamblare, și apoi se duce la unu și zerouri. 303 00:12:32,870 --> 00:12:35,500 Iar cele si zerouri sunt salvate pe calculator, și asta e ceea ce a salvat în 304 00:12:35,500 --> 00:12:38,340 a.out, sau în acest caz, fișierul executabil. 305 00:12:38,340 --> 00:12:41,040 Și computerul rulează unu și zerouri. 306 00:12:41,040 --> 00:12:41,670 Corect? 307 00:12:41,670 --> 00:12:43,890 Ne-am învățat asta. 308 00:12:43,890 --> 00:12:47,490 >> Deci, ceea ce este rece, acest nesemnat idee, ideea de tipuri de int nesemnate, 309 00:12:47,490 --> 00:12:50,490 etc, etc, asta e aici, în limbajul C. 310 00:12:50,490 --> 00:12:51,110 Cei care exista. 311 00:12:51,110 --> 00:12:53,770 Dar tipuri nu există la cele si zerouri. 312 00:12:53,770 --> 00:12:57,110 Tipuri nici nu există cu adevărat la nivelul de limbaj de asamblare. 313 00:12:57,110 --> 00:13:00,075 Deci, asta e ceva care există în C lume, dar nu există în calculator 314 00:13:00,075 --> 00:13:01,640 lume sau procesor lume. 315 00:13:01,640 --> 00:13:04,660 E o abstracție că C limba a inclus, pentru a face noastre 316 00:13:04,660 --> 00:13:06,240 viața mai ușoară. 317 00:13:06,240 --> 00:13:09,990 >> Deci, la sfârșitul zilei, eu pot scrie multe lucruri diferite aici, și-l 318 00:13:09,990 --> 00:13:10,700 nu face o diferență. 319 00:13:10,700 --> 00:13:12,060 Pentru că există doar în lume C. 320 00:13:12,060 --> 00:13:14,100 Ea nu există în cele si zerouri lume. 321 00:13:14,100 --> 00:13:17,310 Și programul nostru de executare în cele si zerouri lume. 322 00:13:17,310 --> 00:13:21,170 Deci, mintea ta e în mod clar, nu cu sufletul la gură încă. 323 00:13:21,170 --> 00:13:22,740 Dar cred că e cool. 324 00:13:22,740 --> 00:13:23,530 Da, Jeff. 325 00:13:23,530 --> 00:13:27,298 >> Audiența: Deci, dacă în loc de face Int, faci char. 326 00:13:27,298 --> 00:13:27,770 Și tu ai fost - 327 00:13:27,770 --> 00:13:29,311 >> SPEAKER: Hai so facem într-o secundă. 328 00:13:29,311 --> 00:13:32,583 >> Audiența: Pentru că atunci veți primi o nesemnate merge de la negativ la 128 329 00:13:32,583 --> 00:13:34,720 127 sau 0 la 255. 330 00:13:34,720 --> 00:13:36,760 >> SPEAKER: Deci, char este problematică. 331 00:13:36,760 --> 00:13:39,460 Stie cineva de ce ar fi char problematic, și că ar fi de fapt 332 00:13:39,460 --> 00:13:42,930 schimba lucrurile în cele și zerouri lume? 333 00:13:42,930 --> 00:13:44,370 >> Audiența: Din cauza dimensiunii de char. 334 00:13:44,370 --> 00:13:46,200 >> SPEAKER: Mărimea char este 1. 335 00:13:46,200 --> 00:13:48,260 Deci fără semn este, de asemenea, 4 octeți. 336 00:13:48,260 --> 00:13:50,080 Deci, char ar șurub lucrurile. 337 00:13:50,080 --> 00:13:55,660 Dar ceea ce este de 4 bytes că e în legătură cu un char? 338 00:13:55,660 --> 00:13:57,820 Sau la care se adaugă o suplimentare - 339 00:13:57,820 --> 00:13:59,760 puteți pune un caracter mai mult după char. 340 00:13:59,760 --> 00:14:00,200 >> Audiența: Char stele. 341 00:14:00,200 --> 00:14:01,220 >> SPEAKER: Char stele are 4 bytes. 342 00:14:01,220 --> 00:14:02,490 Deci, hai sa facem ceva care este o stea char. 343 00:14:02,490 --> 00:14:05,470 344 00:14:05,470 --> 00:14:07,240 >> Deci, acest lucru ar fi, probabil, locul de muncă, dar suntem de gând să faci ceva chiar 345 00:14:07,240 --> 00:14:09,710 mai nebun decât aceasta. 346 00:14:09,710 --> 00:14:10,960 În opinia mea, mai nebun. 347 00:14:10,960 --> 00:14:21,060 348 00:14:21,060 --> 00:14:24,570 >> Am scris acum o funcție care returnează un pointer, și este nevoie de o 349 00:14:24,570 --> 00:14:29,480 pointer și o valoare nesemnate - vom schimba această înapoi la int asa ca nu suntem 350 00:14:29,480 --> 00:14:31,250 face prea multe schimbari la o dată. 351 00:14:31,250 --> 00:14:35,370 Și are o gamă largă sunat, indici în matrice, și returnează 352 00:14:35,370 --> 00:14:35,850 adresa. 353 00:14:35,850 --> 00:14:37,470 Ne-am văzut acești operatori înainte. 354 00:14:37,470 --> 00:14:43,340 Acest lucru, ce crezi că se întâmplă de a face, în schimb, atunci când am rula? 355 00:14:43,340 --> 00:14:48,280 356 00:14:48,280 --> 00:14:49,070 Ce crezi că va face? 357 00:14:49,070 --> 00:14:50,320 Orice presupuneri? 358 00:14:50,320 --> 00:14:54,220 359 00:14:54,220 --> 00:14:55,320 >> Audiența: Segfault. 360 00:14:55,320 --> 00:14:55,600 >> SPEAKER: Ce? 361 00:14:55,600 --> 00:14:56,660 Segfault? 362 00:14:56,660 --> 00:14:58,520 Asta-i o presupunere bun. 363 00:14:58,520 --> 00:14:59,430 Tom spune același lucru. 364 00:14:59,430 --> 00:15:02,240 Orice alte presupuneri? 365 00:15:02,240 --> 00:15:05,260 >> Cine crede că se va face acelasi lucru? 366 00:15:05,260 --> 00:15:06,510 Cine crede că o să segfault? 367 00:15:06,510 --> 00:15:09,350 368 00:15:09,350 --> 00:15:10,230 Acesta face același lucru. 369 00:15:10,230 --> 00:15:11,880 Scuze. 370 00:15:11,880 --> 00:15:13,860 >> Dar, desigur, am pus în 1 și 2. 371 00:15:13,860 --> 00:15:16,470 Iar cei care sunt atât de valabil, corect? 372 00:15:16,470 --> 00:15:19,420 Să vedem, putem merge la loc de un tablou de-al doilea. 373 00:15:19,420 --> 00:15:24,010 Dar ce dacă am făcut b un număr negativ? 374 00:15:24,010 --> 00:15:26,380 Că este, probabil, o presupunere bună pentru ceva segfaulting. 375 00:15:26,380 --> 00:15:30,310 376 00:15:30,310 --> 00:15:32,260 Încă mai funcționează. 377 00:15:32,260 --> 00:15:35,020 >> OK, aceasta este acum o nebunie. 378 00:15:35,020 --> 00:15:38,350 Acest lucru este din funcție sume la fel de valabile. 379 00:15:38,350 --> 00:15:40,470 Acest lucru face exact același lucru ca întoarcere a și b. 380 00:15:40,470 --> 00:15:44,600 Poate cineva explica de ce acest lucru este un bun Funcția Sum, sau de ce funcționează? 381 00:15:44,600 --> 00:15:45,850 Ce se întâmplă aici? 382 00:15:45,850 --> 00:15:49,360 383 00:15:49,360 --> 00:15:55,750 De ce face acest lucru face exact la fel lucru ca funcția noastră sumă vechi? 384 00:15:55,750 --> 00:15:56,890 [? Akshar,?] 385 00:15:56,890 --> 00:15:58,155 ce se întâmplă? 386 00:15:58,155 --> 00:16:01,540 >> Audiența: Pentru că atunci când aveți o o care este o adresă de 387 00:16:01,540 --> 00:16:03,950 memoria locație - 388 00:16:03,950 --> 00:16:07,910 și atunci când faci ampersand, ea se duce la adresa de memorie. 389 00:16:07,910 --> 00:16:13,610 Și atunci când te duci la b, esti un fel de pași de la adresa de memorie în mișcare, 390 00:16:13,610 --> 00:16:15,550 te întoarce asta. 391 00:16:15,550 --> 00:16:20,083 Deci tu esti de fapt, de fapt, adăugarea a și b [inaudible]. 392 00:16:20,083 --> 00:16:23,300 393 00:16:23,300 --> 00:16:26,222 În cazul în care sunt operațiuni standard, pe care întoarcere? 394 00:16:26,222 --> 00:16:27,683 Ca, în cazul în care nu parantezele cad? 395 00:16:27,683 --> 00:16:30,610 Este revenirea adresa de pe o înainte sau după [inaudibil]? 396 00:16:30,610 --> 00:16:32,380 >> SPEAKER: O să indice în b - 397 00:16:32,380 --> 00:16:34,430 sau index într-o - și apoi returna adresa. 398 00:16:34,430 --> 00:16:38,800 399 00:16:38,800 --> 00:16:41,340 OK, deci am înțeles toată lumea ce [? Akshar?] 400 00:16:41,340 --> 00:16:45,830 a spus, și explicat, de ce funcționează? 401 00:16:45,830 --> 00:16:49,430 Eu nu, pentru prima dată cineva a explicat acest lucru pentru mine. 402 00:16:49,430 --> 00:16:51,900 Oricine ar dori o imagine pentru a explica acest lucru? 403 00:16:51,900 --> 00:16:55,320 Vom desena o imagine, cu nu există markeri, asta e minunat. 404 00:16:55,320 --> 00:16:57,920 S-au găsit unii. 405 00:16:57,920 --> 00:17:03,390 >> Deci avem o matrice care este o serie de cutii. 406 00:17:03,390 --> 00:17:07,160 407 00:17:07,160 --> 00:17:13,710 Prima dintre ele este un index 0, indicele 1, 2, 3, 4, punct, punct, punct. 408 00:17:13,710 --> 00:17:15,609 O matrice tipic. 409 00:17:15,609 --> 00:17:19,540 Și, în plus față de indici, toate au adrese de memorie. 410 00:17:19,540 --> 00:17:30,190 Așa că haideți să dau această adresă de memorie 13, 14, 15, 16, 17, etc. 411 00:17:30,190 --> 00:17:32,490 Toată lumea e aici până acum. 412 00:17:32,490 --> 00:17:35,810 >> Deci, o este o adresă. 413 00:17:35,810 --> 00:17:38,850 Numele de o matrice, un indicator este salvat acolo. 414 00:17:38,850 --> 00:17:42,730 Este un pointer, este o locație de memorie, la începutul șirului. 415 00:17:42,730 --> 00:17:45,910 Deci, dacă acesta ar fi matrice, o ar fi o valoare de 13. 416 00:17:45,910 --> 00:17:49,110 Și, desigur, ne putem da o orice valoare ne-o dorim. 417 00:17:49,110 --> 00:17:52,450 Char stea o, putem da un orice adresă de memorie ne-o dorim. 418 00:17:52,450 --> 00:17:55,940 Ne putem da 0, putem da negativă 1 - negativă 1 nu există, 419 00:17:55,940 --> 00:17:58,820 astfel încât este probabil problematic, dar ai văzut că încă mai lucrat. 420 00:17:58,820 --> 00:18:03,070 Astfel încât să putem oferi un număr orice ne dorim, orice adresă de memorie ne-o dorim. 421 00:18:03,070 --> 00:18:08,720 >> Apoi, int b spune, OK, du-te acest număr de pași în matrice. 422 00:18:08,720 --> 00:18:13,150 Deci, dacă b este egal cu 2, iar un egal cu 13, suntem la adresa de memorie 13. 423 00:18:13,150 --> 00:18:17,330 Și vom merge doi pași în, și așa suntem aici. 424 00:18:17,330 --> 00:18:21,150 Și ampersand înseamnă retur adresa acestor fișiere. 425 00:18:21,150 --> 00:18:23,990 Și adresa este, desigur, 15. 426 00:18:23,990 --> 00:18:28,710 Așa că am obține 13 plus 2, sau un plus b, care este 15. 427 00:18:28,710 --> 00:18:29,590 >> Întrebarea este, deși - 428 00:18:29,590 --> 00:18:30,250 Îmi pare rău. 429 00:18:30,250 --> 00:18:34,324 Asta clarifica lucrurile de ce funcționează? 430 00:18:34,324 --> 00:18:36,300 >> Audiența: De ce ar funcționa merge - 431 00:18:36,300 --> 00:18:38,770 astfel încât să puteți avea o matrice și du-te la un indice negativ? 432 00:18:38,770 --> 00:18:39,050 >> SPEAKER: Corect. 433 00:18:39,050 --> 00:18:40,870 Așa că am făcut numere negative, Deci, asta e - 434 00:18:40,870 --> 00:18:42,770 are acest sens, deși, Primul, [? Avi,?] 435 00:18:42,770 --> 00:18:43,120 pentru tine? 436 00:18:43,120 --> 00:18:48,840 >> Audiența: Da, sunt doar [Inaudibil], dar - 437 00:18:48,840 --> 00:18:50,440 >> Difuzor: Da, acest lucru se va întoarce 15. 438 00:18:50,440 --> 00:18:53,523 Dacă o a fost de 13, iar b este 2, acest lucru se va întoarce 15. 439 00:18:53,523 --> 00:18:58,160 >> Audiența: Deci, indexarea de zero nu devenit o problemă, nu? 440 00:18:58,160 --> 00:19:00,160 Pentru că te muți de la 0. 441 00:19:00,160 --> 00:19:00,470 >> SPEAKER: Corect. 442 00:19:00,470 --> 00:19:05,000 Deci tu în mișcare - așa că, dacă b este 0, nu s-ar muta oriunde. 443 00:19:05,000 --> 00:19:06,330 Și te-ai întors doar adresa - 444 00:19:06,330 --> 00:19:10,830 dacă b este 0, care este, în esență, revenind că adresa de o. 445 00:19:10,830 --> 00:19:13,960 Trecând într-un char stele și returnarea adresa unei este doar întoarce o, 446 00:19:13,960 --> 00:19:15,860 în esență. 447 00:19:15,860 --> 00:19:18,280 >> OK, întrebarea este de ce numere negative de lucru? 448 00:19:18,280 --> 00:19:21,670 Și asta e un lucru foarte misto despre acest lucru, pentru că acest lucru ar trebui segfault. 449 00:19:21,670 --> 00:19:25,110 Și ar segfault dacă am a facut ceva de genul asta. 450 00:19:25,110 --> 00:19:28,050 451 00:19:28,050 --> 00:19:29,300 Să spunem, int. 452 00:19:29,300 --> 00:19:34,390 453 00:19:34,390 --> 00:19:39,810 Deci, acest cod arata identic și ar trebui să se comporte identic. 454 00:19:39,810 --> 00:19:44,550 În esență, x este o variabilă de gunoi, și astfel aceasta ar trebui să se comporte identic. 455 00:19:44,550 --> 00:19:46,370 >> Să facem acest lucru - 456 00:19:46,370 --> 00:19:47,620 oops - 457 00:19:47,620 --> 00:19:54,790 458 00:19:54,790 --> 00:19:56,040 în stele. 459 00:19:56,040 --> 00:19:59,160 460 00:19:59,160 --> 00:20:02,733 OK, ne apropiem deja de erori aici, deoarece este deja o să fie supărat 461 00:20:02,733 --> 00:20:04,610 la mine, pentru că deja știe ce vine. 462 00:20:04,610 --> 00:20:07,060 În special, al doilea. 463 00:20:07,060 --> 00:20:09,800 Adresa de memorie suprapuse asociate cu o variabilă locală. 464 00:20:09,800 --> 00:20:14,220 >> În esență, eu nu am de gând să compileze acest lucru, iar apoi am de gând să anulați face 465 00:20:14,220 --> 00:20:14,920 ceea ce am făcut. 466 00:20:14,920 --> 00:20:19,130 Dar, pentru că noi nu suntem de fapt accesarea ce e în memoria 467 00:20:19,130 --> 00:20:21,930 locație, ea nu va segfault. 468 00:20:21,930 --> 00:20:26,450 Ne niciodată de fapt uita la ceea ce este în a doua casetă sau ceea ce este în orice cutie 469 00:20:26,450 --> 00:20:28,340 din această matrice. 470 00:20:28,340 --> 00:20:30,980 Suntem doar spun, aici e adresa de lucru pe care îl căutați și 471 00:20:30,980 --> 00:20:32,410 reveni acea adresă. 472 00:20:32,410 --> 00:20:35,700 Vom niciodată de fapt, de a intra în matrice să se uite la acea locație. 473 00:20:35,700 --> 00:20:39,140 Și pentru că nu ne-am atinge de memorie, nu vom avea probleme. 474 00:20:39,140 --> 00:20:40,760 Noi nu obține o segfault. 475 00:20:40,760 --> 00:20:46,225 >> Dacă am încercat să, din nou, atinge memorie, atingeți de ce a fost la un sau b - 476 00:20:46,225 --> 00:20:49,940 sau un suport b, și presupunând un fost 0 și - 477 00:20:49,940 --> 00:20:53,040 în cazul în care o a fost de 0, chiar, că ar fi destul de rău, pentru că nu putem merge 478 00:20:53,040 --> 00:20:54,090 pe tot drumul acolo. 479 00:20:54,090 --> 00:20:58,250 În cazul în care a și b au fost atât 0, și am încercat să atingeți de ce a fost acolo, atunci ne-ar 480 00:20:58,250 --> 00:20:59,110 avea probleme. 481 00:20:59,110 --> 00:21:02,160 Dar dacă nu vă atingeți de ce este acolo, ne întoarcem doar adresa, este 482 00:21:02,160 --> 00:21:08,300 de fapt, nu o să segfault deoarece aceasta vă permite să efectuați aceste operațiuni. 483 00:21:08,300 --> 00:21:11,920 Este doar devine suparat pe tine, și devine super- supărat, atunci când încercați și atinge 484 00:21:11,920 --> 00:21:15,740 memoria reală și a reveni ceea ce este la acea locație de memorie. 485 00:21:15,740 --> 00:21:17,690 >> Asta face sens? 486 00:21:17,690 --> 00:21:24,820 Asta e doar o parte nebun de C. Deci, avem una din astea. 487 00:21:24,820 --> 00:21:27,760 488 00:21:27,760 --> 00:21:29,700 >> Cine crede că acest lucru este cool? 489 00:21:29,700 --> 00:21:30,280 Mai multe persoane. 490 00:21:30,280 --> 00:21:31,070 Asta e bine. 491 00:21:31,070 --> 00:21:34,860 OK, aceasta este ultima noastră unul. 492 00:21:34,860 --> 00:21:37,314 Și aș dori să-mi spui dacă sau nu crezi ca acest lucru se întâmplă 493 00:21:37,314 --> 00:21:38,564 pentru a face exact același lucru. 494 00:21:38,564 --> 00:22:06,050 495 00:22:06,050 --> 00:22:07,390 >> Am scris aceste jos undeva. 496 00:22:07,390 --> 00:22:08,640 Eu nu-i memorare. 497 00:22:08,640 --> 00:22:33,350 498 00:22:33,350 --> 00:22:42,900 >> Să vedem, 8, 4 b, 4, 2, 4, 0, 8, 0, 3, 4, 4, 2, 4, 0, 4. 499 00:22:42,900 --> 00:22:46,670 Deci, aceasta este o matrice, acum, nu o funcție. 500 00:22:46,670 --> 00:22:49,640 Și este un tablou pentru că avem pătrat paranteze, acolade nu buclat. 501 00:22:49,640 --> 00:22:52,360 Și este o serie de ce tip? 502 00:22:52,360 --> 00:22:55,540 503 00:22:55,540 --> 00:22:56,862 Oricine, hmm? 504 00:22:56,862 --> 00:22:57,694 >> Audiența: Numărul lor hexazecimale? 505 00:22:57,694 --> 00:22:59,650 >> SPEAKER: Dar ce e tipul C? 506 00:22:59,650 --> 00:23:00,710 Ei au toate numere hexazecimale. 507 00:23:00,710 --> 00:23:01,960 Care este tipul de C? 508 00:23:01,960 --> 00:23:04,730 509 00:23:04,730 --> 00:23:05,480 Aceasta vă spune. 510 00:23:05,480 --> 00:23:07,350 >> Audiența: E caractere nesemnate. 511 00:23:07,350 --> 00:23:09,170 >> SPEAKER: dreapta, caractere nesemnate. 512 00:23:09,170 --> 00:23:13,050 Și două numere hexazecimale este un octet. 513 00:23:13,050 --> 00:23:18,540 Deci acestea sunt 1, 2, 3, 4, 5, 6, 7, 8, 9 octeți. 514 00:23:18,540 --> 00:23:21,360 Este o serie de 9 bytes. 515 00:23:21,360 --> 00:23:25,530 >> OK, probabil știți deja răspunsul la această întrebare. 516 00:23:25,530 --> 00:23:29,840 Dar, ce credeți că va întâmpla atunci când am rula acest? 517 00:23:29,840 --> 00:23:34,110 Eu spun, din nou, în mysum.c, Mă aștept la o funcție 518 00:23:34,110 --> 00:23:36,280 care are două numere întregi. 519 00:23:36,280 --> 00:23:40,265 Și eu spun în schimb că suma este o serie de caractere. 520 00:23:40,265 --> 00:23:42,780 521 00:23:42,780 --> 00:23:48,070 Ce se va întâmpla atunci când I a alerga. / Mysum și face? 522 00:23:48,070 --> 00:23:53,230 >> Ei bine, în primul rând, cele mai multe dintre voi va fi, probabil, sunt de acord ca make - oh, nu, doar glumesc. 523 00:23:53,230 --> 00:23:54,746 Ce-am greșit? 524 00:23:54,746 --> 00:23:55,996 Uh oh. 525 00:23:55,996 --> 00:23:59,220 526 00:23:59,220 --> 00:24:01,160 Că ar trebui să fie acolade. 527 00:24:01,160 --> 00:24:02,790 Asta e modul în care inițializa un tablou. 528 00:24:02,790 --> 00:24:04,040 Greșeala mea. 529 00:24:04,040 --> 00:24:07,530 530 00:24:07,530 --> 00:24:11,670 >> Așa că am văzut deja, înainte de faptul că tipurile sunt un nivel de abstractizare-C, nu o 531 00:24:11,670 --> 00:24:12,610 la nivel de calculator abstractizare. 532 00:24:12,610 --> 00:24:16,360 Deci, cele mai multe dintre voi, probabil, că se așteaptă la face, sau presupunând că s-ar face. 533 00:24:16,360 --> 00:24:18,680 Dar ceea ce atunci când am rulat. / Mysum? 534 00:24:18,680 --> 00:24:19,930 Ce se va întâmpla? 535 00:24:19,930 --> 00:24:21,790 536 00:24:21,790 --> 00:24:23,422 Orice presupuneri? 537 00:24:23,422 --> 00:24:25,270 >> Audiența: Va imprima un cuvânt. 538 00:24:25,270 --> 00:24:26,310 >> SPEAKER: Va imprima un cuvânt. 539 00:24:26,310 --> 00:24:29,335 Ce cuvânt? 540 00:24:29,335 --> 00:24:32,200 >> Audiența: [inaudibil]. 541 00:24:32,200 --> 00:24:33,240 >> SPEAKER: Orice alte presupuneri? 542 00:24:33,240 --> 00:24:34,000 OK, imprima o frază. 543 00:24:34,000 --> 00:24:35,130 Puteți avea orice fraza. 544 00:24:35,130 --> 00:24:36,240 , Care va fi de partea ta. 545 00:24:36,240 --> 00:24:38,480 Oricine care are o presupunere diferit? 546 00:24:38,480 --> 00:24:39,730 Anna, care e presupunerea ta? 547 00:24:39,730 --> 00:24:42,675 548 00:24:42,675 --> 00:24:44,615 >> Audiența: Se va imprima - 549 00:24:44,615 --> 00:24:47,525 550 00:24:47,525 --> 00:24:49,480 două litere, sau [inaudibil] o literă. 551 00:24:49,480 --> 00:24:51,460 >> SPEAKER: O scrisoare. 552 00:24:51,460 --> 00:24:53,260 >> Audiența: Pot conta cât de multe [inaudibil]? 553 00:24:53,260 --> 00:24:55,426 >> SPEAKER: Nouă. 554 00:24:55,426 --> 00:24:56,640 Ei bine, am de gând să-l rulați. 555 00:24:56,640 --> 00:24:58,650 Ea face exact același lucru. 556 00:24:58,650 --> 00:25:00,190 Se adaugă două numere împreună. 557 00:25:00,190 --> 00:25:02,740 Ei bine, hai să treacă cele două argumente. 558 00:25:02,740 --> 00:25:03,710 Aceasta nu ia argumente. 559 00:25:03,710 --> 00:25:06,080 Deci, eu nu știu unde ar putea eventual obține aceste argumente. 560 00:25:06,080 --> 00:25:07,710 Dar haideți să treacă la 100 și 0. 561 00:25:07,710 --> 00:25:09,200 Și se adaugă 100 și 0. 562 00:25:09,200 --> 00:25:10,220 Asta-i nebunie. 563 00:25:10,220 --> 00:25:12,280 Așa cred. 564 00:25:12,280 --> 00:25:14,480 >> Negativ 4, care funcționează de asemenea. 565 00:25:14,480 --> 00:25:15,650 Poti sa faci orice vrei. 566 00:25:15,650 --> 00:25:17,920 Aceasta este o funcție de sumă la fel de valabile. 567 00:25:17,920 --> 00:25:19,640 Aceasta este o funcție de sumă. 568 00:25:19,640 --> 00:25:21,510 Dar, nu, tu spui că e o serie de bytes. 569 00:25:21,510 --> 00:25:23,570 Deci, ce se întâmplă aici? 570 00:25:23,570 --> 00:25:27,240 >> Deci, din nou, să ne întoarcem la această idee că am spus de la început. 571 00:25:27,240 --> 00:25:32,050 Tu du-te la codul de nivel C, de asamblare limbă, la unu și zerouri. 572 00:25:32,050 --> 00:25:33,050 Acest lucru este hexazecimal. 573 00:25:33,050 --> 00:25:35,780 Dar acest lucru este de fapt doar un mulțime de unu și zerouri. 574 00:25:35,780 --> 00:25:39,230 Acest lucru este de 72 unu și zerouri, corect? 575 00:25:39,230 --> 00:25:40,550 72 unu și zerouri. 576 00:25:40,550 --> 00:25:42,160 9 octeți. 577 00:25:42,160 --> 00:25:43,740 Fiecare byte are 8 biți. 578 00:25:43,740 --> 00:25:44,760 Fiecare bit este unu sau zero. 579 00:25:44,760 --> 00:25:45,920 Deci, cele 72 sau zerouri. 580 00:25:45,920 --> 00:25:48,780 Am doar le scris ca aceasta - mai degrabă decât scris-o ca o mulțime de 581 00:25:48,780 --> 00:25:49,730 unu și zerouri. 582 00:25:49,730 --> 00:25:53,560 >> Dar acest lucru va merge de la nivelul-C limbaj, de asamblare 583 00:25:53,560 --> 00:25:54,620 limbă, de cod. 584 00:25:54,620 --> 00:25:59,020 Iar acest lucru se va imprima în cod, undeva, aceste 72 de unu și zerouri 585 00:25:59,020 --> 00:26:00,910 pe care le-am scris aici. 586 00:26:00,910 --> 00:26:03,610 Deci, undeva în care - 587 00:26:03,610 --> 00:26:04,850 Să mergem de aici - 588 00:26:04,850 --> 00:26:11,240 undeva în mysum, programul, acolo sunt aceste 72 de zerouri și cele pe care le-am 589 00:26:11,240 --> 00:26:14,930 scris și l-a spus să scrie. 590 00:26:14,930 --> 00:26:19,331 >> Acum, orice presupuneri de ce cei care 72 unu și zerouri înseamnă? 591 00:26:19,331 --> 00:26:21,240 >> Audiența: Probabil la fel lucru a reveni ca un plus b. 592 00:26:21,240 --> 00:26:22,890 >> SPEAKER: Probabil la fel lucru a reveni ca un plus b. 593 00:26:22,890 --> 00:26:23,730 Să verifice dacă. 594 00:26:23,730 --> 00:26:25,210 Să dau seama cum am făcut asta. 595 00:26:25,210 --> 00:26:31,840 >> Deci, dacă te întorci aici, am să vă spun pentru a rula această comandă, objdump-S 596 00:26:31,840 --> 00:26:34,290 sumfunction.o. 597 00:26:34,290 --> 00:26:36,230 Să mergem să rulați-l. objdump - 598 00:26:36,230 --> 00:26:37,990 obiect, basculante. 599 00:26:37,990 --> 00:26:39,840 Practic se poate da-mi tot ce vreau să văd. 600 00:26:39,840 --> 00:26:40,840 Se poate da-mi limbajul de asamblare. 601 00:26:40,840 --> 00:26:42,730 Se poate-mi dea cele si zerouri. 602 00:26:42,730 --> 00:26:43,840 Ea are o tona de steaguri. 603 00:26:43,840 --> 00:26:45,860 Acest lucru este cel pe care îl vom de a utiliza pentru acum. 604 00:26:45,860 --> 00:26:46,980 Dot - 605 00:26:46,980 --> 00:26:48,810 așa cum veți vedea în slide-urile - 606 00:26:48,810 --> 00:26:53,840 capital de bord S spune, amesteca, codul sursă - 607 00:26:53,840 --> 00:26:58,410 această linie este de la C - cu ansamblul cod și cu cele si zerouri. 608 00:26:58,410 --> 00:27:00,350 Și vom rula l pe sumfunction.o. 609 00:27:00,350 --> 00:27:01,410 Pentru că va fi mai ușor pentru a vedea. 610 00:27:01,410 --> 00:27:02,670 Din nou - hmm? 611 00:27:02,670 --> 00:27:04,700 >> Audiența: Ai scris greșit. 612 00:27:04,700 --> 00:27:05,930 >> SPEAKER: Dar eu de fapt de gând să-l clar pentru o secundă. 613 00:27:05,930 --> 00:27:09,160 Am în primul rând de gând să deschidă doar sumfuntion.o. 614 00:27:09,160 --> 00:27:11,170 >> Audiența: Ai scris greșit prima dată. 615 00:27:11,170 --> 00:27:12,420 >> SPEAKER: Classic. 616 00:27:12,420 --> 00:27:14,790 617 00:27:14,790 --> 00:27:15,480 Suma - 618 00:27:15,480 --> 00:27:16,680 care este un cuvânt greu, totuși. 619 00:27:16,680 --> 00:27:19,050 Ai fi surprins. 620 00:27:19,050 --> 00:27:21,560 OK, deci aceasta este sumfunction.o. 621 00:27:21,560 --> 00:27:24,494 622 00:27:24,494 --> 00:27:26,220 Nu am putut să vă spun. 623 00:27:26,220 --> 00:27:30,250 Există o mulțime de zerouri, în mod clar o mulțime de zerouri, și nu există o altă 624 00:27:30,250 --> 00:27:31,930 lucruri care nu-i zerouri. 625 00:27:31,930 --> 00:27:33,220 Dar cea mai mare parte zerouri. 626 00:27:33,220 --> 00:27:35,120 Se pare ca exista unele. 627 00:27:35,120 --> 00:27:36,810 Deci, în mod clar, acest lucru este greu de citit. 628 00:27:36,810 --> 00:27:39,320 Acesta este limbajul binar. 629 00:27:39,320 --> 00:27:40,710 >> Hai acum deschideți-l - 630 00:27:40,710 --> 00:27:50,190 631 00:27:50,190 --> 00:27:52,350 ce? 632 00:27:52,350 --> 00:27:53,600 Ce fac greșit? 633 00:27:53,600 --> 00:27:56,955 634 00:27:56,955 --> 00:27:58,434 V-am scris corect? 635 00:27:58,434 --> 00:28:09,865 636 00:28:09,865 --> 00:28:11,120 OK, asta e ciudat. 637 00:28:11,120 --> 00:28:37,560 638 00:28:37,560 --> 00:28:40,158 Am nevoie de o secundă pentru a figura ce fac eu greșit. 639 00:28:40,158 --> 00:28:46,030 640 00:28:46,030 --> 00:28:49,310 Asta este o eroare. 641 00:28:49,310 --> 00:28:50,560 Asta-i ciudat. 642 00:28:50,560 --> 00:28:58,080 643 00:28:58,080 --> 00:29:01,800 Oh, de aceea. 644 00:29:01,800 --> 00:29:09,880 >> Am de gând să se întoarcă la inițială noastră o, astfel încât să putem uita la 645 00:29:09,880 --> 00:29:10,560 cod obiect de acest lucru. 646 00:29:10,560 --> 00:29:13,390 Pentru că nu se întâmplă cu adevărat la fi nimic atunci când ne-am pus 647 00:29:13,390 --> 00:29:14,640 unu și zerouri inch 648 00:29:14,640 --> 00:29:29,000 649 00:29:29,000 --> 00:29:30,200 Acolo mergem. 650 00:29:30,200 --> 00:29:32,425 OK, astfel încât toată lumea poate vedea acest lucru. 651 00:29:32,425 --> 00:29:38,130 Această funcție, așa cum am spus, pune liniile C - 652 00:29:38,130 --> 00:29:39,060 linii de cod sursă - 653 00:29:39,060 --> 00:29:41,000 cu unele instrucțiuni de asamblare. 654 00:29:41,000 --> 00:29:42,760 >> Aici este linia noastra de cod sursă. 655 00:29:42,760 --> 00:29:44,910 Aici e unul, aici e un alt. 656 00:29:44,910 --> 00:29:46,540 Aici este de instrucțiuni de asamblare. 657 00:29:46,540 --> 00:29:47,820 Asta e ceea ce arata ca. 658 00:29:47,820 --> 00:29:49,010 Instrucțiuni de asamblare - 659 00:29:49,010 --> 00:29:51,530 puteți afla mai multe dintre acestea, dacă luați alte clase CS, dar sunt 660 00:29:51,530 --> 00:29:53,500 în general, o instrucțiune. 661 00:29:53,500 --> 00:29:57,940 Și apoi o sursă și o destinație. 662 00:29:57,940 --> 00:30:02,740 >> Și apoi aici este codul binar care corespunde celei de asamblare 663 00:30:02,740 --> 00:30:04,940 instrucțiuni. 664 00:30:04,940 --> 00:30:09,760 Deci, după cum puteți vedea, această funcție sumă, la sfârșitul zilei, este de trei 665 00:30:09,760 --> 00:30:10,950 instrucțiuni de montare. 666 00:30:10,950 --> 00:30:12,870 Doar trei. 667 00:30:12,870 --> 00:30:14,180 Un mov - 668 00:30:14,180 --> 00:30:16,740 aceasta m-o-v reprezintă o mutare. 669 00:30:16,740 --> 00:30:17,780 Adauga standuri pentru Adauga. 670 00:30:17,780 --> 00:30:20,440 Și r-e-t standuri pentru retur. 671 00:30:20,440 --> 00:30:22,540 Deci, un mov, un program de completare, o revenire. 672 00:30:22,540 --> 00:30:27,970 Și acestea, aici, sunt zerourile și cele care corespund la acest cod. 673 00:30:27,970 --> 00:30:31,100 >> Deci, aceste zerouri și cele, dacă te știu cei, doar puteți pune 674 00:30:31,100 --> 00:30:32,140 cei drept inch 675 00:30:32,140 --> 00:30:34,130 Și apoi se va face de același lucru exact. 676 00:30:34,130 --> 00:30:37,260 Pentru că, la sfârșitul zilei, toți te de executare este o lungă serie de 677 00:30:37,260 --> 00:30:38,480 zerouri și cele. 678 00:30:38,480 --> 00:30:40,700 Și asta e ceea ce este într-adevăr codul. 679 00:30:40,700 --> 00:30:41,770 >> Și motivul - 680 00:30:41,770 --> 00:30:43,680 să ne uităm la un singur lucru. 681 00:30:43,680 --> 00:30:45,440 Am avut Makefile deschis? 682 00:30:45,440 --> 00:30:48,510 Deci, dacă ne-am întors la bord de zero, zero, aici - 683 00:30:48,510 --> 00:30:52,220 684 00:30:52,220 --> 00:30:57,300 îmi pare rău, o capital, capital o de zero, nu este zero, zero. 685 00:30:57,300 --> 00:31:01,810 Și ne-a făcut, ar fi lucra în continuare la fel. 686 00:31:01,810 --> 00:31:05,420 Dar acum ai observat că există o mult mai multe instrucțiuni de asamblare. 687 00:31:05,420 --> 00:31:09,090 Asta pentru ca, din nou, l-am întrebat compilatorul nu a făcut nici o optimizare. 688 00:31:09,090 --> 00:31:12,800 >> Așa că am putea avea încă toate acestea zerouri și cele, și le arunca în, 689 00:31:12,800 --> 00:31:13,390 și că ar funcționa. 690 00:31:13,390 --> 00:31:15,850 Am făcut doar optimizările, deoarece este un pic mai ușor, apoi, 691 00:31:15,850 --> 00:31:17,310 să scrie că matrice. 692 00:31:17,310 --> 00:31:19,730 Dar acest lucru ar funcționa la fel de bine. 693 00:31:19,730 --> 00:31:24,460 >> OK, vom face un ultim lucru, pentru că eu cred că este cea mai tare parte. 694 00:31:24,460 --> 00:31:27,410 Chiar dacă toată lumea este în mod clar deja cu sufletul la gură și mut. 695 00:31:27,410 --> 00:31:30,520 696 00:31:30,520 --> 00:31:31,670 Mințile noastre sunt cu sufletul la gură. 697 00:31:31,670 --> 00:31:32,920 [Inaudibil] 698 00:31:32,920 --> 00:31:47,580 699 00:31:47,580 --> 00:31:51,520 >> Deci, acestea sunt de la o altă clasă CS, care este foarte interesant, 700 00:31:51,520 --> 00:31:52,970 pe care le-am luat - 701 00:31:52,970 --> 00:31:54,140 CS61. 702 00:31:54,140 --> 00:31:55,910 Am foarte vă încurajez să-l ia. 703 00:31:55,910 --> 00:31:58,990 Dar partea rece despre acest fapt, că lucrurile sunt doar zerouri și cele, 704 00:31:58,990 --> 00:32:01,270 sunt că totul este zerouri și cele. 705 00:32:01,270 --> 00:32:05,330 >> Astfel încât să puteți lua un fișier care are zerouri corecte și cele dorite 706 00:32:05,330 --> 00:32:10,390 undeva în ea, și de a folosi acea secțiune a zerouri și cele ca o funcție de sumă. 707 00:32:10,390 --> 00:32:11,480 >> Ce vreau să spun cu asta? 708 00:32:11,480 --> 00:32:15,755 Vreau sa spun ca pot lua o imagine care are seria corectă de zerouri și 709 00:32:15,755 --> 00:32:17,120 cele, care imprima ceva de la o imagine. 710 00:32:17,120 --> 00:32:20,070 Și un program s-ar putea interpreta este un imagine, dar puteți să-l interpreta, în cazul în care 711 00:32:20,070 --> 00:32:22,040 vrei, ca o funcție de sumă. 712 00:32:22,040 --> 00:32:27,010 >> Deci, dacă am vrut să deschidă, pentru exemplu, această imagine. 713 00:32:27,010 --> 00:32:37,440 Să mergem, Hello Kitty. 714 00:32:37,440 --> 00:32:38,810 Imagine putin minunat. 715 00:32:38,810 --> 00:32:42,260 Aici este că șir de zerouri și cele. 716 00:32:42,260 --> 00:32:45,500 Aceste 72 de zerouri și cele există în această imagine. 717 00:32:45,500 --> 00:32:47,695 >> Deci, ce pot face, apoi, se scrie - 718 00:32:47,695 --> 00:32:50,510 719 00:32:50,510 --> 00:32:51,760 Trebuie să vă amintiți unde sunt. 720 00:32:51,760 --> 00:32:54,550 721 00:32:54,550 --> 00:32:55,720 Voi găsi că într-o secundă. 722 00:32:55,720 --> 00:32:57,840 Dar ce facem - 723 00:32:57,840 --> 00:32:59,440 lasă-mă să aflu unde sunt. 724 00:32:59,440 --> 00:33:00,020 Unul sec. 725 00:33:00,020 --> 00:33:01,270 Să facem - 726 00:33:01,270 --> 00:33:05,800 727 00:33:05,800 --> 00:33:07,240 >> Audiența: [inaudibil]. 728 00:33:07,240 --> 00:33:08,490 >> SPEAKER: Mulțumesc. 729 00:33:08,490 --> 00:33:24,240 730 00:33:24,240 --> 00:33:28,740 Deci, dacă vom executa acest program, care în schimb se arată într-un fișier, apoi merge 731 00:33:28,740 --> 00:33:33,160 la acest index în fișierul. 732 00:33:33,160 --> 00:33:35,500 Și apoi, din nou, la fel ca mysum, are două numere. 733 00:33:35,500 --> 00:33:41,410 Putem adăuga numere exact la fel ca făceam înainte, care duce la 734 00:33:41,410 --> 00:33:44,850 vă arată cum faptul că, la sfârșitul anului a zilei, toate aceste lucruri sunt 735 00:33:44,850 --> 00:33:45,350 zerouri și cele. 736 00:33:45,350 --> 00:33:48,170 Și e doar modul în care alegeți să le interpreteze. 737 00:33:48,170 --> 00:33:50,770 >> Și dacă te uiți de fapt la această imagine - 738 00:33:50,770 --> 00:33:52,930 Să mărim un pic. 739 00:33:52,930 --> 00:33:53,720 Poate toata lumea sa-l vezi? 740 00:33:53,720 --> 00:33:57,570 Veți observa aici, nu e unele pete ciudat. 741 00:33:57,570 --> 00:34:00,130 742 00:34:00,130 --> 00:34:02,290 Să mergem - aceasta este imaginea originală. 743 00:34:02,290 --> 00:34:04,540 Veți observa aici nu e nici o pată. 744 00:34:04,540 --> 00:34:08,420 Care este codul pentru funcția suma, este că mica pata de acolo. 745 00:34:08,420 --> 00:34:13,449 >> Și, de fapt, din nou, în cazul în care vă aflați mai multe despre acest lucru, iti vei da seama că acest 746 00:34:13,449 --> 00:34:18,270 Hello Kitty, care are chiar o mai mare pete, are cod care poate prelua o 747 00:34:18,270 --> 00:34:21,800 calculator dacă nu este protejat corespunzător. 748 00:34:21,800 --> 00:34:23,920 Astfel încât să puteți rula de fapt acest lucru. 749 00:34:23,920 --> 00:34:25,380 Eu nu am de gând să-l ruleze chiar acum. 750 00:34:25,380 --> 00:34:30,600 Dar puteți rula acest Hello Kitty imagine, și se poate 751 00:34:30,600 --> 00:34:32,429 prelua computer. 752 00:34:32,429 --> 00:34:35,159 >> Deci, asta e tot pentru demo. 753 00:34:35,159 --> 00:34:38,560 Are cineva întrebări, comentarii, preocupări? 754 00:34:38,560 --> 00:34:39,515 Cred că aceste lucruri este fascinant. 755 00:34:39,515 --> 00:34:41,500 Mi-a inspirat pentru a afla mai multe. 756 00:34:41,500 --> 00:34:44,980 Am foarte recomanda, în cazul în care sunteți interesat la toate pe CS, vorbeste cu mine. 757 00:34:44,980 --> 00:34:50,250 Chiar dacă eu sunt o Studii Sociale Concentrator, eu sunt un CS, secundar, așa 758 00:34:50,250 --> 00:34:52,340 Eu încă mai știu un pic. 759 00:34:52,340 --> 00:34:53,810 Dar știu cu siguranță ce cursuri trebuie să luați. 760 00:34:53,810 --> 00:34:57,940 Cred că totul e foarte interesant, și am să vă încurajez, cu siguranță, la 761 00:34:57,940 --> 00:35:00,330 afla mai multe daca esti interesat. 762 00:35:00,330 --> 00:35:02,090 >> OK, am un ultim lucru. 763 00:35:02,090 --> 00:35:05,530 764 00:35:05,530 --> 00:35:05,870 Scuze. 765 00:35:05,870 --> 00:35:06,460 Orice întrebări? 766 00:35:06,460 --> 00:35:10,010 Nu am pauză să aștepte dacă cineva a avut întrebări despre asta. 767 00:35:10,010 --> 00:35:13,220 768 00:35:13,220 --> 00:35:16,900 >> Este cineva de gând să fie un CS Concentrator? 769 00:35:16,900 --> 00:35:18,580 Sau de gândire despre el? 770 00:35:18,580 --> 00:35:20,730 Unu, doi, trei, patru. 771 00:35:20,730 --> 00:35:21,620 Unul - doar unul. 772 00:35:21,620 --> 00:35:24,680 Anna este mâna numai că este ridicat autoritar. 773 00:35:24,680 --> 00:35:27,640 774 00:35:27,640 --> 00:35:29,390 OK, asta e bine. 775 00:35:29,390 --> 00:35:30,110 Assam, ce ai de gând să faci? 776 00:35:30,110 --> 00:35:33,220 >> Audiența: [inaudibil]. 777 00:35:33,220 --> 00:35:33,910 >> SPEAKER: Constantin? 778 00:35:33,910 --> 00:35:34,990 >> Audiența: Fizica. 779 00:35:34,990 --> 00:35:36,720 >> SPEAKER: Uau, asta a fost rapid. 780 00:35:36,720 --> 00:35:40,770 Ai avut o experiență neplăcută în CS50? 781 00:35:40,770 --> 00:35:42,015 [Inaudibil], ceea ce ai de gând să faci? 782 00:35:42,015 --> 00:35:42,980 >> Audiența: Nu am nici o idee. 783 00:35:42,980 --> 00:35:43,924 >> SPEAKER: Curt? 784 00:35:43,924 --> 00:35:45,900 >> Audiența: Econ sau CS. 785 00:35:45,900 --> 00:35:46,910 >> SPEAKER: Econ sau CS. 786 00:35:46,910 --> 00:35:47,840 Tom? 787 00:35:47,840 --> 00:35:48,385 >> Audiența: Fac Stat. 788 00:35:48,385 --> 00:35:48,950 >> SPEAKER: Stat? 789 00:35:48,950 --> 00:35:50,100 OK. 790 00:35:50,100 --> 00:35:51,000 Ce ești tu? 791 00:35:51,000 --> 00:35:51,310 >> Audiența: Me? 792 00:35:51,310 --> 00:35:51,750 >> SPEAKER: Da. 793 00:35:51,750 --> 00:35:52,190 >> Audiența: Stat. 794 00:35:52,190 --> 00:35:52,520 >> SPEAKER: Stat. 795 00:35:52,520 --> 00:35:53,500 Oh, acolo te duci. 796 00:35:53,500 --> 00:35:55,200 Tom, vorbesc cu Alden. 797 00:35:55,200 --> 00:35:56,932 Emily, ce ești tu? 798 00:35:56,932 --> 00:35:57,396 >> Audiența: Biomedical - 799 00:35:57,396 --> 00:36:00,178 >> SPEAKER: Ești în această secțiune? 800 00:36:00,178 --> 00:36:03,040 >> Audiența: Nu. 801 00:36:03,040 --> 00:36:04,530 >> SPEAKER: OK, asta e Emily. 802 00:36:04,530 --> 00:36:05,670 E prietena mea. 803 00:36:05,670 --> 00:36:10,080 În mod clar nu atat de buna de un prieten, pentru că ea îmi dă un timp de greu. 804 00:36:10,080 --> 00:36:13,223 Ai putea fi mai frumos pentru mine, în fața de toată lumea, studentul meu - 805 00:36:13,223 --> 00:36:14,580 >> Audiența: Fac ghidul tau Q. 806 00:36:14,580 --> 00:36:14,870 >> SPEAKER: Serios? 807 00:36:14,870 --> 00:36:15,510 Uh oh. 808 00:36:15,510 --> 00:36:17,224 OK, ești uimitoare. 809 00:36:17,224 --> 00:36:19,380 Te iubesc atât de mult. 810 00:36:19,380 --> 00:36:20,600 Oh boy. 811 00:36:20,600 --> 00:36:28,320 >> Oricum, eu, noaptea trecută, ca tot ceea ce - 812 00:36:28,320 --> 00:36:32,220 Sunt sigur că toată lumea pare într-adevăr a subliniat chiar acum. 813 00:36:32,220 --> 00:36:35,970 Nu știu, sunt student în anul întâi - sunt voi simți stresat? 814 00:36:35,970 --> 00:36:36,855 Mă simt stresat. 815 00:36:36,855 --> 00:36:37,980 A fost ca și cum, te duci acasă pentru Ziua Recunostintei. 816 00:36:37,980 --> 00:36:40,660 Ești ca, am de gând să face toate aceste lucruri. 817 00:36:40,660 --> 00:36:41,530 >> Audiența: E atat de diferit. 818 00:36:41,530 --> 00:36:42,560 >> Difuzor: Da, și te întorci. 819 00:36:42,560 --> 00:36:45,290 Jeff, nu vă simțiți în acest fel? 820 00:36:45,290 --> 00:36:46,610 >> Audiența: M-am gândit Mi-ar face un pic. 821 00:36:46,610 --> 00:36:48,660 >> SPEAKER: OK, mare. 822 00:36:48,660 --> 00:36:51,650 Așa că am venit înapoi, și nu am făcut nimic. 823 00:36:51,650 --> 00:36:53,260 Și totul e foarte stresant. 824 00:36:53,260 --> 00:36:55,640 Și eu sunt îngrijorat, cu adevărat în cauză, cu privire la posibilitatea sau nu sunt 825 00:36:55,640 --> 00:36:57,380 O să termin tot ce am sa. 826 00:36:57,380 --> 00:37:01,750 Dar noaptea trecută, nu am fost stresat, Am fost doar un pic trist. 827 00:37:01,750 --> 00:37:04,520 Așa că am scris în jurnalul meu despre ceea ce am fost trist despre. 828 00:37:04,520 --> 00:37:08,020 Și am fost trist despre această secțiune în această clasă se apropie de sfârșit. 829 00:37:08,020 --> 00:37:11,100 >> Așa că am fost doar de gând să citesc pentru voi un mic fragment din jurnalul meu, 830 00:37:11,100 --> 00:37:12,950 din noaptea trecută. 831 00:37:12,950 --> 00:37:17,400 Pot primi niste servetele, unele tesuturi de la Tom? 832 00:37:17,400 --> 00:37:18,040 Nu, am de gând să plâng. 833 00:37:18,040 --> 00:37:19,720 Eu nu plâng. 834 00:37:19,720 --> 00:37:22,030 Nu că nu poți să plângi, Eu pur și simplu nu plâng. 835 00:37:22,030 --> 00:37:24,040 Nici măcar nu știu dacă lacrima mea Glandele lucrat - canale lacrimale. 836 00:37:24,040 --> 00:37:25,630 Nu am plâns într-o lungă perioadă de timp. 837 00:37:25,630 --> 00:37:26,510 >> Audiența: [inaudibil]. 838 00:37:26,510 --> 00:37:28,920 >> SPEAKER: OK, mulțumesc. 839 00:37:28,920 --> 00:37:30,070 OK, există un pic de prefață - 840 00:37:30,070 --> 00:37:32,480 există alte părți ale jurnalul meu intrare, pentru că eu încerc să jurnal fiecare 841 00:37:32,480 --> 00:37:33,600 noapte înainte am ajuns la culcare. 842 00:37:33,600 --> 00:37:34,900 Am foarte recomanda jurnalizare. 843 00:37:34,900 --> 00:37:38,600 Aceasta vă ajută să proceseze lucruri, și, de asemenea, fi foarte apreciativ de ziua ta. 844 00:37:38,600 --> 00:37:43,063 Și-l face mult mai ușor să se uite înapoi în ziua ta și să realizeze că 845 00:37:43,063 --> 00:37:44,240 au existat o mulțime de bun lucruri care s-au întâmplat. 846 00:37:44,240 --> 00:37:47,240 Chiar dacă vă simțiți foarte stresat pe timp de noapte sau într-adevăr supărat, sau 847 00:37:47,240 --> 00:37:49,022 într-adevăr trist sau obosit. 848 00:37:49,022 --> 00:37:50,272 >> Oh, Doamne. 849 00:37:50,272 --> 00:37:52,546 850 00:37:52,546 --> 00:37:54,400 Nici măcar nu știu dacă este scris că bine că nu l-am corecta. 851 00:37:54,400 --> 00:37:55,780 Dar vom citi. 852 00:37:55,780 --> 00:37:59,950 De obicei nu citesc meu jurnal, evident. 853 00:37:59,950 --> 00:38:03,720 >> "Mâine, voi învăța finală mea Secțiune CS50 a anului. 854 00:38:03,720 --> 00:38:05,860 E o nebunie cum zboară timpul de repede. 855 00:38:05,860 --> 00:38:09,900 Cu toate acestea, eu sunt uimit de cât de diferite experiența mea de predare în acest an a fost 856 00:38:09,900 --> 00:38:11,365 decât atunci când am fost un al doilea de studentie. 857 00:38:11,365 --> 00:38:14,120 Pentru inceput, eu cu siguranta cunosc mai bine materialul. 858 00:38:14,120 --> 00:38:16,820 Dar nu-i spui prima cohorta de studenți care. 859 00:38:16,820 --> 00:38:20,030 Mai important, cu toate acestea, am realizat că bucuria care vine de la picioare 860 00:38:20,030 --> 00:38:23,160 în fața unei camere de ceea ce începe ca străini, dar se termină ca, la 861 00:38:23,160 --> 00:38:27,150 cel puțin, prieteni pe Facebook, este nu o întâmplare primul an. 862 00:38:27,150 --> 00:38:29,970 Mai degrabă, este de la știind că, în un fel de mici, te ajuta 863 00:38:29,970 --> 00:38:32,980 talentat, grijuliu, agreabil, și oameni pasionati afla un pic mai mult 864 00:38:32,980 --> 00:38:34,750 cu privire la informatică. 865 00:38:34,750 --> 00:38:37,480 >> Te deplasare care bec doar o bit în soclu, astfel că este capabil 866 00:38:37,480 --> 00:38:42,120 să strălucească mai luminos decât tine, sau ei, ar fi putut imagina la începutul semestru. 867 00:38:42,120 --> 00:38:45,390 Ai ajuta pe cei care se încruntă întoarce cu susul jos și să pună întrebări care 868 00:38:45,390 --> 00:38:49,240 oferi sprijin, dar încă permite elevii să se ridice pe cont propriu. 869 00:38:49,240 --> 00:38:52,190 >> Cu siguranță, nu este o exagerare să spune că această secțiune este favoritul meu 870 00:38:52,190 --> 00:38:53,190 parte a săptămânii. 871 00:38:53,190 --> 00:38:57,930 Sau chiar că am ezitat să spun, asta e toate, la 05:30 în fiecare săptămână, știind 872 00:38:57,930 --> 00:39:00,640 că va fi prea lung până când ne vom întâlni din nou. 873 00:39:00,640 --> 00:39:02,740 >> Cu toate acestea, eu sunt incredibil de recunoscător pentru toți cei care mi-a dat acest 874 00:39:02,740 --> 00:39:05,010 posibilitatea de a da înapoi altora. 875 00:39:05,010 --> 00:39:07,340 Pentru David, pentru răbdarea și încrederea. 876 00:39:07,340 --> 00:39:11,040 Pentru echipa de filmare și de producție, pentru luare a-mi arate ceva respectabil. 877 00:39:11,040 --> 00:39:15,380 Și, cel mai important, pentru elevii mei, fără de care aș avea nici un motiv să 878 00:39:15,380 --> 00:39:17,890 petrece 10 oră imaginind cel mai bun modalitate de a atrage indicii, sau pune un 879 00:39:17,890 --> 00:39:20,330 masă de delfini, prin intermediul JavaScript. 880 00:39:20,330 --> 00:39:22,620 Ca întotdeauna, a fost o binecuvântare. " 881 00:39:22,620 --> 00:39:25,420 >> Deci, cu asta, va multumesc. 882 00:39:25,420 --> 00:39:29,000 Ne vedem toate la târg CS50, și hackathon, dacă ești acolo. 883 00:39:29,000 --> 00:39:32,020 Și dacă aveți întrebări, voi lipi în jurul până când nu mai sunt. 884 00:39:32,020 --> 00:39:33,760 Dar vă mulțumesc baieti pentru un an minunat. 885 00:39:33,760 --> 00:39:37,290 >> [Aplauze] 886 00:39:37,290 --> 00:39:38,540 >> SPEAKER: S-ar putea plânge. 887 00:39:38,540 --> 00:39:40,800