1 00:00:00,000 --> 00:00:15,059 >> [SKAN MŪZIKA] 2 00:00:15,059 --> 00:00:19,170 >> Tas ir CS50-- Harvard Universitātes ievads 3 00:00:19,170 --> 00:00:22,070 uz intelektuālo uzņēmumiem datorzinātnēs 4 00:00:22,070 --> 00:00:23,800 un mākslas programmu. 5 00:00:23,800 --> 00:00:27,020 Un mans vārds ir David Malan, un Es tikai domāju šorīt, 6 00:00:27,020 --> 00:00:33,120 tas ir bijis pārsteidzoši 20 gadi šodien kopš es pēdējo reizi sēdēju, kur jūs guys darīt tagad. 7 00:00:33,120 --> 00:00:33,840 >> Tas bija 1996. gadam. 8 00:00:33,840 --> 00:00:37,550 Es biju otrā kursa students, un es ir lietojis CS50 par ļoti pirmo reizi. 9 00:00:37,550 --> 00:00:40,890 Un man nebija pat piecēlies nervu lai Telesputnik pirmkursnieks gadu, 10 00:00:40,890 --> 00:00:42,500 daļēji tāpēc, ka laika. 11 00:00:42,500 --> 00:00:44,782 Datorzinātne man bija sava veida, piemēram, meh. 12 00:00:44,782 --> 00:00:46,990 Es biju mazliet geek pieaug up, bet man nav īsti 13 00:00:46,990 --> 00:00:49,180 ir kāds intelektuālo interese par to, kas parādījās 14 00:00:49,180 --> 00:00:51,920 lai tikai būtu viss ķekars cilvēki programmēšanas visu laiku. 15 00:00:51,920 --> 00:00:53,904 >> Un man bija bail, lai būtu godīgi. 16 00:00:53,904 --> 00:00:56,820 Kurss un datorzinātne vairāk vispār bija, un zināmā mērā, 17 00:00:56,820 --> 00:01:01,230 joprojām ir šī reputācija lauka līdz piesargāties, ja tikai tāpēc, ka tik daudzi no mums 18 00:01:01,230 --> 00:01:04,410 ir svešs ar to un pārliecināts par to. 19 00:01:04,410 --> 00:01:08,480 Un tas tiešām nebija, līdz es iepirkušies Šī klase, kas sophomore fall-- 20 00:01:08,480 --> 00:01:10,880 un pat tad, es tikai uzņemti jo professor-- 21 00:01:10,880 --> 00:01:13,950 viens no maniem pirmajiem mentoru, Brian Kernighan tagad Princeton-- 22 00:01:13,950 --> 00:01:15,700 ļāva man uzņemt klases pass neizdoties. 23 00:01:15,700 --> 00:01:18,020 Un tiešām, tāpēc šodien mums atļauj un veicina 24 00:01:18,020 --> 00:01:20,030 studentiem veikt šīs klases sēdēja / unsat. 25 00:01:20,030 --> 00:01:22,040 >> Un tikai tad, ar semestra noslēgumā 26 00:01:22,040 --> 00:01:24,870 Vai es saprotu, piemēram, wow, šis nebija tik svešs lauks. 27 00:01:24,870 --> 00:01:26,850 Patiešām, tas bija ļoti spēcina lauks, 28 00:01:26,850 --> 00:01:28,970 un vēl aizraujoši, īpaši vēlāk, 29 00:01:28,970 --> 00:01:32,809 kā man bija kursi Dramatisks Arts 101 un latīņu A 30 00:01:32,809 --> 00:01:34,600 un tad galu galā grad skola arheoloģija, 31 00:01:34,600 --> 00:01:37,860 did I tiešām sāk redzēt krustojumi šajā jomā, datoru 32 00:01:37,860 --> 00:01:41,979 zinātne, ar humanitāro zinātņu, dabaszinātnes, māksla, medicīna, 33 00:01:41,979 --> 00:01:42,520 un tamlīdzīgi. 34 00:01:42,520 --> 00:01:44,420 Un tā tas ir, kas ir tikai tik veikls par datorzinātnes 35 00:01:44,420 --> 00:01:46,930 galu galā, kā mēs ceram, ka jūs see-- ir tās piemērojamību 36 00:01:46,930 --> 00:01:50,280 Šo citās jomās, un kā jūs varat veikt dažas no šodienas un semestra 37 00:01:50,280 --> 00:01:53,070 idejas un praktiskās iemaņas atpakaļ uz savu domēnu, 38 00:01:53,070 --> 00:01:58,200 un faktiski izpētīt krustojumu no liberālās mākslas un zinātnes. 39 00:01:58,200 --> 00:02:02,690 >> Tātad 73% no jums, ja pēdējais gads ir jebkura norāde, 40 00:02:02,690 --> 00:02:04,390 nekad nav veikušas CS kursu pirms. 41 00:02:04,390 --> 00:02:06,389 Tātad, ja, piemēram, man, jūs esat sajūta mazliet 42 00:02:06,389 --> 00:02:09,190 nobijies, vai atklāti neesat īsti pārliecināts, kāpēc jūs pat šeit. 43 00:02:09,190 --> 00:02:11,510 Varbūt jūs vienkārši jāievēro daži draugi pār Sanders tiesības tagad. 44 00:02:11,510 --> 00:02:12,490 Tas ir pilnīgi naudas sodu. 45 00:02:12,490 --> 00:02:15,059 Mērķis šeit ir āķis jums un jūs nomierināt 46 00:02:15,059 --> 00:02:17,100 ka, ja jums skatīties uz kreiso un labo, 47 00:02:17,100 --> 00:02:21,480 jūs gatavojas redzēt klasesbiedriem ar tik maz vai tik daudz pieredzes 48 00:02:21,480 --> 00:02:22,890 ka jūs pats varētu būt. 49 00:02:22,890 --> 00:02:25,280 Un tiešām, mēs dalīties daži statistika vēlāk šodien 50 00:02:25,280 --> 00:02:28,120 par to, ko demogrāfiju klases parasti izskatās. 51 00:02:28,120 --> 00:02:31,440 >> Un kā pievienotās reassurance-- un to mēs es domāju, jo es paņēmu gaitā 52 00:02:31,440 --> 00:02:33,252 Dažus gadus ago-- in Kurss ir mācību programma 53 00:02:33,252 --> 00:02:35,460 ir this-- tas, kas galu galā jautājumi šajā kursā 54 00:02:35,460 --> 00:02:38,040 nav tik daudz, ja jūs galu up, salīdzinot ar saviem klasesbiedriem, 55 00:02:38,040 --> 00:02:43,110 bet kur tu 11. nedēļā, beigām semestris, galu galā, salīdzinot ar sevi 56 00:02:43,110 --> 00:02:46,280 in nedēļā 0, kas ir kur mēs esam šodien šeit. 57 00:02:46,280 --> 00:02:48,704 Un tas ir tas, ko es sapratu visus šos gadus atpakaļ. 58 00:02:48,704 --> 00:02:50,620 Un es zinu daudz klases saku, bet tas ir 59 00:02:50,620 --> 00:02:52,450 īpaši sakāms datorzinātnēs. 60 00:02:52,450 --> 00:02:55,320 Beigās, dienā, šis lauks ir svešs, kā tas bija ar mani 61 00:02:55,320 --> 00:02:58,590 un varētu būt ar jums, ir patiešām tikai par problēmu risināšanu. 62 00:02:58,590 --> 00:03:01,324 Un kā tāds, tas ir šī piemērojamība saņemt citus laukus. 63 00:03:01,324 --> 00:03:03,490 Un patiesībā, ja mēs mēģinājām destilēt, ko tas nozīmē, 64 00:03:03,490 --> 00:03:06,897 tas ir problēmu risināšana savā būtībā, es daresay. 65 00:03:06,897 --> 00:03:09,480 Tur input-- lai kāds tas ir tas, ka jūs mēģināt atrisināt. 66 00:03:09,480 --> 00:03:12,264 Tur ir izeja, kas ir cerams risinājums šai problēmai. 67 00:03:12,264 --> 00:03:14,180 Un tad, kā mēs būtu teikt datorzinātnēs, 68 00:03:14,180 --> 00:03:17,310 tur ir šis melnā kaste vidū, ka jums nav obligāti 69 00:03:17,310 --> 00:03:19,450 ir rūpēties par to, kā tā darbojas. 70 00:03:19,450 --> 00:03:22,230 Tu pats beidzot varētu īstenot to, kas ir iekšā, ka kastē. 71 00:03:22,230 --> 00:03:25,194 Bet šodienas vajadzībām un vairāk vispār dzīvē, viss, kas jums rūp 72 00:03:25,194 --> 00:03:26,610 ir tas, ka šīs problēmas saņemt atrisināta. 73 00:03:26,610 --> 00:03:29,340 >> Un ko šis kurss ir galu galā par pēta 74 00:03:29,340 --> 00:03:31,700 krustošanās šie ieejas un izejas, 75 00:03:31,700 --> 00:03:34,410 un šo tā saukto algoritmi, kā mēs drīz redzēt, 76 00:03:34,410 --> 00:03:37,450 kas īsteno to, kas ir zem tur, kapuci. 77 00:03:37,450 --> 00:03:40,487 Bet šie ieguldījumi un tie outputs-- ko tas patiesībā nozīmē? 78 00:03:40,487 --> 00:03:43,570 Nu, beigās, dienā, mums ir nepieciešams kaut kādā veidā no informācijas, kas pārstāv. 79 00:03:43,570 --> 00:03:46,660 Tas jo īpaši attiecas uz datoru, kas, kā iedomātā un kompleksu, kā tas 80 00:03:46,660 --> 00:03:48,160 varētu šķist, ir diezgan mēms ierīce. 81 00:03:48,160 --> 00:03:52,240 Tas aizņem electricity-- vai no kabelis vai akumulators kā input-- 82 00:03:52,240 --> 00:03:55,820 un tad tas rada daži preprogramed atbildes uz ekrāna. 83 00:03:55,820 --> 00:03:57,970 >> Bet kā mēs varam nokļūt no sākuma līdz beigām tur? 84 00:03:57,970 --> 00:03:59,470 Nu, kas ir problēma, kas jārisina? 85 00:03:59,470 --> 00:04:01,050 Nu, varbūt mēs varētu pēc sākums jebkuras semestrī, 86 00:04:01,050 --> 00:04:02,841 mēģināt ņemt apmeklēšanu telpā, kā šis. 87 00:04:02,841 --> 00:04:04,750 Tāpēc es varētu darīt, piemēram, viens, divi, trīs. 88 00:04:04,750 --> 00:04:07,060 Vai varbūt, ja es to izdarīju līdz veida sekot 89 00:04:07,060 --> 00:04:10,560 no myself-- sekot things-- Es varētu ātri palaist no pirkstiem. 90 00:04:10,560 --> 00:04:14,650 Tāpēc es varētu vienkārši darīt hash marks-- vienu cilvēks, divi, trīs, četri, pieciem, sešiem, 91 00:04:14,650 --> 00:04:15,431 septiņi, astoņi. 92 00:04:15,431 --> 00:04:17,930 Un mums visiem ir iespējams izdarīts, vai uz rokām 93 00:04:17,930 --> 00:04:19,680 vai uz papīra. 94 00:04:19,680 --> 00:04:22,140 Un tas ir faktiski tikai kaut ko sauc unāro notation-- 95 00:04:22,140 --> 00:04:26,130 kur, ja jums ir tikai viens burts Jūsu alfabēts, viens vai hash 96 00:04:26,130 --> 00:04:29,440 zīme šajā gadījumā, par katru ievade vēlaties saskaitīt, 97 00:04:29,440 --> 00:04:32,330 jums ir nepieciešams, lai apspiestu kādu no šiem letters-- vienu no šīm zīmēm. 98 00:04:32,330 --> 00:04:32,510 >> Viss kārtībā. 99 00:04:32,510 --> 00:04:34,790 Tas ir viss, naudas sodu un labi un ne viss, kas sarežģīts. 100 00:04:34,790 --> 00:04:37,800 Bet datori nav viss ka daudz sarežģītāka. 101 00:04:37,800 --> 00:04:40,770 Patiešām, lielākā daļa no jums, iespējams, zināt, pat ja jūs esat īsti 102 00:04:40,770 --> 00:04:44,080 uzskatīts, ko tas nozīmē, ka datori tikai saprast nullēm 103 00:04:44,080 --> 00:04:45,870 un ones-- tā sauktās bināro sistēmu. 104 00:04:45,870 --> 00:04:49,390 Mēs cilvēkiem, gluži pretēji, ir tik daudz sarežģītākas, ciktāl 105 00:04:49,390 --> 00:04:51,770 kā mēs saprotam nullēm caur nines. 106 00:04:51,770 --> 00:04:55,740 >> Bet pat tad, ja binārā ir, sākumā skatiens, ne viss, kas pazīstami, 107 00:04:55,740 --> 00:05:00,330 izrādās, tas ir tāpat kā ar sistēmu un idejas, ka mēs jau zinām. 108 00:05:00,330 --> 00:05:02,420 Tā, piemēram, uzskata, ka tas. 109 00:05:02,420 --> 00:05:03,896 Tas ir tikai secība simboliem. 110 00:05:03,896 --> 00:05:05,770 Un jums visiem, kad glancing pie tā, iespējams, 111 00:05:05,770 --> 00:05:09,380 domāju 123-- nekas patiešām interesanti tur. 112 00:05:09,380 --> 00:05:11,940 Bet kāpēc tas ir tas skaitlis, 123? 113 00:05:11,940 --> 00:05:14,440 Šie ir tikai glyphs par screen-- tikai modeļus 114 00:05:14,440 --> 00:05:16,387 ka kāds varētu būt sagatavoti vai drukāti. 115 00:05:16,387 --> 00:05:18,970 Bet, ja jūs esat līdzīgi man, jūs droši vien atceraties no pakāpē skolā 116 00:05:18,970 --> 00:05:21,610 ka ir sava veida kolonnas vai vietas šeit. 117 00:05:21,610 --> 00:05:25,340 Tur savu vietu un Desmit vietu un simts vietu. 118 00:05:25,340 --> 00:05:29,820 Un tāpēc, ka tas ir 123 un ne tikai modelis trīs simboli 119 00:05:29,820 --> 00:05:33,090 ir tāpēc, protams, ja mēs ir viens simtiem vietu, 120 00:05:33,090 --> 00:05:36,610 jums math 100 reizes vienu, un tad divas desmit vietu. 121 00:05:36,610 --> 00:05:41,390 Tātad tas ir 10 reizes 2, pēc tam trīs par savu vietu, un tas ir 1 reizes 3. 122 00:05:41,390 --> 00:05:45,670 Un, kad jūs pievienot visus tos uz augšu, no Protams, jūs saņemsiet 100 plus 20 plus 3. 123 00:05:45,670 --> 00:05:48,220 >> Tāpēc mēs sākām ar vienu modeli no symbols-- par alphabet-- 124 00:05:48,220 --> 00:05:51,670 bet tad mēs plānots jēgu uz tā veidā šīm kolonnām. 125 00:05:51,670 --> 00:05:54,450 Nu, izrādās, ka datori tiešām nav 126 00:05:54,450 --> 00:05:56,300 viss, kas atšķiras no jums un mani. 127 00:05:56,300 --> 00:06:01,840 Bet tā vietā, lai izmantotu pilnvaras 10, tā, lai speak-- 1, 10, 100, 1000, 128 00:06:01,840 --> 00:06:04,330 10,000 vieta un tā forth-- tie faktiski 129 00:06:04,330 --> 00:06:08,930 tikai izmantot pilnvaras 2-- tik viens, 2, 4, un pēc tam 130 00:06:08,930 --> 00:06:12,810 ja mēs ieliekam vairākus ciparus, 8, 16, 32, 64, 128, un tā tālāk. 131 00:06:12,810 --> 00:06:16,050 Un tā tas ir, kā dators nozīmētu numuru 0, 132 00:06:16,050 --> 00:06:17,300 tāpat kā mēs cilvēkiem. 133 00:06:17,300 --> 00:06:21,660 >> 0, 0, 0-- un jūs varat droši uzminēt ko modelis nullēm un tiem, 134 00:06:21,660 --> 00:06:24,610 ja dators var tikai runā 0 vai 1-- ko 135 00:06:24,610 --> 00:06:29,110 raksts ir gatavojas pārstāvēt ciparu mēs cilvēki zina, kā 1? 136 00:06:29,110 --> 00:06:30,590 Yeah-- 0, 0, 1. 137 00:06:30,590 --> 00:06:31,090 Viss kārtībā. 138 00:06:31,090 --> 00:06:35,900 Tātad 0, 0, 1, kā mēs pārstāvam 1, lai jūs varētu būt slīpi, tad 139 00:06:35,900 --> 00:06:39,510 pārstāvēt numuru 2, ja jums ir Četri vietu un abiem ir vieta 140 00:06:39,510 --> 00:06:48,290 kā vienā vietā, jūs varētu teikt, labi, ja mums bija 1 no vienas vietu, 141 00:06:48,290 --> 00:06:50,430 un tagad mēs vēlamies saskaitīt 2, jūs varētu 142 00:06:50,430 --> 00:06:53,310 darīt, un atstāt, ka tas ir nulle. 143 00:06:53,310 --> 00:06:56,397 Bet, protams, tas nav kā decimal sistēma darbojas, vai nu. 144 00:06:56,397 --> 00:06:58,230 Ja jūs likts cipars abiem šiem kolonnām, 145 00:06:58,230 --> 00:06:59,563 tev darīt aritmētisko. 146 00:06:59,563 --> 00:07:01,930 Tātad, ko numurs izdarīja I nejauši tikai pārstāv? 147 00:07:01,930 --> 00:07:06,710 >> Tātad, tas ir 3, jo 2 reizes 1 PLUS 1 reizes 1, protams, dod mums trīs. 148 00:07:06,710 --> 00:07:08,340 Tātad tas varētu būt divi. 149 00:07:08,340 --> 00:07:12,730 Mazliet veida salto, tā sakot, kā 0 kļūst par vienu, līdzīgi 9 lomām vairāk 150 00:07:12,730 --> 00:07:14,840 un kļūst par 0, kad jūs veikt 1. 151 00:07:14,840 --> 00:07:16,510 Tas tad būtu trīs protams. 152 00:07:16,510 --> 00:07:20,170 Four-- Vēl viena interesanta lieta notiek, ja tie apgāšanās 153 00:07:20,170 --> 00:07:21,750 un jūs veikt: 1, lai runāt. 154 00:07:21,750 --> 00:07:23,320 Tātad tas, protams, ir 4. 155 00:07:23,320 --> 00:07:25,160 >> Bet, ja jūs ātri uz priekšu tagad, kas ir lielākais skaits iet 156 00:07:25,160 --> 00:07:26,660 būt, ka dators var pārstāvēt? 157 00:07:26,660 --> 00:07:30,420 158 00:07:30,420 --> 00:07:32,380 Tātad, tas ir tikai septiņi šajā gadījumā, vai ne? 159 00:07:32,380 --> 00:07:35,570 Tāpēc, ka jums ir viens no četriem, vienā gadījumā no diviem, vienā gadījumā no vienas. 160 00:07:35,570 --> 00:07:36,900 Tā ka ir 4 plus 2 plus 1. 161 00:07:36,900 --> 00:07:37,972 Tā, ka dod jums septiņi. 162 00:07:37,972 --> 00:07:39,680 Un tiešām, tas būtu šķist no pirmā acu uzmetiena 163 00:07:39,680 --> 00:07:43,750 ka datori var rēķināties nav augstāka par to. 164 00:07:43,750 --> 00:07:45,210 >> Bet tas, protams, nav taisnība. 165 00:07:45,210 --> 00:07:48,243 Ko mēs cilvēkiem darīt, ja mēs gribam skaitīt augstāks nekā, piemēram, 999? 166 00:07:48,243 --> 00:07:51,000 167 00:07:51,000 --> 00:07:53,900 Just veikt vienu un tikai pievienot ceturto ciparu pa kreisi. 168 00:07:53,900 --> 00:07:55,070 Un tā tiešām mēs varētu. 169 00:07:55,070 --> 00:07:57,900 Mums varētu būt astoņi 's vieta un 16. vietu, 170 00:07:57,900 --> 00:08:02,000 un 32 vietu, 64, 128-- un tu var tikai glabāt notiek līdz bezgalībai. 171 00:08:02,000 --> 00:08:04,640 Tātad šie nulles un ones-- tā saukto binārā system-- 172 00:08:04,640 --> 00:08:10,290 ir tas, ko dators zinātnieks būtu parasti sauc mazliet, vai bināro ciparu. 173 00:08:10,290 --> 00:08:13,590 >> Bet tagad, kā mēs saņemam no koncepcija vai grafikas no šīm lietām 174 00:08:13,590 --> 00:08:14,620 uz faktisko datoru? 175 00:08:14,620 --> 00:08:17,170 Mums šķiet, izlaižot soli šeit. 176 00:08:17,170 --> 00:08:20,210 Nu, tikai ievade beigās no dienas, uz manu portatīvo datoru šeit 177 00:08:20,210 --> 00:08:22,060 tas plūsmu elektroenerģijas. 178 00:08:22,060 --> 00:08:24,560 Pat tad, ja tas ir bijis garš laiks, kopš esat domājuši par 179 00:08:24,560 --> 00:08:26,580 vai nekad domāja par kā elektrība darbojas, 180 00:08:26,580 --> 00:08:30,909 tur ir elektroni plūst vai ārā, un tas ir mans veida ieguldījumu. 181 00:08:30,909 --> 00:08:34,659 >> Tātad, ja tas ir viss, ko mēs esam kļūst kā ievade šeit, 182 00:08:34,659 --> 00:08:36,830 ko mēs varam darīt ar šo informāciju? 183 00:08:36,830 --> 00:08:40,040 Nu, mēs varētu domāt par nulli, jo tikai trūkums elektroenerģijas. 184 00:08:40,040 --> 00:08:42,540 Nekas nav flowinw, nekas nav pārvietojas, nekas nenotiek. 185 00:08:42,540 --> 00:08:44,690 Tas ir tikai noklusējuma state-- nulli. 186 00:08:44,690 --> 00:08:48,200 Bet, ja ir elektrība plūst, kāpēc ne mēs tikai patvaļīgi, bet arī visā pasaulē 187 00:08:48,200 --> 00:08:50,250 konsekventi, zvaniet, ka ir viens. 188 00:08:50,250 --> 00:08:54,760 >> Tik vienkārši kam nav varas, mums ir nulle, jā varu, 189 00:08:54,760 --> 00:08:57,520 mums ir one-- nav varas, jā varu. 190 00:08:57,520 --> 00:09:01,520 Un šādā veidā, izmantojot kaut ko vairāk fiziski vai elektroniski 191 00:09:01,520 --> 00:09:05,340 sākam īstenot šo jēdzienu kaut nu ir viens vai nulle. 192 00:09:05,340 --> 00:09:07,230 Patiesi, mēs varētu vienkārši darīt to vairāk šeit. 193 00:09:07,230 --> 00:09:10,590 Tātad šeit, man nav trīs, bet astoņi spuldzes, no kuriem katrs 194 00:09:10,590 --> 00:09:11,810 ir savs slēdzis. 195 00:09:11,810 --> 00:09:15,760 >> Un tāpēc, ja es gribēju, lai pārstāvētu skaits septiņi šeit, 196 00:09:15,760 --> 00:09:18,510 Es varētu ieslēgt šiem trim spuldzēm. 197 00:09:18,510 --> 00:09:21,470 Un tiešām, iekšpusē mans dators ir miljoniem, 198 00:09:21,470 --> 00:09:25,650 miljardiem lietas, kas ir tikai mazāks nekā, ko sauc tranzistori, 199 00:09:25,650 --> 00:09:27,330 slēdži, ka jūs vienkārši ieslēgt un izslēgt. 200 00:09:27,330 --> 00:09:30,420 Tātad tie ir big-- salīdzinoši big-- slēdži iekšā manu laptop-- 201 00:09:30,420 --> 00:09:32,150 ir daudz, daudz, daudz, daudz vairāk slēdži. 202 00:09:32,150 --> 00:09:35,160 Bet visi tie ir tieši that-- savukārt kaut ko, savukārt kaut off. 203 00:09:35,160 --> 00:09:38,076 Un kā tāda, dators var pārstāvēt, ar tiem miljoniem vai miljardiem 204 00:09:38,076 --> 00:09:40,480 tranzistoru, daudz un daudz nullēm un uzņēmumiem. 205 00:09:40,480 --> 00:09:43,160 Un tur ir cita aparatūra vēl, ka ļauj uzglabāt informāciju ilgtermiņa, 206 00:09:43,160 --> 00:09:45,243 lai tad, kad jūs pull plug, jums nav zaudēt to. 207 00:09:45,243 --> 00:09:46,900 Bet tas ir stāsts par citu dienu. 208 00:09:46,900 --> 00:09:51,170 >> Tātad, ko mēs varam darīt ar šiem bitiem? 209 00:09:51,170 --> 00:09:54,309 Varētu mēs vienkārši veikt spiediens pie me-- 210 00:09:54,309 --> 00:09:56,600 varētu kāds vēlas nākt šeit un piedāvāt līdz demo? 211 00:09:56,600 --> 00:09:57,516 Es redzēju šo roku pirmās. 212 00:09:57,516 --> 00:09:58,709 Kā tevi sauc? 213 00:09:58,709 --> 00:09:59,250 MADAY: Maday. 214 00:09:59,250 --> 00:10:00,542 DAVID Malan: Maday, nākt uz augšu. 215 00:10:00,542 --> 00:10:01,250 Prieks iepazīties. 216 00:10:01,250 --> 00:10:02,390 MADAY: Prieks iepazīties. 217 00:10:02,390 --> 00:10:02,930 >> DAVID Malan: Nāciet šādā veidā. 218 00:10:02,930 --> 00:10:04,182 Man nebūs lūpu jums augšu. 219 00:10:04,182 --> 00:10:04,682 Viss kārtībā. 220 00:10:04,682 --> 00:10:11,090 Tātad šeit mums ir, notice-- vienu, two-- mēs rediģēt ka out-- viens, divi, četri, 221 00:10:11,090 --> 00:10:13,350 astoņi, 16, 32, 64, 128. 222 00:10:13,350 --> 00:10:14,220 Tas ir apzināta. 223 00:10:14,220 --> 00:10:17,370 Tur ir astoņi biti here-- binārā digits-- nullēm un uzņēmumiem. 224 00:10:17,370 --> 00:10:21,460 Un mazliet ir noderīgs vienība measure-- nav tik noderīga vienība Pasākuma 225 00:10:21,460 --> 00:10:21,999 uz sevi. 226 00:10:21,999 --> 00:10:24,290 Parasti jūs vēlaties vismaz astoņi no šīm lietām, pazīstams arī kā 227 00:10:24,290 --> 00:10:24,790 baits. 228 00:10:24,790 --> 00:10:26,230 Tātad mums ir baitu biti šeit. 229 00:10:26,230 --> 00:10:31,130 >> Tātad, ja mēs vēlējāmies, lai apstrīdētu jums, piemēram, precizējot, binārā, 230 00:10:31,130 --> 00:10:33,230 šī vērtība here-- 42. 231 00:10:33,230 --> 00:10:35,140 Vēlaties veikt stab tajā? 232 00:10:35,140 --> 00:10:36,034 >> MADAY: [nedzirdama]. 233 00:10:36,034 --> 00:10:38,700 DAVID Malan: Jā, tikai push maz balto slēdži priekšā. 234 00:10:38,700 --> 00:10:41,290 Un jūs vēlaties, lai izskaidrot out 42, un uz grabs 235 00:10:41,290 --> 00:10:44,061 tas ir CS50 stress bumba ja jums tas. 236 00:10:44,061 --> 00:10:44,560 Viss kārtībā. 237 00:10:44,560 --> 00:10:46,420 Tātad jums ir 32. 238 00:10:46,420 --> 00:10:48,430 Mēs ejam, lai nepieciešama 42. 239 00:10:48,430 --> 00:10:51,410 Tātad tas ir astoņi, tā ka ir 40. 240 00:10:51,410 --> 00:10:54,160 Un excellent-- ļoti labi darīts. 241 00:10:54,160 --> 00:10:55,186 Paldies. 242 00:10:55,186 --> 00:10:58,790 >> [Aplausi] 243 00:10:58,790 --> 00:10:59,290 Viss kārtībā. 244 00:10:59,290 --> 00:11:00,623 Tāpēc mums ir vēl viens stresa bumbu. 245 00:11:00,623 --> 00:11:03,595 Darīsim to vēlreiz, ja mēs varam. 246 00:11:03,595 --> 00:11:05,368 Viena cita brīvprātīgo? 247 00:11:05,368 --> 00:11:07,970 Free stress ball, bezmaksas stress bumbu. 248 00:11:07,970 --> 00:11:08,470 LABI. 249 00:11:08,470 --> 00:11:11,640 Nekā šeit vidū, Vai jūs vēlaties nākt uz leju? 250 00:11:11,640 --> 00:11:14,100 Viss kārtībā. 251 00:11:14,100 --> 00:11:15,552 Es zinu. 252 00:11:15,552 --> 00:11:16,360 Tur mēs ejam. 253 00:11:16,360 --> 00:11:20,818 >> Tātad skaitļi here-- nāk uz leju. 254 00:11:20,818 --> 00:11:21,567 Kāds ir tavs vārds? 255 00:11:21,567 --> 00:11:21,984 >> DAVEY: Davey. 256 00:11:21,984 --> 00:11:22,820 >> DAVID Malan: Davey. 257 00:11:22,820 --> 00:11:23,320 LABI. 258 00:11:23,320 --> 00:11:24,810 Nāciet uz augšu, Davey. 259 00:11:24,810 --> 00:11:25,890 Prieks iepazīties. 260 00:11:25,890 --> 00:11:28,639 Un ko mēs esam nāksies tevi spell-- ja jūs varētu kavēties tur 261 00:11:28,639 --> 00:11:32,810 tikai vienu moment-- ir numurs 50. 262 00:11:32,810 --> 00:11:36,293 Bet, bet, bet tomēr, tomēr, tie ir Skolas magnēti par iemeslu. 263 00:11:36,293 --> 00:11:39,370 264 00:11:39,370 --> 00:11:43,327 Atkal nedaudz grūtāk, labi? 265 00:11:43,327 --> 00:11:44,160 Tur ir vēl astoņi. 266 00:11:44,160 --> 00:11:46,820 267 00:11:46,820 --> 00:11:47,320 Viss kārtībā. 268 00:11:47,320 --> 00:11:48,486 Tātad, ko mēs esam tur? 269 00:11:48,486 --> 00:11:51,356 Mums ir 32. 270 00:11:51,356 --> 00:11:54,344 Nice. 271 00:11:54,344 --> 00:11:58,610 32 plus 16 dod mums 48-- tik tuvu. 272 00:11:58,610 --> 00:12:00,390 Un brīnišķīgi. 273 00:12:00,390 --> 00:12:02,831 Apsveicam Davey, kā arī. 274 00:12:02,831 --> 00:12:05,720 >> [Aplausi] 275 00:12:05,720 --> 00:12:06,516 >> Viss kārtībā. 276 00:12:06,516 --> 00:12:09,390 Tātad, mēs varam darīt visas dienas garumā, un tas nav iegūt visu, ka daudz vairāk 277 00:12:09,390 --> 00:12:10,800 interesantu un grūtāks. 278 00:12:10,800 --> 00:12:13,250 Bet tas tiešām point-- ir, kā samērā vienkāršs 279 00:12:13,250 --> 00:12:16,930 tas ir, beigās, dienā, kāds ir dators dara, lai saglabātu informāciju, 280 00:12:16,930 --> 00:12:21,740 uzglabāt izejvielas un galu galā uzglabāt vai pārstāvēt šos rezultātus. 281 00:12:21,740 --> 00:12:23,750 Bet skaitļi vien nav visu, kas interesants. 282 00:12:23,750 --> 00:12:26,069 >> Tātad cilvēkiem, pirms dažiem gadiem, nolēma, jūs zināt, ko? 283 00:12:26,069 --> 00:12:27,860 Būtu jauki, ja datori bija ne tikai 284 00:12:27,860 --> 00:12:31,030 kalkulatori aritmētika operācijas, bet patiesībā varētu 285 00:12:31,030 --> 00:12:35,209 darīt lietas, piemēram, tekstapstrāde, vai e-pastu, vai vairāk mūsdienu iemiesojumi 286 00:12:35,209 --> 00:12:36,500 no šiem tehnoloģiju veidus. 287 00:12:36,500 --> 00:12:40,680 Un tā pasaule nolēma patvaļīgi, bet vispārēji, 288 00:12:40,680 --> 00:12:44,380 ka, ja jūs vēlaties, lai saglabātu kapitālu burts A ar datoru, jūs zināt, ko? 289 00:12:44,380 --> 00:12:47,730 Pieņemsim tikai visi piekrīt uzglabāt daži modelis nullēm un ones-- 290 00:12:47,730 --> 00:12:52,422 bits-- kas galu galā pārstāv Decimālskaitli 65. 291 00:12:52,422 --> 00:12:53,630 Mēs vienkārši visi vienojas par to. 292 00:12:53,630 --> 00:12:56,620 >> 66 pārstāvētu B, 67 pārstāvētu C, 293 00:12:56,620 --> 00:13:00,210 un tur ir ķekarus citiem modeļiem nullēm un tiem, vai pamatā numuri, 294 00:13:00,210 --> 00:13:02,224 kas nozīmētu pārējie burti joprojām. 295 00:13:02,224 --> 00:13:04,390 Tātad, ja jūs veida garīgi absorbēt to uz brīdi, 296 00:13:04,390 --> 00:13:10,900 Es apzināti safasēti cauri Es, kur H 72 un man ir 73. 297 00:13:10,900 --> 00:13:15,830 Ja dators pēc tam, saistībā ar teksta apstrādes programmu vai e-pastu, 298 00:13:15,830 --> 00:13:19,620 atklāja zem motora pārsega ir šie modeļi bits-- modeli 299 00:13:19,620 --> 00:13:22,500 bitiem pārstāv 72, tad 73, tad 33-- 300 00:13:22,500 --> 00:13:26,640 Ko tas varētu izskaidrot ar to, ka programmā? 301 00:13:26,640 --> 00:13:28,150 >> Tātad hi, un tad kaut kas. 302 00:13:28,150 --> 00:13:31,460 Mēs ne vienmēr zina, bet patiešām 33-- nevis uz diagrammas earlier-- 303 00:13:31,460 --> 00:13:33,170 bija vienkārši izsaukuma zīme. 304 00:13:33,170 --> 00:13:38,870 Tātad 72 bija H, 73 ir I, 33 notiek būt izsaukuma zīme joprojām. 305 00:13:38,870 --> 00:13:41,719 Bet tas viss ir labi un labs, un patiesībā mūsdienās, nevis 306 00:13:41,719 --> 00:13:43,760 tikai izmantot septiņas vai astoņas biti, pateicoties kaut 307 00:13:43,760 --> 00:13:46,530 sauc Unicode pretstatā ASCII atpakaļ dienā, 308 00:13:46,530 --> 00:13:50,010 mēs faktiski var pārstāvēt vēl interesanti zīmes nekā tikai 309 00:13:50,010 --> 00:13:52,980 šie oriģināls angļu neobjektīva vēstules. 310 00:13:52,980 --> 00:13:56,030 Bet mēs varam arī pārstāvēt pat īsāks izklāsts lietas, piemēram, krāsas. 311 00:13:56,030 --> 00:13:59,750 >> Ja esat kādreiz dzirdējuši akronīms RGB, sarkana, zaļa, zila, ka 312 00:13:59,750 --> 00:14:03,510 tikai nozīmē, ka datora parasti izmanto trīs komplektus bits-- 313 00:14:03,510 --> 00:14:06,760 daži bitu skaits, kas pārstāv skaits, cik daudz sarkano vēlaties, 314 00:14:06,760 --> 00:14:08,940 vēl viens komplekts biti cik daudz zaļā vēlaties, 315 00:14:08,940 --> 00:14:11,430 un vēl viens komplekts numurs cik daudz blue vēlaties. 316 00:14:11,430 --> 00:14:14,457 Tik liels skaits nozīmē daudz sarkans, neliels skaits nozīmē, ka nav sarkans. 317 00:14:14,457 --> 00:14:16,290 Un tāpēc tie ir sava veida Tuvo vērtības šeit. 318 00:14:16,290 --> 00:14:20,180 >> Tā dod man kādu sarkanu, dod man kādu zaļa, un man mazliet zils. 319 00:14:20,180 --> 00:14:24,260 Un, ja jūs sajauc šos trīs toņos no krāsas kopā, šajā gadījumā, 320 00:14:24,260 --> 00:14:26,850 jums šī tumšs ēnā dzeltena vai brūna. 321 00:14:26,850 --> 00:14:32,330 Bet tas modelis astoņi plus astoņi plus eight-- tik 24. bits-- 322 00:14:32,330 --> 00:14:36,550 kreisās uz labo pusi, ir, kā dators nozīmētu, ka īpaša krāsa. 323 00:14:36,550 --> 00:14:38,090 Tagad tas ir tikai dot uz ekrāna. 324 00:14:38,090 --> 00:14:42,230 Ja paskatās patiešām tuvu pie televizora jūsu dators, jūs redzēsiet punkti vai pikseļi. 325 00:14:42,230 --> 00:14:45,420 Un, ja jums ir vesela režģi pikseļi, horizontāli un vertikāli, 326 00:14:45,420 --> 00:14:46,630 jums ir attēli. 327 00:14:46,630 --> 00:14:49,029 Un tad, ja Jūs lietojat attēls un pēc tam mazgāt 328 00:14:49,029 --> 00:14:52,070 parādīt sev citu attēlu, cits attēls, cits attēls, citu attēlu, 329 00:14:52,070 --> 00:14:54,760 ļoti ātri, jūs, protams, ir filmas. 330 00:14:54,760 --> 00:14:56,109 >> Un tāpēc ievērosiet, kur mēs sākām. 331 00:14:56,109 --> 00:14:57,650 Mēs sākām ar šīm nullēm un uzņēmumiem. 332 00:14:57,650 --> 00:15:00,570 Mēs strādājām no turienes uz decimālo numurus, kā mēs tos pārstāvētu. 333 00:15:00,570 --> 00:15:02,070 Tagad mums ir alfabēta burti. 334 00:15:02,070 --> 00:15:05,664 Bet citi konteksti pagaidiet, mēs varam izmantot daži vairāk bitu un pārstāv krāsas. 335 00:15:05,664 --> 00:15:07,830 Tiklīdz jums ir Spēja pārstāvēt krāsas, 336 00:15:07,830 --> 00:15:11,200 Jums ir iespēja pārstāvēt fotogrāfijas un animācijas gifs 337 00:15:11,200 --> 00:15:13,780 un citas tādas zīmes uz ekrāna. 338 00:15:13,780 --> 00:15:17,160 Un, ja jums ir viss ķekars attēlus lidojot cilvēka uzreiz, 339 00:15:17,160 --> 00:15:21,480 izskatās, kinofilmās, un lai jūs iegūtu video, kā arī. 340 00:15:21,480 --> 00:15:23,460 >> Tātad, izmantojot šos ļoti vienkārši primitīvi do mēs 341 00:15:23,460 --> 00:15:28,070 ir veids, kā pārstāvēt galu galā visiem šiem plašsaziņas līdzekļu veidiem. 342 00:15:28,070 --> 00:15:30,450 Un mēs esam nošķirts no jauna un atkal un atkal, kamēr mēs 343 00:15:30,450 --> 00:15:33,467 saņemt no zemākā līmeņa līdz šim augstāko līmeni. 344 00:15:33,467 --> 00:15:35,550 Tā, ka mums dod šis Vispārējā ideja abstrakcijas. 345 00:15:35,550 --> 00:15:36,990 Bet mēs sākām šeit. 346 00:15:36,990 --> 00:15:38,790 >> Šeit tagad, mēs varētu pārstāvēt datorā 347 00:15:38,790 --> 00:15:41,920 Mūsu ieejas ar nullēm un tiem, Mūsu produkcija nullēm un uzņēmumiem, 348 00:15:41,920 --> 00:15:43,640 bet to, kas iet iekšā kastē? 349 00:15:43,640 --> 00:15:46,080 Tas ir, ja dators zinātne kļūst interesanti. 350 00:15:46,080 --> 00:15:49,770 Tas ir, ja jūs tiešām dot savu pašu prāts nest, lai atrisinātu problēmas. 351 00:15:49,770 --> 00:15:52,590 Tagad mēs varam paredzēt, lai pārējā semestra, jā. 352 00:15:52,590 --> 00:15:53,870 Es zinu, kā bināro darbus. 353 00:15:53,870 --> 00:15:57,942 Es atceros, kā ASCII vai Unicode-- kartēšanas uz letters-- darbus. 354 00:15:57,942 --> 00:15:59,650 Un tas, protams, stāv lai tādēļ, ka mēs 355 00:15:59,650 --> 00:16:03,470 varētu būt sarkans un zaļš un zila, un pārstāvēt multimediju, kā arī. 356 00:16:03,470 --> 00:16:05,390 Bet tas ir interesanti sīkumi. 357 00:16:05,390 --> 00:16:09,790 Tas ir tas, kas padara kāds kas spēj risināt problēmas. 358 00:16:09,790 --> 00:16:11,980 >> Un viens no šādiem problēma mēs vēlētos darīt, tiešām, 359 00:16:11,980 --> 00:16:15,345 veic apmeklēšanu, vai darot algoritmiski. 360 00:16:15,345 --> 00:16:16,470 Un atkal, es varētu darīt. 361 00:16:16,470 --> 00:16:19,580 Es varētu darīt viens, divi, trīs, četri pieci, seši, septiņi, astoņi deviņi. 362 00:16:19,580 --> 00:16:21,520 Un es varētu uzrakstīt to leju, lai sekotu to. 363 00:16:21,520 --> 00:16:23,769 Bet tas ir tikai, kā es būtu pārstāvēt informāciju. 364 00:16:23,769 --> 00:16:27,550 Vai es varētu darīt faster-- divi, četri, seši, astoņi, desmit, 12, 14, 16, 18, 20, 365 00:16:27,550 --> 00:16:30,380 22-- tā uzskata, tāpat divreiz tik ātri, bet tas joprojām ir 366 00:16:30,380 --> 00:16:32,050 gatavojas veikt visai daudz laika. 367 00:16:32,050 --> 00:16:35,990 >> Bet izrādās, ja mēs sviras vēl vēl resource-- un patiešām datori 368 00:16:35,990 --> 00:16:38,940 šajās dienās ir vairāki CPU vai smadzenes. 369 00:16:38,940 --> 00:16:41,970 Izrādās, datori var darīt daudz lietas uzreiz, 370 00:16:41,970 --> 00:16:44,460 un tiešām mēs, šajā telpā, varētu pārstāvēt tieši šo. 371 00:16:44,460 --> 00:16:47,130 >> Tātad, tas ir mazliet sociāli neērti, bet, ja tu būtu humors mani 372 00:16:47,130 --> 00:16:51,550 lai tikai trīs posmu process, ļaujiet man jautāt ikvienam vietā tur tikko 373 00:16:51,550 --> 00:16:54,640 piecelties uz brīdi. 374 00:16:54,640 --> 00:16:57,380 Piecelties. 375 00:16:57,380 --> 00:17:01,580 Tāpēc domāju, ka, lai sevi, numurs one-- lai ikviens šajā telpā, 376 00:17:01,580 --> 00:17:05,010 izņemot cilvēkiem, kas nav pienākumu, domā numur viens. 377 00:17:05,010 --> 00:17:06,510 Tātad tas ir jūsu numurs tiesības tagad. 378 00:17:06,510 --> 00:17:09,399 Tas ir pirmais solis, vai kā dators zinātnieks vai programmētājs 379 00:17:09,399 --> 00:17:11,827 kas parasti darīt, mēs ejam sākt skaitīšanas nulles līmenī. 380 00:17:11,827 --> 00:17:14,410 Ja mazākais skaits, mēs varam pārstāv ar šīm spuldzēm 381 00:17:14,410 --> 00:17:17,410 ir nulle, ko tikko atstājot tos all off, es varētu arī vienkārši 382 00:17:17,410 --> 00:17:19,271 sākas skaitot no nulle ir nevis viens. 383 00:17:19,271 --> 00:17:21,020 Un tā tas ir kas datoru zinātnieki. 384 00:17:21,020 --> 00:17:23,750 Tātad soli nulli, piecelties un domā par numur viens. 385 00:17:23,750 --> 00:17:26,339 Nākamais solis ir this-- pāris off ar kādu stāvokli 386 00:17:26,339 --> 00:17:27,660 un pievienot savus numurus kopā. 387 00:17:27,660 --> 00:17:30,660 388 00:17:30,660 --> 00:17:32,850 Wonderful. 389 00:17:32,850 --> 00:17:37,640 >> Tātad šajā brīdī, burtiski ikviens dalībnieks 390 00:17:37,640 --> 00:17:41,930 domā skaita 2, izņemot vienai nepāra personai, ja mums ir 391 00:17:41,930 --> 00:17:43,450 nepāra cilvēku skaits telpā. 392 00:17:43,450 --> 00:17:50,640 Un tagad trešais posms šeit gatavojas būt this-- no jums vajadzētu apsēsties. 393 00:17:50,640 --> 00:17:54,490 Viens no jums vajadzētu apsēsties, un, ja jūs joprojām stāv, 394 00:17:54,490 --> 00:17:56,590 atgriezties uz vienu soli. 395 00:17:56,590 --> 00:18:44,799 396 00:18:44,799 --> 00:18:45,790 Viss kārtībā. 397 00:18:45,790 --> 00:19:00,760 398 00:19:00,760 --> 00:19:01,650 Viss kārtībā. 399 00:19:01,650 --> 00:19:03,880 Tāpēc arvien vairāk un vairāk cilvēku vajadzētu būt sēžot. 400 00:19:03,880 --> 00:19:08,280 Ievērojiet, ka tas ir izraisīta loop-- kādu ciklu. 401 00:19:08,280 --> 00:19:11,983 Daži no jums būtu neveikli iestrēdzis, iet uz priekšu un atpakaļ starp vienu soli 402 00:19:11,983 --> 00:19:14,180 un divi, viens un divi, viens un divi. 403 00:19:14,180 --> 00:19:21,190 404 00:19:21,190 --> 00:19:21,810 Tas ir labi. 405 00:19:21,810 --> 00:19:22,630 Mūsu pirmā bug. 406 00:19:22,630 --> 00:19:24,740 Mēs nodarbojas ar to. 407 00:19:24,740 --> 00:19:25,320 Viss kārtībā. 408 00:19:25,320 --> 00:19:27,370 Ļaujiet man mēģināt stimulēt lietas kopā. 409 00:19:27,370 --> 00:19:31,454 >> Teorētiski, tikai viens cilvēks stāv kā visi turpina pārī off. 410 00:19:31,454 --> 00:19:33,870 Bet ļaujiet man paātrinātu lietas uz augšu ar cilvēkiem, joprojām stāv. 411 00:19:33,870 --> 00:19:35,480 Ko numuru tu domā? 412 00:19:35,480 --> 00:19:36,070 46. 413 00:19:36,070 --> 00:19:36,570 LABI. 414 00:19:36,570 --> 00:19:37,820 Iet uz priekšu un apsēsties. 415 00:19:37,820 --> 00:19:39,190 Jūs puiši joprojām stāv. 416 00:19:39,190 --> 00:19:42,130 Kurš vēl stāv? 417 00:19:42,130 --> 00:19:45,240 Ko numuru tu domā? 418 00:19:45,240 --> 00:19:46,160 LABI. 419 00:19:46,160 --> 00:19:47,900 >> Tātad mēs būsim atpakaļ uz jums. 420 00:19:47,900 --> 00:19:49,630 Uz muguras? 421 00:19:49,630 --> 00:19:50,790 Kas tas ir? 422 00:19:50,790 --> 00:19:53,100 22. 423 00:19:53,100 --> 00:19:56,540 OK kāds cits up top-- yeah? 424 00:19:56,540 --> 00:19:57,720 34. 425 00:19:57,720 --> 00:19:58,300 LABI. 426 00:19:58,300 --> 00:20:02,780 Vairāk nekā šeit manā right-- šeit? 427 00:20:02,780 --> 00:20:06,820 132, ļoti jauki. 428 00:20:06,820 --> 00:20:08,380 22? 429 00:20:08,380 --> 00:20:08,990 >> LABI. 430 00:20:08,990 --> 00:20:10,031 Un kurš joprojām stāv? 431 00:20:10,031 --> 00:20:11,000 Šeit? 432 00:20:11,000 --> 00:20:14,520 46, ļoti jauki. 433 00:20:14,520 --> 00:20:16,890 72. 434 00:20:16,890 --> 00:20:18,220 Es nevaru apstāsies daudz ilgāk. 435 00:20:18,220 --> 00:20:20,520 Yeah? 436 00:20:20,520 --> 00:20:22,490 30, jauki. 437 00:20:22,490 --> 00:20:24,120 Šeit? 438 00:20:24,120 --> 00:20:26,200 23? 439 00:20:26,200 --> 00:20:27,270 23. 440 00:20:27,270 --> 00:20:30,920 >> Un es domāju, ka ikviens izņemot jūs, puiši, bez spiediena. 441 00:20:30,920 --> 00:20:32,860 Ak, pagaidiet. 442 00:20:32,860 --> 00:20:33,360 28? 443 00:20:33,360 --> 00:20:37,500 444 00:20:37,500 --> 00:20:38,281 Tikai astoņi. 445 00:20:38,281 --> 00:20:38,780 LABI. 446 00:20:38,780 --> 00:20:41,030 Tikai astoņi. 447 00:20:41,030 --> 00:20:42,580 Down šeit? 448 00:20:42,580 --> 00:20:44,570 30. 449 00:20:44,570 --> 00:20:47,344 23. 450 00:20:47,344 --> 00:20:47,843 24. 451 00:20:47,843 --> 00:20:50,810 452 00:20:50,810 --> 00:20:52,310 18. 453 00:20:52,310 --> 00:20:54,690 Tas ir sliktākais īstenošana Šī algoritma jebkad. 454 00:20:54,690 --> 00:20:55,190 LABI. 455 00:20:55,190 --> 00:20:59,760 Tātad kāds cits? 456 00:20:59,760 --> 00:21:00,421 Kāds cits? 457 00:21:00,421 --> 00:21:00,920 LABI. 458 00:21:00,920 --> 00:21:03,300 Vēl vienu. 459 00:21:03,300 --> 00:21:04,400 16? 460 00:21:04,400 --> 00:21:04,900 LABI. 461 00:21:04,900 --> 00:21:05,510 16. 462 00:21:05,510 --> 00:21:06,010 Viss kārtībā. 463 00:21:06,010 --> 00:21:09,070 Tātad, ja man nav garām kāds atspulgu šeit, kad es hit Enter, 464 00:21:09,070 --> 00:21:13,091 mēs redzēsim, algoritmiski, tad Kopējais cilvēku skaits Sanders. 465 00:21:13,091 --> 00:21:16,340 Jo atkal, tas ir it kā visiem kā jūs apsēdās, nokārtojusi savu numuru off 466 00:21:16,340 --> 00:21:19,215 kādam citam, lai kāds cits, kādam citam, tā ka teorētiski, 467 00:21:19,215 --> 00:21:22,304 galu galā, tikai viens neērts personai jāatstāj stāvokli. 468 00:21:22,304 --> 00:21:22,970 Bet tas ir jauki. 469 00:21:22,970 --> 00:21:24,290 Mēs sped lietas uz augšu manuāli. 470 00:21:24,290 --> 00:21:27,590 Tas ir īpaši grūti saprast šajā konkrētajā telpā. 471 00:21:27,590 --> 00:21:34,200 >> Un kopējais cilvēku skaits mēs domājam, ka ir šeit ir 546. 472 00:21:34,200 --> 00:21:37,330 Kopējais man bija roku ar mācību līdzcilvēkiem, 473 00:21:37,330 --> 00:21:40,660 kas tas vecais skola lēns ceļš, bija 820. 474 00:21:40,660 --> 00:21:43,660 >> [Smejas] 475 00:21:43,660 --> 00:21:47,170 >> [Aplausi] 476 00:21:47,170 --> 00:21:48,670 >> Tas ir labi. 477 00:21:48,670 --> 00:21:50,740 Tātad, protams, tad, ir šīs kļūdas. 478 00:21:50,740 --> 00:21:51,460 Un tas ir jauki. 479 00:21:51,460 --> 00:21:53,810 Un tāpēc domāju, ka atpakaļ uz šo pirmo reizi kaut ko 480 00:21:53,810 --> 00:21:55,420 rakstīt ne vienmēr strādā. 481 00:21:55,420 --> 00:21:57,620 Tas ir noticis ar mani, arī šeit. 482 00:21:57,620 --> 00:22:00,844 Bet pieņemsim tagad jāapsver, kā mēs varētu piemērot šo pašu ideju kaut ko 483 00:22:00,844 --> 00:22:03,760 Jums varētu būt redzējis, kas ir vecā tehnoloģija here-- 484 00:22:03,760 --> 00:22:05,130 tiešām liels tālruņa grāmatu. 485 00:22:05,130 --> 00:22:09,380 Un domāju, ka šo tālruņa grāmatā ir 1000 lapas un 1000 vārdi 486 00:22:09,380 --> 00:22:11,360 un numuri alfabētiski iekšpusē no tā. 487 00:22:11,360 --> 00:22:14,860 >> Nu, mēs varētu veida piemērot līdzīgu ideja šai ļoti fizisku problēmu, 488 00:22:14,860 --> 00:22:16,270 tikai izmantojot mani. 489 00:22:16,270 --> 00:22:18,810 Es tikko veida cheated piesaistot jums visiem 490 00:22:18,810 --> 00:22:23,240 ar partijām un partijām, dažādu CPU vai smadzenes izpildot kādu algoritmu. 491 00:22:23,240 --> 00:22:25,440 Bet, ja tas ir tikai nedaudz vecs mani, es varu vēl 492 00:22:25,440 --> 00:22:29,630 sviras šo pašu būtību ideju dalot un iekarošana šo problēmu 493 00:22:29,630 --> 00:22:32,970 atkal un atkal, kur puse no jums, puse no jums, puse no jums, puse no jums, 494 00:22:32,970 --> 00:22:35,830 teorētiski tur sēžot, kamēr mēs pa kreisi, teorētiski, 495 00:22:35,830 --> 00:22:36,990 tikai ar vienu personu. 496 00:22:36,990 --> 00:22:39,810 >> Tātad šajā vecajā skolā technology-- mums nav 497 00:22:39,810 --> 00:22:43,030 vajag šo map-- šo vecās skolas tehnoloģija, 498 00:22:43,030 --> 00:22:47,300 mēs varētu sākt meklēt kādu, patīk Mike Smith, vienu lapu laikā. 499 00:22:47,300 --> 00:22:49,410 Un es redzu, ka nē, Mike nav šeit. 500 00:22:49,410 --> 00:22:51,110 Es esmu vēl A sadaļā. 501 00:22:51,110 --> 00:22:53,900 Galu galā, es atrast sevi ar B sadaļā. 502 00:22:53,900 --> 00:22:56,910 Un tas ir algorithm-- soli pa solim instrukciju. 503 00:22:56,910 --> 00:22:59,890 Sākas un vienas lapas laikā, meklēt Mike Smith. 504 00:22:59,890 --> 00:23:03,410 Vai tas correct-- šis algoritma vai pieeja? 505 00:23:03,410 --> 00:23:04,550 >> Jā, tas ir pareizi. 506 00:23:04,550 --> 00:23:06,840 Ja Mike ir šeit, galu galā Es nopirkšu viņam. 507 00:23:06,840 --> 00:23:08,139 Bet tas nav efektīvi. 508 00:23:08,139 --> 00:23:09,180 Tas ir acīmredzami ļoti lēns. 509 00:23:09,180 --> 00:23:11,340 Lai es varētu sviras paši twosies pieeja. 510 00:23:11,340 --> 00:23:15,350 Es varu darīt veida divi, četru, sešu, astoņi, 10, 12. 511 00:23:15,350 --> 00:23:16,330 Tas ir divreiz ātrāk. 512 00:23:16,330 --> 00:23:18,290 Es esmu gatavojas nokļūt Mike ātrāk, ja viņš ir tur. 513 00:23:18,290 --> 00:23:20,770 Tas ir pareizs? 514 00:23:20,770 --> 00:23:22,320 Jā, bet es dzirdēju little-- nē. 515 00:23:22,320 --> 00:23:24,200 Tagad es dzirdēju nē. 516 00:23:24,200 --> 00:23:24,700 Jā. 517 00:23:24,700 --> 00:23:26,190 Tur ir kļūda potenciāli. 518 00:23:26,190 --> 00:23:29,374 Varbūt Mike tikai nejauši kļūst iestiprināta starp divām lapām, 519 00:23:29,374 --> 00:23:31,290 jo es esmu peld cauri šis divi vienlaicīgi. 520 00:23:31,290 --> 00:23:33,580 Tātad vismaz mums vajag kādu veida nosacītas noteikt. 521 00:23:33,580 --> 00:23:35,330 Man jāsaka, hey, ja es hit kādu, kura 522 00:23:35,330 --> 00:23:39,190 nosaukums sākas ar T nevis no S, Es labāk dubultā atpakaļ vismaz vienu lapu. 523 00:23:39,190 --> 00:23:40,767 Tātad buggy sākumā, bet fixable. 524 00:23:40,767 --> 00:23:43,850 Bet neviens no mums gatavojas meklēt Mike Smith caur 1000 lapu tālruni 525 00:23:43,850 --> 00:23:45,290 pasūtīt vienu lapu laikā. 526 00:23:45,290 --> 00:23:48,486 Kas ir normāls cilvēks gatavojas darīt? 527 00:23:48,486 --> 00:23:50,860 Jūs gatavojas doties uz S s, ja jūs zinātu, kur S ir. 528 00:23:50,860 --> 00:23:54,230 Jūs varētu iet apmēram uz vidu vai nedaudz asimetrisks beigās. 529 00:23:54,230 --> 00:23:56,850 Un es skatos šeit un Es esmu M sadaļā. 530 00:23:56,850 --> 00:23:58,952 Bet ko jūs zināt par šo problēmu tagad, 531 00:23:58,952 --> 00:24:02,160 ka mēs ne vienmēr jāzina pirms ar visām no mums tikai skaitīšanas sevi 532 00:24:02,160 --> 00:24:03,030 līdzvērtīgi? 533 00:24:03,030 --> 00:24:06,010 Nu, Mike ir skaidri notiek būt šajā pusē grāmatas 534 00:24:06,010 --> 00:24:07,920 ja viņš ir šeit vispār, jo tas ir sakārtoti. 535 00:24:07,920 --> 00:24:10,160 >> Un tā jūs varat ļoti dramatically-- 536 00:24:10,160 --> 00:24:11,250 >> [Gasping] 537 00:24:11,250 --> 00:24:12,300 >> Es zinu. 538 00:24:12,300 --> 00:24:16,940 >> [Aplausi] 539 00:24:16,940 --> 00:24:19,450 >> Tas ir tiešām ļoti viegli, ja jūs darīt to uz leju mugurkaula tur. 540 00:24:19,450 --> 00:24:22,070 Bet jūs varat mest puse no problēmas prom. 541 00:24:22,070 --> 00:24:25,950 Tagad, es esmu pa kreisi ar to pašu problem-- atrast Mike Smith tālruni book-- 542 00:24:25,950 --> 00:24:29,610 bet tagad tālrunis grāmata sākas M un iet līdz Z, bet tas ir uz pusi tik liels. 543 00:24:29,610 --> 00:24:30,890 >> Bet tas ir tas, kas ir iespaidīgs. 544 00:24:30,890 --> 00:24:34,170 Tāpat kā teorētiski, jums puiši, kad jūs visi apsēdās tikai pusi laikā, 545 00:24:34,170 --> 00:24:37,150 problēma ieguva pusi tik liels, pusi tik liels, atkal un atkal. 546 00:24:37,150 --> 00:24:40,260 Tātad ir šī problēma kļuvusi pati problēma, bet uz pusi tik liels. 547 00:24:40,260 --> 00:24:42,670 Tagad tas ir 250 lpp problēma. 548 00:24:42,670 --> 00:24:45,340 Tiklīdz es saprotu, ak, es esmu no T sadaļā nejauši. 549 00:24:45,340 --> 00:24:46,590 Es esmu gājusi pārāk tālu. 550 00:24:46,590 --> 00:24:48,500 Es varu mest, ka puse no tālruņa grāmatu prom. 551 00:24:48,500 --> 00:24:50,410 Tagad, es esmu uz leju, lai ceturtā daļa no problēmas. 552 00:24:50,410 --> 00:24:53,910 >> Un jūs varat atkārtot, atkārtot, atkārto, līdz, teorētiski, tu esi 553 00:24:53,910 --> 00:24:55,460 palicis tikai ar vienu lapu. 554 00:24:55,460 --> 00:24:59,010 Un, ja Mike ir šajā lapā, Es tagad var atrisināt šo problēmu. 555 00:24:59,010 --> 00:25:00,810 Bet cik ātri gan es to atrisināt? 556 00:25:00,810 --> 00:25:05,420 Pirmajā gadījumā, tas aizveda mani kā varbūt 1000 soļi, lai atrastu Mike Smith. 557 00:25:05,420 --> 00:25:09,260 Tas varētu būt veikusi me-- Es pacēlu telefona grāmatu 558 00:25:09,260 --> 00:25:11,440 un es sāku meklē viena lapa laikā, 559 00:25:11,440 --> 00:25:13,480 un Mike varētu būt 1000 lapas vēlāk. 560 00:25:13,480 --> 00:25:16,020 >> Otrā pieeja varbūt ņem mani 500 pakāpieni, 561 00:25:16,020 --> 00:25:17,960 jo es esmu peld caur divām laikā. 562 00:25:17,960 --> 00:25:21,082 Un trešā pieeja, lai gan, tas ir īpaši spēcīgs. 563 00:25:21,082 --> 00:25:23,790 Bet pieņemsim apsvērt, ko mēs patiesībā darīja ar šo trešo pieeju. 564 00:25:23,790 --> 00:25:27,590 Es ņemšu to, ko es saukšu tikai tiem paziņojumi šeit, pa vienam. 565 00:25:27,590 --> 00:25:28,560 Pick up tālruņa grāmatu. 566 00:25:28,560 --> 00:25:30,130 Atvērta vidū tālruņa grāmatu. 567 00:25:30,130 --> 00:25:31,419 Paskaties nosaukumiem. 568 00:25:31,419 --> 00:25:33,960 Un tad lietas iegūt nedaudz vairāk intelektuāli interesantu, 569 00:25:33,960 --> 00:25:35,170 ja vēl vienkārši. 570 00:25:35,170 --> 00:25:38,350 Ja Smith ir viena no vārdus par šo pašreizējo lapu, 571 00:25:38,350 --> 00:25:40,170 tad kaut ko darīt nosacīti. 572 00:25:40,170 --> 00:25:41,840 Tas ir tāpat kā dakšiņu ceļa. 573 00:25:41,840 --> 00:25:42,660 Zvanu Mike. 574 00:25:42,660 --> 00:25:44,930 Ja Mike ir starp vārdiem šajā lapā, ko sauc Mike. 575 00:25:44,930 --> 00:25:49,720 Bet tikai to līniju četri ja līnija koks, ja jūs, ir taisnība. 576 00:25:49,720 --> 00:25:51,590 Atbilde uz šo jautājumu ir jā. 577 00:25:51,590 --> 00:25:55,520 >> Cits, ja Smith ir agrāk book-- citiem vārdiem sakot, ja es esmu M sadaļā 578 00:25:55,520 --> 00:25:58,540 un es esmu meklē kādu, lai kreiso, tad ko man darīt 579 00:25:58,540 --> 00:26:00,300 ir kaut kas ļoti līdzīgs. 580 00:26:00,300 --> 00:26:03,440 Tad es jāatver uz vidu kreisā puse no grāmatas. 581 00:26:03,440 --> 00:26:07,930 Tā iet pa kreisi, un tad atgriezties uz divi soli. 582 00:26:07,930 --> 00:26:09,290 Paskaties nosaukumiem tur. 583 00:26:09,290 --> 00:26:12,779 >> Tātad citiem vārdiem sakot, darīt to pašu, bet par problēmu, kas ir bijis uz pusi. 584 00:26:12,779 --> 00:26:13,570 Jūs zināt, kas cits? 585 00:26:13,570 --> 00:26:16,470 Ja Smith ir vēlāk grāmatā pamatojoties uz lapas es esmu meklē, 586 00:26:16,470 --> 00:26:18,790 atvērta vidū, tiesības puse no grāmatas 587 00:26:18,790 --> 00:26:22,050 un tad doties atpakaļ līdz divi soli, else-- 588 00:26:22,050 --> 00:26:24,000 tur ir ceturtā iespēja šeit. 589 00:26:24,000 --> 00:26:28,830 Mike ir vai nu šeit, vai pa kreisi vai pa labi vai ne tur. 590 00:26:28,830 --> 00:26:30,570 Un šeit mēs labāk apsvērt šo. 591 00:26:30,570 --> 00:26:33,360 Un patiesībā, ja jūs esat kādreiz bijis dators tikai crash uz jums, 592 00:26:33,360 --> 00:26:36,822 tas ir dažreiz, bet ne vienmēr, rezultāts tikai cilvēka programmētājs nav 593 00:26:36,822 --> 00:26:39,280 saprotot, ak šaut, tur ir faktiski šis ceturtais scenārijs. 594 00:26:39,280 --> 00:26:41,650 Un, ja jums nav rakstīt kodu rīkoties šo scenāriju, 595 00:26:41,650 --> 00:26:43,220 Dažreiz jūs nezināt ko dators varētu darīt. 596 00:26:43,220 --> 00:26:44,770 Un tiešām programma varētu crash. 597 00:26:44,770 --> 00:26:47,550 >> Bet šajā gadījumā, es domāju par to, un es teicu, cits atmest, 598 00:26:47,550 --> 00:26:49,850 jo tas ir ceturtais loģiski iespējams scenārijs. 599 00:26:49,850 --> 00:26:51,950 Tagad, pieņemsim tikai pievienojiet daži vārdu krājums, lai mēs 600 00:26:51,950 --> 00:26:55,320 var sākt mētāt apkārt nosacījumiem, kas citādi ir diezgan intuitīvi. 601 00:26:55,320 --> 00:26:57,870 Visas lietas, es esmu tikko izcelta dzeltenā krāsā šeit, 602 00:26:57,870 --> 00:27:00,140 Es esmu tikai gatavojas uz funkcijas vai procedūras. 603 00:27:00,140 --> 00:27:01,590 Viņi tikko veida pasākumiem. 604 00:27:01,590 --> 00:27:04,900 Tātad uzņemt, atvērta, meklēt at, zvaniet, atklāts, atvērts, 605 00:27:04,900 --> 00:27:09,170 quit-- tie ir tikai darbības, vai mēs ņemšu viņiem piezvanīt vairāk formāli, funkcijas. 606 00:27:09,170 --> 00:27:11,410 >> Tikmēr, tagad dzeltenā krāsā, Es esmu uzsvērusi lietas 607 00:27:11,410 --> 00:27:14,084 that-- pieņemsim tikai sākt aicinot viņiem nosacījumus vai filiāles. 608 00:27:14,084 --> 00:27:16,750 Tie ir lēmuma punktus, kur jūs varētu iet šo ceļu, šādā veidā, 609 00:27:16,750 --> 00:27:18,100 vai kādu citu virzienā joprojām. 610 00:27:18,100 --> 00:27:19,430 Tātad tie būs nosacījumi. 611 00:27:19,430 --> 00:27:20,930 Un tagad tas viens ir mazliet mīļotājs. 612 00:27:20,930 --> 00:27:24,600 Sauksim šos jautājumus Būla izteiksmes, 613 00:27:24,600 --> 00:27:26,530 Pēc kāds ar uzvārdu Bool. 614 00:27:26,530 --> 00:27:28,340 >> Un Būla izteiksme ir tikai kaut 615 00:27:28,340 --> 00:27:30,290 tas ir vai nu patiess vai nepatiess, jā vai nē. 616 00:27:30,290 --> 00:27:35,870 Tātad, tas ir jautājums, kura atbilde jums rūp, lai tādā stāvoklī 617 00:27:35,870 --> 00:27:39,210 padarīt decision-- atgriezties atbildi, un tad iet pa kreisi vai pa labi, vai kaut ko 618 00:27:39,210 --> 00:27:40,450 cits vispār. 619 00:27:40,450 --> 00:27:42,860 >> Un tad visbeidzot, šie līnijas here-- doties atpakaļ 620 00:27:42,860 --> 00:27:44,737 līdz divi soli, iet atpakaļ soli two-- mēs varētu 621 00:27:44,737 --> 00:27:46,320 īstenot šo ideju dažādos veidos. 622 00:27:46,320 --> 00:27:49,028 Un tad tiem no jums ar programmēšanas pieredze varētu būt darījuši 623 00:27:49,028 --> 00:27:50,670 vai varat iedomāties to izdarīt savādāk. 624 00:27:50,670 --> 00:27:53,170 Bet šodienas vajadzībām, tas ir tikai ideja, ka jautājumus. 625 00:27:53,170 --> 00:27:55,400 Tas liekot ko mēs parasti saucam 626 00:27:55,400 --> 00:28:00,110 loop-- kādu ciklu, jo tas padara mani kaut ko darīt atkal. 627 00:28:00,110 --> 00:28:03,340 >> Tāpēc tagad, pieņemsim tikai apsvērt cik labi šis algoritms ir. 628 00:28:03,340 --> 00:28:03,899 Tas ir pareizi. 629 00:28:03,899 --> 00:28:06,940 Ja Mike ir grāmatā, tas ir viens no tiem četri scenarios-- atkal un atkal 630 00:28:06,940 --> 00:28:08,023 un atkal, mēs atradīsim viņu. 631 00:28:08,023 --> 00:28:08,890 Bet cik labi tas ir? 632 00:28:08,890 --> 00:28:10,150 Nu, mums nav būt pārāk formāla šeit. 633 00:28:10,150 --> 00:28:12,066 Bet pieņemsim tikai gabals kaut kas, x un y, lai iegūtu 634 00:28:12,066 --> 00:28:14,470 sajūtu formas šo problēmu. 635 00:28:14,470 --> 00:28:17,160 >> Uz x-ass šeit ir izmērs mana problēma. 636 00:28:17,160 --> 00:28:20,256 Un tie Y-ass šeit būs laiks, lai atrisinātu. 637 00:28:20,256 --> 00:28:21,630 Tāpēc varbūt tas ir lappušu skaitu. 638 00:28:21,630 --> 00:28:24,400 Varbūt tas ir sekundes vai lapa turns-- neatkarīgi. 639 00:28:24,400 --> 00:28:27,290 Tomēr jūs vēlaties saskaitīt, ir ko šis attēls būs. 640 00:28:27,290 --> 00:28:30,630 Un tas pirmais algoritms, es eju aprakstīt kā tikai taisnā līnijā. 641 00:28:30,630 --> 00:28:33,120 Ja tur ir n lapas tālrunis grāmatu, tad tas 642 00:28:33,120 --> 00:28:36,010 varētu ņemt mani tik daudz kā n soļi, lai atrastu Mike. 643 00:28:36,010 --> 00:28:38,930 Ja Verizon vai telefonu kompānija piebilst vēl vienu lapu nākamajā gadā, 644 00:28:38,930 --> 00:28:42,170 tas varētu veikt man vēl viens step-- vēl viena vienība no laika, lai atrastu Mike. 645 00:28:42,170 --> 00:28:44,230 Tātad tur ir tikai šis viens pret vienu attiecību. 646 00:28:44,230 --> 00:28:45,970 Tas ir taisna līnija slīpums. 647 00:28:45,970 --> 00:28:49,110 >> Tikmēr, ka otrais algorithm-- ja es esmu 648 00:28:49,110 --> 00:28:51,570 iet divi pie LAIKU_ diviem, četri, seši, astoņi vai double-- 649 00:28:51,570 --> 00:28:54,550 iet caur lapām divreiz laikā, divi vienlaicīgi, 650 00:28:54,550 --> 00:28:55,710 tas joprojām ir taisna līnija. 651 00:28:55,710 --> 00:28:58,720 Tur tagad viens līdz diviem attiecība, bet nedaudz zemāk. 652 00:28:58,720 --> 00:29:02,240 Tātad, ja tur ir tas daudzas lapas uz diagrammas šeit dzeltens, 653 00:29:02,240 --> 00:29:04,800 kas varētu veikt man šo daudz pasākumus vai sekundes, 654 00:29:04,800 --> 00:29:07,980 pretējā gadījumā tas notiek, lai mani divreiz tik daudz uz sarkanās līnijas. 655 00:29:07,980 --> 00:29:10,190 >> Bet zaļā līnija ir reāls takeaway. 656 00:29:10,190 --> 00:29:12,290 Tas ir tas, ko mēs parasti piezvanītu logorithm-- žurnālu 657 00:29:12,290 --> 00:29:13,840 no n, kur n ir skaitlis no lapām. 658 00:29:13,840 --> 00:29:16,450 Bet tas ir formas, ka jautājumus šodien, jo mums nav 659 00:29:16,450 --> 00:29:17,950 pat domāt par uzzīmējot punktus. 660 00:29:17,950 --> 00:29:19,830 >> Padomājiet par galējā scenāriju. 661 00:29:19,830 --> 00:29:23,070 Pieņemsim, ka Verizon rīt divkāršo lappušu skaits šajā tālruņu grāmatā, 662 00:29:23,070 --> 00:29:24,900 no 1000 līdz 2000. 663 00:29:24,900 --> 00:29:28,440 Pirmajā algoritmu, es varētu tērēt papildus 1000 664 00:29:28,440 --> 00:29:32,080 soļi meklē Mike, tikai tāpēc, ka Verizon dubultojies lielumu grāmatas. 665 00:29:32,080 --> 00:29:34,740 Otrais algorithm-- tas varētu ņemt man papildus 500 soļus. 666 00:29:34,740 --> 00:29:38,370 1000 vairāk lapu, es iet divi pie LAIKU_ vairāk 500 pasākumus, lai atrastu Mike. 667 00:29:38,370 --> 00:29:41,020 >> Bet trešais algoritms ir sava veida burvju. 668 00:29:41,020 --> 00:29:44,270 Verizon dubultspēlē numuru lappušu no 1000 līdz 2000, 669 00:29:44,270 --> 00:29:47,730 bet cik daudz soļu dara tas ņem mani meklēt Mike? 670 00:29:47,730 --> 00:29:51,220 Tas ir tikai viens, jo es varu tikai asaru tālruņa grāmatu vēl vienu reizi 671 00:29:51,220 --> 00:29:55,280 no 2000 lappuses problēmu līdz 1000 lapas problēma, un voila. 672 00:29:55,280 --> 00:29:57,030 Esmu veikusi milzīgu kodums no tā. 673 00:29:57,030 --> 00:29:59,405 >> Un, ja jums iet tiešām ļoti, pieņemsim, ka tālruņu kataloga 674 00:29:59,405 --> 00:30:03,600 Uzņēmums bija kaut kas traks, piemēram, 4000000000 lapa tālruņu grāmata. 675 00:30:03,600 --> 00:30:07,020 Nu cik soļus tā varētu veikt atrast Mike Smith ar 4 miljardus 676 00:30:07,020 --> 00:30:09,990 lapa tālruņa grāmatu? 677 00:30:09,990 --> 00:30:16,450 Tas ir liels skaitlis, bet tikai 4 miljardus 2000000000-1000000000 līdz 500 miljoniem, 678 00:30:16,450 --> 00:30:18,720 250 million-- vēl izklausās lieliem skaitļiem, 679 00:30:18,720 --> 00:30:20,980 bet es esmu ļoti ātri kļūst mazākām vērtībām. 680 00:30:20,980 --> 00:30:24,790 >> Un patiesībā, ja man matemātika labi, es varu tikai sadalīt 4000000000 681 00:30:24,790 --> 00:30:28,750 ar aptuveni 32 reizes pirms Man leju, lai tikai viens. 682 00:30:28,750 --> 00:30:31,640 Tātad, ja tas tālruņu grāmata bija 4 miljardi lappuses garš, nav liels darījumu. 683 00:30:31,640 --> 00:30:35,270 Dažu sekunžu laikā, varbūt 32 sekundes, es varētu sadalīt to pusi 684 00:30:35,270 --> 00:30:39,560 un galu galā atrast Mike vai secināt, ka viņš nav tur. 685 00:30:39,560 --> 00:30:42,219 Un tas ir būtība, algorithm-- labu algoritmu. 686 00:30:42,219 --> 00:30:44,260 Un tas ir viens no mērķi klasē, kā šis, 687 00:30:44,260 --> 00:30:47,350 mēģina izdomāt, kā es varu atrisināt problēmu ne tikai pareizi, 688 00:30:47,350 --> 00:30:52,360 piemēram, es vienmēr zināju, kā to izdarīt vienu lapa pie LAIKU_ bet pareizi un labi. 689 00:30:52,360 --> 00:30:55,034 Kā es varu dizains labs risinājumus problēmām? 690 00:30:55,034 --> 00:30:57,200 Tātad pieņemsim, veltiet laiku šeit un sniedz jums sajūtu tagad 691 00:30:57,200 --> 00:31:00,260 no CS50 kurss itself-- iepazīstināt Dažus protams ir darbinieki. 692 00:31:00,260 --> 00:31:02,010 Tieši pirms 2:00, mēs veikt īsu pārtraukumu 693 00:31:02,010 --> 00:31:03,520 tā ka tiem no jums, kuri ir iepirkšanās var 694 00:31:03,520 --> 00:31:05,130 pīle, un paiet apskatīt citā klasē 695 00:31:05,130 --> 00:31:06,580 un skatīties pārējo šo tiešsaistē. 696 00:31:06,580 --> 00:31:09,250 Bet tagad, ļaujiet man iepazīstināt CS50, pati klase, 697 00:31:09,250 --> 00:31:11,330 un jo īpaši to, kas ir jauns. 698 00:31:11,330 --> 00:31:13,960 >> Tātad gada pavasarī, mēs pavadīja diezgan daudz LAIKU_ 699 00:31:13,960 --> 00:31:17,911 Kurss darbinieki un I-- domāšana par to, kas tas ir, mēs gribam CS50 būt, 700 00:31:17,911 --> 00:31:19,910 un dodas atpakaļ uz pirmo principi, tā sakot, 701 00:31:19,910 --> 00:31:22,760 apsvērt, kas tas ir, mēs gribam šis kurss izskatās un ir 702 00:31:22,760 --> 00:31:23,740 tāpat par saviem studentiem. 703 00:31:23,740 --> 00:31:26,480 Un tā jūs redzēsiet problēmu noteikt nulli, kā arī, ielūgumu 704 00:31:26,480 --> 00:31:28,780 lai to apskatīt, kas URL, kas apkopoti 705 00:31:28,780 --> 00:31:33,270 daži motivāciju aiz pēc īpašībām krišanas 2016. gada. 706 00:31:33,270 --> 00:31:35,570 >> Tātad, kā jūs, iespējams, ir gūta no TL: DR izdales materiāliem, 707 00:31:35,570 --> 00:31:39,060 mācību programma šodien, kā arī no kurss katalogs, šogad CS50, 708 00:31:39,060 --> 00:31:42,540 jūs gaidāms tikai apmeklēt today-- tik darbu labi done-- 709 00:31:42,540 --> 00:31:45,960 un pēdējā lekcija novembrī 21.. 710 00:31:45,960 --> 00:31:49,150 Un jūs esat laipni, bet nav paredzams apmeklē šos lekcijas vidū, 711 00:31:49,150 --> 00:31:51,180 jo tas, ko mēs darām šogad, ir šaušana 712 00:31:51,180 --> 00:31:52,661 reālā laika gaitā materiālo. 713 00:31:52,661 --> 00:31:54,660 Tātad viss paliks strāvas un iekļauti 714 00:31:54,660 --> 00:31:57,410 kā vislabāk mēs can-- aktualitātēm un sarunas, kas ļaudīm varētu 715 00:31:57,410 --> 00:32:00,400 būt, kam ir ražošanas nozarē pasaule, bet padarot šo materiālu 716 00:32:00,400 --> 00:32:03,892 pieejams, kā rezultātā, pat earlier-- komplektā ar pilnteksta stenogrammas 717 00:32:03,892 --> 00:32:05,850 un meklēšanas iespējas un saites uz citiem resursiem. 718 00:32:05,850 --> 00:32:07,930 >> Un tiešām, mēs esam bijuši apgalvojot, kādu laiku 719 00:32:07,930 --> 00:32:10,830 un mēs tagad uzskatām, ka tas, ka mēs varam radīt, digitāli, 720 00:32:10,830 --> 00:32:15,170 vairāk immersive, vairāk pārliecinoši izglītības pieredzi, nevis 721 00:32:15,170 --> 00:32:19,110 lai apkopotu šeit daži 23 reizes personīgi, dzirdes kāds patīk man 722 00:32:19,110 --> 00:32:22,925 vienkārši runāt par datorzinātnes, pretstatā iesaistīties aktīvāk. 723 00:32:22,925 --> 00:32:25,800 Tātad jūs redzēsiet gaitā ir mācību programmas skice semestra šeit, 724 00:32:25,800 --> 00:32:27,840 kopā ar kad lekcijas būs tiks filmēta, uz kuru jūs esat 725 00:32:27,840 --> 00:32:29,710 apsveicami, bet nav paredzams, un tad, kad viņi būs 726 00:32:29,710 --> 00:32:31,640 atbrīvo par kursu mājas lapā. 727 00:32:31,640 --> 00:32:34,300 >> Un ko mēs darīsim šeit Trešdienās sākot nākamnedēļ, 728 00:32:34,300 --> 00:32:37,362 ir daudz vairāk cieši, ar tikai tiem ļaudīm, kuri vēlas piedalīties, 729 00:32:37,362 --> 00:32:39,820 ir tā sauktais pastaiga cauri, kur es un kurss ir galvas 730 00:32:39,820 --> 00:32:41,730 faktiski darīt lietas nedaudz vairāk intīmo 731 00:32:41,730 --> 00:32:44,313 leju šeit orķestra sadaļa, joprojām ir dažas tehnoloģijas 732 00:32:44,313 --> 00:32:46,365 un staigāt pa pašreizējā nedēļas problēma komplekts, 733 00:32:46,365 --> 00:32:50,020 un piedāvāt jums particularly-- ja starp tie mazāk comfortable-- vēl 734 00:32:50,020 --> 00:32:52,790 norādījumi, ka jūs varētu vēlēties vai vajadzība pēc nedēļas izaicinājums. 735 00:32:52,790 --> 00:32:55,820 Un līdzīgi tiem, kas nevar apmeklē tiem personīgi, nav liels darījumu. 736 00:32:55,820 --> 00:32:58,486 Tur būs līdzīgi vadīja viens no kursa vecākais darbiniekiem, 737 00:32:58,486 --> 00:33:02,650 Zamalya, vienādas iespējas iegulto problēmā nosaka paši. 738 00:33:02,650 --> 00:33:04,960 >> Problēma noteikti šogad tiks atbrīvota piektdienās 739 00:33:04,960 --> 00:33:08,080 un vairs darīt septiņas dienas vēlāk, bet 10 dienas later-- apzināti 740 00:33:08,080 --> 00:33:10,910 pārklājas ar katru problēmu iestatīt, lai labāk pielāgotos, 741 00:33:10,910 --> 00:33:13,050 mēs ceram, bēgums un plūsmas studentu grafikiem, 742 00:33:13,050 --> 00:33:16,550 it īpaši, ja midterms vai vieglatlētikā vai akadēmiķi vai extracurriculars 743 00:33:16,550 --> 00:33:18,465 mēdz nākt un iet īpaši mid-semestrī. 744 00:33:18,465 --> 00:33:21,340 Tas būtu jums nedaudz vairāk rīcības brīvība attiecībā uz to, vai jūs front 745 00:33:21,340 --> 00:33:25,690 slodze jūsu nedēļu ar CS50 vai atpakaļ slodzes tas nākamajā nedēļas nogalē vietā. 746 00:33:25,690 --> 00:33:28,817 Tā izskatās uz kursa ir mācību programmas šeit par to grafiku. 747 00:33:28,817 --> 00:33:30,900 Un jūs pamanīsiet arī starp izmaiņas šogad, 748 00:33:30,900 --> 00:33:34,082 tiem, vairāk pazīstams ar programmēšana pagātnē, 749 00:33:34,082 --> 00:33:36,290 mēs sāktu semestri kā mēs šodien ar nulles, 750 00:33:36,290 --> 00:33:39,730 koncentrējas īpaši uz valodu sauc par C, un pēc tam pāriet ne 751 00:33:39,730 --> 00:33:43,430 PHP, bet valodā sauc Python beigās semestra 752 00:33:43,430 --> 00:33:46,565 kontekstā web programmēšana, kopā ar SQL un JavaScript, 753 00:33:46,565 --> 00:33:48,930 HTML, CSS, un vēl daudz ko citu. 754 00:33:48,930 --> 00:33:51,790 >> Un atbildot uz FAQ, tas patiešām ir 755 00:33:51,790 --> 00:33:55,520 ka CS nav tik drausmīgs, kā es reiz domāju, tas bija, bet tas ir tik daudz darba 756 00:33:55,520 --> 00:33:57,280 kā es biju dzirdējis, tas varētu būt. 757 00:33:57,280 --> 00:34:03,210 Bet tas ir teikt, ka šeit ir daži statistika kritums 2015. gada studentu organizācijas, 758 00:34:03,210 --> 00:34:06,460 kuru horizontālās zilas līnijas pārstāv vidējo stundu skaitu 759 00:34:06,460 --> 00:34:06,960 ziņots. 760 00:34:06,960 --> 00:34:10,570 Un jūs redzēsiet vidēji sešas līdz 10 līdz 12-- varbūt 16 761 00:34:10,570 --> 00:34:14,580 vai tā un tā tālāk, bet ar augsta dispersija jābūt skaidram. 762 00:34:14,580 --> 00:34:18,570 Un tā saprotu, ka ir ne tikai skolēniem ērtāk un mazāk 763 00:34:18,570 --> 00:34:22,150 ērts gaitā, bet atbilstošs atbalsts 764 00:34:22,150 --> 00:34:25,699 struktūru, lai saņemtu šos studentus caur semestrī veiksmīgi. 765 00:34:25,699 --> 00:34:29,409 >> Patiešām, atbildot uz FAQ, vajadzētu Jūs lietojat CS50 kā pirmo gadu? 766 00:34:29,409 --> 00:34:30,139 Absolūti. 767 00:34:30,139 --> 00:34:32,690 Un patiesībā, es nožēloju ka tā nav atradusi savu ceļu 768 00:34:32,690 --> 00:34:35,170 vai atrada jaunu lauku ka pirmo gadu, kā arī. 769 00:34:35,170 --> 00:34:39,149 Un jums vajadzētu ņemt CS50 ar citi kursi, protams, kā well-- 770 00:34:39,149 --> 00:34:41,940 un vispārējās konsultācijas, mēs varētu dot studentiem, kas CS50 ir iespējams 771 00:34:41,940 --> 00:34:44,929 nav tāda veida vai šķiras intro klasi ka jums vajadzētu ņemt ar trim 772 00:34:44,929 --> 00:34:47,199 otru vai četras citas p-noteikti klasēs. 773 00:34:47,199 --> 00:34:50,583 Bet, ja jūs lietojat divu citu p-komplekts klases, kaut kas cits, un CS50, 774 00:34:50,583 --> 00:34:51,499 absolūti vadāmību. 775 00:34:51,499 --> 00:34:54,900 Man bija daudz studentu agrāk izdarījušas diezgan veiksmīgi. 776 00:34:54,900 --> 00:34:57,490 >> Un, lai saņemtu jums uz ka finišam veiksmīgi, 777 00:34:57,490 --> 00:35:00,260 tas protams ir sections-- dažādas dziesmas studentiem 778 00:35:00,260 --> 00:35:03,100 mazāk apmierināti, ērtāk, un kaut kur starp, 779 00:35:03,100 --> 00:35:04,850 kuru gaitā ir Pirmā problēma, kas, 780 00:35:04,850 --> 00:35:06,360 Jums tiks lūgts aprakstīt sevi. 781 00:35:06,360 --> 00:35:09,151 Un, ja jūs esat viens no tiem mazāk ērti, tas ir sava veida lieta 782 00:35:09,151 --> 00:35:10,420 ka jūs vienkārši drīzāk zināt. 783 00:35:10,420 --> 00:35:13,010 Un tiešām, kas ir bijis pieaugošo demogrāfisko in CS50 784 00:35:13,010 --> 00:35:14,090 diezgan dažus gadus. 785 00:35:14,090 --> 00:35:17,680 >> Kopš pagājušā rudenī par piemēram, 58% no klases 786 00:35:17,680 --> 00:35:20,560 raksturot sevi kā starp tiem mazāk apmierināti, 787 00:35:20,560 --> 00:35:23,210 ar 9% starp tiem, vairāk ērts, un pēc tam 788 00:35:23,210 --> 00:35:25,900 citiem studentiem tur red aprakstot sevi 789 00:35:25,900 --> 00:35:27,890 kā kaut kur pa vidu. 790 00:35:27,890 --> 00:35:31,980 Un jūs redzēsiet šeit tēmas kopumā un grafiks sadaļām, kas visi 791 00:35:31,980 --> 00:35:34,820 tiek piedāvāti personīgi, jo reālā laika, ar kursa s 792 00:35:34,820 --> 00:35:38,320 pārsteidzošs darbinieki mācību Stipendiātu un protams palīgi, daži no kuriem 793 00:35:38,320 --> 00:35:39,660 tu sastapsi tikai brīdi. 794 00:35:39,660 --> 00:35:42,993 >> paši, kā jūs redzēsiet, būs sadaļas būt Pirmdienās un otrdienās un trešdienās, 795 00:35:42,993 --> 00:35:45,910 lai ļautu jums nirt in pēc iesaistoties, ja jums tā 796 00:35:45,910 --> 00:35:48,110 izvēlēties, veicot s lekciju agrāk, ka nedēļā. 797 00:35:48,110 --> 00:35:51,420 Un tad darba laiks, kas protams, ar katru gadu, 798 00:35:51,420 --> 00:35:54,110 ir ne mazāk izaicinājums par kursu. 799 00:35:54,110 --> 00:35:57,040 Un šogad mēs plānojam ne tikai turēt biroja hours-- vienu 800 00:35:57,040 --> 00:36:00,300 par vienu iespēju palīdzībai studentiem trešdienās ceturtdienās 801 00:36:00,300 --> 00:36:03,790 un svētdienās, pēdējā no tām ir pēcpusdienā konstrukcijā 802 00:36:03,790 --> 00:36:06,910 lai mazinātu dažas no stresa, kas vienmēr rodas ar vēlam vakaram 803 00:36:06,910 --> 00:36:10,180 p-settting ar termiņu looming-- bet darba laiks tiks piedāvāti arī 804 00:36:10,180 --> 00:36:14,920 pirmdienās un otrdienās un Trešdienās un piektdienās un sestdienās, 805 00:36:14,920 --> 00:36:17,080 pateicoties mūsu draugiem HSA. 806 00:36:17,080 --> 00:36:20,330 >> CS50 tagad ir sava telpa studentiem un CS50 darbiniekiem, 807 00:36:20,330 --> 00:36:23,070 atop 67 Mount Auburn Street, turpat Harvard Square. 808 00:36:23,070 --> 00:36:26,340 Vīzija, par ko ir tas, ka CS50 s TFS un SI visu nedēļu, 809 00:36:26,340 --> 00:36:29,052 diezgan daudz lielākajā dienas, būs tur, lai atbalstu. 810 00:36:29,052 --> 00:36:30,760 Tātad, ja jūs esat ieguvuši dažas Jautājums par p-komplektu 811 00:36:30,760 --> 00:36:33,093 vai jūs sajūta mazliet bloķēts vai nedaudz mulsina, 812 00:36:33,093 --> 00:36:35,640 un heck, tev stundu vai pusstundu starp klasēm, 813 00:36:35,640 --> 00:36:38,920 jo īpaši square-- jūs varat pop un ir šo jautājumu atbildēja 814 00:36:38,920 --> 00:36:41,720 no ir, ka neskaidrības clarified-- ļoti garā, 815 00:36:41,720 --> 00:36:45,490 jūs esat iepazinušies, no matemātikas Departamenta paša math jautājumiem centrs, 816 00:36:45,490 --> 00:36:49,300 bet diezgan daudz visu diennakti katru [? Gcal?], Ka mēs pēc tiešsaistē. 817 00:36:49,300 --> 00:36:52,400 >> Apmācību ir pieejama tiem arī studentiem, brīvi no kursa s 818 00:36:52,400 --> 00:36:54,750 savu personālu, ja vēlaties vairāk intīmo viens pret vienu, 819 00:36:54,750 --> 00:36:58,940 vai divi vai trīs klasesbiedru tikai, darba ar vienu no kursa ir darbinieki. 820 00:36:58,940 --> 00:37:02,320 Un tiešām, tie šeit ir tikai daži no kursa s darbiniekiem, 821 00:37:02,320 --> 00:37:04,120 daži no kuriem jūs tiekas tikai brīdi. 822 00:37:04,120 --> 00:37:07,440 Patiesībā, CS50 pašas galva mācīšana puisis, 823 00:37:07,440 --> 00:37:09,790 un galvas kursu asistents, un skolotājs, 824 00:37:09,790 --> 00:37:12,998 varētu nākt uz augšu, ļaujiet viņiem sasveicināties. 825 00:37:12,998 --> 00:37:22,498 >> [Aplausi] 826 00:37:22,498 --> 00:37:23,456 SPEAKER 1: [nedzirdama]. 827 00:37:23,456 --> 00:37:51,842 828 00:37:51,842 --> 00:37:57,856 >> [Aplausi] 829 00:37:57,856 --> 00:37:58,814 SPEAKER 2: [nedzirdama]. 830 00:37:58,814 --> 00:38:17,240 831 00:38:17,240 --> 00:38:27,238 >> [Aplausi] 832 00:38:27,238 --> 00:38:28,196 SPEAKER 3: [nedzirdama]. 833 00:38:28,196 --> 00:38:58,951 834 00:38:58,951 --> 00:39:03,120 >> [Aplausi] 835 00:39:03,120 --> 00:39:06,740 >> DAVID Malan: Un ļaujiet mums dot uz CS50 valdē divi 836 00:39:06,740 --> 00:39:09,730 vecākais personāls, Rob un Zamayla kā labi. 837 00:39:09,730 --> 00:39:15,120 >> [Aplausi] 838 00:39:15,120 --> 00:39:17,226 >> Patiesi, gan Rob un Zamayla ir ar mums 839 00:39:17,226 --> 00:39:19,940 tik ilgi, ka man bija iespēja iedziļināties CS50 arhīvos 840 00:39:19,940 --> 00:39:22,470 un atrast šo ļoti SD kadrus no tiem, kas piedalās 841 00:39:22,470 --> 00:39:25,402 par sevi skatuves pirms dažiem gadiem. 842 00:39:25,402 --> 00:39:26,110 ROB: [nedzirdama]. 843 00:39:26,110 --> 00:39:53,660 844 00:39:53,660 --> 00:39:59,247 >> [Aplausi] 845 00:39:59,247 --> 00:40:00,080 ZAMAYLA: [nedzirdama] 846 00:40:00,080 --> 00:40:50,888 847 00:40:50,888 --> 00:40:52,467 >> [Aplausi] 848 00:40:52,467 --> 00:40:53,425 DAVID Malan: Paldies. 849 00:40:53,425 --> 00:40:56,160 850 00:40:56,160 --> 00:40:58,030 Tātad papildus šiem komandas locekļi šeit, 851 00:40:58,030 --> 00:41:01,662 CS50 ir komanda gandrīz 100 darbinieki, no kuriem visi 852 00:41:01,662 --> 00:41:04,370 būs pieejami sadaļām un biroja stundas un tā daudz vairāk. 853 00:41:04,370 --> 00:41:06,920 Un kā Rob saka arī, tas ir nozīmīgākais kapitālais remonts 854 00:41:06,920 --> 00:41:09,534 no CS50 Jo 10 gadu laikā, kas Esmu bijis [nedzirdama]. 855 00:41:09,534 --> 00:41:12,200 [Dzirdams] vērsta īpaši nodrošinot atbalsta struktūras, 856 00:41:12,200 --> 00:41:14,050 apgriešana prom daudz lielākā ka ir bijis 857 00:41:14,050 --> 00:41:16,870 uzkrāti 10 gadiem iteratīvu notikumi 858 00:41:16,870 --> 00:41:18,120 par kursu problēma kopas. 859 00:41:18,120 --> 00:41:21,470 >> Tātad šogad, ne tikai klasē, bet arī formā gaitā s problēmu 860 00:41:21,470 --> 00:41:24,800 komplekti, ja jums atrast lietas būt modernāks, trimmeris, daudz 861 00:41:24,800 --> 00:41:26,700 vieglāk vadāmu nekā gadu iepriekš, kā mēs 862 00:41:26,700 --> 00:41:31,330 shed dažas no bagāžas, kas ir pēc būtības mainīgo gadā izstrādāja 863 00:41:31,330 --> 00:41:32,970 pēc gada un atkārtojot. 864 00:41:32,970 --> 00:41:35,110 Tātad jaunu un uzlabotu sākas šodien. 865 00:41:35,110 --> 00:41:37,860 >> Tu sastapsi dažas vairāk no Protams darbinieki izklāstīti [nedzirdama] 866 00:41:37,860 --> 00:41:40,186 at 2:30, kur mēs kalpot, kā tradīcija, kūka. 867 00:41:40,186 --> 00:41:42,060 Tur ir mazliet vairāk kūka nekā, bet jūs 868 00:41:42,060 --> 00:41:44,690 meet Erin un Tobias un citi vēl. 869 00:41:44,690 --> 00:41:46,470 Un ļaujiet man sniegt jums ceļojumu, pirms mēs dzirdam 870 00:41:46,470 --> 00:41:49,600 no dažiem citiem darbiniekiem klasē, par to, kas gaida arī. 871 00:41:49,600 --> 00:41:52,730 Patiesībā, mēs vienmēr jāsāk CS50 's semestris tas nāk sestdiena, 872 00:41:52,730 --> 00:41:54,330 ar to, ko sauc CS50 Puzzle diena. 873 00:41:54,330 --> 00:41:56,710 >> Tam nav nekāda sakara ar datorzinātnes per se, 874 00:41:56,710 --> 00:41:58,669 bet ar apmēram problēmu kopumā risināšanā. 875 00:41:58,669 --> 00:42:01,210 Un, ja jums tā izvēlēties piedalīties, par kādu no ielūgumiem, 876 00:42:01,210 --> 00:42:03,460 Jums varētu būt redzējis durvīm nokritusi vai uz skatuves šeit, 877 00:42:03,460 --> 00:42:05,830 tā ir iespēja komandās divi vai trīs vai četri, 878 00:42:05,830 --> 00:42:10,680 piedalīties, puzles un picas un balvas un more-- šo sestdien, 879 00:42:10,680 --> 00:42:12,560 uzturēšanās noregulē vairāk. 880 00:42:12,560 --> 00:42:15,082 >> Jūs atradīsiet arī, ka katrs Piektdien, pie Uguns un ledus, 881 00:42:15,082 --> 00:42:16,790 tas CS50 Bring viss ķekars studentu 882 00:42:16,790 --> 00:42:19,100 uz pusdienām, lai padarītu lielu klase justies vairāk intīmo, 883 00:42:19,100 --> 00:42:21,820 un parasti apvieno absolventi un draugi no nozarē 884 00:42:21,820 --> 00:42:24,710 runāt par to, ko viņi esam bijis līdz kopš absolvēšanas. 885 00:42:24,710 --> 00:42:27,820 Tāpat šogad, mēs iezvanīt pirmais CS50 50 886 00:42:27,820 --> 00:42:31,390 kodēšanas contest-- vidēja semestri iespēja ļaut ikvienam 887 00:42:31,390 --> 00:42:35,430 uz opt in pamata, lai būtu izaicinājums prātu pret klasesbiedriem, 888 00:42:35,430 --> 00:42:39,250 atkal komandās pa divi vai trīs vai četri, izmantojot tikai šo programmu 889 00:42:39,250 --> 00:42:41,920 savvy, ka jums tad ir zem jostas jau pēc sešiem vai septiņiem 890 00:42:41,920 --> 00:42:44,710 nedēļas šķiras, un piedaloties šāda veida konkursā 891 00:42:44,710 --> 00:42:50,261 online-- ja vēlaties trīt savu iemaņas vēl šajā izaicinājumu. 892 00:42:50,261 --> 00:42:52,760 Beigās semestra ir tā saukto CS50 Hackathon-- 893 00:42:52,760 --> 00:42:56,970 iespēja, ka sākas 7:00 PM beidzas 7:00, un pa ceļam 894 00:42:56,970 --> 00:43:01,900 ir 12 vakara stundas, kas nirt Kursā galīgo project-- 895 00:43:01,900 --> 00:43:04,820 iespēja izstrādāt un īstenot visvairāk neko interešu 896 00:43:04,820 --> 00:43:06,980 lai jūs ar savu mācību Fellow norādījumiem. 897 00:43:06,980 --> 00:43:09,600 Ap 9:00 darīt mēs parasti kalpot picas, 1:00, 898 00:43:09,600 --> 00:43:13,210 Philippe s, un daži no mums kas vēl nomodā 5:00, 899 00:43:13,210 --> 00:43:16,310 Ir shuttle bussed leju Ceļš uz IHOP brokastīm. 900 00:43:16,310 --> 00:43:19,340 >> Un tad dažas dienas vēlāk ir tā sauktais CS50 fare-- 901 00:43:19,340 --> 00:43:23,450 gala semestra izstādes svinības, cik tālu tik daudz 902 00:43:23,450 --> 00:43:28,200 no CS50 studenti nāk no nedēļa nulle visu ceļu uz nedēļu, 903 00:43:28,200 --> 00:43:32,610 un prātā paturot, ka 73% no tiem, klasesbiedriem un jūsu šogad ir 904 00:43:32,610 --> 00:43:34,840 nekad nav CS klasi pirms. 905 00:43:34,840 --> 00:43:39,226 Faktiski, lai no jauna uzsvērs tik daudz, šeit ir vēl dažas sejas no CS50 darbiniekiem. 906 00:43:39,226 --> 00:43:40,184 SPEAKER 4: [nedzirdama]. 907 00:43:40,184 --> 00:43:45,909 908 00:43:45,909 --> 00:43:46,867 SPEAKER 5: [nedzirdama]. 909 00:43:46,867 --> 00:43:51,332 910 00:43:51,332 --> 00:43:52,290 SPEAKER 6: [nedzirdama]. 911 00:43:52,290 --> 00:43:55,276 912 00:43:55,276 --> 00:43:56,234 SPEAKER 7: [nedzirdama]. 913 00:43:56,234 --> 00:44:01,727 914 00:44:01,727 --> 00:44:02,643 SPEAKER 8: [nedzirdama] 915 00:44:02,643 --> 00:44:10,066 916 00:44:10,066 --> 00:44:11,024 SPEAKER 9: [nedzirdama]. 917 00:44:11,024 --> 00:44:14,475 918 00:44:14,475 --> 00:44:15,461 >> SPEAKER 4: [nedzirdama]. 919 00:44:15,461 --> 00:44:16,461 >> SPEAKER 10: [nedzirdama]. 920 00:44:16,461 --> 00:44:21,456 921 00:44:21,456 --> 00:44:23,438 SPEAKER 11: [nedzirdama]. 922 00:44:23,438 --> 00:44:24,438 SPEAKER 12: [nedzirdama]. 923 00:44:24,438 --> 00:44:30,438 924 00:44:30,438 --> 00:44:31,396 SPEAKER 13: [dzirdams] 925 00:44:31,396 --> 00:44:37,360 926 00:44:37,360 --> 00:44:40,342 >> SPEAKER 14: [nedzirdama]. 927 00:44:40,342 --> 00:44:42,863 >> SPEAKER 13: [nedzirdama]. 928 00:44:42,863 --> 00:44:43,821 SPEAKER 15: [dzirdams] 929 00:44:43,821 --> 00:44:48,785 930 00:44:48,785 --> 00:44:49,785 SPEAKER 16: [nedzirdama]. 931 00:44:49,785 --> 00:44:53,761 932 00:44:53,761 --> 00:44:55,252 >> SPEAKER 11: [dzirdams] 933 00:44:55,252 --> 00:44:57,773 934 00:44:57,773 --> 00:44:58,731 SPEAKER 5: [nedzirdama]. 935 00:44:58,731 --> 00:45:11,250 936 00:45:11,250 --> 00:45:15,130 DAVID Malan: Dažas komandas ir paši iepirkšanās nodarbības. 937 00:45:15,130 --> 00:45:17,760 Bet, ja šiem locekļiem no CS50 darbinieki ir šeit, 938 00:45:17,760 --> 00:45:19,230 varētu nākt uz augšu, lai tikai uz brīdi. 939 00:45:19,230 --> 00:45:23,450 CS50 s TFS un CAS un [? personāls?] biedri here-- šie ir tikai daži 940 00:45:23,450 --> 00:45:28,880 no faces-- viens no kuriem jūs tikko redzēja, un daži other-- un daži citi 941 00:45:28,880 --> 00:45:30,020 joprojām. 942 00:45:30,020 --> 00:45:33,242 Kāpēc mēs ejam uz priekšu un ļauj jūs guys piecu minūšu pārtraukums. 943 00:45:33,242 --> 00:45:35,450 Ja jums ir nepieciešams, lai pīle, lai veikals klases, tas ir jauki. 944 00:45:35,450 --> 00:45:38,900 Un piecās minūtēs, mēs atsākt, ņemot apskatīt Scratch-- pirmais 945 00:45:38,900 --> 00:45:42,420 Mūsu programmēšanas valodu, atbilst Kurss darbinieki šeit daži vairāk, 946 00:45:42,420 --> 00:45:45,020 un koncentrēties galu galā par problēmu noteikt nulli. 947 00:45:45,020 --> 00:45:46,710 Tātad mēs būsim atpakaļ piecās minūtēs. 1 00:45:46,864 --> 00:45:47,370 >> Viss kārtībā. 2 00:45:47,370 --> 00:45:48,590 Tātad mēs esam atpakaļ. 3 00:45:48,590 --> 00:45:51,330 Un mūsu atlikušo laiks šodien, mērķis 4 00:45:51,330 --> 00:45:54,320 ir vienlīdzīgus konkurences apstākļus izteiksmē kādā terminoloģiju, 5 00:45:54,320 --> 00:45:55,297 ziņā dažas idejas. 6 00:45:55,297 --> 00:45:57,380 Jo patiesi, kā vienu daži no kartes agrāk, 7 00:45:57,380 --> 00:46:00,130 tur būs virkne līmeņi pieredze šajā klasē, 8 00:46:00,130 --> 00:46:03,210 daži no kuru studentiem ir veikusi kādu programmu agrāk, 9 00:46:03,210 --> 00:46:04,200 no kuriem daži nav. 10 00:46:04,200 --> 00:46:07,430 Un tā ar šo pirmo problēmu noteikt un ar šo pirmo valodu 11 00:46:07,430 --> 00:46:10,830 mums ir iespēja sākt pieņemt par pašsaprotamu pēc šodienu 12 00:46:10,830 --> 00:46:12,960 dažas kopējas vārdu krājums un ideja. 13 00:46:12,960 --> 00:46:15,590 >> Un mēs to darām, kā Kurss pirmais languages-- 14 00:46:15,590 --> 00:46:21,070 papildus C un Python un JavaScript un SQL un HTML un CSS, 15 00:46:21,070 --> 00:46:24,450 mēs būsim koncentrējoties sākotnēji un tikai problēma noteikt nulli 16 00:46:24,450 --> 00:46:28,160 par šo grafisko valodu, ko sauc Scratch, ko MIT Media Lab izstrādāta 17 00:46:28,160 --> 00:46:30,880 pa ceļu, lai palīdzētu studentiem un bērniem, jo ​​īpaši 18 00:46:30,880 --> 00:46:35,070 izteikties algorithmically-- tādā veidā daudz tāda, ar ko 19 00:46:35,070 --> 00:46:37,300 mēs varētu aicināt skaitļošanas domāšanu. 20 00:46:37,300 --> 00:46:40,985 >> Un tas ir noderīgs valoda, jo ļoti ātri nākamnedēļ vienā nedēļā, 21 00:46:40,985 --> 00:46:44,360 mēs pāreju uz Tradicionālā un arcane valodā sauc 22 00:46:44,360 --> 00:46:46,370 C, kas ir tīri tekstuālu. 23 00:46:46,370 --> 00:46:48,930 Jūs tikai izmantot tastatūru Lai rakstītu instrukciju 24 00:46:48,930 --> 00:46:50,230 piemēram, šo uz ekrāna. 25 00:46:50,230 --> 00:46:52,840 Bet, pat ja jūs nekad neesmu redzējis programmēšanas valoda pirms, 26 00:46:52,840 --> 00:46:55,170 tikai glancing tas, viss būs tā noslēpumains, 27 00:46:55,170 --> 00:47:00,010 jūs varat droši uzminēt, ka iespējams, izdrukā Hello World. 28 00:47:00,010 --> 00:47:02,050 Bet tur ir daudz sintaktisko virs galvas tur. 29 00:47:02,050 --> 00:47:05,770 Ir dīvaini hash simbols vai hash tag augšu augšas. 30 00:47:05,770 --> 00:47:08,900 Tur leņķis kronšteini, daži iekavas, cirtaini bikšturi, daļēji colon-- 31 00:47:08,900 --> 00:47:11,880 tur ir tikai tik daudz vizuālo sintakse, kas izpaužas tādā veidā. 32 00:47:11,880 --> 00:47:13,940 Sākam kursu ar Scratch tā, lai iegūtu 33 00:47:13,940 --> 00:47:17,600 garām visiem tiem intelektuāli neinteresanti traucējošos, 34 00:47:17,600 --> 00:47:20,290 un tā vietā koncentrēties uz idejām. 35 00:47:20,290 --> 00:47:22,540 >> Patiesībā, tas varētu būt agrāk. 36 00:47:22,540 --> 00:47:24,830 Tas, par to, nedēļa ir pēc. 37 00:47:24,830 --> 00:47:26,760 Tas, šī grafiskā valoda Scratch, 38 00:47:26,760 --> 00:47:29,870 ir, kā jūs varētu īstenot, ka pats program-- programmu, kas tiek darbinātas, 39 00:47:29,870 --> 00:47:31,340 vienkārši saka sveiki pasaule. 40 00:47:31,340 --> 00:47:34,740 Un, kas ir jauka par Scratch ir ka tā ir šī grafiskā programmēšanas 41 00:47:34,740 --> 00:47:38,780 vide, kas izmanto puzzle gabalus vai bloki, kas savienojas tikai kopā 42 00:47:38,780 --> 00:47:40,440 ja tas padara loģisku jēga to darīt. 43 00:47:40,440 --> 00:47:43,810 Un ar nulles jūs varat attīstīt animācijas un interaktīvas spēles 44 00:47:43,810 --> 00:47:47,270 un māksla, un jebkurš vairākas lietas, kas jūs varētu iedomāties savā prātā, 45 00:47:47,270 --> 00:47:51,200 un tos īstenot, vienkārši velkot un nometot puzzle gabalus. 46 00:47:51,200 --> 00:47:54,265 >> Un tiešām, mums būs iespēja izteikt dažas tādas pašas idejas 47 00:47:54,265 --> 00:47:56,890 ka es tikko minēts brīdi pirms kontekstā Mike Smith 48 00:47:56,890 --> 00:48:00,670 un meklējot tālruni book-- lietas piemēram, funkcijas, tikai rīcība, 49 00:48:00,670 --> 00:48:03,070 lietas, piemēram, cilpas, kas darīt lietas atkal un atkal, 50 00:48:03,070 --> 00:48:05,170 mainīgie lielumi, kas ir kaut mēs ieviest, 51 00:48:05,170 --> 00:48:08,086 bet tas ir pazīstams varbūt no algebra-- tikai sava veida viettura 52 00:48:08,086 --> 00:48:10,840 uzglabāt dažas vērtību Jūs varētu vajag later-- Būla izteiksmes, 53 00:48:10,840 --> 00:48:13,720 kur tie jā nē vai taisnība viltus jautājumi no agrāk. 54 00:48:13,720 --> 00:48:17,117 Apstākļi ir tie dakšas šajā road-- šīm filiālēm tā runāt. 55 00:48:17,117 --> 00:48:19,700 Un tad tur ir dažas mīļotājs iezīmes Redzēsim vēl šodien, 56 00:48:19,700 --> 00:48:22,850 sauc bloki un diegi un notikumiem, ka mēs pēc tam pārskatīt vairāk 57 00:48:22,850 --> 00:48:24,460 laiks dažādās valodās. 58 00:48:24,460 --> 00:48:26,790 Bet Scratch ļauj mums izpētīt visus šos. 59 00:48:26,790 --> 00:48:30,779 Tātad šeit Scratch, šis purpura bloks ir kāda funkcija ir tipiski 60 00:48:30,779 --> 00:48:31,570 gatavojas izskatās. 61 00:48:31,570 --> 00:48:35,620 Tas violeta puzzle gabals, ka ir dažas vārds, piemēram, teiksim, kas ir darbība, 62 00:48:35,620 --> 00:48:38,490 un tad tas varētu būt Strīda vai parameter-- kaut kādā veidā 63 00:48:38,490 --> 00:48:41,140 no veida pielāgošana ko tas bloks dara 64 00:48:41,140 --> 00:48:45,182 tā, ka tas nav iepriekš noteicis MIT ko tas violeta bloks saka. 65 00:48:45,182 --> 00:48:47,390 Patiesībā, jūs redzēsiet A brīdis, ka es esmu spējīgs rakstīt 66 00:48:47,390 --> 00:48:49,931 vārdi, piemēram, Hello pasaule, vai sveiki David, vai sveiki Zamayla, 67 00:48:49,931 --> 00:48:53,750 vai kāds es gribu, jo arguments šai puzzle piece-- baltā kastē 68 00:48:53,750 --> 00:48:54,251 tur. 69 00:48:54,251 --> 00:48:57,166 Tikmēr, ja es gribu cilpas, mēs redzēt, ka tur ir puzzle gabalus, kas 70 00:48:57,166 --> 00:48:58,640 izskatīties nedaudz apelsīnu, kā šis. 71 00:48:58,640 --> 00:49:01,690 Un viņu forma veida liecina, ka kaut kas notiek atkal un atkal 72 00:49:01,690 --> 00:49:02,680 ciklā. 73 00:49:02,680 --> 00:49:06,800 >> Tātad, ja es wrap sasveicināties pasaules bloks ar mūžīgi bloķēt in nulles, 74 00:49:06,800 --> 00:49:10,307 tas ir tikai gatavojas glabāt sakot sveiki pasaule uz visiem laikiem, diezgan burtiski. 75 00:49:10,307 --> 00:49:12,390 Tajā pašā laikā, tur ir cits no cilpu nulles tips 76 00:49:12,390 --> 00:49:14,348 ka mēs see-- atkārtošanos block-- kur, ja jūs 77 00:49:14,348 --> 00:49:17,940 iepriekš zināt, cik reizes vēlaties cilpa izpildīt 78 00:49:17,940 --> 00:49:21,850 ierobežots skaits reižu fact-- tevi var norādīt, ka, ierakstot vairākās 79 00:49:21,850 --> 00:49:25,380 vai pat tapām mainīgo, piemēram, X vai Y, kā mēs redzēsim. 80 00:49:25,380 --> 00:49:27,690 >> Patiesībā, mainīgie, piemēram, es šajā gadījumā, kurš 81 00:49:27,690 --> 00:49:30,109 ir kopīgs nosaukums skaitlis mainīgais, 82 00:49:30,109 --> 00:49:31,900 tikai veikalos ir number-- vesels skaitlis varētu būt, 83 00:49:31,900 --> 00:49:35,470 izmantot šo apelsīnu bloku šeit iestatīt mainīgo, piemēram, es līdz nullei. 84 00:49:35,470 --> 00:49:38,900 Lūk, piemērs zaļš A Būla izteiksme nulles. 85 00:49:38,900 --> 00:49:43,700 Pat ja tas izskatās matemātiku formula, matemātikas nevienlīdzība kā šis 86 00:49:43,700 --> 00:49:45,320 tiešām ir Būla izteiksmes. 87 00:49:45,320 --> 00:49:46,570 Tas ir vai nu patiess vai nepatiess. 88 00:49:46,570 --> 00:49:48,300 I ir mazāks par 50 litriem. 89 00:49:48,300 --> 00:49:51,815 Tas ir vai nu jā vai nē atbildi vai patiesa vai nepatiesa atbilde. 90 00:49:51,815 --> 00:49:53,940 Un mēs parasti saucam šie Būla izteiksmes. 91 00:49:53,940 --> 00:49:55,148 Un tas nav jābūt 50. 92 00:49:55,148 --> 00:49:57,970 Tas var būt x mazāks nekā y, lielāks nekā y, kas vienāds ar y-- 93 00:49:57,970 --> 00:50:00,020 neierobežotu skaitu citu Varētu jautāt. 94 00:50:00,020 --> 00:50:03,250 >> Tagad, pēc pirmā acu uzmetiena, tas varētu izskatīties pēkšņi diezgan treknrakstā šeit, un tā ir. 95 00:50:03,250 --> 00:50:06,540 Bet jēdziens gudrs, tas ir diezgan pazīstams no iepriekš. 96 00:50:06,540 --> 00:50:09,370 Ja x ir mazāks nekā y, nekā teikt par daudz. 97 00:50:09,370 --> 00:50:12,230 Cits ja x ir lielāks nekā y, tad pateikt tik daudz. 98 00:50:12,230 --> 00:50:14,260 Cits saka x ir vienāds ar y. 99 00:50:14,260 --> 00:50:17,220 Tāpēc mums ir piemērs tur trešās scenario-- 100 00:50:17,220 --> 00:50:20,600 vienīgais trešais possibility-- x ir vai nu ir lielāks nekā, ir mazāks par vai vienāds ar. 101 00:50:20,600 --> 00:50:22,420 Tātad mums ir trīs veidu dakša uz ceļa. 102 00:50:22,420 --> 00:50:26,290 >> Un paziņojums, kas ir cool here-- Scratch, šķiet, ir tikai viens puzzle 103 00:50:26,290 --> 00:50:28,840 gabals, šajā gadījumā, ja cits blokā. 104 00:50:28,840 --> 00:50:32,090 Un tomēr, ka, šķiet, nozīmē, jūs varat ir tikai divvirzienu dakša uz ceļa. 105 00:50:32,090 --> 00:50:34,631 Jūs varat iet pa kreisi vai pa labi, bet Ko par šo trešo scenāriju? 106 00:50:34,631 --> 00:50:35,760 Ko darīt, ja x ir vienāds ar y? 107 00:50:35,760 --> 00:50:36,500 Nekas sevišķš. 108 00:50:36,500 --> 00:50:39,640 Lietojiet vienu puzzle gabals, nodot vēl viens iekšpusē no tā 109 00:50:39,640 --> 00:50:45,759 izveidot semantisko ekvivalentu no tā, ja, cits, ja, else-- un tagad jums 110 00:50:45,759 --> 00:50:47,300 jūsu trīs ceļu dakšu uz ceļa. 111 00:50:47,300 --> 00:50:49,091 Un, kā mēs redzēsim, tad Scratch puzzle gabalus 112 00:50:49,091 --> 00:50:51,820 var tikt izstiepts un augt, tāpēc kā piestūķēt vairāk stuff tiem. 113 00:50:51,820 --> 00:50:54,420 Jums nav, lai ietilptu viss noklusējuma lieluma. 114 00:50:54,420 --> 00:50:56,690 >> Tas ir kaut kas, mēs ņemšu drīz redzēt sauc masīvs. 115 00:50:56,690 --> 00:51:00,880 Tas ir tāpat kā list-- kaut kādā veidā no uzglabātu dažāda veida informāciju, 116 00:51:00,880 --> 00:51:02,886 ar mainīgo, ne tikai skaitlis. 117 00:51:02,886 --> 00:51:05,760 Tie mēs redzēsim pārstāvi kaut ko sauc par multi-Threading. 118 00:51:05,760 --> 00:51:08,280 Faktiski, visas jūsu Mac un PC šajās dienās 119 00:51:08,280 --> 00:51:10,810 atbalsta multi-Threading, kas nozīmē, jūs varat burtiski 120 00:51:10,810 --> 00:51:12,390 darīt vairākas lietas vienlaikus. 121 00:51:12,390 --> 00:51:15,390 Jums var būt Microsoft Word atbalstīts jaunās zināšanas, strādājot pie dažiem eseja. 122 00:51:15,390 --> 00:51:17,160 Jums varētu būt pārlūku fonā atklāšanā 123 00:51:17,160 --> 00:51:18,720 G-pastu vai Facebook vai tamlīdzīgi. 124 00:51:18,720 --> 00:51:22,730 Jūsu dators var darīt vairākas lietas šodien, jo tas ir multi-vītņotiem, 125 00:51:22,730 --> 00:51:26,390 un programmas, viņi ir in īpaši ir arī multi-vītņotiem. 126 00:51:26,390 --> 00:51:28,970 >> Ir lietas, ko sauc pasākumi kā labi pasaulē nulles, 127 00:51:28,970 --> 00:51:32,640 un tad tur ir veids, kā arī, lai padarītu mūsu pašu custom puzzle gabalus, ja lietas 128 00:51:32,640 --> 00:51:34,810 nav faktiski nepastāv iepriekš. 129 00:51:34,810 --> 00:51:38,260 Tātad, pieņemsim motivēt to šādi. 130 00:51:38,260 --> 00:51:40,580 Pirms dažiem gadiem, kad es pirmais atklāja Scratch, 131 00:51:40,580 --> 00:51:43,530 kad es biju tiešām grad students MIT, mēs 132 00:51:43,530 --> 00:51:45,640 paši tika uzdots veikt mājasdarbu. 133 00:51:45,640 --> 00:51:47,614 Un es implemented-- kas, atskatoties, 134 00:51:47,614 --> 00:51:50,780 bija ļoti slikts lēmums, jo tas ir visvairāk nepatīkami dziesmu pasaulē 135 00:51:50,780 --> 00:51:53,321 klausīties uz astoņām stundām strādājot savā homework-- 136 00:51:53,321 --> 00:51:57,180 bet kaut kas man bija aicinājis Oscar laiks, kas varbūt ir pazīstams dziesma. 137 00:51:57,180 --> 00:51:59,820 >> CS50s pieder Jordan Hajaši, viens no mūsu vecākiem darbiniekiem, 138 00:51:59,820 --> 00:52:03,920 ir modernizētas to 2015. un Tagad 2016, jo atpakaļ dienā, 139 00:52:03,920 --> 00:52:06,610 Man bija viss tikai iet uz Oskara trash var. 140 00:52:06,610 --> 00:52:09,320 Tagad mēs atbalstām pārstrādi un kompostēšanu. 141 00:52:09,320 --> 00:52:12,050 >> Bet, lai krāsu attēlu par to, ko mēs varam darīt šeit 142 00:52:12,050 --> 00:52:14,130 un motivēt dažas zemākā līmenī piemēri, 143 00:52:14,130 --> 00:52:16,400 mēs varētu saņemt vienu otru brīvprātīgo, lai tikai nāk uz augšu 144 00:52:16,400 --> 00:52:18,331 un spēlēt mans pirmais mājas darbs kādreiz? 145 00:52:18,331 --> 00:52:18,830 Nāciet uz augšu. 146 00:52:18,830 --> 00:52:19,250 Kā tevi sauc? 147 00:52:19,250 --> 00:52:20,030 >> HENRY: Henry. 148 00:52:20,030 --> 00:52:22,660 >> DAVID Malan: Henry, nākt uz augšu. 149 00:52:22,660 --> 00:52:24,190 Nāciet uz augšu. 150 00:52:24,190 --> 00:52:27,070 Dodies nu tā, un jūs redzēsiet brīdi, 151 00:52:27,070 --> 00:52:29,870 Es iešu uz priekšu un hit zaļš karogs augšējā labajā rokā 152 00:52:29,870 --> 00:52:31,100 stūris, kas nozīmē iet. 153 00:52:31,100 --> 00:52:33,320 Maz stop zīme ikona gatavojas teikt stop, 154 00:52:33,320 --> 00:52:35,490 un tas ir tad, kad jūs sākat un pārtraukt programmu. 155 00:52:35,490 --> 00:52:36,450 Prieks iepazīties. 156 00:52:36,450 --> 00:52:36,950 Viss kārtībā. 157 00:52:36,950 --> 00:52:39,100 Tātad mēs ejam, lai redzētu norādījumus uz ekrāna tikai brīdi. 158 00:52:39,100 --> 00:52:41,450 Un tikai, spēlējot šo spēli par maz seconds-- ticiet man, 159 00:52:41,450 --> 00:52:43,670 mēs nebrauksim, lai vēlas spēlēt visu ceļu uz end-- jūs 160 00:52:43,670 --> 00:52:45,470 iegūt sajūtu par to, ko programma dara. 161 00:52:45,470 --> 00:52:49,170 Un vairāk nekā tikai koncentrēties uz Henry ir labi vai slikti šajā spēlē, koncentrējoties 162 00:52:49,170 --> 00:52:52,600 un kā tas bija īstenota ar mani sākotnēji un pēc tam Jordānijā. 163 00:52:52,600 --> 00:52:54,640 Citiem vārdiem sakot, kur ir mainīgie? 164 00:52:54,640 --> 00:52:55,520 Kur ir cilpas? 165 00:52:55,520 --> 00:52:56,520 Kur ir funkcijas? 166 00:52:56,520 --> 00:53:00,700 Un mēs redzēsim, ja mēs neredzam tiem, zem motora pārsega. 167 00:53:00,700 --> 00:53:03,660 >> Vienkārši noklikšķiniet un velciet miskasti uz attiecīgo bin. 168 00:53:03,660 --> 00:54:02,100 >> [SKAN MŪZIKA] 169 00:54:02,100 --> 00:54:02,600 Viss kārtībā. 170 00:54:02,600 --> 00:54:03,160 Tas ir ļoti labi. 171 00:54:03,160 --> 00:54:04,286 Kāpēc mēs apstāties tur. 172 00:54:04,286 --> 00:54:04,786 Paldies. 173 00:54:04,786 --> 00:54:05,830 Apsveicam Henry. 174 00:54:05,830 --> 00:54:07,002 Paldies. 175 00:54:07,002 --> 00:54:10,690 >> [Aplausi] 176 00:54:10,690 --> 00:54:12,450 >> Iedomājieties atkļūdošana šo programmu. 177 00:54:12,450 --> 00:54:15,880 Ja tur ir problēma divi minūtē song-- bet arī tā 178 00:54:15,880 --> 00:54:17,430 Kas notiek šeit tiešām? 179 00:54:17,430 --> 00:54:20,900 Tik sarežģīta, kā tas varētu sāk likties, lai iegūtu laika gaitā, 180 00:54:20,900 --> 00:54:22,910 patiešām vairāk un vairāk sīkumi sākās krīt, 181 00:54:22,910 --> 00:54:25,370 kas ir interesanti par šāda veida example-- 182 00:54:25,370 --> 00:54:27,270 un mēs redzēsim dažas others-- ir tas, ka, ja jums 183 00:54:27,270 --> 00:54:30,416 skatīties pagātnē sarežģītības vai izsmalcinātība spēles, 184 00:54:30,416 --> 00:54:33,040 tur ir ļoti vienkāršs ēka blokiem, kas play-- kas visi, 185 00:54:33,040 --> 00:54:35,840 ja jūs destilēt tās tiem, bloku, ir ļoti pieejams 186 00:54:35,840 --> 00:54:37,401 un īstenojamiem unto sevi. 187 00:54:37,401 --> 00:54:39,150 Tā, piemēram, tas ir bijis kādu laiku, bet es esmu 188 00:54:39,150 --> 00:54:42,900 diezgan pārliecināts, ka tas, ko es sākotnēji darīju, kad padarot šo spēli pirmo reizi 189 00:54:42,900 --> 00:54:44,787 es biju pilnīgi patīk procrastinated. 190 00:54:44,787 --> 00:54:47,120 Man nebija vērsta vispār uz loģika vai puzzle gabalus, 191 00:54:47,120 --> 00:54:50,810 Es vērsta uz grafikas un secinājumu ielu post un trash var 192 00:54:50,810 --> 00:54:51,540 un visu to. 193 00:54:51,540 --> 00:54:53,456 Bet tie bija vajadzīgs sastāvdaļas sākumā. 194 00:54:53,456 --> 00:54:57,220 Un, kad es beidzis procrastinating un ko veic visaptverošu sistēmu, 195 00:54:57,220 --> 00:55:00,337 Es nolēmu, ļaujiet man tikai veikt vienu gabals trash nokrīt no debesīm. 196 00:55:00,337 --> 00:55:02,170 Un mēs redzēsim Scratch atbalsta lietas sauc 197 00:55:02,170 --> 00:55:06,386 sprites-- rakstzīmju ir dažādas tērpi uz lai viņi 198 00:55:06,386 --> 00:55:07,010 atšķirties. 199 00:55:07,010 --> 00:55:09,660 >> Un tāpēc es nodot trash kostīms par vienu šādu elfa. 200 00:55:09,660 --> 00:55:12,007 Un es vienkārši vajadzēja to krist no debesīm. 201 00:55:12,007 --> 00:55:14,590 Un tā izrādās, Scratch, kā vairums programmēšanas valodu, 202 00:55:14,590 --> 00:55:18,099 atbalsta izlases numuri vai tehniski pseudocode izlases numuri, 203 00:55:18,099 --> 00:55:20,390 tā ka, velkot un krītot noteiktus puzzle gabalus, 204 00:55:20,390 --> 00:55:22,890 Man bija iespēja būt miskasti nāk no kreisās sākumā. 205 00:55:22,890 --> 00:55:25,580 Un tad nākamajā reizē tas samazinājās, no tiesības un pēc tam no vidus. 206 00:55:25,580 --> 00:55:28,060 Un visu spēli tomēr bija tikai ir trash krītot no debesīm. 207 00:55:28,060 --> 00:55:29,770 Jūs nevar norādīt uz to, vai noklikšķiniet uz tā. 208 00:55:29,770 --> 00:55:31,103 Jūs nevar atvērt trash var. 209 00:55:31,103 --> 00:55:32,160 Jūs nevar darīt neko. 210 00:55:32,160 --> 00:55:34,450 Bet tas bija mazulis solis pret manu gala vīziju. 211 00:55:34,450 --> 00:55:36,720 >> Un pēc tam, es tiešām īstenoti daži veida 212 00:55:36,720 --> 00:55:41,230 no izpētes, lai, ja jūs did klikšķi un velciet uz gabalu miskasti 213 00:55:41,230 --> 00:55:44,350 pār trash var, Oscar s vāks varētu atvērt un aizvērt. 214 00:55:44,350 --> 00:55:47,650 Nekas notiktu uz miskasti, bet vismaz vāks varētu atvērt un aizvērt. 215 00:55:47,650 --> 00:55:49,642 Tātad pēc tam pārbauda, ​​divi divi soli. 216 00:55:49,642 --> 00:55:52,100 Un tas ir tas, kas būs Galvenais gan problēmu noteikt nulli 217 00:55:52,100 --> 00:55:55,970 un plānošanā vispārīgāk, ir veikt šo ļoti apzinātu bērnu pasākumus. 218 00:55:55,970 --> 00:55:59,390 Jo tas ne tikai ļauj jums justies godīgi paveikts daudz 219 00:55:59,390 --> 00:56:01,250 quickly-- tas ir vissliktākā lieta pasaulē 220 00:56:01,250 --> 00:56:06,149 lai mēģinātu īstenot visus Oscar laiks, tad stundas vēlāk hit zaļo karogu, 221 00:56:06,149 --> 00:56:08,440 un nekas darbojas, kā paredzēts jo, ja jūs pat 222 00:56:08,440 --> 00:56:11,150 sāk atkļūdot vai novērstu šo programmu? 223 00:56:11,150 --> 00:56:12,470 Tas ir vienkārši milzīgs. 224 00:56:12,470 --> 00:56:16,792 >> Un tā patiešām aptver šo ideju ņemt steps-- bērnu pasākumus atkal 225 00:56:16,792 --> 00:56:19,000 un again-- veidojot kaut kas ir, galu galā, 226 00:56:19,000 --> 00:56:23,672 patiešām iespaidīgs un sarežģīts, bet sākumā, ne tuvu nav tik daudz tā. 227 00:56:23,672 --> 00:56:24,630 Patiesībā, pieņemsim darīt. 228 00:56:24,630 --> 00:56:28,989 Ļaujiet man iet uz priekšu and-- Scratch sevi pastāv tīmeklī pie Scratch.MIT.edu, 229 00:56:28,989 --> 00:56:30,780 un jums ir teicis, kā daudz atkal problēma 230 00:56:30,780 --> 00:56:34,200 noteikt nulli, specifikācijā kas jau ir CS50 mājas lapā. 231 00:56:34,200 --> 00:56:35,725 >> Bet tas ir tas, ko Scratch pati. 232 00:56:35,725 --> 00:56:38,210 Un tur tiešām tikai trīs daļās. 233 00:56:38,210 --> 00:56:40,980 Augšā tur pa kreisi ir tā sauktā posms. 234 00:56:40,980 --> 00:56:41,810 Tas ir Scratch. 235 00:56:41,810 --> 00:56:43,710 Noklusējuma kostīms ir kaķis. 236 00:56:43,710 --> 00:56:46,950 Un tas ir taisnstūra pasaule kuru jūs varat move-- augšu, uz leju, pa kreisi, 237 00:56:46,950 --> 00:56:48,130 tiesības un daži citi sīkumi. 238 00:56:48,130 --> 00:56:51,839 Vidū šeit ir mūsu kategorijas vai mūsu paletes puzzle gabalus, 239 00:56:51,839 --> 00:56:53,630 un dažādas krāsas nozīmēt dažādas lietas. 240 00:56:53,630 --> 00:56:56,520 Un, ja jūs kule apkārt, jūs redzēsiet lietas, piemēram, cilpas un nosacījumiem 241 00:56:56,520 --> 00:56:58,160 un mainīgie un citas sastāvdaļas. 242 00:56:58,160 --> 00:57:00,060 >> Un tad vairāk nekā šeit ir skripti laukums. 243 00:57:00,060 --> 00:57:03,020 Tas ir, ja es varat vilkt un nomest šie puzzle gabalus darīt lietas. 244 00:57:03,020 --> 00:57:04,690 Tātad, pieņemsim darīt vienu šāda lieta. 245 00:57:04,690 --> 00:57:06,630 Ļaujiet man iet uz priekšu and-- un es zinu, kur tas atrodas. 246 00:57:06,630 --> 00:57:10,110 Tāpēc es esmu gatavojas nekavējoties noklikšķiniet uz kur es zinu lietas ir gatavs būt, 247 00:57:10,110 --> 00:57:13,140 bet norādot un noklikšķinot un papētījis ir neizbēgama. 248 00:57:13,140 --> 00:57:15,320 Tātad, kad zaļo karogu uzklikšķināt, Ko es gribu darīt? 249 00:57:15,320 --> 00:57:17,100 Es esmu gatavojas darīt. 250 00:57:17,100 --> 00:57:20,699 Es esmu gatavojas vilkt šo violeta mīklu gabals, sasveicināties uz divām sekundēm, 251 00:57:20,699 --> 00:57:21,490 un ļaujiet man tuvinātu. 252 00:57:21,490 --> 00:57:23,865 >> Un es esmu gatavojas mainīt lai tas, ko es gribu, lai be-- 253 00:57:23,865 --> 00:57:26,471 hello world divas sekundes ir labi. 254 00:57:26,471 --> 00:57:28,970 Tagad es esmu gatavojas noklikšķiniet uz zaļš karogs, vai arī, ja es tiešām gribu, 255 00:57:28,970 --> 00:57:31,820 Es varu pilnekrāna to un pēc tam nāk atpakaļ. 256 00:57:31,820 --> 00:57:34,060 Tas būs tikai glabāt viss vienā logā. 257 00:57:34,060 --> 00:57:36,141 Green flag-- sveiki pasaule. 258 00:57:36,141 --> 00:57:36,640 Viss kārtībā. 259 00:57:36,640 --> 00:57:38,789 Ne viss, kas interesants. 260 00:57:38,789 --> 00:57:40,080 Tāpēc ļaujiet man iet uz priekšu un darīt to. 261 00:57:40,080 --> 00:57:41,038 Ļaujiet man mēģināt vēl vienu. 262 00:57:41,038 --> 00:57:44,740 Kad zaļais karogs clicked-- pieņemsim darīt kaut ko līdzīgu skaņu. 263 00:57:44,740 --> 00:57:46,880 Un paziņojums, ka no kastē par brīvu jums 264 00:57:46,880 --> 00:57:49,910 kaķis skaņa, jo ir noklusējuma elfa. 265 00:57:49,910 --> 00:57:52,380 Tāpēc tagad ļaujiet man iet uz priekšu un hit zaļo karogu tagad. 266 00:57:52,380 --> 00:57:53,224 >> [Meowing] 267 00:57:53,224 --> 00:57:54,490 >> Aw. 268 00:57:54,490 --> 00:57:55,370 Tas ir adorable. 269 00:57:55,370 --> 00:57:57,040 Es esmu programmēšana. 270 00:57:57,040 --> 00:57:58,550 Tātad, ko es esmu darījis? 271 00:57:58,550 --> 00:58:00,430 Tas ir ekvivalents programmu. 272 00:58:00,430 --> 00:58:01,600 Tas ir acīmredzami super vienkārši. 273 00:58:01,600 --> 00:58:05,300 Tas nav īsti pieņemt, ka daudz pūles un MIT darīja lielāko daļu darbu, 274 00:58:05,300 --> 00:58:07,890 bet es esmu aicinājis funkcija. 275 00:58:07,890 --> 00:58:08,940 Man ir izmantoti funkciju. 276 00:58:08,940 --> 00:58:12,480 Esmu veikusi dažas darbības, izmantojot tikai ka viena violeta puzzle gabals. 277 00:58:12,480 --> 00:58:15,960 >> Nu, ja es gribu darīt Trīs Mjau pēc kārtas? 278 00:58:15,960 --> 00:58:18,570 Ļaujiet man iet uz priekšu un darīt divi un trīs. 279 00:58:18,570 --> 00:58:20,910 Un paziņojums, ka tad, kad jūs lidināties tuvumā puzzle gabals, 280 00:58:20,910 --> 00:58:22,970 Šķiet mazliet balta līnija veida magnētiski, 281 00:58:22,970 --> 00:58:25,190 un tas būs snap kopā, kad jūs let iet. 282 00:58:25,190 --> 00:58:26,600 Let 's redzēt, kas notiek šeit. 283 00:58:26,600 --> 00:58:27,920 >> [Meowing] 284 00:58:27,920 --> 00:58:32,390 285 00:58:32,390 --> 00:58:34,510 >> Tur ir kļūda. 286 00:58:34,510 --> 00:58:35,650 Es tikai dzirdu vienu meow. 287 00:58:35,650 --> 00:58:37,440 Kāpēc varētu būt? 288 00:58:37,440 --> 00:58:39,001 Yeah? 289 00:58:39,001 --> 00:58:39,500 Jā. 290 00:58:39,500 --> 00:58:41,650 Mums nav īsti dzirdēt, bet tas ir labi intuīcija. 291 00:58:41,650 --> 00:58:43,400 Viņi visi spēlē vienā un tajā pašā laikā. 292 00:58:43,400 --> 00:58:44,000 Kāpēc? 293 00:58:44,000 --> 00:58:46,587 Nu, dators ir tikai gatavojas darīt to, ko tu pateikt to darīt. 294 00:58:46,587 --> 00:58:48,670 Tātad, ja jūs sakāt, atskaņot skaņu, atskaņot skaņu, atskaņot skaņu, 295 00:58:48,670 --> 00:58:52,887 bet jums nav pateikt to spēlēt līdz esat pabeidzis, spēlēt, kamēr jūs esat darījuši, 296 00:58:52,887 --> 00:58:54,970 tas notiek, lai trieciens cauri programma tiešām ātri 297 00:58:54,970 --> 00:58:56,830 un darīt tikai to, ko tu pateikt to darīt. 298 00:58:56,830 --> 00:58:59,040 >> Tāpēc man tiešām ir nepieciešams noteikt šis pāris veidos. 299 00:58:59,040 --> 00:59:00,623 Es varētu vienkārši darīt, lai atbrīvoties no tā. 300 00:59:00,623 --> 00:59:04,180 Ļaujiet man mēģināt šo citu mīklu piece-- spēlēt Sound Meow līdz darīts, 301 00:59:04,180 --> 00:59:07,072 un pēc tam velciet trīs šiem un noklikšķiniet uz Atskaņot. 302 00:59:07,072 --> 00:59:09,430 >> [Meowing] 303 00:59:09,430 --> 00:59:13,350 >> Tas nav īsti very-- paldies you-- ļoti dabiski. 304 00:59:13,350 --> 00:59:16,590 Tātad, kāpēc nav I-- let man iet, lai kontrolētu šeit. 305 00:59:16,590 --> 00:59:17,090 Nice. 306 00:59:17,090 --> 00:59:22,230 Pagaidiet vienu sekundi, un tagad ļaujiet man iet atpakaļ uz skaņām un atskaņot skaņu līdz darīts, 307 00:59:22,230 --> 00:59:24,620 un tad ļaujiet man iegūt jāgaida vienu sekundi. 308 00:59:24,620 --> 00:59:28,692 Un tad ļaujiet man iet un saņemt vienu vairāk skaņas, un šeit mēs ejam. 309 00:59:28,692 --> 00:59:31,350 >> [Meowing] 310 00:59:31,350 --> 00:59:35,930 >> Nedaudz vairāk dabas, bet tas nav ļoti efektīvs. 311 00:59:35,930 --> 00:59:39,830 Tāpat kā es bija kļūst garlaicīgi, viss būs tā īsi, noklikšķinot uz priekšu un atpakaļ 312 00:59:39,830 --> 00:59:42,724 un tiešām dublējot manu work-- diezgan daudz kopēšana un aplīmēšana. 313 00:59:42,724 --> 00:59:44,640 Patiešām, ja es Control uzklikšķināt vai pa labi noklikšķināt, 314 00:59:44,640 --> 00:59:46,500 Es varētu būt tikai kopēt un ielīmēt. 315 00:59:46,500 --> 00:59:49,870 Kas varētu būt labāks būvēt lietošanā? 316 00:59:49,870 --> 00:59:51,090 Kāda ideja no agrāk? 317 00:59:51,090 --> 00:59:51,990 >> Jā, tāpēc cilpa. 318 00:59:51,990 --> 00:59:54,580 Un patiesībā, ja mēs poked apkārt, mēs varētu atrast tieši tā. 319 00:59:54,580 --> 00:59:57,730 Ļaujiet man iet uz Notikumi vai drīzāk Control. 320 00:59:57,730 --> 00:59:59,650 Tāpēc repeat-- man nav gribu, lai to 10 reizes. 321 00:59:59,650 --> 01:00:01,370 Tas notiek, lai saņemtu kaitinošas ātri. 322 01:00:01,370 --> 01:00:03,380 Bet es atkārtoju trīs reizes. 323 01:00:03,380 --> 01:00:06,355 Ļaujiet man iet atpakaļ uz skaņu un atskaņot skaņu, līdz tas ir darīts. 324 01:00:06,355 --> 01:00:08,480 Ļaujiet man iet atpakaļ uz Control un tikai jāgaida vienu sekundi. 325 01:00:08,480 --> 01:00:10,271 Un paziņojums, jūs varētu domāju, ka tas nav piemērots, 326 01:00:10,271 --> 01:00:13,520 bet atkal, ja magnētiski jūs dariet to snap vietā, tas pieaugs aizpildīt. 327 01:00:13,520 --> 01:00:14,971 Kas tas spēlē tagad? 328 01:00:14,971 --> 01:00:18,500 >> [Meowing] 329 01:00:18,500 --> 01:00:19,000 LABI. 330 01:00:19,000 --> 01:00:19,660 Nice. 331 01:00:19,660 --> 01:00:22,540 Un tas ir tas, ko varētu saukt programma, kas ir arī pareizi. 332 01:00:22,540 --> 01:00:27,590 Tas meowed trīs reizes diezgan protams, bet tas ir labāk izstrādāta. 333 01:00:27,590 --> 01:00:29,580 Es esmu, izmantojot mazāk atlaišanu. 334 01:00:29,580 --> 01:00:30,970 Man nav kopēt un ielīmēt neko. 335 01:00:30,970 --> 01:00:32,470 Es tikai izmanto labāka ideja. 336 01:00:32,470 --> 01:00:35,340 >> Tagad tas ir vēl nav viss, kas interesanti ar Scratch nedara 337 01:00:35,340 --> 01:00:35,930 jebkas. 338 01:00:35,930 --> 01:00:37,388 Tātad, pieņemsim darīt kaut ko citu, nevis. 339 01:00:37,388 --> 01:00:38,670 Pieņemsim kaut ko darīt uz visiem laikiem. 340 01:00:38,670 --> 01:00:39,420 Un jūs zināt, ko? 341 01:00:39,420 --> 01:00:40,470 Kustības šķiet interesants. 342 01:00:40,470 --> 01:00:45,760 Pieņemsim, ir viņam kustēties 10 soļi un hit spēlēt tagad. 343 01:00:45,760 --> 01:00:46,570 >> LABI. 344 01:00:46,570 --> 01:00:49,300 Nu mēs varam veida velciet viņu atpakaļ, un viņš joprojām ir 345 01:00:49,300 --> 01:00:51,250 darbojas, jo viņš dara to uz visiem laikiem. 346 01:00:51,250 --> 01:00:53,150 Tātad cilpa dara ko tas saka darīt, 347 01:00:53,150 --> 01:00:54,650 bet tas nav tik interesanti. 348 01:00:54,650 --> 01:00:55,310 Izdarīsim to. 349 01:00:55,310 --> 01:00:59,870 Ļaujiet man piebilst kontroles bloku, un izmantot vienu no šiem nosacījumiem, pirmo reizi. 350 01:00:59,870 --> 01:01:03,119 >> Tātad, tas notiek, lai pārvietotos 10 steps-- 10 punkti, 10 pikseļi uz screen-- 351 01:01:03,119 --> 01:01:04,660 tad tas notiek uzdot šo jautājumu. 352 01:01:04,660 --> 01:01:09,340 Ja kaut kas ir patiess, tad darīt kaut kas iekšā šajā blokā. 353 01:01:09,340 --> 01:01:13,060 Tātad izrādās, uzrādi ir veselumu ķekars Būla expressions-- 354 01:01:13,060 --> 01:01:16,580 jautājumi par jā nē vai taisnība nepatiess form-- ļaujiet man darīt. 355 01:01:16,580 --> 01:01:19,260 >> Ja touching-- un tad tur ir tas maz nolaižamajā izvēlnē. 356 01:01:19,260 --> 01:01:20,410 Es varu parameterize to. 357 01:01:20,410 --> 01:01:23,010 Ja pieskaroties edge-- pieņemsim darīt kaut ko, piemēram, ka. 358 01:01:23,010 --> 01:01:27,310 Tātad, ja pieskaras edge-- ļaujiet man iet atpakaļ uz kustību. 359 01:01:27,310 --> 01:01:32,281 Un kāpēc ne mēs tikai apgriezties par 180 grādiem? 360 01:01:32,281 --> 01:01:32,780 Viss kārtībā. 361 01:01:32,780 --> 01:01:35,070 Tātad uz visiem laikiem, pārvietot 10 soļus. 362 01:01:35,070 --> 01:01:37,670 Ja jūs pieskaroties malu, pagrieziet par 180 grādiem. 363 01:01:37,670 --> 01:01:39,720 Un tas nav beigas programmas jo tu esi mūžīgi bloks, 364 01:01:39,720 --> 01:01:42,053 tā tas notiek, lai iet atkal un atkal un atkal un atkal. 365 01:01:42,053 --> 01:01:43,980 Tātad, pieņemsim redzēt, kas notiek. 366 01:01:43,980 --> 01:01:44,785 LABI. 367 01:01:44,785 --> 01:01:48,270 Nedaudz buggy, bet sava veida atdzist. 368 01:01:48,270 --> 01:01:51,710 >> Un mēs varam pievienot šo dažas dumjš lietām kas nav tik intelektuāli 369 01:01:51,710 --> 01:01:52,270 interesanti. 370 01:01:52,270 --> 01:01:57,210 Bet, ja mēs hit šo maz mikrofons button-- sakta. 371 01:01:57,210 --> 01:01:58,480 Ļaujiet man sakopt šo augšu. 372 01:01:58,480 --> 01:02:01,540 Ļaujiet man uzlabot šo kā viņi teiktu televīzijā. 373 01:02:01,540 --> 01:02:05,400 Sakopt, ka uz augšu, Save, un tagad iet līdz skriptus. 374 01:02:05,400 --> 01:02:07,500 >> Un tagad, ļaujiet man iet uz skaņu. 375 01:02:07,500 --> 01:02:09,002 Ļaujiet man arī tā nosaukumu. 376 01:02:09,002 --> 01:02:12,440 Es aicinu šo sakta. 377 01:02:12,440 --> 01:02:13,840 Un tagad spēlē skaņu sakta. 378 01:02:13,840 --> 01:02:16,520 Paziņojums tas parādās maz nolaižamajā izvēlnē. 379 01:02:16,520 --> 01:02:17,612 Paskatīsimies. 380 01:02:17,612 --> 01:02:20,444 >> [Sakta] 381 01:02:20,444 --> 01:02:24,377 >> [Smejas] 382 01:02:24,377 --> 01:02:25,835 Bet mēs varam mainīt t viņa par lidot. 383 01:02:25,835 --> 01:02:28,106 Mēs varam būt divreiz kaitinošas. 384 01:02:28,106 --> 01:02:31,760 >> [Sakta] 385 01:02:31,760 --> 01:02:35,332 >> Vai, ja mēs to kā 1000 soļi uz LAIKU_ 386 01:02:35,332 --> 01:02:39,900 387 01:02:39,900 --> 01:02:40,670 >> LABI. 388 01:02:40,670 --> 01:02:42,295 Tāpēc mēs esam gatavojas atstāt, ka viens vien. 389 01:02:42,295 --> 01:02:45,290 Tātad vēlreiz, celtniecības blocks-- I sākās ar kaut ko super vienkāršu, 390 01:02:45,290 --> 01:02:47,930 un tad es pievienoja funkciju, pievienoja funkciju, pievienoja funkciju. 391 01:02:47,930 --> 01:02:50,721 Un man vairs nav jāuztraucas par kā pirmā no tām pazīmēm 392 01:02:50,721 --> 01:02:53,690 tika īstenota kā es joprojām slānis lietas uz augšu. 393 01:02:53,690 --> 01:02:55,430 Tātad faktiski, ļaujiet man darīt kādu citu šeit. 394 01:02:55,430 --> 01:03:00,580 Ļaujiet man iet uz priekšu un atvērt failu, kas Es atvedu jau iepriekš, ko sauc aitas. 395 01:03:00,580 --> 01:03:03,970 >> Tātad tas ir nedaudz atšķirīga raksturu, kas izskatās šādi. 396 01:03:03,970 --> 01:03:07,370 Un ļaujiet man redzēt, ja es nevaru kaut ko darīt, izmantojot skaitītāju 397 01:03:07,370 --> 01:03:09,310 šajā case-- ts mainīgo. 398 01:03:09,310 --> 01:03:15,540 Es iešu uz priekšu un zem Events-- let me get zaļš karogs uzklikšķināt. 399 01:03:15,540 --> 01:03:19,030 Tad ļaujiet man iet uz datu, ko es zinu no tikai spēlē aptuveni pirms, 400 01:03:19,030 --> 01:03:20,214 ir, ja mainīgie ir. 401 01:03:20,214 --> 01:03:21,880 Un es iešu uz priekšu un velciet to. 402 01:03:21,880 --> 01:03:25,144 >> Tātad mainīgais sauc skaitītājs, un Es esmu gatavojas, lai sāktu to līdz nullei. 403 01:03:25,144 --> 01:03:27,560 Es varu to nosaukt anything-- x vai y vai z-- bet programmēšanā, 404 01:03:27,560 --> 01:03:30,410 aicinot kaut A semantiski noderīgs veids, piemēram, letes, 405 01:03:30,410 --> 01:03:34,540 kas apraksta to, kas tas ir, tas ir vieglāk daudz lasīt jūsu kods vēlāk. 406 01:03:34,540 --> 01:03:37,460 Ļaujiet man iet uz priekšu un iegūt mūžīgi bloķēt šeit. 407 01:03:37,460 --> 01:03:41,289 Un ļaujiet man iet uz izskatās lapā un darīt Say bloku. 408 01:03:41,289 --> 01:03:44,330 Bet kas ir cool par mainīgajiem ir I nav vienkārši ierakstiet kaut ko 409 01:03:44,330 --> 01:03:47,850 piemēram, sveiki pasaule, kurā mēs jau esam darīts, es varu tā vietā doties uz datu 410 01:03:47,850 --> 01:03:50,690 un velciet manu mainīgo, un pat ja forma nav gluži 411 01:03:50,690 --> 01:03:53,000 izskatās tas būtu piemērots, tas pieaugs aizpildīt. 412 01:03:53,000 --> 01:03:58,396 Un es ņemšu tikai teikt skaitītāju vienu second-- spoiler-- viņš gatavojas rēķināties. 413 01:03:58,396 --> 01:04:00,380 Mēs sakām to par vienu sekundi. 414 01:04:00,380 --> 01:04:02,840 Tad es iešu un ir viņam jāgaida vienu sekundi, 415 01:04:02,840 --> 01:04:04,650 tāpēc tas neskaitās pārāk ātri. 416 01:04:04,650 --> 01:04:08,430 Un tad visbeidzot, mainīt skaitītāju ar one-- citiem vārdiem sakot, 417 01:04:08,430 --> 01:04:13,520 pieauguma counter pa vienam papildu vērtību un izdarīt uz visiem laikiem. 418 01:04:13,520 --> 01:04:16,129 >> Tātad aitas arī, piemēram, programmētājs, skaita no 0. 419 01:04:16,129 --> 01:04:20,350 420 01:04:20,350 --> 01:04:23,740 Un, ja mēs jāgaida pietiekami ilgi, viņš darīs to uz visiem laikiem. 421 01:04:23,740 --> 01:04:27,740 Bet tas nav īsti taisnība, jo patiesībā, kā mēs atklāt vienā nedēļā, 422 01:04:27,740 --> 01:04:31,871 veseli skaitļi un datori vispārīgāk, tehniski ir tikai finite-- labi, 423 01:04:31,871 --> 01:04:33,829 drīzāk datoriem, kad viņi pārstāv veseli skaitļi, 424 01:04:33,829 --> 01:04:35,670 ir tikai ierobežots skaits bitiem. 425 01:04:35,670 --> 01:04:37,860 Šīs spuldzes tur var tikai paļauties tik augsts 426 01:04:37,860 --> 01:04:39,239 Pirms jūs no spuldzēm. 427 01:04:39,239 --> 01:04:41,590 Un dators pārāk, ir tikai tik daudz atmiņas, 428 01:04:41,590 --> 01:04:44,640 ir tikai tik daudz tranzistori, tāpēc to var ieskaitīt tikai tik augstu. 429 01:04:44,640 --> 01:04:47,409 >> Tātad izrādās, ka aitām, Es domāju, var skaitīt līdz 2 miljardiem 430 01:04:47,409 --> 01:04:48,409 vai kaut kas diezgan liels. 431 01:04:48,409 --> 01:04:50,325 Tātad mēs nebrauksim gaidīt, lai tas notiktu. 432 01:04:50,325 --> 01:04:54,850 Bet galu galā daži bug notiks ka var būt dažas ļoti reālo pasauli 433 01:04:54,850 --> 01:04:55,970 atzari. 434 01:04:55,970 --> 01:04:58,861 Bet aiz aitām, ka tikai ievieš mainīgo. 435 01:04:58,861 --> 01:05:01,110 Iesim uz priekšu un atvērt kaut es iepriekš 436 01:05:01,110 --> 01:05:07,430 šeit sauc mājdzīvnieku Cat-- Pet Cat nekā šeit. 437 01:05:07,430 --> 01:05:10,420 Un paziņojums šeit tas ir maz bloki, bet, kad zaļš karogs 438 01:05:10,420 --> 01:05:12,474 uzklikšķināt, uz visiem laikiem dara sekojošo. 439 01:05:12,474 --> 01:05:15,265 Ja jūs pieskaras peli pointer-- tā kursoru uz ekrāna, 440 01:05:15,265 --> 01:05:18,529 arrow-- play skaņa meow un tad jāgaida divas sekundes. 441 01:05:18,529 --> 01:05:19,570 Un tikai izdarīt uz visiem laikiem. 442 01:05:19,570 --> 01:05:22,619 Tikai pastāvīgi gaidīt Lai redzētu, vai pointer-- 443 01:05:22,619 --> 01:05:24,710 ja kaķis pieskaras rādītāju. 444 01:05:24,710 --> 01:05:26,060 >> Tāpēc es hit spēlēt. 445 01:05:26,060 --> 01:05:26,920 Nekas notiek. 446 01:05:26,920 --> 01:05:28,980 Bet kā es pārvietot kursoru virs kaķis, 447 01:05:28,980 --> 01:05:31,960 >> [Meowing] 448 01:05:31,960 --> 01:05:34,750 >> Un, ja es pārvietot to prom, nav petting kaķi vairs. 449 01:05:34,750 --> 01:05:38,090 Tāpēc daži nosacījumu loģika ligzdot iekšpusē cilpas. 450 01:05:38,090 --> 01:05:43,070 Kā par šo piemēru, apzināti sauc Nelietojiet Pieņem Cat? 451 01:05:43,070 --> 01:05:45,253 Kas tas gatavojas darīt? 452 01:05:45,253 --> 01:05:47,880 >> [Meowing] 453 01:05:47,880 --> 01:05:50,215 >> Kāpēc jūs ne pet kaķis? 454 01:05:50,215 --> 01:05:59,440 >> [Meowing] 455 01:05:59,440 --> 01:06:00,699 >> LABI. 456 01:06:00,699 --> 01:06:03,880 Tātad šis ir piemērs, ja cits. 457 01:06:03,880 --> 01:06:06,482 Tas ir lēmums, punkts un jo tas sēž cilpa, 458 01:06:06,482 --> 01:06:07,690 viņi abi kļūst pārbaudīti. 459 01:06:07,690 --> 01:06:08,280 Vai tas ir taisnība? 460 01:06:08,280 --> 01:06:08,760 Vai tas ir taisnība? 461 01:06:08,760 --> 01:06:09,250 Vai tas ir taisnība? 462 01:06:09,250 --> 01:06:09,791 Vai tas ir taisnība? 463 01:06:09,791 --> 01:06:11,880 Un galu galā, ir viens no tiem gatavojas piemērot 464 01:06:11,880 --> 01:06:16,480 un tā jūs dzirdat nu meow vai rēkt lauvas šajā lietā. 465 01:06:16,480 --> 01:06:21,400 >> Nu, pieņemsim do nedaudz vairāk iedomātā vienu ka es iepriekš too-- diegiem. 466 01:06:21,400 --> 01:06:25,210 Tātad pavediens ir tikai viens lieta, ka dators var darīt. 467 01:06:25,210 --> 01:06:29,349 Tik multi-threaded programma ir programma ka var darīt vairākas lietas vienlaicīgi. 468 01:06:29,349 --> 01:06:31,140 Un visi šie piemēri līdz šim ir bijusi 469 01:06:31,140 --> 01:06:35,980 tikai viens skripts, tāpēc, lai speak-- viena programma, piemēram, tas šeit. 470 01:06:35,980 --> 01:06:38,810 Bet paziņojums šī programma ir divi sprites, divas rakstzīmes. 471 01:06:38,810 --> 01:06:40,020 Viens no tiem ir putns. 472 01:06:40,020 --> 01:06:40,870 Viens no tiem ir kaķis. 473 01:06:40,870 --> 01:06:45,080 >> Un paziņojums, kad es noklikšķiniet uz šiem leju kreisais, katrs no tiem ir savas skripti 474 01:06:45,080 --> 01:06:47,120 vai programmas, kas saistītas ar tiem. 475 01:06:47,120 --> 01:06:49,420 Un gan no tiem programmas, paziņojums, sākums 476 01:06:49,420 --> 01:06:52,600 ar kad zaļā karoga clicked-- pieņemsim apskatīt cat-- 477 01:06:52,600 --> 01:06:54,030 zaļus karogs uzklikšķināt. 478 01:06:54,030 --> 01:06:58,220 Un tā tiešām, kad es hit spēlēt tagad, divas lietas notiks uzreiz. 479 01:06:58,220 --> 01:07:01,750 Kaķis un putns ir gan gatavojas darboties vienlaicīgi 480 01:07:01,750 --> 01:07:03,815 lai izveidotu šo efektu. 481 01:07:03,815 --> 01:07:05,440 Un jūs varētu iedomāties, kas notiek. 482 01:07:05,440 --> 01:07:08,340 Tur ir cilpa, un putns un kaķis ir cilpa. 483 01:07:08,340 --> 01:07:11,270 Putns ir tikai veselīgs, piemēram, Man bija pirms, kad es teicu sakta. 484 01:07:11,270 --> 01:07:13,040 Bet kaķis acīmredzami ir priekšrocība. 485 01:07:13,040 --> 01:07:16,040 Ir vēl viens uzrādi bloks kas norāda kaķis apzināti 486 01:07:16,040 --> 01:07:19,836 pie putna šajā gadījumā šeit. 487 01:07:19,836 --> 01:07:22,960 Lai mēs varētu kaitināt otra, skatoties caur šiem blokiem, kas notiek. 488 01:07:22,960 --> 01:07:25,460 Bet galvenā sastāvdaļa šeit ir viena. 489 01:07:25,460 --> 01:07:28,520 Putns, tā, ka šī spēle ir ne pilnīgi boring-- vai šis animation-- 490 01:07:28,520 --> 01:07:30,060 sākas izlases virzienā. 491 01:07:30,060 --> 01:07:32,890 Un dators ir picking vairāki starp 90 un 180 492 01:07:32,890 --> 01:07:36,110 būtībā, tā ka tas ir nedaudz atšķirīgs animācijas katru reizi. 493 01:07:36,110 --> 01:07:39,480 >> Un tad paziņojums šeit, ja kaķis pieskaras putns, tad 494 01:07:39,480 --> 01:07:42,030 spēlēt lauva četru sound-- rēkt. 495 01:07:42,030 --> 01:07:46,330 Bet tikmēr in putna palete, mums ir šis. 496 01:07:46,330 --> 01:07:49,229 Forever, ja nepieskaras kaķis, tikai glabāt pārvietojas trīs soļus. 497 01:07:49,229 --> 01:07:50,770 Un tad šeit ir vēl viens puzzle gabals. 498 01:07:50,770 --> 01:07:52,030 Ja jūs uz malas, lielība. 499 01:07:52,030 --> 01:07:54,840 Tātad putns ir tikai sava veida pieskatīšanas savu uzņēmējdarbību, 500 01:07:54,840 --> 01:07:57,330 vienkārši peld apkārt un veselīgs, un tas ir patiešām 501 01:07:57,330 --> 01:08:01,780 kaķis, kas bija nosacīts loģika lai noteiktu, vai tā bija nozvejotas putns. 502 01:08:01,780 --> 01:08:02,280 Viss kārtībā. 503 01:08:02,280 --> 01:08:08,800 Tātad, pieņemsim darīt viens otru šeit, tas viens tiek saukta Hi Hi Hi. 504 01:08:08,800 --> 01:08:15,100 Un tas viens šeit vienkārši nav tas ir uz visiem laikiem cilpu. 505 01:08:15,100 --> 01:08:18,925 Bet notice-- kā mēs apstāties Tas ir ļoti kaitinošas programma? 506 01:08:18,925 --> 01:08:21,600 507 01:08:21,600 --> 01:08:22,640 Hit starpdevējs. 508 01:08:22,640 --> 01:08:27,990 Jo, ja man, ka, kreisajā program-- 509 01:08:27,990 --> 01:08:31,550 pamanāt, ka tas ir pastāvīgi listening-- ir galvenais telpa prese. 510 01:08:31,550 --> 01:08:34,090 Ja starpdevējs nospiests, un, ja tā, ko tas dara? 511 01:08:34,090 --> 01:08:35,980 Tas ļoti bieži tehniku. 512 01:08:35,980 --> 01:08:38,590 Tas nosaka mainīgo vienāds ar kādu vērtību. 513 01:08:38,590 --> 01:08:39,741 Bet tas pārslēdz šo vērtību. 514 01:08:39,741 --> 01:08:41,490 [? Tātad izskats?] pamatojoties uz shape-- I 515 01:08:41,490 --> 01:08:43,160 ir mainīgais, kas man rakstīja iepriekš sauc 516 01:08:43,160 --> 01:08:44,770 Izslēgts, kas vienkārši saka jā vai nē. 517 01:08:44,770 --> 01:08:45,880 Vai skaņa izslēgta, vai ne? 518 01:08:45,880 --> 01:08:46,990 Pareizi vai nepareizi? 519 01:08:46,990 --> 01:08:51,580 Un paziņojums, es saku this-- ja izslēgts ir nulle, tad mainīt uz vienu, 520 01:08:51,580 --> 01:08:53,840 cits noteikti izslēgtu to nullei. 521 01:08:53,840 --> 01:08:55,540 Tik vienkārši uzsist vērtību no nulles līdz vienam. 522 01:08:55,540 --> 01:08:58,320 Es varētu būt done-- mainīt to no diviem līdz trim, un trīs līdz diviem 523 01:08:58,320 --> 01:09:00,162 vai 4-5 vai četri līdz seši. 524 01:09:00,162 --> 01:09:01,870 Bet tas nav svarīgi kādi skaitļi es izmantot, 525 01:09:01,870 --> 01:09:04,090 tik ilgi, kamēr es glabāt mainot to par pretējo. 526 01:09:04,090 --> 01:09:07,290 >> Un lielākā daļa jebkurš programmētājs vēlētos izvēlēties nulles un one-- viltus un patiesa, 527 01:09:07,290 --> 01:09:09,510 off un on-- pārstāvēt šo. 528 01:09:09,510 --> 01:09:10,930 Un tas joprojām darbojas. 529 01:09:10,930 --> 01:09:12,190 Ja es hit starpdevējs atkal 530 01:09:12,190 --> 01:09:13,590 >> [SEAL SOUNDS] 531 01:09:13,590 --> 01:09:15,440 >> Programma joprojām darbojas. 532 01:09:15,440 --> 01:09:18,400 Jo tur ir šis cits skripts ka saka, uz visiem laikiem darīt šādi. 533 01:09:18,400 --> 01:09:21,390 534 01:09:21,390 --> 01:09:24,770 Ja izslēgts mainīgais ir vienāds zero-- tāpēc, ja jūs neesat izslēgts 535 01:09:24,770 --> 01:09:29,609 ir logic-- ja tas ir viltus vai nē, tad atskaņot skaņu, 536 01:09:29,609 --> 01:09:30,650 jo jūs neesat izslēgts. 537 01:09:30,650 --> 01:09:33,358 Jums vajadzētu atskaņot skaņu, un pēc tam domāju, hi hi hi uz divām sekundēm 538 01:09:33,358 --> 01:09:35,790 un tad jāgaida, un darīt to atkal un atkal un atkal. 539 01:09:35,790 --> 01:09:40,760 >> Un tā šādā veidā mums ir ceļu cilvēki kuri paredzēti, lai programmas, lai mijiedarbotos. 540 01:09:40,760 --> 01:09:43,120 Un tie nav būt kā datēta kā citi. 541 01:09:43,120 --> 01:09:46,280 Patiesībā, poking around-- no pun intended-- 542 01:09:46,280 --> 01:09:49,250 kāds pavadīja milzīgu laiks internetā īstenošanas 543 01:09:49,250 --> 01:09:51,580 PokemonGo in nulles. 544 01:09:51,580 --> 01:09:55,440 Tā pat geolocates jums Cambridge vai Allston šeit. 545 01:09:55,440 --> 01:10:03,120 Tātad, ja jūs vēlaties redzēt pārāk ko cilvēki var darīt, ir this-- ļoti iedomātā izvēlne. 546 01:10:03,120 --> 01:10:04,780 Klikšķiniet šeit. 547 01:10:04,780 --> 01:10:07,430 >> Tas man ar manu bulttaustiņus tagad. 548 01:10:07,430 --> 01:10:09,446 Es iešu pēc tam. 549 01:10:09,446 --> 01:10:09,946 Klikšķis. 550 01:10:09,946 --> 01:10:12,949 551 01:10:12,949 --> 01:10:14,240 Un tagad jūs noklikšķiniet uz PokeBall. 552 01:10:14,240 --> 01:10:17,130 553 01:10:17,130 --> 01:10:20,260 Es domāju, es domāju, ka tu esi vajadzēja noklikšķiniet uz PokeBall. 554 01:10:20,260 --> 01:10:20,760 Viss kārtībā. 555 01:10:20,760 --> 01:10:22,680 Tāpēc es to izdarīju. 556 01:10:22,680 --> 01:10:23,950 Es varu iet vairāk nekā šeit. 557 01:10:23,950 --> 01:10:27,790 Un šī persona īsteno dažas vairāk PokeBalls nekā here-- trīs PokeBalls. 558 01:10:27,790 --> 01:10:29,950 >> Mēs post saiti uz šo tiešsaistē, lai jūs varētu spēlēt. 559 01:10:29,950 --> 01:10:32,364 Bet paziņojums tur ir tikai daži pamata celtniecības blokus. 560 01:10:32,364 --> 01:10:33,780 Tas izskatās daudz mīļotājs, un tas ir. 561 01:10:33,780 --> 01:10:35,905 Tas ir iespaidīgs, un vairāk nekā mēs būtu parasti 562 01:10:35,905 --> 01:10:37,740 sagaida, protams, par problēmu noteikt nulli. 563 01:10:37,740 --> 01:10:40,809 Man nav ne jausmas, cik ilgi šis cilvēks pavadīja tiešsaistē. 564 01:10:40,809 --> 01:10:41,850 Bet tas viss ir tikai cilpa. 565 01:10:41,850 --> 01:10:43,180 Tur ir skaņu spēlē. 566 01:10:43,180 --> 01:10:44,850 Tur ir dažas no cilpas veida klausās, vai es esmu 567 01:10:44,850 --> 01:10:47,558 hitting augšu bultiņas vai uz lejup bultiņa vai kreiso un labo, 568 01:10:47,558 --> 01:10:49,834 un tad, ja tā, tad tas pārvietojas tas dažas pikseļu skaits. 569 01:10:49,834 --> 01:10:51,750 Un tad, ja es noklikšķiniet uz cits elfa, tur ir 570 01:10:51,750 --> 01:10:53,390 sava veida ja stāvoklī tur. 571 01:10:53,390 --> 01:10:54,806 Jā, tas kļūst pārāk intensīva. 572 01:10:54,806 --> 01:10:56,100 Mēs ejam, lai apturētu. 573 01:10:56,100 --> 01:10:57,750 Tas ir visas tās pamatelementiem. 574 01:10:57,750 --> 01:11:01,530 Nav citu sastāvdaļu citi nekā tiem, mēs esam paskatījās jau. 575 01:11:01,530 --> 01:11:04,670 >> Un tomēr šeit, ļaujiet man darīt viens pēdējais no piemēriem 576 01:11:04,670 --> 01:11:06,960 ka krāsām attēlu pārāk par to, ko jūs varat darīt šeit. 577 01:11:06,960 --> 01:11:10,481 Te ir ļoti vienkārša programma, kas vienkārši dara this-- klepus, klepus, klepus. 578 01:11:10,481 --> 01:11:12,480 Un, pamatojoties tikai uz to, ko mēs esam paskatījās līdz šim, 579 01:11:12,480 --> 01:11:14,570 kur ir acīmredzama iespēja uzlabojumi. 580 01:11:14,570 --> 01:11:15,570 Šī programma ir pareiza. 581 01:11:15,570 --> 01:11:17,980 Tas klepus trīs reizes, kas ir tas, ko es paredzēts. 582 01:11:17,980 --> 01:11:19,650 Bet tas ir slikti īstenoti. 583 01:11:19,650 --> 01:11:20,600 Tas ir slikti izstrādāta. 584 01:11:20,600 --> 01:11:22,000 Kāpēc? 585 01:11:22,000 --> 01:11:22,500 Jā. 586 01:11:22,500 --> 01:11:23,230 Tas nav cilpa. 587 01:11:23,230 --> 01:11:24,610 Un tas nav tik daudz ka tas nav cilpa, 588 01:11:24,610 --> 01:11:26,400 tas, ka tur ir daudz atlaišanas. 589 01:11:26,400 --> 01:11:28,830 Tur tiek kopēts un ielīmēts kods, lai runāt. 590 01:11:28,830 --> 01:11:31,830 Un risinājums, iespējams, patiešām ir cilpa. 591 01:11:31,830 --> 01:11:34,350 Tāpēc ļaujiet man iet uz priekšu un uzlabot uz to. 592 01:11:34,350 --> 01:11:36,250 Un es esmu gatavojas vilkt tiem vairāk nekā šeit. 593 01:11:36,250 --> 01:11:39,986 Ļaujiet man iet uz priekšu un iegūt atkārtot bloks, mainīt līdz trim. 594 01:11:39,986 --> 01:11:41,860 Es esmu gatavojas mest prom daži no šiem blokiem. 595 01:11:41,860 --> 01:11:43,150 >> Un jūs pamanāt, ka tas ir diezgan intuitīvi. 596 01:11:43,150 --> 01:11:45,691 Jums vilkt un nomest un lietas parādās un pazūd beidzot. 597 01:11:45,691 --> 01:11:49,170 Un es varu tikai vilkt to šeit, un tagad man ir tīrāku versija joprojām. 598 01:11:49,170 --> 01:11:50,730 Bet jūs zināt, ko? 599 01:11:50,730 --> 01:11:52,940 Tur ir šī iespēja tagad abstraction-- 600 01:11:52,940 --> 01:11:56,350 sākt definēt jaunu vārdnīcu ka MIT negaida. 601 01:11:56,350 --> 01:11:59,110 Tur ir jāgaida un atkārtojiet un uz visiem laikiem, un, ja, 602 01:11:59,110 --> 01:12:02,590 bet, kas notiks, ja es gribu, lai ieviestu vārds klepus kā bloku? 603 01:12:02,590 --> 01:12:06,230 Ko darīt, ja es gribu puzzles gabaliņam kuru mērķis dzīvē ir klepus? 604 01:12:06,230 --> 01:12:10,720 >> Nu, pieņemsim apskatīt šo versiju šeit, ko es šādi. 605 01:12:10,720 --> 01:12:13,579 Maģiski, esmu izveidojis Tas puzzle gabals šeit, 606 01:12:13,579 --> 01:12:14,870 kas Scratch ļauj darīt. 607 01:12:14,870 --> 01:12:16,787 Un tiešām C un Python un JavaScript ir 608 01:12:16,787 --> 01:12:18,370 dodas, lai jūs varētu darīt, kā labi. 609 01:12:18,370 --> 01:12:21,830 Jūs varat izveidot savu pielāgoto gabali, kas jums zvana, ko jūs vēlaties. 610 01:12:21,830 --> 01:12:24,890 Šajā gadījumā, klepus uzskata kā pieņemamu definīciju. 611 01:12:24,890 --> 01:12:27,880 Un tad ar šiem gabaliem leju Šeit jūs varat definēt, ko tas nozīmē. 612 01:12:27,880 --> 01:12:30,290 >> Es vilkt un nomest no Šī palete here-- vairāk 613 01:12:30,290 --> 01:12:33,500 blocks-- šo lielo violeta bloks, kur es drukāti klepus 614 01:12:33,500 --> 01:12:35,290 kā nosaukums savu jauno puzzle gabals. 615 01:12:35,290 --> 01:12:39,920 Un tad es saku nevienu reizi, kad lietotājs aicina šo jauno klepus puzzle gabals, 616 01:12:39,920 --> 01:12:41,770 do teikt un jāgaida. 617 01:12:41,770 --> 01:12:46,160 Un tā šeit manā atkārtotu bloku, Es varu tikai klepus trīs reizes. 618 01:12:46,160 --> 01:12:49,972 >> Un es teiktu, jo īpaši ja tagad jūs slēpt šo detaļu. 619 01:12:49,972 --> 01:12:51,430 Who cares kā klepus tiek īstenota? 620 01:12:51,430 --> 01:12:54,390 Viss, ko es rūp kā programmētājs, ka es varu klepus. 621 01:12:54,390 --> 01:12:56,280 Man vienalga, kā saka, ir īstenoti. 622 01:12:56,280 --> 01:12:58,620 Es tikai aprūpi, ka kaķis var pateikt kaut ko. 623 01:12:58,620 --> 01:13:02,720 Es varu abstrakts prom kas detalizēti un tikai koncentrēties uz to, kas ir uz ekrāna šeit. 624 01:13:02,720 --> 01:13:04,400 Bet es varu izmantot šo vienu soli tālāk. 625 01:13:04,400 --> 01:13:08,070 >> Ievērojiet, ka šeit, man ir īsteno cilpa trīs reizes. 626 01:13:08,070 --> 01:13:11,560 Bet ko tad, ja tā vietā, es greifers šo versiju? 627 01:13:11,560 --> 01:13:14,640 Un ko tad, ja tā vietā, šajā versijā šeit, 628 01:13:14,640 --> 01:13:18,730 Es vienkārši mainīt savu puzzles gabaliņam ņemt arguments un ieejas pati par sevi? 629 01:13:18,730 --> 01:13:21,100 Un tas ieguldījums var būt vairāki, piemēram, trīs. 630 01:13:21,100 --> 01:13:24,580 Tāpēc tagad, ja es esmu rakstot programmu un es gribu kaķis klepus, 631 01:13:24,580 --> 01:13:28,270 Es tiešām varu pateikt puzzle gabals cik reizes klepus, 632 01:13:28,270 --> 01:13:31,990 jo apakšā šeit, mīļotājs versija šīm pasūtījuma puzzle gabalus 633 01:13:31,990 --> 01:13:34,500 ļauj man norādīt, ka klepus faktiski notiek 634 01:13:34,500 --> 01:13:36,951 input-- aizņem argumentu kā šis. 635 01:13:36,951 --> 01:13:37,700 Un jūs zināt, ko? 636 01:13:37,700 --> 01:13:38,890 Varbūt es saprotu, pagaidiet minūti. 637 01:13:38,890 --> 01:13:40,680 Klepus ir same-- tas ir būtiski 638 01:13:40,680 --> 01:13:42,120 pati ideja kā šķaudīšanu. 639 01:13:42,120 --> 01:13:44,040 Tas ir tikai atšķirīgs vārdu uz ekrāna. 640 01:13:44,040 --> 01:13:46,550 Es varu abstrakts prom tālāk un īstenot 641 01:13:46,550 --> 01:13:48,750 šī gala versija klepus, kas pēc pirmā acu uzmetiena 642 01:13:48,750 --> 01:13:50,660 ir daudz sarežģītāka meklē. 643 01:13:50,660 --> 01:13:52,140 Bet paziņojums, ko es esmu darījusi. 644 01:13:52,140 --> 01:13:55,930 Man ir tagad generalized-- genericized really-- šo puzzle gabals 645 01:13:55,930 --> 01:13:59,900 saukt teikt vārdu n reizes. 646 01:13:59,900 --> 01:14:04,410 >> Un tagad man ir divi jauni puzzle gabalus leju šeit definēt klepus n reizes. 647 01:14:04,410 --> 01:14:06,790 Un ko tas klepus funkcija darīt? 648 01:14:06,790 --> 01:14:08,420 Kāda mana pasūtījuma puzzle gabals darīt? 649 01:14:08,420 --> 01:14:11,996 Tas tikai aicina teiksim bloku, iet ar vārdu es gribu teikt, 650 01:14:11,996 --> 01:14:13,870 iet skaita reizes es gribu teikt. 651 01:14:13,870 --> 01:14:18,210 Jo tagad es varu īstenot šķaudīt, vienkārši sakot achoo, 652 01:14:18,210 --> 01:14:20,320 Šajā gadījumā, daži skaitu reižu. 653 01:14:20,320 --> 01:14:22,360 >> Un tāpēc es esmu layering un izkārtojums. 654 01:14:22,360 --> 01:14:25,690 Un atkal, galvenais šeit nav kā es īstenots, bet fakts 655 01:14:25,690 --> 01:14:28,070 ka, ja es tikai burtiski pārvietot tos pie ekrāna, 656 01:14:28,070 --> 01:14:31,280 skatīties, kā vienkārši, ja nav diezgan mana programma tagad izskatās. 657 01:14:31,280 --> 01:14:33,930 Jo tas, ko tā saka, es esmu paņemts 658 01:14:33,930 --> 01:14:37,640 prom to, kas ir iekšā, ka melnā kaste. tas notiek, ir violeta kaste šeit, 659 01:14:37,640 --> 01:14:41,430 bet es esmu kavējusi prom to, kas ir iekšā jo man nav vienalga, kā tā darbojas. 660 01:14:41,430 --> 01:14:43,650 Es tikai aprūpi tagad, ka tas darbojas. 661 01:14:43,650 --> 01:14:46,375 >> Un tiešām, jo ​​problēma noteikt nulle, tas ir tieši tas, 662 01:14:46,375 --> 01:14:49,250 veida noslāņojums ideju jūs ir iespēja izpētīt. 663 01:14:49,250 --> 01:14:53,510 Tas ir tieši iespēja pieteikties problēmu risināšanas metodes, 664 01:14:53,510 --> 01:14:55,550 to, kas ir iespējams, ir svešs vide. 665 01:14:55,550 --> 01:14:57,890 Un vai jūs esat nav ieprogrammēts pirms vai ieprogrammēts agrāk, 666 01:14:57,890 --> 01:14:59,500 Jūs atradīsiet, ka tur ir nedaudz kaut ko 667 01:14:59,500 --> 01:15:00,874 šajā vidē ikvienam. 668 01:15:00,874 --> 01:15:02,770 Un ar problēmu iestatīts viens nedēļas laikā, 669 01:15:02,770 --> 01:15:06,630 mēs būsim pārgāja uz koncentrējoties uz augstāka līmeņa valoda sauc 670 01:15:06,630 --> 01:15:09,290 C- vai drīzāk zemāks līmeņa valoda sauc 671 01:15:09,290 --> 01:15:11,347 C- tas ir vēl vairāk spēcīga, pat ja tas ir 672 01:15:11,347 --> 01:15:12,930 nedaudz vairāk mistisks pēc pirmā acu uzmetiena. 673 01:15:12,930 --> 01:15:16,740 >> Un jūs apzināties par šodienas TL: DR, ka šī problēma noteikti ir īsāks 674 01:15:16,740 --> 01:15:19,880 logs laika nekā nākotnes ones, vienkārši jo jums vajadzētu atrast diezgan 675 01:15:19,880 --> 01:15:20,420 pieejams. 676 01:15:20,420 --> 01:15:22,211 Un nav jāuztraucas, ja Pievienojot klases vēlu. 677 01:15:22,211 --> 01:15:23,920 Mēs risināt ka pirms ilgi. 678 01:15:23,920 --> 01:15:28,480 Un pirms mēs atlikt uz kūka, pieņemsim pabeigt ar tikai divu minūšu izskatu 679 01:15:28,480 --> 01:15:30,500 par to, kas gaida jūs šeit CS50. 680 01:15:30,500 --> 01:15:40,950 681 01:15:40,950 --> 01:17:20,803 [SKAN MŪZIKA] 682 01:17:20,803 --> 01:17:21,302 Viss kārtībā. 683 01:17:21,302 --> 01:17:22,690 Tas ir tas par CS50. 684 01:17:22,690 --> 01:17:23,650 Mēs redzēsim, jums drīz. 685 01:17:23,650 --> 01:17:25,526 Cake tagad pasniedz. 686 01:17:25,526 --> 01:17:28,998 687 01:17:28,998 --> 01:18:14,267 [SKAN MŪZIKA] 688 01:18:14,267 --> 01:18:16,350 SPEAKER 17: Vai esat dzirdējuši atpūtas dienas, galvenais? 689 01:18:16,350 --> 01:18:29,490 690 01:18:29,490 --> 01:18:31,920 SPEAKER 18: Varbūt tur ir vairāk ar kapuci. 691 01:18:31,920 --> 01:18:38,279