1 00:00:00,000 --> 00:00:15,059 >> [MUSIIKKIA] 2 00:00:15,059 --> 00:00:19,170 >> Tämä on CS50-- Harvard Yliopiston esittely 3 00:00:19,170 --> 00:00:22,070 älylliseen yritysten tietojenkäsittelytiede 4 00:00:22,070 --> 00:00:23,800 ja taiteen ohjelmointia. 5 00:00:23,800 --> 00:00:27,020 Ja nimeni on David Malan ja Ajattelin vain tänä aamuna, 6 00:00:27,020 --> 00:00:33,120 se on ollut hämmästyttävän 20 vuotta tänään viimeksi olen istunut jossa te nyt. 7 00:00:33,120 --> 00:00:33,840 >> Se on 1996. 8 00:00:33,840 --> 00:00:37,550 Olin toisen vuoden opiskelija, ja otin CS50 ensimmäistä kertaa. 9 00:00:37,550 --> 00:00:40,890 Ja en ollut edes saanut ylös hermo ottaa sen itse lukuvuoden aikana, 10 00:00:40,890 --> 00:00:42,500 osittain koska aikaa. 11 00:00:42,500 --> 00:00:44,782 Tietojenkäsittelytiede minulle oli sellainen kuin, meh. 12 00:00:44,782 --> 00:00:46,990 Olin hieman pelle kasvaa up, mutta en oikeastaan 13 00:00:46,990 --> 00:00:49,180 mitään henkistä kiinnostus näyttivät 14 00:00:49,180 --> 00:00:51,920 vain olla koko joukko ihmiset ohjelmointi kaiken aikaa. 15 00:00:51,920 --> 00:00:53,904 >> Ja Olin peloissani olla rehellinen. 16 00:00:53,904 --> 00:00:56,820 Kurssi ja tietojenkäsittelytieteen lisää yleensä oli ja jossain määrin, 17 00:00:56,820 --> 00:01:01,230 vielä tämä maine kentän varokaa, jos vain koska niin monet meistä 18 00:01:01,230 --> 00:01:04,410 eivät tunne sitä ja epävarma siitä. 19 00:01:04,410 --> 00:01:08,480 Ja se todella oli vasta I asioinut Tämän luokan että sophomore fall-- 20 00:01:08,480 --> 00:01:10,880 ja silloinkin, minä vain kirjoilla koska professor-- 21 00:01:10,880 --> 00:01:13,950 eräs ensimmäinen mentoreita, Brian Kernighan nyt Princeton-- 22 00:01:13,950 --> 00:01:15,700 salli minun ottamaan luokan hylätyn. 23 00:01:15,700 --> 00:01:18,020 Ja todellakin, siksi tänään sallia ja kannustaa 24 00:01:18,020 --> 00:01:20,030 opiskelijat ottamaan tämän luokan sat / unsat. 25 00:01:20,030 --> 00:01:22,040 >> Ja vasta sitten, jonka lukukauden loppuun 26 00:01:22,040 --> 00:01:24,870 ymmärsin kuin, Vau, tämä ei ollut niin tuntemattomia kentän. 27 00:01:24,870 --> 00:01:26,850 Itse asiassa tämä oli hyvin valtuuttamisesta kenttä, 28 00:01:26,850 --> 00:01:28,970 ja enemmän jännittävän, varsinkin myöhemmin, 29 00:01:28,970 --> 00:01:32,809 otin kursseja Dramatic Arts 101 ja Latinalaisen 30 00:01:32,809 --> 00:01:34,600 ja sitten lopulta grad koulu arkeologia, 31 00:01:34,600 --> 00:01:37,860 minä todella alkaa nähdä risteyksiä tällä alalla, tietokone 32 00:01:37,860 --> 00:01:41,979 tiede, jossa humanististen, luonnontieteet, taiteen, lääketiede, 33 00:01:41,979 --> 00:01:42,520 ja vastaavat. 34 00:01:42,520 --> 00:01:44,420 Ja niin se mitä vain niin siisti noin tietojenkäsittelytiede 35 00:01:44,420 --> 00:01:46,930 lopulta, kun toivomme sinun see-- on sen soveltuvuus 36 00:01:46,930 --> 00:01:50,280 Näiden muilla aloilla, ja miten voit kestää jonkin nykypäivän ja lukukauden 37 00:01:50,280 --> 00:01:53,070 ideoita ja käytännön taitoja takaisin oman verkkotunnuksen, 38 00:01:53,070 --> 00:01:58,200 ja todella tutustua tähän risteykseen vapaiden taiteiden ja tieteiden. 39 00:01:58,200 --> 00:02:02,690 >> Joten 73% teistä, jos viimeinen vuosi on viitteitä, 40 00:02:02,690 --> 00:02:04,390 eivät ole koskaan CS kurssin ennen. 41 00:02:04,390 --> 00:02:06,389 Joten jos, kuten minä, olet vahan 42 00:02:06,389 --> 00:02:09,190 peloissaan, tai rehellisesti et todella varma, miksi olet edes täällä. 43 00:02:09,190 --> 00:02:11,510 Ehkä juuri seurannut joitakin ystäviä Sanders juuri nyt. 44 00:02:11,510 --> 00:02:12,490 Se on täysin kunnossa. 45 00:02:12,490 --> 00:02:15,059 Tavoitteena tässä on koukku te ja vakuuttaa teille 46 00:02:15,059 --> 00:02:17,100 että jos et katsoa vasemmalle ja oikealle, 47 00:02:17,100 --> 00:02:21,480 aiot nähdä luokkatovereiden kanssa niin vähän tai paljon kokemusta 48 00:02:21,480 --> 00:02:22,890 että itse olla. 49 00:02:22,890 --> 00:02:25,280 Ja todellakin, me jakaa joitakin tilastotietoja myöhemmin tänään 50 00:02:25,280 --> 00:02:28,120 siitä, mitä Väestörakenne luokan tyypillisesti näyttävät. 51 00:02:28,120 --> 00:02:31,440 >> Ja lisäsi reassurance-- ja me tarkoitan koska otin aikana 52 00:02:31,440 --> 00:02:33,252 joitakin vuosia ago-- vuonna kurssin oppimäärän 53 00:02:33,252 --> 00:02:35,460 on this-- että mitä lopulta Olennaista tässä kurssin 54 00:02:35,460 --> 00:02:38,040 ei ole niin paljon, jos lopetat jopa suhteessa luokkatoverit, 55 00:02:38,040 --> 00:02:43,110 mutta missä viikolla 11, lopussa lukukausi, päätyvät suhteessa itse 56 00:02:43,110 --> 00:02:46,280 viikolla 0, joka on missä olemme täällä tänään. 57 00:02:46,280 --> 00:02:48,704 Ja tämä on mitä tajusin vuosia sitten. 58 00:02:48,704 --> 00:02:50,620 Ja tiedän paljon luokat sanoa, mutta se on 59 00:02:50,620 --> 00:02:52,450 varsinkin tietotekniikassa. 60 00:02:52,450 --> 00:02:55,320 Lopussa päivän, tällä alalla on tuntematon, koska se oli minulle 61 00:02:55,320 --> 00:02:58,590 ja voisi olla teille, on todella vain noin ongelmanratkaisu. 62 00:02:58,590 --> 00:03:01,324 Ja sellaisena se ei ole tässä sovellettavuus saada muilla aloilla. 63 00:03:01,324 --> 00:03:03,490 Ja itse asiassa, jos me yritimme tislata mitä tämä tarkoittaa, 64 00:03:03,490 --> 00:03:06,897 tämä on ongelmanratkaisu olemukseltaan, rohkenen sanoa. 65 00:03:06,897 --> 00:03:09,480 On input-- niin mitä se on, että yrität ratkaista. 66 00:03:09,480 --> 00:03:12,264 On ulostulo, joka on toivottavasti ratkaisu tähän ongelmaan. 67 00:03:12,264 --> 00:03:14,180 Ja sitten, kun olisimme sanoa tietotekniikassa, 68 00:03:14,180 --> 00:03:17,310 on tämä musta laatikko keskeltä et välttämättä 69 00:03:17,310 --> 00:03:19,450 tarvitse huolehtia siitä, kuinka se toimii. 70 00:03:19,450 --> 00:03:22,230 Te itse lopulta ehkä toteuttaa mitä sisällä että laatikko. 71 00:03:22,230 --> 00:03:25,194 Mutta nykypäivän tarkoituksia ja lisää yleensä elämässä, kaikki välität 72 00:03:25,194 --> 00:03:26,610 on, että nämä ongelmat saavat ratkaista. 73 00:03:26,610 --> 00:03:29,340 >> Ja mitä tämä kurssi on lopulta noin tutkii 74 00:03:29,340 --> 00:03:31,700 risteyksessä nämä tulot ja lähdöt, 75 00:03:31,700 --> 00:03:34,410 ja nämä niin sanotut algoritmeja, kuten tulemme pian nähdä, 76 00:03:34,410 --> 00:03:37,450 jotka toteuttavat mitä on alla siellä, huppu. 77 00:03:37,450 --> 00:03:40,487 Mutta nämä tulot ja nämä outputs-- mitä se oikeastaan ​​tarkoittaa? 78 00:03:40,487 --> 00:03:43,570 No, lopussa päivä, tarvitsemme jotkut tapa edustaa tietoa. 79 00:03:43,570 --> 00:03:46,660 Tämä pätee erityisesti tietokoneen, joka niin hieno ja monimutkainen, koska se 80 00:03:46,660 --> 00:03:48,160 voi tuntua, on melko tyhmä laite. 81 00:03:48,160 --> 00:03:52,240 Kestää electricity-- olipa kaapeli- tai akkua input-- 82 00:03:52,240 --> 00:03:55,820 ja sitten se tuottaa joitakin preprogramed vastaukset ruudulla. 83 00:03:55,820 --> 00:03:57,970 >> Mutta miten saamme alusta loppuun siellä? 84 00:03:57,970 --> 00:03:59,470 No, mitä ongelmia voidaan ratkaista? 85 00:03:59,470 --> 00:04:01,050 No, ehkä voisimme kello aloittamista tahansa lukukauden, 86 00:04:01,050 --> 00:04:02,841 yrittävät ottaa läsnäolo Huoneeseen näin. 87 00:04:02,841 --> 00:04:04,750 Joten en voisi tehdä kuin yksi, kaksi, kolme. 88 00:04:04,750 --> 00:04:07,060 Tai ehkä, jos tein sen tavallaan seurata 89 00:04:07,060 --> 00:04:10,560 of myself-- seurata things-- Voisin pian loppuu sormet. 90 00:04:10,560 --> 00:04:14,650 Joten voisin vain tehdä hash marks-- yksi henkilö, kaksi, kolme, neljä, viisi, kuusi, 91 00:04:14,650 --> 00:04:15,431 seitsemän, kahdeksan. 92 00:04:15,431 --> 00:04:17,930 Ja meillä kaikilla on luultavasti tehnyt tämän, onko kädet 93 00:04:17,930 --> 00:04:19,680 tai paperille. 94 00:04:19,680 --> 00:04:22,140 Ja tämä on oikeastaan ​​vain jotain kutsutaan unary notation-- 95 00:04:22,140 --> 00:04:26,130 jossa jos sinulla on vain yksi kirjain oman aakkoset, yksi tai hash 96 00:04:26,130 --> 00:04:29,440 merkki tässä tapauksessa jokaiselle input haluat laskea, 97 00:04:29,440 --> 00:04:32,330 sinun täytyy laittaa alas yksi näistä letters-- yksi näistä markkaa. 98 00:04:32,330 --> 00:04:32,510 >> Selvä. 99 00:04:32,510 --> 00:04:34,790 Siinä kaikki hyvä ja hieno ja ole kovin monimutkaista. 100 00:04:34,790 --> 00:04:37,800 Mutta tietokoneet eivät ole kaikki että paljon monimutkaisempi. 101 00:04:37,800 --> 00:04:40,770 Itse asiassa suurin osa luultavasti tietää vaikka olet ei oikeastaan 102 00:04:40,770 --> 00:04:44,080 katsotaan mitä tämä tarkoittaa, että tietokoneissa vain ymmärrä nollia 103 00:04:44,080 --> 00:04:45,870 ja ones-- ns binary järjestelmään. 104 00:04:45,870 --> 00:04:49,390 Me ihmiset, sen sijaan ovat niin paljon kehittyneempiä sikäli 105 00:04:49,390 --> 00:04:51,770 ymmärrämme nollia kautta ysiä. 106 00:04:51,770 --> 00:04:55,740 >> Mutta vaikka binaarinen on, aluksi silmäyksellä, ole kovin tuttuja, 107 00:04:55,740 --> 00:05:00,330 se osoittautuu se on aivan kuten järjestelmien ja ajatuksia jo tiedämme. 108 00:05:00,330 --> 00:05:02,420 Niinpä esimerkiksi harkita tätä. 109 00:05:02,420 --> 00:05:03,896 Tämä on vain symbolien sekvenssi. 110 00:05:03,896 --> 00:05:05,770 Ja kaikki te, kun vilkaisi sitä, luultavasti 111 00:05:05,770 --> 00:05:09,380 ajatella 123-- mitään todella mielenkiintoinen siellä. 112 00:05:09,380 --> 00:05:11,940 Mutta miksi se tämä numero, 123? 113 00:05:11,940 --> 00:05:14,440 Nämä ovat vain kuvioita päällä screen-- juuri kuviot 114 00:05:14,440 --> 00:05:16,387 että joku olisi voinut toisaalta tai kirjoitettu. 115 00:05:16,387 --> 00:05:18,970 Mutta jos olet kuten minä, luultavasti muistaa alakoulussa 116 00:05:18,970 --> 00:05:21,610 että on olemassa eräänlainen sarakkeita tai paikkoja täällä. 117 00:05:21,610 --> 00:05:25,340 On yksi paikka ja Kymmenen paikka ja sata paikka. 118 00:05:25,340 --> 00:05:29,820 Ja siitä syystä, että tämä on 123 ja ei vain mallia kolme symbolia 119 00:05:29,820 --> 00:05:33,090 siksi, tietenkin, jos on yksi satoja paikassa, 120 00:05:33,090 --> 00:05:36,610 et matematiikka 100 kertaa yhden, ja sitten kaksi kymmenen paikka. 121 00:05:36,610 --> 00:05:41,390 Niin, että 10 kertaa 2, ja sitten kolme yksi paikka ja se on 1 kertaa 3. 122 00:05:41,390 --> 00:05:45,670 Ja kun lisäät kaikki nämä ylös, ja Tietenkin saat 100 plus 20 plus 3. 123 00:05:45,670 --> 00:05:48,220 >> Niinpä aloitimme vain kuvio of symbols-- alphabet-- 124 00:05:48,220 --> 00:05:51,670 mutta sitten kartoitettu merkitys päälle se on suorittanut näitä sarakkeita. 125 00:05:51,670 --> 00:05:54,450 No, käy ilmi, että tietokoneet eivät todellakaan ole 126 00:05:54,450 --> 00:05:56,300 kaikki, jotka poikkeavat sinä ja minä. 127 00:05:56,300 --> 00:06:01,840 Vaan käyttää valtuuksia 10, niin speak-- 1, 10, 100, 1000, 128 00:06:01,840 --> 00:06:04,330 10000 paikka ja niin forth-- ne todella 129 00:06:04,330 --> 00:06:08,930 vain käyttää valtuuksia 2-- joten yksi, 2, 4, ja sitten 130 00:06:08,930 --> 00:06:12,810 Jos laitamme enemmän numeroita, 8, 16, 32, 64, 128, ja niin edelleen. 131 00:06:12,810 --> 00:06:16,050 Ja niin näin tietokone edustaisi numero 0, 132 00:06:16,050 --> 00:06:17,300 aivan kuten me ihmiset. 133 00:06:17,300 --> 00:06:21,660 >> 0, 0, 0-- ja arvata mitä kuvio nollia ja ykkösiä, 134 00:06:21,660 --> 00:06:24,610 Jos tietokone voi vain puhu 0 tai 1-- mitä 135 00:06:24,610 --> 00:06:29,110 kuvio on menossa edustamaan lukumäärä me ihmiset tunnemme 1? 136 00:06:29,110 --> 00:06:30,590 Yeah-- 0, 0, 1. 137 00:06:30,590 --> 00:06:31,090 Selvä. 138 00:06:31,090 --> 00:06:35,900 Joten 0, 0, 1, miten me edustamme 1, joten voisi olla taipuvainen sitten 139 00:06:35,900 --> 00:06:39,510 edustamaan numero 2, jos olet neljän paikka ja kaksi paikka 140 00:06:39,510 --> 00:06:48,290 kuin yksi paikka, voitaisiin sanoa, hyvin, jos meillä oli 1 yksi paikka, 141 00:06:48,290 --> 00:06:50,430 ja nyt haluamme laskea jopa 2, saatat 142 00:06:50,430 --> 00:06:53,310 Tätä ja jättää tämä on nolla. 143 00:06:53,310 --> 00:06:56,397 Mutta tietenkään tämä ei ole, kuinka desimaalin järjestelmä toimii joko. 144 00:06:56,397 --> 00:06:58,230 Jos laittaa numeron nämä molemmat sarakkeet, 145 00:06:58,230 --> 00:06:59,563 sinun täytyy tehdä aritmeettinen. 146 00:06:59,563 --> 00:07:01,930 Joten mitä numero tein vahingossa vain edustaa? 147 00:07:01,930 --> 00:07:06,710 >> Joten se on 3, koska 2 kertaa 1 plus 1 kertaa 1 tietenkin antaa meille kolme. 148 00:07:06,710 --> 00:07:08,340 Joten tämä olisi kaksi. 149 00:07:08,340 --> 00:07:12,730 Terä tavallaan kääntää, niin sanotusti, koska 0 tulee yksi, paljon kuin 9 rooleja yli 150 00:07:12,730 --> 00:07:14,840 ja tulee 0, kun kannat 1. 151 00:07:14,840 --> 00:07:16,510 Tämä puolestaan ​​olisi kolme tietenkin. 152 00:07:16,510 --> 00:07:20,170 Four-- toinen mielenkiintoinen asia tapahtuu, jos ne kaatuessa 153 00:07:20,170 --> 00:07:21,750 ja kannat 1, niin sanotusti. 154 00:07:21,750 --> 00:07:23,320 Joten tämä tietysti on 4. 155 00:07:23,320 --> 00:07:25,160 >> Mutta jos eteenpäin nyt, mikä on suurin määrä menossa 156 00:07:25,160 --> 00:07:26,660 olla, että tietokone voi edustaa? 157 00:07:26,660 --> 00:07:30,420 158 00:07:30,420 --> 00:07:32,380 Joten se on vain seitsemän tässä tapauksessa, eikö? 159 00:07:32,380 --> 00:07:35,570 Koska olet yksi neljästä, yksi on kaksi, yksi yhteen. 160 00:07:35,570 --> 00:07:36,900 Niin, että 4 plus 2 plus 1. 161 00:07:36,900 --> 00:07:37,972 Niin, että antaa sinulle seitsemän. 162 00:07:37,972 --> 00:07:39,680 Ja todellakin, se olisi vaikuttaa ensi silmäyksellä 163 00:07:39,680 --> 00:07:43,750 että tietokoneet voivat laskea ei ole korkeampi kuin tämä. 164 00:07:43,750 --> 00:07:45,210 >> Mutta tämä ei tietenkään ole totta. 165 00:07:45,210 --> 00:07:48,243 Mitä ihmiset tekevät, kun halutaan laskea korkeampi kuin 999? 166 00:07:48,243 --> 00:07:51,000 167 00:07:51,000 --> 00:07:53,900 Ota vain yksi ja vain lisätä neljäs numero vasemmalle. 168 00:07:53,900 --> 00:07:55,070 Ja niin todellakin voisimme. 169 00:07:55,070 --> 00:07:57,900 Meillä voi olla kahdeksan n paikka ja 16. paikka, 170 00:07:57,900 --> 00:08:02,000 ja 32 paikka, 64, 128-- ja te voi vain pitää käynnissä äärettömyyteen asti. 171 00:08:02,000 --> 00:08:04,640 Niinpä nämä nollat ​​ja ones-- ns binary system-- 172 00:08:04,640 --> 00:08:10,290 ovat mitä tietojenkäsittelytieteessä olisi yleensä soittaa vähän, tai binary digit. 173 00:08:10,290 --> 00:08:13,590 >> Mutta nyt, miten saamme siitä käsite tai grafiikkaa näistä asioista 174 00:08:13,590 --> 00:08:14,620 todelliseen tietokoneeseen? 175 00:08:14,620 --> 00:08:17,170 Näyttää siltä, ​​että ohita askel täällä. 176 00:08:17,170 --> 00:08:20,210 No, ainoa tulo lopussa Päivän, minun laptop tässä 177 00:08:20,210 --> 00:08:22,060 on tämä sähkövirta. 178 00:08:22,060 --> 00:08:24,560 Vaikka se on ollut pitkä aikaa, koska olet ajatellut 179 00:08:24,560 --> 00:08:26,580 tai ei koskaan ajatellut miten sähkö toimii, 180 00:08:26,580 --> 00:08:30,909 siellä elektronit virtaavan tai pois, ja se on minun sellainen panos. 181 00:08:30,909 --> 00:08:34,659 >> Joten jos siinä kaikki, että olemme saada syötteenä täällä, 182 00:08:34,659 --> 00:08:36,830 mitä voimme tehdä tämän tiedon? 183 00:08:36,830 --> 00:08:40,040 No, voisimme ajatella nolla vain poissaolon sähköä. 184 00:08:40,040 --> 00:08:42,540 Mikään ei ole flowinw, mikään ei ole liikkuva, mitään ei tapahdu. 185 00:08:42,540 --> 00:08:44,690 Se on vain oletus state-- nolla. 186 00:08:44,690 --> 00:08:48,200 Mutta jos sähkö virtaa, miksi emme vain mielivaltaisesti, mutta maailmanlaajuisesti 187 00:08:48,200 --> 00:08:50,250 johdonmukaisesti, soita, että yksi. 188 00:08:50,250 --> 00:08:54,760 >> Joten yksinkertaisesti joilla ei ole valtaa, meillä on nolla, kyllä ​​teho, 189 00:08:54,760 --> 00:08:57,520 meillä one-- ole valtaa, kyllä ​​teho. 190 00:08:57,520 --> 00:09:01,520 Ja sillä tavalla, käyttäen jotain enemmän fyysinen tai sähköinen 191 00:09:01,520 --> 00:09:05,340 alamme toteuttaa tämän käsitteen jotain joko on yksi tai nolla. 192 00:09:05,340 --> 00:09:07,230 Todellakin, voisimme tehdä sen tänne. 193 00:09:07,230 --> 00:09:10,590 Joten tässä, en ole kolmea vaan kahdeksan hehkulamput, joista kukin 194 00:09:10,590 --> 00:09:11,810 on oma kytkin. 195 00:09:11,810 --> 00:09:15,760 >> Ja joten jos halusin edustaa numero seitsemän täällä, 196 00:09:15,760 --> 00:09:18,510 Voisin päälle nämä kolme lamput. 197 00:09:18,510 --> 00:09:21,470 Ja todellakin, sisäpuoli tietokoneeni on miljoonia, 198 00:09:21,470 --> 00:09:25,650 miljardeja asioita, jotka ovat vain pienempi kuin, jota kutsutaan transistorit, 199 00:09:25,650 --> 00:09:27,330 kytkimiä, että te vain päälle ja pois päältä. 200 00:09:27,330 --> 00:09:30,420 Joten nämä ovat big-- suhteellisen big-- kytkimet sisällä minun laptop-- 201 00:09:30,420 --> 00:09:32,150 monia, monia, monia, paljon enemmän kytkimiä. 202 00:09:32,150 --> 00:09:35,160 Mutta kaikki ne on juuri that-- käännä jotain, käännä jotain pois. 203 00:09:35,160 --> 00:09:38,076 Ja siten, tietokone voi edustaa, näiden miljoonia tai miljardeja 204 00:09:38,076 --> 00:09:40,480 transistorien, paljon ja paljon nollia ja ykkösiä. 205 00:09:40,480 --> 00:09:43,160 Ja siellä on muita laitteita vielä, että voit tallentaa tietoa pitkän aikavälin, 206 00:09:43,160 --> 00:09:45,243 niin, että kun vetää plug, et menetä sitä. 207 00:09:45,243 --> 00:09:46,900 Mutta se tarina toisen päivän. 208 00:09:46,900 --> 00:09:51,170 >> Mitä siis voimme tehdä näillä bittiä? 209 00:09:51,170 --> 00:09:54,309 Ehkä me vain ottaa paineita pois me-- 210 00:09:54,309 --> 00:09:56,600 ehkä joku haluaa tulla tänne ja tarjota jopa demo? 211 00:09:56,600 --> 00:09:57,516 Näin tämän käden ensin. 212 00:09:57,516 --> 00:09:58,709 Mikä sinun nimesi on? 213 00:09:58,709 --> 00:09:59,250 Maday: Maday. 214 00:09:59,250 --> 00:10:00,542 DAVID MALAN: Maday, tule ylös. 215 00:10:00,542 --> 00:10:01,250 Hauska tavata. 216 00:10:01,250 --> 00:10:02,390 Maday: Hauska tavata. 217 00:10:02,390 --> 00:10:02,930 >> DAVID MALAN: Tätä tietä. 218 00:10:02,930 --> 00:10:04,182 En tarvitse huuli teitä. 219 00:10:04,182 --> 00:10:04,682 Selvä. 220 00:10:04,682 --> 00:10:11,090 Joten tässä meillä on, notice-- yksi, two-- me muokata sitä out-- yksi, kaksi, neljä, 221 00:10:11,090 --> 00:10:13,350 kahdeksan, 16, 32, 64, 128. 222 00:10:13,350 --> 00:10:14,220 Tämä on tarkoituksellista. 223 00:10:14,220 --> 00:10:17,370 On kahdeksan bittiä here-- binary digits-- nollia ja ykkösiä. 224 00:10:17,370 --> 00:10:21,460 Ja vähän on hyödyllinen yksikkö measure-- ei niin hyödyllinen mittayksikkö 225 00:10:21,460 --> 00:10:21,999 itsensä päälle. 226 00:10:21,999 --> 00:10:24,290 Yleensä haluat ainakin Kahdeksan näistä asioista, alias 227 00:10:24,290 --> 00:10:24,790 tavu. 228 00:10:24,790 --> 00:10:26,230 Meillä on siis tavun bittien täällä. 229 00:10:26,230 --> 00:10:31,130 >> Jos siis halusi haastaa teitä, esimerkiksi eritellään, binary, 230 00:10:31,130 --> 00:10:33,230 tämä arvo here-- 42. 231 00:10:33,230 --> 00:10:35,140 Haluatko ottaa puukottaa että? 232 00:10:35,140 --> 00:10:36,034 >> Maday: [tahtiimme]. 233 00:10:36,034 --> 00:10:38,700 DAVID MALAN: Joo, juuri työnnä pieni valkoinen kytkimet edessä. 234 00:10:38,700 --> 00:10:41,290 Ja haluat oikeinkirjoituksen ulos 42, ja jaossa 235 00:10:41,290 --> 00:10:44,061 on tämä CS50 stressi pallo jos saat tämän. 236 00:10:44,061 --> 00:10:44,560 Selvä. 237 00:10:44,560 --> 00:10:46,420 Joten olet 32. 238 00:10:46,420 --> 00:10:48,430 Menemme tarvitsee 42. 239 00:10:48,430 --> 00:10:51,410 Niin, että kahdeksan, niin se on 40. 240 00:10:51,410 --> 00:10:54,160 Ja excellent-- erittäin hienosti tehty. 241 00:10:54,160 --> 00:10:55,186 Kiitos. 242 00:10:55,186 --> 00:10:58,790 >> [SUOSIONOSOITUKSET] 243 00:10:58,790 --> 00:10:59,290 Selvä. 244 00:10:59,290 --> 00:11:00,623 Joten meillä on yksi enemmän stressiä pallo. 245 00:11:00,623 --> 00:11:03,595 Tehdään vielä kerran, jos voi. 246 00:11:03,595 --> 00:11:05,368 Eräs toinen vapaaehtoinen? 247 00:11:05,368 --> 00:11:07,970 Vapaa stressipallo, vapaa stressipallo. 248 00:11:07,970 --> 00:11:08,470 OK. 249 00:11:08,470 --> 00:11:11,640 Tänne keskellä, Haluatko tulla alas? 250 00:11:11,640 --> 00:11:14,100 Selvä. 251 00:11:14,100 --> 00:11:15,552 Tiedän. 252 00:11:15,552 --> 00:11:16,360 Siellä mennään. 253 00:11:16,360 --> 00:11:20,818 >> Joten numerot here-- tule alas. 254 00:11:20,818 --> 00:11:21,567 Mikä sinun nimesi on? 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 OK. 258 00:11:23,320 --> 00:11:24,810 Tule ylös, Davey. 259 00:11:24,810 --> 00:11:25,890 Hauska tavata. 260 00:11:25,890 --> 00:11:28,639 Ja mitä me aiomme olla sinulle spell-- jos voisit viipyä siellä 261 00:11:28,639 --> 00:11:32,810 vain yksi moment-- on numero 50. 262 00:11:32,810 --> 00:11:36,293 Mutta, mutta, mutta mutta, mutta nämä ovat asteella magneetteja syystä. 263 00:11:36,293 --> 00:11:39,370 264 00:11:39,370 --> 00:11:43,327 Juuri hieman vaikeampi, okei? 265 00:11:43,327 --> 00:11:44,160 Vielä kahdeksan. 266 00:11:44,160 --> 00:11:46,820 267 00:11:46,820 --> 00:11:47,320 Selvä. 268 00:11:47,320 --> 00:11:48,486 Joten mitä meillä on siellä? 269 00:11:48,486 --> 00:11:51,356 Meillä on 32. 270 00:11:51,356 --> 00:11:54,344 Kiva. 271 00:11:54,344 --> 00:11:58,610 32 plus 16 antaa meille 48-- niin lähellä. 272 00:11:58,610 --> 00:12:00,390 Ja ihana. 273 00:12:00,390 --> 00:12:02,831 Onnittelut Davey samoin. 274 00:12:02,831 --> 00:12:05,720 >> [SUOSIONOSOITUKSET] 275 00:12:05,720 --> 00:12:06,516 >> Selvä. 276 00:12:06,516 --> 00:12:09,390 Joten voimme tehdä tätä koko päivän, ja se ei saa kovin paljon muuta 277 00:12:09,390 --> 00:12:10,800 kiinnostava ja haastava. 278 00:12:10,800 --> 00:12:13,250 Mutta se todella point-- Näin suhteellisen yksinkertainen 279 00:12:13,250 --> 00:12:16,930 se on, lopussa päivän, mitä tietokone tekee tallentaa tietoa, 280 00:12:16,930 --> 00:12:21,740 tallentaa tuloa ja lopulta säilytä tai edustavat niitä lähtöjä. 281 00:12:21,740 --> 00:12:23,750 Mutta numerot eivät yksin kaiken mielenkiintoinen. 282 00:12:23,750 --> 00:12:26,069 >> Joten ihmiset, joitakin vuosia sitten, päätti, tiedätkö mitä? 283 00:12:26,069 --> 00:12:27,860 Olisi mukavaa, jos tietokoneet eivät olleet ainoastaan 284 00:12:27,860 --> 00:12:31,030 laskimet aritmeettinen toiminnot, mutta todellisuudessa voisi 285 00:12:31,030 --> 00:12:35,209 tehdä asioita, kuten tekstinkäsittely, tai sähköposti, tai modernimpi ruumiillistumia 286 00:12:35,209 --> 00:12:36,500 Tällaisten teknologioiden. 287 00:12:36,500 --> 00:12:40,680 Ja niin maailma päätti mielivaltaisesti, mutta yleisesti, 288 00:12:40,680 --> 00:12:44,380 että jos haluat tallentaa pääomaa kirjain A tietokoneessa, tiedätkö mitä? 289 00:12:44,380 --> 00:12:47,730 Toivotaan vain kaikki samaa mieltä tallentamiseen jotkut kuvio nollia ja ones-- 290 00:12:47,730 --> 00:12:52,422 bits-- että lopulta edustaa desimaaliluku 65. 291 00:12:52,422 --> 00:12:53,630 Me vain kaikki yhtä mieltä. 292 00:12:53,630 --> 00:12:56,620 >> 66 merkitsisi B, 67 merkitsisi C, 293 00:12:56,620 --> 00:13:00,210 ja siellä on rypäleterttuja muita malleja nollia ja ykkösiä, tai taustalla numeroita, 294 00:13:00,210 --> 00:13:02,224 jotka edustavat muut kirjaimet vielä. 295 00:13:02,224 --> 00:13:04,390 Joten jos sellainen henkisesti omaksua tätä hetken, 296 00:13:04,390 --> 00:13:10,900 Olen tarkoituksella sietää kautta I, jossa H 72 ja minä on 73. 297 00:13:10,900 --> 00:13:15,830 Jos tietokone sitten, yhteydessä tekstinkäsittely ohjelmaa tai sähköpostiviestin, 298 00:13:15,830 --> 00:13:19,620 paljasti alla huppu on nämä kuviot bits-- kuvio 299 00:13:19,620 --> 00:13:22,500 bittien, jotka edustavat 72, sitten 73, sitten 33-- 300 00:13:22,500 --> 00:13:26,640 mitä tämä voisi oikeinkirjoituksen kyseisessä ohjelmassa? 301 00:13:26,640 --> 00:13:28,150 >> Joten hei, ja sitten jotain. 302 00:13:28,150 --> 00:13:31,460 Emme välttämättä tiedä, mutta todellakin 33-- ei kartalla earlier-- 303 00:13:31,460 --> 00:13:33,170 oli yksinkertaisesti huutomerkki. 304 00:13:33,170 --> 00:13:38,870 Joten 72 oli H, 73 on I, 33 tapahtuu olla huutomerkki edelleen. 305 00:13:38,870 --> 00:13:41,719 Mutta se kaikki hyvä ja hieno, ja itse asiassa nykyään, sen sijaan 306 00:13:41,719 --> 00:13:43,760 vain käyttää seitsemän tai kahdeksan bitit, kiitos jotain 307 00:13:43,760 --> 00:13:46,530 nimeltään Unicode vastakohtana ASCII takaisin seuraavana päivänä, 308 00:13:46,530 --> 00:13:50,010 me oikeastaan ​​voi edustaa jopa enemmän kiinnostavia hahmoja kuin vain 309 00:13:50,010 --> 00:13:52,980 Näiden alkuperäinen Englanti puolueellinen kirjaimia. 310 00:13:52,980 --> 00:13:56,030 Mutta voimme myös edustaa jopa siistimpi asioita, kuten värejä. 311 00:13:56,030 --> 00:13:59,750 >> Jos olet koskaan kuullut lyhennettä RGB, punainen, vihreä, sininen, että 312 00:13:59,750 --> 00:14:03,510 vain sitä, että tietokone tyypillisesti käyttää kolmea erilaista bits-- 313 00:14:03,510 --> 00:14:06,760 jokin määrä bittejä, jotka edustavat numeron kuinka paljon punaista haluat, 314 00:14:06,760 --> 00:14:08,940 toinen joukko bittejä varten kuinka paljon vihreää haluat, 315 00:14:08,940 --> 00:14:11,430 ja toinen joukko numero kuinka paljon sininen haluat. 316 00:14:11,430 --> 00:14:14,457 Niin suuri määrä merkitsee paljon punainen, pieni määrä tarkoittaa ei punaista. 317 00:14:14,457 --> 00:14:16,290 Ja niin nämä ovat ystävällisiä keski arvojen täällä. 318 00:14:16,290 --> 00:14:20,180 >> Joten antaa minulle punainen, antaa minulle vihreä, ja anna minulle hieman sinistä. 319 00:14:20,180 --> 00:14:24,260 Ja jos yhdistelmä näitä kolmea sävyä värin yhteen, tässä tapauksessa, 320 00:14:24,260 --> 00:14:26,850 saat tämän murky sävy keltainen tai ruskea. 321 00:14:26,850 --> 00:14:32,330 Mutta kuvio kahdeksan plus kahdeksan plus eight-- niin 24 bits-- 322 00:14:32,330 --> 00:14:36,550 vasemmalta oikealle, on miten tietokone merkitsisi, että erityistä väriä. 323 00:14:36,550 --> 00:14:38,090 Nyt tämä on vain piste ruudulla. 324 00:14:38,090 --> 00:14:42,230 Jos tarkastellaan todella lähellä television oman tietokone, näet pisteiden tai pikseliä. 325 00:14:42,230 --> 00:14:45,420 Ja jos on koko verkkoon pikseliä, vaaka- ja pystysuunnassa, 326 00:14:45,420 --> 00:14:46,630 olet kuvia. 327 00:14:46,630 --> 00:14:49,029 Ja sitten, jos otat kuva ja sitten pestä 328 00:14:49,029 --> 00:14:52,070 näytä itsesi toisen kuvan, toista kuva, toinen kuva, toinen kuva, 329 00:14:52,070 --> 00:14:54,760 todella nopeasti, sinun on tietenkin elokuvia. 330 00:14:54,760 --> 00:14:56,109 >> Ja niin huomaa missä aloitimme. 331 00:14:56,109 --> 00:14:57,650 Aloitimme näiden nollia ja ykkösiä. 332 00:14:57,650 --> 00:15:00,570 Teimme sieltä desimaalimuotoon numeroita, miten me edustamme niitä. 333 00:15:00,570 --> 00:15:02,070 Nyt meillä on aakkosten kirjainta. 334 00:15:02,070 --> 00:15:05,664 Mutta muissa yhteyksissä odottaa, voimme käyttää muutama bittiä ja edustaa värejä. 335 00:15:05,664 --> 00:15:07,830 Heti kun on kykyyn edustaa värejä, 336 00:15:07,830 --> 00:15:11,200 sinulla on kyky edustaa valokuvia ja animoituja gif 337 00:15:11,200 --> 00:15:13,780 ja muita vastaavia merkkejä ruudulla. 338 00:15:13,780 --> 00:15:17,160 Ja kun on koko joukko kuvat lentävät ihmisen kerralla, 339 00:15:17,160 --> 00:15:21,480 se näyttää elokuvia, ja niin saat videoita samoin. 340 00:15:21,480 --> 00:15:23,460 >> Joten käyttää näitä hyvin yksinkertaiset perusalkioiden me 341 00:15:23,460 --> 00:15:28,070 on tapa esittää lopulta kaikki nämä muodot media. 342 00:15:28,070 --> 00:15:30,450 Ja olemme otetun uudelleen ja uudestaan ​​ja uudestaan, kunnes 343 00:15:30,450 --> 00:15:33,467 saada alin taso Tämän korkeimmalla tasolla. 344 00:15:33,467 --> 00:15:35,550 Niin, että antaa meille tämän yleinen käsitys abstraktio. 345 00:15:35,550 --> 00:15:36,990 Mutta aloitimme täällä. 346 00:15:36,990 --> 00:15:38,790 >> Täällä nyt, voisimme edustavat tietokoneessa 347 00:15:38,790 --> 00:15:41,920 meidän tuloa ja nollia ja ykkösiä, Meidän lähtöjen nollia ja ykkösiä, 348 00:15:41,920 --> 00:15:43,640 mutta mitä menee laatikon sisällä? 349 00:15:43,640 --> 00:15:46,080 Se kun tietokone tiede saa mielenkiintoista. 350 00:15:46,080 --> 00:15:49,770 Se on sinun todella tuoda oma mielensä kantamaan ongelmien ratkaisemiseksi. 351 00:15:49,770 --> 00:15:52,590 Voimme nyt määrätä, että Loput lukukauden, kyllä. 352 00:15:52,590 --> 00:15:53,870 En tiedä, miten binary toimii. 353 00:15:53,870 --> 00:15:57,942 Muistan kuinka ASCII tai Unicode-- kartoitus on letters-- teoksia. 354 00:15:57,942 --> 00:15:59,650 Ja se varmasti erottuu selvää, että me 355 00:15:59,650 --> 00:16:03,470 voisi edustaa punainen ja vihreä ja sininen, ja edustaa multimedian samoin. 356 00:16:03,470 --> 00:16:05,390 Mutta tämä on mielenkiintoista tavaraa. 357 00:16:05,390 --> 00:16:09,790 Tämä tekee joku kykenevät ratkaisemaan ongelmia. 358 00:16:09,790 --> 00:16:11,980 >> Ja yksi tällainen ongelma haluamme tehdä, todellakin, 359 00:16:11,980 --> 00:16:15,345 ottaa läsnäolo, tai Näin algoritmien. 360 00:16:15,345 --> 00:16:16,470 Ja vielä minä voisi tehdä tätä. 361 00:16:16,470 --> 00:16:19,580 En voisi tehdä yksi, kaksi, kolme, neljä viisi, kuusi, seitsemän, kahdeksan yhdeksästä. 362 00:16:19,580 --> 00:16:21,520 Voisin kirjoittaa sen alas seurata sitä. 363 00:16:21,520 --> 00:16:23,769 Mutta se, miten olisin edustavat tiedot. 364 00:16:23,769 --> 00:16:27,550 Tai sitten voisi tehdä tämän faster-- kaksi, neljä, kuusi, kahdeksan, kymmenen, 12, 14, 16, 18, 20, 365 00:16:27,550 --> 00:16:30,380 22-- tuntuu kahdesti niin nopeasti, mutta se on silti 366 00:16:30,380 --> 00:16:32,050 vie paljon aikaa. 367 00:16:32,050 --> 00:16:35,990 >> Mutta näyttää siltä, ​​jos me hyödyntää vielä toinen resource-- ja todellakin tietokoneet 368 00:16:35,990 --> 00:16:38,940 näinä päivinä on useita suorittimia tai aivot. 369 00:16:38,940 --> 00:16:41,970 On käynyt ilmi, tietokoneet voivat ei paljon asiaa kerralla, 370 00:16:41,970 --> 00:16:44,460 ja todellakin me, tässä huoneessa, voisi edustaa juuri tätä. 371 00:16:44,460 --> 00:16:47,130 >> Joten se on vähän sosiaalisesti hankala, mutta jos olisi huumoria minua 372 00:16:47,130 --> 00:16:51,550 vain kolme vaihetta, anna minun kysyä jokainen siellä vain 373 00:16:51,550 --> 00:16:54,640 seisomaan hetkeksi. 374 00:16:54,640 --> 00:16:57,380 Nouse ylös. 375 00:16:57,380 --> 00:17:01,580 Joten kysy itseltäsi, numero one-- joten jokainen tässä huoneessa, 376 00:17:01,580 --> 00:17:05,010 paitsi ihmiset, jotka eivät ole velvoita, ajattelevat numero yksi. 377 00:17:05,010 --> 00:17:06,510 Niin, että on määrä juuri nyt. 378 00:17:06,510 --> 00:17:09,399 Tämä on ensimmäinen askel, tai sen tietojenkäsittelytieteessä tai ohjelmoija 379 00:17:09,399 --> 00:17:11,827 tyypillisesti tehdä, aiomme aloittaa laskenta nollasta. 380 00:17:11,827 --> 00:17:14,410 Jos pienin määrä voimme edustaa näitä lamppuja 381 00:17:14,410 --> 00:17:17,410 on nolla, jonka ne jäisivät kaikki pois, voisin yhtä hyvin 382 00:17:17,410 --> 00:17:19,271 aloita laskien nolla on yhden sijasta. 383 00:17:19,271 --> 00:17:21,020 Ja niin se mitä tietotekniikan tutkijoita tehdä. 384 00:17:21,020 --> 00:17:23,750 Joten vaihe nolla, seisomaan ja ajattelevat numero yksi. 385 00:17:23,750 --> 00:17:26,339 Seuraava vaihe on this-- pari pois jonkun pysyvän 386 00:17:26,339 --> 00:17:27,660 ja lisää numeroita yhteen. 387 00:17:27,660 --> 00:17:30,660 388 00:17:30,660 --> 00:17:32,850 Ihana. 389 00:17:32,850 --> 00:17:37,640 >> Joten tällä hetkellä, kirjaimellisesti jokainen osallistuva 390 00:17:37,640 --> 00:17:41,930 ajattelee numero 2, paitsi yhden outoa henkilö, jos meillä on 391 00:17:41,930 --> 00:17:43,450 pariton määrä henkilöä huoneessa. 392 00:17:43,450 --> 00:17:50,640 Ja nyt kolmas vaihe tässä on menossa olla this-- teistä pitäisi istua alas. 393 00:17:50,640 --> 00:17:54,490 Yksi pitäisi istua alas, ja jos olet edelleen pystyssä, 394 00:17:54,490 --> 00:17:56,590 siirry takaisin vaiheeseen yksi. 395 00:17:56,590 --> 00:18:44,799 396 00:18:44,799 --> 00:18:45,790 Selvä. 397 00:18:45,790 --> 00:19:00,760 398 00:19:00,760 --> 00:19:01,650 Selvä. 399 00:19:01,650 --> 00:19:03,880 Joten yhä useammat ihmiset pitäisi istua alas. 400 00:19:03,880 --> 00:19:08,280 Huomaa, että tämä on aiheuttanut loop-- jonkinlainen sykli. 401 00:19:08,280 --> 00:19:11,983 Jotkut teistä tulisi olla hankalasti jumissa, menee edestakaisin ensimmäinen vaihe 402 00:19:11,983 --> 00:19:14,180 ja kaksi, yksi ja kaksi, yksi ja kaksi. 403 00:19:14,180 --> 00:19:21,190 404 00:19:21,190 --> 00:19:21,810 Se on okei. 405 00:19:21,810 --> 00:19:22,630 Ensimmäinen bug. 406 00:19:22,630 --> 00:19:24,740 Me käsitellä sitä. 407 00:19:24,740 --> 00:19:25,320 Selvä. 408 00:19:25,320 --> 00:19:27,370 Yritän kannustaa asioita pitkin. 409 00:19:27,370 --> 00:19:31,454 >> Teoriassa, vain yksi henkilö seisoo kuten kaikki edelleen pareiksi. 410 00:19:31,454 --> 00:19:33,870 Haluan kuitenkin nopeuttaa asioita ihmisten kanssa yhä pystyssä. 411 00:19:33,870 --> 00:19:35,480 Mitä numero olet ajatellut? 412 00:19:35,480 --> 00:19:36,070 46. 413 00:19:36,070 --> 00:19:36,570 OK. 414 00:19:36,570 --> 00:19:37,820 Menkää ja istumaan. 415 00:19:37,820 --> 00:19:39,190 Te ovat yhä pystyssä. 416 00:19:39,190 --> 00:19:42,130 Kuka vielä pystyssä? 417 00:19:42,130 --> 00:19:45,240 Mitä numero olet ajatellut? 418 00:19:45,240 --> 00:19:46,160 OK. 419 00:19:46,160 --> 00:19:47,900 >> Joten me palaan. 420 00:19:47,900 --> 00:19:49,630 Takana? 421 00:19:49,630 --> 00:19:50,790 Mikä tuo on? 422 00:19:50,790 --> 00:19:53,100 22. 423 00:19:53,100 --> 00:19:56,540 OK joku muu up top-- joo? 424 00:19:56,540 --> 00:19:57,720 34. 425 00:19:57,720 --> 00:19:58,300 OK. 426 00:19:58,300 --> 00:20:02,780 Tänne minun right-- täällä? 427 00:20:02,780 --> 00:20:06,820 132, erittäin mukava. 428 00:20:06,820 --> 00:20:08,380 22? 429 00:20:08,380 --> 00:20:08,990 >> OK. 430 00:20:08,990 --> 00:20:10,031 Ja kuka vielä pystyssä? 431 00:20:10,031 --> 00:20:11,000 Täällä? 432 00:20:11,000 --> 00:20:14,520 46, erittäin mukava. 433 00:20:14,520 --> 00:20:16,890 72. 434 00:20:16,890 --> 00:20:18,220 En voi pysähtyä paljon kauemmin. 435 00:20:18,220 --> 00:20:20,520 Joo? 436 00:20:20,520 --> 00:20:22,490 30, mukava. 437 00:20:22,490 --> 00:20:24,120 Täällä? 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 >> Ja Uskon, että jokainen paitsi te, ei paineita. 441 00:20:30,920 --> 00:20:32,860 Hei odota. 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 Vain kahdeksan. 445 00:20:38,281 --> 00:20:38,780 OK. 446 00:20:38,780 --> 00:20:41,030 Vain kahdeksan. 447 00:20:41,030 --> 00:20:42,580 Täällä alhaalla? 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 Tämä on pahin täytäntöönpanoa Tämän algoritmin koskaan. 454 00:20:54,690 --> 00:20:55,190 OK. 455 00:20:55,190 --> 00:20:59,760 Joten kukaan muu? 456 00:20:59,760 --> 00:21:00,421 Kukaan muu? 457 00:21:00,421 --> 00:21:00,920 OK. 458 00:21:00,920 --> 00:21:03,300 Yksi vielä. 459 00:21:03,300 --> 00:21:04,400 16? 460 00:21:04,400 --> 00:21:04,900 OK. 461 00:21:04,900 --> 00:21:05,510 16. 462 00:21:05,510 --> 00:21:06,010 Selvä. 463 00:21:06,010 --> 00:21:09,070 Jos siis ole jäänyt ketään valokeilassa täällä, kun Enter, 464 00:21:09,070 --> 00:21:13,091 näemme, algoritmien, The kokonaismäärä henkilöä Sanders. 465 00:21:13,091 --> 00:21:16,340 Koska uudelleen, se on ikään kuin jokainen kun istui läpäissyt numero pois 466 00:21:16,340 --> 00:21:19,215 joku muu, joku muu, jollekulle toiselle, niin että teoriassa, 467 00:21:19,215 --> 00:21:22,304 lopulta vain yksi hankala henkilö pitäisi jättää pysyvä. 468 00:21:22,304 --> 00:21:22,970 Mutta se käy hyvin. 469 00:21:22,970 --> 00:21:24,290 Me nopeuttanut asioita käsin. 470 00:21:24,290 --> 00:21:27,590 On erityisen vaikea nähdä tässä nimenomaisessa tilaan. 471 00:21:27,590 --> 00:21:34,200 >> Ja henkilöiden määrä mielestämme on tässä 546. 472 00:21:34,200 --> 00:21:37,330 Kaikkiaan olin kädellä jonka opetus työsopimuksia, 473 00:21:37,330 --> 00:21:40,660 joka teki sen vanhan koulu hidas tapa, oli 820. 474 00:21:40,660 --> 00:21:43,660 >> [Nauraa] 475 00:21:43,660 --> 00:21:47,170 >> [SUOSIONOSOITUKSET] 476 00:21:47,170 --> 00:21:48,670 >> Se on okei. 477 00:21:48,670 --> 00:21:50,740 Niin varmasti silloin, on näitä vikoja. 478 00:21:50,740 --> 00:21:51,460 Ja se käy hyvin. 479 00:21:51,460 --> 00:21:53,810 Ja niin muistelen tätä ensimmäistä kertaa jotain 480 00:21:53,810 --> 00:21:55,420 kirjoitat ei välttämättä toimi. 481 00:21:55,420 --> 00:21:57,620 Tämä on tapahtunut minulle täällä. 482 00:21:57,620 --> 00:22:00,844 Mutta katsotaan nyt pohtia, miten voisimme soveltaa tätä samaa ajatusta jotain 483 00:22:00,844 --> 00:22:03,760 ehkä nähnyt aiemmin, mikä on tämä vanha tekniikka here-- 484 00:22:03,760 --> 00:22:05,130 todella iso puhelinluettelosta. 485 00:22:05,130 --> 00:22:09,380 Ja olettaa, että tämä puhelinluettelo on 1000 sivua ja 1000 nimiä 486 00:22:09,380 --> 00:22:11,360 ja numerot aakkosjärjestyksessä sen sisälle. 487 00:22:11,360 --> 00:22:14,860 >> No, voisimme tavallaan soveltaa samanlaista Ajatus tämän hyvin fyysinen ongelma, 488 00:22:14,860 --> 00:22:16,270 vain käyttämällä minut. 489 00:22:16,270 --> 00:22:18,810 Olen juuri sellainen petkuttanut hyödyntämällä kaikkia teitä 490 00:22:18,810 --> 00:22:23,240 jossa on paljon ja paljon erilaisia ​​suorittimia tai aivot suorittamalla joitakin algoritmi. 491 00:22:23,240 --> 00:22:25,440 Mutta jos se on vain vähän vanha minulle, voin silti 492 00:22:25,440 --> 00:22:29,630 hyödyntää että sama olemus idean jakamalla ja valloittaa tämän ongelman 493 00:22:29,630 --> 00:22:32,970 uudestaan ​​ja uudestaan, jolloin puolet teistä, puolet teistä, puoli teistä, puoli teistä, 494 00:22:32,970 --> 00:22:35,830 teoriassa pidetään istuen, kunnes me jätettiin, teoreettisesti, 495 00:22:35,830 --> 00:22:36,990 vain yksi henkilö. 496 00:22:36,990 --> 00:22:39,810 >> Joten tämä vanha technology-- emme 497 00:22:39,810 --> 00:22:43,030 tarvitsevat tätä map-- tämä vanha koulu teknologia, 498 00:22:43,030 --> 00:22:47,300 voisimme alkaa etsiä jonkun kuten Mike Smith, yksi sivu kerrallaan. 499 00:22:47,300 --> 00:22:49,410 Ja näen, että mitään, Mike ei ole täällä. 500 00:22:49,410 --> 00:22:51,110 Olen edelleen A-osassa. 501 00:22:51,110 --> 00:22:53,900 Lopulta minusta itseni B osassa. 502 00:22:53,900 --> 00:22:56,910 Ja tämä on algorithm-- askel-askeleelta ohjeita. 503 00:22:56,910 --> 00:22:59,890 Aloita alussa ja yhden sivun kerrallaan, etsiä Mike Smith. 504 00:22:59,890 --> 00:23:03,410 Onko tämä correct-- tämä algoritmi tai lähestymistapaa? 505 00:23:03,410 --> 00:23:04,550 >> Joo, se on oikein. 506 00:23:04,550 --> 00:23:06,840 Jos Mike on täällä, lopulta Haen hänet. 507 00:23:06,840 --> 00:23:08,139 Mutta se ei ole tehokasta. 508 00:23:08,139 --> 00:23:09,180 Se on tietysti hyvin hidasta. 509 00:23:09,180 --> 00:23:11,340 Voin siis hyödyntää Sama twosies lähestyä. 510 00:23:11,340 --> 00:23:15,350 Voin tehdä tavallaan kaksi, neljä, kuusi, kahdeksan, 10, 12. 511 00:23:15,350 --> 00:23:16,330 Se on kaksi kertaa niin nopeasti. 512 00:23:16,330 --> 00:23:18,290 Aion päästä Mike nopeammin, jos hän on siellä. 513 00:23:18,290 --> 00:23:20,770 Onko se oikein? 514 00:23:20,770 --> 00:23:22,320 Kyllä, mutta kuulin little-- no. 515 00:23:22,320 --> 00:23:24,200 Nyt olen kuullut mitään. 516 00:23:24,200 --> 00:23:24,700 Joo. 517 00:23:24,700 --> 00:23:26,190 Siellä on vika mahdollisesti. 518 00:23:26,190 --> 00:23:29,374 Ehkä Mike vain joutuu vahingossa välissä kaksi sivua, 519 00:23:29,374 --> 00:23:31,290 koska olen lentää Tämän kaksi kerrallaan. 520 00:23:31,290 --> 00:23:33,580 Joten ainakin tarvitsemme jonkinlaisen ehdollisen korjata. 521 00:23:33,580 --> 00:23:35,330 Minun täytyy sanoa, hei, jos osuin jonkun, jonka 522 00:23:35,330 --> 00:23:39,190 nimi alkaa T sijasta S, Olen parempi taittaa ainakin yhdellä sivulla. 523 00:23:39,190 --> 00:23:40,767 Joten buginen aluksi, mutta korjattavissa. 524 00:23:40,767 --> 00:23:43,850 Mutta kukaan meistä ovat menossa etsimään Mike Smith kautta 1000 sivun puhelimen 525 00:23:43,850 --> 00:23:45,290 varata yksi sivu kerrallaan. 526 00:23:45,290 --> 00:23:48,486 Mikä on normaali ihminen aikoo tehdä? 527 00:23:48,486 --> 00:23:50,860 Olet menossa mennä S: n, jos tietäisit, jossa S: n. 528 00:23:50,860 --> 00:23:54,230 Voit mennä suunnilleen keskelle tai hieman vinossa loppupuolella. 529 00:23:54,230 --> 00:23:56,850 Ja odotan tänne ja Olen M osiossa. 530 00:23:56,850 --> 00:23:58,952 Mutta mitä sinä tiedät tästä ongelmasta nyt, 531 00:23:58,952 --> 00:24:02,160 että emme välttämättä tiedä ennen kaikki meistä vain laskee itse 532 00:24:02,160 --> 00:24:03,030 vastaavasti? 533 00:24:03,030 --> 00:24:06,010 No, Mike on selvästi menossa olla tässä puolet kirjasta 534 00:24:06,010 --> 00:24:07,920 jos hän on täällä lainkaan, koska se on järjestetty. 535 00:24:07,920 --> 00:24:10,160 >> Ja niin voit hyvin dramatically-- 536 00:24:10,160 --> 00:24:11,250 >> [Huohottaen] 537 00:24:11,250 --> 00:24:12,300 >> Tiedän. 538 00:24:12,300 --> 00:24:16,940 >> [SUOSIONOSOITUKSET] 539 00:24:16,940 --> 00:24:19,450 >> Se on oikeastaan ​​todella helppoa, jos teet sen alas selkärangan siellä. 540 00:24:19,450 --> 00:24:22,070 Mutta voit sitten heittää puolet ongelman pois. 541 00:24:22,070 --> 00:24:25,950 Nyt olen jäänyt samalla problem-- löytää Mike Smith puhelimessa book-- 542 00:24:25,950 --> 00:24:29,610 mutta nyt puhelinluettelosta alkaa M ja menee Z, mutta se on puolta suurempi. 543 00:24:29,610 --> 00:24:30,890 >> Mutta tämä on mitä vaikuttava. 544 00:24:30,890 --> 00:24:34,170 Aivan kuten teoriassa, te, kun te kaikki istuivat vain puoli kerrallaan, 545 00:24:34,170 --> 00:24:37,150 ongelma sai puolta suurempi, puolta suurempi, uudestaan ​​ja uudestaan. 546 00:24:37,150 --> 00:24:40,260 Joten on tämä ongelma tullut Sama ongelma, mutta puolta suurempi. 547 00:24:40,260 --> 00:24:42,670 Nyt se on 250 sivun ongelma. 548 00:24:42,670 --> 00:24:45,340 Heti kun ymmärrän, oi, olen T- osassa vahingossa. 549 00:24:45,340 --> 00:24:46,590 Olen mennyt liian pitkälle. 550 00:24:46,590 --> 00:24:48,500 Voin heittää, että puolet puhelinluettelon pois. 551 00:24:48,500 --> 00:24:50,410 Nyt olen alas neljännes ongelma. 552 00:24:50,410 --> 00:24:53,910 >> Ja voit toistaa, toistaa, toista kunnes teoriassa olet 553 00:24:53,910 --> 00:24:55,460 jää vain yhdellä sivulla. 554 00:24:55,460 --> 00:24:59,010 Ja jos Mike on kyseisellä sivulla, Voin nyt ratkaista tämän ongelman. 555 00:24:59,010 --> 00:25:00,810 Mutta kuinka nopeasti minä ratkaista sen? 556 00:25:00,810 --> 00:25:05,420 Ensimmäisessä tapauksessa se kesti kuin ehkä 1000 askelta löytää Mike Smith. 557 00:25:05,420 --> 00:25:09,260 Se olisi voinut me-- Otin puhelinluettelosta 558 00:25:09,260 --> 00:25:11,440 ja aloin etsiä yhden sivun kerrallaan, 559 00:25:11,440 --> 00:25:13,480 ja Mike ehkä 1000 sivua myöhemmin. 560 00:25:13,480 --> 00:25:16,020 >> Toinen lähestymistapa ehkä vie minut 500 vaiheita, 561 00:25:16,020 --> 00:25:17,960 koska Lennän läpi kaksi kerrallaan. 562 00:25:17,960 --> 00:25:21,082 Ja kolmas lähestymistapa kuitenkin, se on erityisen voimakas. 563 00:25:21,082 --> 00:25:23,790 Mutta Tarkastellaan mitä me oikeastaan teki tämän kolmannen lähestymistapaa. 564 00:25:23,790 --> 00:25:27,590 Otan mitä soitan juuri nämä lausunnot täällä, yksi kerrallaan. 565 00:25:27,590 --> 00:25:28,560 Poimia puhelinluettelosta. 566 00:25:28,560 --> 00:25:30,130 Avaa keskelle puhelinluettelon. 567 00:25:30,130 --> 00:25:31,419 Katso nimiä. 568 00:25:31,419 --> 00:25:33,960 Ja sitten asiat saavat hieman enemmän älyllisesti mielenkiintoinen, 569 00:25:33,960 --> 00:25:35,170 jos vielä yksinkertainen. 570 00:25:35,170 --> 00:25:38,350 Jos Smith on yksi nimet, että nykyisen sivun, 571 00:25:38,350 --> 00:25:40,170 sitten tehdä jotain ehdollisesti. 572 00:25:40,170 --> 00:25:41,840 Se on kuin tienhaaraan. 573 00:25:41,840 --> 00:25:42,660 Soita Mike. 574 00:25:42,660 --> 00:25:44,930 Jos Mike on joukossa nimet sillä sivulla, nimeltään Mike. 575 00:25:44,930 --> 00:25:49,720 Mutta vain tehdä rivi neljä, jos linja puu, jos haluatte, on totta. 576 00:25:49,720 --> 00:25:51,590 Vastaus tähän kysymykseen on kyllä. 577 00:25:51,590 --> 00:25:55,520 >> If Smith on aiemmin book-- toisin sanoen, jos olen M osiossa 578 00:25:55,520 --> 00:25:58,540 ja etsin jonkun vasemmalle, niin mitä minun pitäisi tehdä 579 00:25:58,540 --> 00:26:00,300 on jotain hyvin samankaltainen. 580 00:26:00,300 --> 00:26:03,440 Sitten minun pitäisi avata keskelle vasemman puolen kirjan. 581 00:26:03,440 --> 00:26:07,930 Joten mene vasemmalle, ja sitten palaa vaiheeseen kaksi. 582 00:26:07,930 --> 00:26:09,290 Katso nimiä siellä. 583 00:26:09,290 --> 00:26:12,779 >> Eli toisin sanoen, tekevät samoin, vaan ongelma, joka on puolittunut. 584 00:26:12,779 --> 00:26:13,570 Tiedätkö mitä muuta? 585 00:26:13,570 --> 00:26:16,470 Jos Smith on myöhemmin kirja perustuu sivulla Etsin, 586 00:26:16,470 --> 00:26:18,790 avoin keskellä oikea puoli kirjasta 587 00:26:18,790 --> 00:26:22,050 ja sitten palata takaisin vaiheeseen kaksi, else-- 588 00:26:22,050 --> 00:26:24,000 siellä on Neljäs mahdollisuus täällä. 589 00:26:24,000 --> 00:26:28,830 Mike joko tässä tai vasemmalle tai oikealle vai ei. 590 00:26:28,830 --> 00:26:30,570 Ja tässä me paremmin harkita tätä. 591 00:26:30,570 --> 00:26:33,360 Ja itse asiassa, jos olet joskus ollut tietokone vain kaatuu teitä, 592 00:26:33,360 --> 00:26:36,822 että on joskus, mutta ei aina, tuloksena vain ihmisen ohjelmoija ei 593 00:26:36,822 --> 00:26:39,280 ymmärtämättä, OH ampua, siellä Oikeastaan ​​tämä neljäs skenaario. 594 00:26:39,280 --> 00:26:41,650 Ja jos et kirjoita koodia käsitellä että skenaario, 595 00:26:41,650 --> 00:26:43,220 joskus et tiedä mitä tietokone voisi tehdä. 596 00:26:43,220 --> 00:26:44,770 Ja todellakin ohjelma saattaa kaatua. 597 00:26:44,770 --> 00:26:47,550 >> Mutta tässä tapauksessa, ajattelin siitä, ja sanoin, muuten lopettaa, 598 00:26:47,550 --> 00:26:49,850 koska se on neljäs looginen mahdollinen skenaario. 599 00:26:49,850 --> 00:26:51,950 Nyt, lisää vain Joissakin sanastoa niin me 600 00:26:51,950 --> 00:26:55,320 voi alkaa heittää ympäri termeistä muuten melko intuitiivinen. 601 00:26:55,320 --> 00:26:57,870 Kaikki mitä olen juuri korostettu keltaisella täällä, 602 00:26:57,870 --> 00:27:00,140 Olen juuri menossa toiminnoista. 603 00:27:00,140 --> 00:27:01,590 He juuri sellainen toimia. 604 00:27:01,590 --> 00:27:04,900 Joten poimia, avoin, katso at, soita, avoin, avoin, 605 00:27:04,900 --> 00:27:09,170 quit-- nämä ovat vain toimia, tai me will soittaa heille enemmän muodollisesti toimintoja. 606 00:27:09,170 --> 00:27:11,410 >> Samaan aikaan, nyt keltainen, Olen korostanut asioita 607 00:27:11,410 --> 00:27:14,084 that-- Haluan vain aloittaa soittamalla niitä ehtoja tai oksia. 608 00:27:14,084 --> 00:27:16,750 Nämä ovat päätöksen kohtia, joissa voisi mennä tällä tavalla, tällä tavalla, 609 00:27:16,750 --> 00:27:18,100 tai jokin muu suunta edelleen. 610 00:27:18,100 --> 00:27:19,430 Joten ne ovat edellytyksiä. 611 00:27:19,430 --> 00:27:20,930 Ja nyt tämä on hieman hienompaa. 612 00:27:20,930 --> 00:27:24,600 Kutsun näitä kysymyksiä Boolen operaattoreilla, 613 00:27:24,600 --> 00:27:26,530 kun joku sukunimi Bool. 614 00:27:26,530 --> 00:27:28,340 >> Ja Boolen lauseke on vain jotain 615 00:27:28,340 --> 00:27:30,290 se on joko tosi tai epätosi, kyllä ​​tai ei. 616 00:27:30,290 --> 00:27:35,870 Joten se kysymys, jonka vastaus teille välitä, jotta sellaisessa kunnossa 617 00:27:35,870 --> 00:27:39,210 tee decision-- saada takaisin vastauksen, ja sitten vasemmalle tai oikealle, tai jotain 618 00:27:39,210 --> 00:27:40,450 aivan muuta. 619 00:27:40,450 --> 00:27:42,860 >> Ja sitten lopuksi, nämä linjat here-- palata 620 00:27:42,860 --> 00:27:44,737 vaiheeseen kaksi, mene takaisin vaiheeseen two-- voisimme 621 00:27:44,737 --> 00:27:46,320 toteuttaa tätä ajatusta eri tavoin. 622 00:27:46,320 --> 00:27:49,028 Ja sitten ne teistä, joilla ohjelmointikokemus olisivat tehneet 623 00:27:49,028 --> 00:27:50,670 tai kuvitella sitä asiaa. 624 00:27:50,670 --> 00:27:53,170 Mutta nykypäivän tarkoituksiin, se on vain ajatus, että asiat. 625 00:27:53,170 --> 00:27:55,400 Tämä asiakkuutta mitä me yleensä kutsumme 626 00:27:55,400 --> 00:28:00,110 loop-- jonkinlainen sykli, koska se tekee minut tekemään jotain uudelleen. 627 00:28:00,110 --> 00:28:03,340 >> Joten nyt, nyt vain harkita kuinka hyvä tämä algoritmi on. 628 00:28:03,340 --> 00:28:03,899 Se on oikein. 629 00:28:03,899 --> 00:28:06,940 Jos Mike kirja, se on yksi nämä neljä scenarios-- uudestaan ​​ja uudestaan 630 00:28:06,940 --> 00:28:08,023 ja jälleen, me löydämme hänet. 631 00:28:08,023 --> 00:28:08,890 Mutta kuinka hyvä se on? 632 00:28:08,890 --> 00:28:10,150 No, meillä ei ole liian muodollinen täällä. 633 00:28:10,150 --> 00:28:12,066 Mutta Haluan vain juoni jotain, x ja y, saada 634 00:28:12,066 --> 00:28:14,470 tunteen muodon tämän ongelman. 635 00:28:14,470 --> 00:28:17,160 >> X-akseli tässä koko minun ongelma. 636 00:28:17,160 --> 00:28:20,256 Ja he y-akselin tässä on aika ratkaista. 637 00:28:20,256 --> 00:28:21,630 Ehkä tämä on sivumäärä. 638 00:28:21,630 --> 00:28:24,400 Ehkä tämä on sekuntia sivu turns-- riippumatta. 639 00:28:24,400 --> 00:28:27,290 Kuitenkin haluat laskea on mitä tämä kuva edustaa. 640 00:28:27,290 --> 00:28:30,630 Ja että ensimmäinen algoritmi, aion kuvaamaan koska vain suora viiva. 641 00:28:30,630 --> 00:28:33,120 Jos on n sivuja puhelinluettelosta, niin se 642 00:28:33,120 --> 00:28:36,010 Ottaa minut niin monta kun n askelta löytää Mike. 643 00:28:36,010 --> 00:28:38,930 Jos Verizon tai puhelinyhtiön tuo yksi sivu ensi vuonna, 644 00:28:38,930 --> 00:28:42,170 se saattaa kestää minulle yksi enemmän step-- yksi yksikkö aikaa löytää Mike. 645 00:28:42,170 --> 00:28:44,230 Joten on vain tämä yksi suhde yhteen. 646 00:28:44,230 --> 00:28:45,970 Se on suora viiva kulmakerroin. 647 00:28:45,970 --> 00:28:49,110 >> Samaan aikaan, että toinen algorithm-- jos olen 648 00:28:49,110 --> 00:28:51,570 menossa kaksi klo time-- kaksi, neljä, kuusi, kahdeksan tai double-- 649 00:28:51,570 --> 00:28:54,550 läpi sivut kahdesti kerrallaan, kaksi kerrallaan, 650 00:28:54,550 --> 00:28:55,710 se on edelleen suorassa linjassa. 651 00:28:55,710 --> 00:28:58,720 Siellä on nyt yhden tai kahden suhde, mutta hieman alemmaksi. 652 00:28:58,720 --> 00:29:02,240 Eli jos on näin monta sivua kaavion täällä keltainen, 653 00:29:02,240 --> 00:29:04,800 että saattaa kestää minulle monta askelta tai sekuntia, 654 00:29:04,800 --> 00:29:07,980 muuten se tulee viemään minut kaksi kertaa punainen viiva. 655 00:29:07,980 --> 00:29:10,190 >> Mutta vihreä viiva on todellinen takeaway. 656 00:29:10,190 --> 00:29:12,290 Tätä me yleensä soittaa logorithm-- log 657 00:29:12,290 --> 00:29:13,840 n, jossa n on määrä sivuja. 658 00:29:13,840 --> 00:29:16,450 Mutta se muoto, että asiat tänään, koska meillä ei ole 659 00:29:16,450 --> 00:29:17,950 edes ajatella piirtämistä pistettä. 660 00:29:17,950 --> 00:29:19,830 >> Mieti äärimmäinen skenaario. 661 00:29:19,830 --> 00:29:23,070 Oletetaan Verizon huomenna kaksinkertaistaa sivumäärä että puhelinluettelosta, 662 00:29:23,070 --> 00:29:24,900 alkaen 1000 2000. 663 00:29:24,900 --> 00:29:28,440 Ensimmäisessä algoritmin, I saattaa tuhlata ylimääräinen 1000 664 00:29:28,440 --> 00:29:32,080 vaiheet etsii Mike, vain siksi Verizon kaksinkertaisti kirjan. 665 00:29:32,080 --> 00:29:34,740 Toinen algorithm-- se voisi ota minut 500 ylimääräistä vaiheita. 666 00:29:34,740 --> 00:29:38,370 1000 enemmän sivuja, menen kaksi klo time-- 500 enemmän vaiheita löytää Mike. 667 00:29:38,370 --> 00:29:41,020 >> Mutta kolmas algoritmi on eräänlainen maaginen. 668 00:29:41,020 --> 00:29:44,270 Verizon kaksinkertaistaa sivuista 1000 2000, 669 00:29:44,270 --> 00:29:47,730 mutta kuinka monta askelta ei se vie minut etsimään Mike? 670 00:29:47,730 --> 00:29:51,220 Se on vain yksi, koska voin vain repiä puhelinluettelosta vielä kerran 671 00:29:51,220 --> 00:29:55,280 alkaen 2,000 sivulta ongelma on 1000 sivua ongelma, ja voila. 672 00:29:55,280 --> 00:29:57,030 Olen ottanut valtavan purema irti. 673 00:29:57,030 --> 00:29:59,405 >> Ja jos menet todella äärimmäinen, Oletetaan, että puhelinluettelon 674 00:29:59,405 --> 00:30:03,600 Yhtiö oli jotain hullua 4 miljardin sivun puhelinluettelosta. 675 00:30:03,600 --> 00:30:07,020 No kuinka monta askelta voisi kestää löytää Mike Smith on 4 miljardia 676 00:30:07,020 --> 00:30:09,990 sivu puhelinluettelo? 677 00:30:09,990 --> 00:30:16,450 Se on suuri määrä, mutta vain 4 miljardia 2000000000-1000000000 kohteeseen 500 miljoonan 678 00:30:16,450 --> 00:30:18,720 250 million-- vielä kuulostaa suuret numerot, 679 00:30:18,720 --> 00:30:20,980 mutta olen hyvin nopeasti saada pienempiä arvoja. 680 00:30:20,980 --> 00:30:24,790 >> Ja itse asiassa, jos teen matemaattiset oikea, voin vain jakaa 4000000000 681 00:30:24,790 --> 00:30:28,750 eli suurin piirtein 32 kertaa ennen Saan alas vain yksi. 682 00:30:28,750 --> 00:30:31,640 Joten jos se puhelinluettelosta olivat 4 miljardia sivua pitkä, no big deal. 683 00:30:31,640 --> 00:30:35,270 Muutaman sekunnin, ehkä 32 sekuntia, voisin jakaa sen kahtia 684 00:30:35,270 --> 00:30:39,560 ja lopulta löytää Mike tai päätellä, että hän ei ole siellä. 685 00:30:39,560 --> 00:30:42,219 Ja se on pohjimmiltaan sellaisen algorithm-- hyvä algoritmia. 686 00:30:42,219 --> 00:30:44,260 Ja se on yksi tavoitteet luokan näin, 687 00:30:44,260 --> 00:30:47,350 yrittää selvittää, miten tehdä I ratkaise ongelmaa ei vain oikein, 688 00:30:47,350 --> 00:30:52,360 kuten Olen aina tiennyt, miten se yhteen sivu klo time-- mutta oikein ja hyvin. 689 00:30:52,360 --> 00:30:55,034 Miten suunnitella hyvä ratkaisuja ongelmiin? 690 00:30:55,034 --> 00:30:57,200 Joten hetki täällä ja antaa sinulle tunteen nyt 691 00:30:57,200 --> 00:31:00,260 of CS50 kurssin itself-- käyttöön muutaman kurssin henkilökunnan jäsentä. 692 00:31:00,260 --> 00:31:02,010 Juuri ennen 02:00 käymme kestää lyhyen tauon 693 00:31:02,010 --> 00:31:03,520 niin että ne teistä jotka ovat ostoksilla voi 694 00:31:03,520 --> 00:31:05,130 ankka ulos ja ottaa tarkastelemme joitakin muita luokan 695 00:31:05,130 --> 00:31:06,580 ja katsella loput tästä verkossa. 696 00:31:06,580 --> 00:31:09,250 Mutta nyt haluan esitellä CS50, luokka itse, 697 00:31:09,250 --> 00:31:11,330 ja etenkin mitä uutta. 698 00:31:11,330 --> 00:31:13,960 >> Joten aiemmin keväällä, me vietti melkoisesti time-- 699 00:31:13,960 --> 00:31:17,911 kurssin henkilökunta ja I-- ajattelu siitä, mitä me haluamme CS50 olla, 700 00:31:17,911 --> 00:31:19,910 ja menee takaisin ensimmäiseen periaatteet, niin sanotusti, 701 00:31:19,910 --> 00:31:22,760 pohtimaan, mitä me haluamme Kurssin näyttää ja olla 702 00:31:22,760 --> 00:31:23,740 kuten sen opiskelijoille. 703 00:31:23,740 --> 00:31:26,480 Ja niin näet ongelmatilanteissa asetetaan nolla samoin, kutsu 704 00:31:26,480 --> 00:31:28,780 katsomaan tuohon URL jossa tehdään yhteenveto 705 00:31:28,780 --> 00:31:33,270 jotkut motiivit takana seuraavat ominaisuudet syksyllä 2016. 706 00:31:33,270 --> 00:31:35,570 >> Joten kuten ehkä asianmukaisine alkaen TL: DR moniste, 707 00:31:35,570 --> 00:31:39,060 oppimäärä tänään samoin kuin kurssin luettelo, tänä vuonna CS50, 708 00:31:39,060 --> 00:31:42,540 olet vain oletetaan osallistuvan today-- niin työnsä hyvin done-- 709 00:31:42,540 --> 00:31:45,960 ja viimeinen luento marraskuun 21.. 710 00:31:45,960 --> 00:31:49,150 Ja olet tervetullut, mutta ei odoteta osakseen ne luentoja keskellä, 711 00:31:49,150 --> 00:31:51,180 sillä mitä teemme tänä vuonna, on ammunta 712 00:31:51,180 --> 00:31:52,661 reaaliaikaisesti kurssin materiaalista. 713 00:31:52,661 --> 00:31:54,660 Joten kaikki pysyy nykyinen ja sisällytetty 714 00:31:54,660 --> 00:31:57,410 parhaamme can-- tämänhetkisistä tapahtumista ja keskusteluja, jotka ihmiset saattavat 715 00:31:57,410 --> 00:32:00,400 voidaan ottaa sisään teollisuuden maailmassa, mutta tekee kyseisen aineen 716 00:32:00,400 --> 00:32:03,892 käytettävissä, minkä seurauksena jopa earlier-- täydellisenä koko tekstin selostukset 717 00:32:03,892 --> 00:32:05,850 ja hakuja ja linkkejä muihin resursseihin. 718 00:32:05,850 --> 00:32:07,930 >> Ja todellakin, olemme olleet väitti jonkin aikaa 719 00:32:07,930 --> 00:32:10,830 emmekä nyt uskoa tätä, että voimme luoda, digitaalisesti, 720 00:32:10,830 --> 00:32:15,170 syvemmäntuntuisen, enemmän pakottavia opettavainen kokemus, kun taas 721 00:32:15,170 --> 00:32:19,110 keräämään tässä noin 23 kertaa henkilökohtaisesti, kuulo joku kuten minä 722 00:32:19,110 --> 00:32:22,925 yksinkertaisesti puhua tietojenkäsittelytiede, vastakohtana harjoittaa aktiivisemmin. 723 00:32:22,925 --> 00:32:25,800 Niin näet, että kurssin oppimäärän luonnos lukukauden täällä, 724 00:32:25,800 --> 00:32:27,840 yhdessä kun luennot kuvattavaan, johon olet 725 00:32:27,840 --> 00:32:29,710 tervetullut, mutta ei odoteta, ja kun he 726 00:32:29,710 --> 00:32:31,640 vapautetaan kurssin verkkosivuilla. 727 00:32:31,640 --> 00:32:34,300 >> Ja mitä me teemme täällä Keskiviikkoisin alkaa ensi viikolla, 728 00:32:34,300 --> 00:32:37,362 on paljon läheisemmin, jossa vain ne ihmiset, jotka haluavat osallistua, 729 00:32:37,362 --> 00:32:39,820 on ns kulkea, missä minä ja kurssin päät 730 00:32:39,820 --> 00:32:41,730 todella tekee asiat hieman intiimimpi 731 00:32:41,730 --> 00:32:44,313 täällä orkesterin jakso, on vielä joitakin tekniikka 732 00:32:44,313 --> 00:32:46,365 ja kävelee kuluvan viikon ongelma setti, 733 00:32:46,365 --> 00:32:50,020 ja tarjota sinulle particularly-- jos keskuudessa Niille vähemmän comfortable-- sitäkin 734 00:32:50,020 --> 00:32:52,790 opastusta kannattaa tai tarvitset viikon haaste. 735 00:32:52,790 --> 00:32:55,820 Ja samoin niille, jotka eivät voi osakseen ne henkilökohtaisesti, no big deal. 736 00:32:55,820 --> 00:32:58,486 Tulee samalla johdolla yksi kurssin ylempien toimihenkilöiden, 737 00:32:58,486 --> 00:33:02,650 Zamalya, samat mahdollisuudet upotetun in ongelma asettaa itse. 738 00:33:02,650 --> 00:33:04,960 >> Ongelma asettaa tänä vuonna ilmestyy perjantaisin 739 00:33:04,960 --> 00:33:08,080 ja ei enää tee Seitsemän päivää myöhemmin, mutta 10 päivää later-- tarkoituksella 740 00:33:08,080 --> 00:33:10,910 päällekkäisiä keskenään ongelma set, jotta voidaan paremmin mukautua, 741 00:33:10,910 --> 00:33:13,050 toivomme, ja luode opiskelija aikatauluja, 742 00:33:13,050 --> 00:33:16,550 varsinkin kun midterms voimailua tai yliopistojen tai extracurriculars 743 00:33:16,550 --> 00:33:18,465 taipumus tulla ja mennä erityisesti Syyslukukauden. 744 00:33:18,465 --> 00:33:21,340 Tämän pitäisi antaa sinulle hieman enemmän harkintavaltaa siinä, onko edessä 745 00:33:21,340 --> 00:33:25,690 ladata viikko CS50 tai taaksepäin kuorman se seuraavana viikonloppuna sijaan. 746 00:33:25,690 --> 00:33:28,817 Niin katso kurssin oppimäärän tästä aikataulun mukaisesti. 747 00:33:28,817 --> 00:33:30,900 Ja huomaat liian keskuudessa muutokset tänä vuonna, 748 00:33:30,900 --> 00:33:34,082 niille tutumpi ohjelmointi aikaisemmin, 749 00:33:34,082 --> 00:33:36,290 aloitamme lukukauden kuin me tänään Scratch, 750 00:33:36,290 --> 00:33:39,730 keskitytään erityisesti kielen nimeltään C, ja sen jälkeen siirtyminen ei 751 00:33:39,730 --> 00:33:43,430 PHP, vaan kieli nimeltään Python loppupuolella lukukauden 752 00:33:43,430 --> 00:33:46,565 yhteydessä Web-ohjelmointi, yhdessä SQL ja JavaScript, 753 00:33:46,565 --> 00:33:48,930 HTML, CSS, ja vielä enemmän. 754 00:33:48,930 --> 00:33:51,790 >> Ja vastauksena FAQ, se todellakin on 755 00:33:51,790 --> 00:33:55,520 että CS ei ole niin pelottava kuin olen kerran mielestä se oli, mutta se on niin paljon työtä 756 00:33:55,520 --> 00:33:57,280 koska olin kuullut se voisi olla. 757 00:33:57,280 --> 00:34:03,210 Mutta tämä on sanoa, että tässä on muutamia tilastot syksyllä 2015 ylioppilaskunnassa, 758 00:34:03,210 --> 00:34:06,460 jolloin vaaka siniset viivat edustavat keskimääräistä tuntimäärää 759 00:34:06,460 --> 00:34:06,960 raportoitu. 760 00:34:06,960 --> 00:34:10,570 Ja näet keskimäärin kuudesta 10 12-- ehkä 16 761 00:34:10,570 --> 00:34:14,580 tai niin ja niin edelleen, mutta korkea varianssi on selkeä. 762 00:34:14,580 --> 00:34:18,570 Ja niin ymmärtää, että ei ole vain opiskelijoiden mukavampaa ja vähemmän 763 00:34:18,570 --> 00:34:22,150 mukava aikana, mutta vastaava tuki 764 00:34:22,150 --> 00:34:25,699 rakenne saada niille opiskelijoille läpi lukukauden onnistuneesti. 765 00:34:25,699 --> 00:34:29,409 >> Todellakin on ratkaissut FAQ, olisi otat CS50 ensimmäisenä vuonna? 766 00:34:29,409 --> 00:34:30,139 Ehdottomasti. 767 00:34:30,139 --> 00:34:32,690 Ja itse asiassa, en kadu ei todettuaan tieni 768 00:34:32,690 --> 00:34:35,170 tai löysi uuden kentän että ensimmäinen vuonna. 769 00:34:35,170 --> 00:34:39,149 Ja sinun tulisi CS50 kanssa muut kurssit, varmasti kuin well-- 770 00:34:39,149 --> 00:34:41,940 ja yleisiä neuvoja voisimme antaa opiskelijoille, jotka CS50 on luultavasti 771 00:34:41,940 --> 00:34:44,929 ei sellaista luokkaa tai intro luokka että sinun pitäisi ottaa kolme 772 00:34:44,929 --> 00:34:47,199 muut tai neljä muuta p-set luokissa. 773 00:34:47,199 --> 00:34:50,583 Mutta jos olet ottaen kaksi muuta p-set luokat, jotain muuta, ja CS50, 774 00:34:50,583 --> 00:34:51,499 ehdottomasti hallittavissa. 775 00:34:51,499 --> 00:34:54,900 Olen ollut monta opiskelijaa aiemmin tehnyt niin melko onnistuneesti. 776 00:34:54,900 --> 00:34:57,490 >> Ja saada sinua kohti, että loppuun rivi onnistuneesti, 777 00:34:57,490 --> 00:35:00,260 ei kurssin on sections-- eri kappaleita opiskelijoille 778 00:35:00,260 --> 00:35:03,100 vähemmän mukava, mukavampaa, ja jossain välissä, 779 00:35:03,100 --> 00:35:04,850 jolloin vuonna kurssin Ensimmäinen ongelma set, 780 00:35:04,850 --> 00:35:06,360 sinua pyydetään kuvailemaan itse. 781 00:35:06,360 --> 00:35:09,151 Ja jos olet yksi niistä vähemmän mukava, se on sellainen asia 782 00:35:09,151 --> 00:35:10,420 että juuri melko tiedä. 783 00:35:10,420 --> 00:35:13,010 Ja todellakin, joka on ollut väestöhaasteeseen in CS50 784 00:35:13,010 --> 00:35:14,090 jo muutaman vuoden ajan. 785 00:35:14,090 --> 00:35:17,680 >> Kuten viime syksynä Esimerkiksi 58%: n luokkaa 786 00:35:17,680 --> 00:35:20,560 kuvattu itseään keskuudessa vähemmän mukava, 787 00:35:20,560 --> 00:35:23,210 9% joukossa enemmän mukava, ja sitten 788 00:35:23,210 --> 00:35:25,900 muiden opiskelijoiden siellä punainen kuvaavat itseään 789 00:35:25,900 --> 00:35:27,890 kuten jossain välissä. 790 00:35:27,890 --> 00:35:31,980 Ja näet täällä aiheista yleistä ja aikataulu osien, jotka kaikki 791 00:35:31,980 --> 00:35:34,820 tarjotaan henkilökohtaisesti, reaaliaikainen, jossa kurssin 792 00:35:34,820 --> 00:35:38,320 hämmästyttävä henkilökunta opetuksen stipendiaatit ja tietysti avustajat, joista jotkut 793 00:35:38,320 --> 00:35:39,660 tapaat vain hetken. 794 00:35:39,660 --> 00:35:42,993 >> Osiot itseään, kuten näet, tulee olla maanantaisin ja tiistaisin ja keskiviikkoisin, 795 00:35:42,993 --> 00:35:45,910 jotta voit sukeltaa jälkeen harjoittaa, jos niin 796 00:35:45,910 --> 00:35:48,110 valita, että kurssin luento aiemmin tällä viikolla. 797 00:35:48,110 --> 00:35:51,420 Ja sitten virka, joka varmasti, vuosi vuodelta, 798 00:35:51,420 --> 00:35:54,110 ole ollut vähemmän haaste kurssin. 799 00:35:54,110 --> 00:35:57,040 Ja tänä vuonna suunnittelemme ole vain tehtävässään hours-- yksi 800 00:35:57,040 --> 00:36:00,300 yhdellä mahdollisuuksia apua opiskelijat keskiviikkoisin torstaisin 801 00:36:00,300 --> 00:36:03,790 ja sunnuntaisin, jolla viimeinen näistä ollessa iltapäivällä suunnittelun 802 00:36:03,790 --> 00:36:06,910 vähentää joitakin stressiä, joka poikkeuksetta syntyy myöhään yöllä 803 00:36:06,910 --> 00:36:10,180 p-settting joiden määräaika looming-- mutta virka tarjotaan myös 804 00:36:10,180 --> 00:36:14,920 maanantaisin ja tiistaisin ja Keskiviikkoisin ja perjantaisin ja lauantaisin, 805 00:36:14,920 --> 00:36:17,080 kiitos ystävämme HSA. 806 00:36:17,080 --> 00:36:20,330 >> CS50 on nyt oma tila opiskelijoille ja CS50 henkilöstö, 807 00:36:20,330 --> 00:36:23,070 huipulla 67 Mount Auburn Street, tuolla Harvard. 808 00:36:23,070 --> 00:36:26,340 Visio on, että CS50: n TF: t ja CA koko viikon, 809 00:36:26,340 --> 00:36:29,052 melko paljon lähes koko päivää, on siellä tukea. 810 00:36:29,052 --> 00:36:30,760 Joten jos olet saanut joitakin kysymys on p-set 811 00:36:30,760 --> 00:36:33,093 tai et tunne hieman estetty tai hieman sekava, 812 00:36:33,093 --> 00:36:35,640 ja pahus, sinulla tunnissa tai puoli tuntia luokkien välillä, 813 00:36:35,640 --> 00:36:38,920 varsinkin square-- voit pop ja on tähän kysymykseen vastataan 814 00:36:38,920 --> 00:36:41,720 of on sekaannuksen clarified-- hyvin paljon hengessä, 815 00:36:41,720 --> 00:36:45,490 sinulle tuttuja, matematiikka yksikön oma matematiikka kysymyksiin keskus, 816 00:36:45,490 --> 00:36:49,300 mutta aika paljon ympäri vuorokauden per [? Gcal?], Että laitamme verkossa. 817 00:36:49,300 --> 00:36:52,400 >> Ohjausta on saatavilla myös niille, opiskelijoita, vapaasti kurssin 818 00:36:52,400 --> 00:36:54,750 oma henkilökunta jos haluat intiimimpi one, 819 00:36:54,750 --> 00:36:58,940 tai kaksi tai kolme luokkatoverit vain, työskentelevät yksi kurssin henkilökunnan jäsentä. 820 00:36:58,940 --> 00:37:02,320 Ja todellakin, nämä tässä ovat vain joitakin kurssin henkilökunnan jäsentä, 821 00:37:02,320 --> 00:37:04,120 muutama heistä te ll tapaavat vain hetken. 822 00:37:04,120 --> 00:37:07,440 Itse asiassa, CS50 oma pää opetus kaveri, 823 00:37:07,440 --> 00:37:09,790 ja pää kurssi avustaja, ja ohjaaja, 824 00:37:09,790 --> 00:37:12,998 voisi tulla ylös, anna heitä tervehtimään. 825 00:37:12,998 --> 00:37:22,498 >> [SUOSIONOSOITUKSET] 826 00:37:22,498 --> 00:37:23,456 SPEAKER 1: [tahtiimme]. 827 00:37:23,456 --> 00:37:51,842 828 00:37:51,842 --> 00:37:57,856 >> [SUOSIONOSOITUKSET] 829 00:37:57,856 --> 00:37:58,814 SPEAKER 2: [tahtiimme]. 830 00:37:58,814 --> 00:38:17,240 831 00:38:17,240 --> 00:38:27,238 >> [SUOSIONOSOITUKSET] 832 00:38:27,238 --> 00:38:28,196 SPEAKER 3: [tahtiimme]. 833 00:38:28,196 --> 00:38:58,951 834 00:38:58,951 --> 00:39:03,120 >> [SUOSIONOSOITUKSET] 835 00:39:03,120 --> 00:39:06,740 >> DAVID MALAN: Ja auttaa meitä tuoda lentokoneeseen kaksi CS50 kaikkein 836 00:39:06,740 --> 00:39:09,730 ylempien toimihenkilöiden, Rob ja Zamayla samoin. 837 00:39:09,730 --> 00:39:15,120 >> [SUOSIONOSOITUKSET] 838 00:39:15,120 --> 00:39:17,226 >> Itse asiassa sekä Rob ja Zamayla ovat olleet meille 839 00:39:17,226 --> 00:39:19,940 niin kauan, että olen voinut mennä CS50 arkisto 840 00:39:19,940 --> 00:39:22,470 ja löytää tämän hyvin SD kuvamateriaalia niistä osallistuvien 841 00:39:22,470 --> 00:39:25,402 lavalla itse joitakin vuosia sitten. 842 00:39:25,402 --> 00:39:26,110 ROB: [tahtiimme]. 843 00:39:26,110 --> 00:39:53,660 844 00:39:53,660 --> 00:39:59,247 >> [SUOSIONOSOITUKSET] 845 00:39:59,247 --> 00:40:00,080 ZAMAYLA: [tahtiimme] 846 00:40:00,080 --> 00:40:50,888 847 00:40:50,888 --> 00:40:52,467 >> [SUOSIONOSOITUKSET] 848 00:40:52,467 --> 00:40:53,425 DAVID MALAN: Kiitos. 849 00:40:53,425 --> 00:40:56,160 850 00:40:56,160 --> 00:40:58,030 Joten näiden lisäksi tiimin jäsenet täällä, 851 00:40:58,030 --> 00:41:01,662 CS50 on ryhmä lähes 100 henkilökunnan jäsentä, joista kaikki 852 00:41:01,662 --> 00:41:04,370 on saatavilla osissa ja virka ja paljon muuta. 853 00:41:04,370 --> 00:41:06,920 Ja kuten Rob sanoo myös, tämä on merkittävin huolto 854 00:41:06,920 --> 00:41:09,534 of CS50 on 10 vuoden ajan, että Olen ollut [tahtiimme]. 855 00:41:09,534 --> 00:41:12,200 [Tahtiimme] kohdistui erityisesti tarjoamalla tukirakenne, 856 00:41:12,200 --> 00:41:14,050 trimmaus pois paljon pääosa, joka on ollut 857 00:41:14,050 --> 00:41:16,870 kertynyt 10 vuotta iteratiivinen kehitys 858 00:41:16,870 --> 00:41:18,120 kurssin ongelma sarjaa. 859 00:41:18,120 --> 00:41:21,470 >> Joten tänä vuonna, paitsi luokassa vaan myös muodossa kurssin ongelma 860 00:41:21,470 --> 00:41:24,800 sarjaa, sinun pitäisi löytää asioita olla enemmän virtaviivainen, trimmeri, paljon 861 00:41:24,800 --> 00:41:26,700 helpommin hallittavissa kuin menneinä vuosina, koska me 862 00:41:26,700 --> 00:41:31,330 karistanut joitakin matkatavaroiden se kehittämä luonne kehittyy vuosi 863 00:41:31,330 --> 00:41:32,970 vuoden jälkeen ja iteroimalla. 864 00:41:32,970 --> 00:41:35,110 Joten uusi ja parannettu alkaa tänään. 865 00:41:35,110 --> 00:41:37,860 >> Tapaat joitakin useampi Tietenkin henkilöstö vuonna [tahtiimme] 866 00:41:37,860 --> 00:41:40,186 klo 02:30, jossa tarjoillaan, perinteenä, kakku. 867 00:41:40,186 --> 00:41:42,060 On hieman kakkua kuin että, mutta voit 868 00:41:42,060 --> 00:41:44,690 tavata Erin ja Tobias ym edelleen. 869 00:41:44,690 --> 00:41:46,470 Ja annan teille kierros ennen kuulemme 870 00:41:46,470 --> 00:41:49,600 joidenkin muiden henkilöstön jäsenten luokassa, mitä odottaa samoin. 871 00:41:49,600 --> 00:41:52,730 Itse asiassa olemme aina aloittaa CS50: n lukukauden tulevana lauantaina 872 00:41:52,730 --> 00:41:54,330 mitä kutsutaan CS50 Puzzle Day. 873 00:41:54,330 --> 00:41:56,710 >> Sillä ei ole mitään tekemistä sen kanssa tietojenkäsittelytiede sinänsä, 874 00:41:56,710 --> 00:41:58,669 mutta noin ongelma ratkaisemaan yleisemmin. 875 00:41:58,669 --> 00:42:01,210 Ja jos niin haluavat ottaa osaa, kohden jotkut kutsut, 876 00:42:01,210 --> 00:42:03,460 olet saattanut nähdä oven putoaa tai lavalla täällä, 877 00:42:03,460 --> 00:42:05,830 se mahdollisuus tiimeissä kaksi tai kolme tai neljä, 878 00:42:05,830 --> 00:42:10,680 osallistua palapelit ja pizza ja palkintoja ja more-- lauantaina, 879 00:42:10,680 --> 00:42:12,560 pysy kuulolla lisää. 880 00:42:12,560 --> 00:42:15,082 >> Huomaat myös, että jokainen Perjantaina klo Fire and Ice, 881 00:42:15,082 --> 00:42:16,790 ei CS50 tuo läjän opiskelijoiden 882 00:42:16,790 --> 00:42:19,100 lounaalle, tehdä suuria luokka tuntuu intiimimpi, 883 00:42:19,100 --> 00:42:21,820 ja yleensä tuoda yhteen alumnit ja ystäviä teollisuuden 884 00:42:21,820 --> 00:42:24,710 puhua siitä, mitä he ovat puuhaillut valmistumisensa jälkeen. 885 00:42:24,710 --> 00:42:27,820 Samoin tänä vuonna, me vihkiä ensimmäinen CS50 50 886 00:42:27,820 --> 00:42:31,390 koodaus contest-- puolivälissä lukukauden mahdollisuus antaa kaikille 887 00:42:31,390 --> 00:42:35,430 on opt in perusteella saada haaste järkeä vastaan ​​luokkatoverit, 888 00:42:35,430 --> 00:42:39,250 jälleen ryhmissä on kaksi tai kolme tai neljä, käytetään vain sitä ohjelmointi 889 00:42:39,250 --> 00:42:41,920 taju, että sitten on alle vyöhön jälkeen vain kuusi tai seitsemän 890 00:42:41,920 --> 00:42:44,710 viikon luokan, ja osallistuvat tällaisessa kilpailussa 891 00:42:44,710 --> 00:42:50,261 online-- jos haluat hioa omia taidot sitäkin kyseisessä haaste. 892 00:42:50,261 --> 00:42:52,760 Lopussa lukukauden on ns CS50 Hackathon-- 893 00:42:52,760 --> 00:42:56,970 mahdollisuus, joka alkaa klo 7:00 PM päättyy 07:00, ja matkan varrella 894 00:42:56,970 --> 00:43:01,900 12 iltaan, jossa sukeltaa osaksi kurssin lopullinen project-- 895 00:43:01,900 --> 00:43:04,820 mahdollisuuden suunnitella ja täytäntöön suurin mitään etua 896 00:43:04,820 --> 00:43:06,980 sinulle opetukseesi stipendiaatti ohjausta. 897 00:43:06,980 --> 00:43:09,600 Noin 09:00 me yleensä palvella pizza, 01:00, 898 00:43:09,600 --> 00:43:13,210 Philippe n, ja harva meistä jotka ovat vielä hereillä 05:00, 899 00:43:13,210 --> 00:43:16,310 shuttle bussed alas Tie IHOP aamiaiseksi. 900 00:43:16,310 --> 00:43:19,340 >> Ja sitten muutaman päivän kuluttua on niin sanottu CS50 fare-- 901 00:43:19,340 --> 00:43:23,450 pään lukukauden näyttelyn juhla, kuinka pitkälle niin monta 902 00:43:23,450 --> 00:43:28,200 of CS50 opiskelijat ovat kotoisin viikolla nolla aina viikon, 903 00:43:28,200 --> 00:43:32,610 ja pitäen mielessä, että 73% näistä luokkatoverit ja omasi tänä vuonna on 904 00:43:32,610 --> 00:43:34,840 koskaan ottanut CS luokan ennen. 905 00:43:34,840 --> 00:43:39,226 Itse asiassa, jotta reemphasize niin paljon, tässä on muutama enemmän kasvoja CS50 henkilökunta. 906 00:43:39,226 --> 00:43:40,184 SPEAKER 4: [tahtiimme]. 907 00:43:40,184 --> 00:43:45,909 908 00:43:45,909 --> 00:43:46,867 SPEAKER 5: [tahtiimme]. 909 00:43:46,867 --> 00:43:51,332 910 00:43:51,332 --> 00:43:52,290 SPEAKER 6: [tahtiimme]. 911 00:43:52,290 --> 00:43:55,276 912 00:43:55,276 --> 00:43:56,234 SPEAKER 7: [tahtiimme]. 913 00:43:56,234 --> 00:44:01,727 914 00:44:01,727 --> 00:44:02,643 SPEAKER 8: [tahtiimme] 915 00:44:02,643 --> 00:44:10,066 916 00:44:10,066 --> 00:44:11,024 SPEAKER 9: [tahtiimme]. 917 00:44:11,024 --> 00:44:14,475 918 00:44:14,475 --> 00:44:15,461 >> SPEAKER 4: [tahtiimme]. 919 00:44:15,461 --> 00:44:16,461 >> SPEAKER 10: [tahtiimme]. 920 00:44:16,461 --> 00:44:21,456 921 00:44:21,456 --> 00:44:23,438 SPEAKER 11: [tahtiimme]. 922 00:44:23,438 --> 00:44:24,438 SPEAKER 12: [tahtiimme]. 923 00:44:24,438 --> 00:44:30,438 924 00:44:30,438 --> 00:44:31,396 SPEAKER 13: [tahtiimme] 925 00:44:31,396 --> 00:44:37,360 926 00:44:37,360 --> 00:44:40,342 >> SPEAKER 14: [tahtiimme]. 927 00:44:40,342 --> 00:44:42,863 >> SPEAKER 13: [tahtiimme]. 928 00:44:42,863 --> 00:44:43,821 SPEAKER 15: [tahtiimme] 929 00:44:43,821 --> 00:44:48,785 930 00:44:48,785 --> 00:44:49,785 SPEAKER 16: [tahtiimme]. 931 00:44:49,785 --> 00:44:53,761 932 00:44:53,761 --> 00:44:55,252 >> SPEAKER 11: [tahtiimme] 933 00:44:55,252 --> 00:44:57,773 934 00:44:57,773 --> 00:44:58,731 SPEAKER 5: [tahtiimme]. 935 00:44:58,731 --> 00:45:11,250 936 00:45:11,250 --> 00:45:15,130 DAVID MALAN: Osa joukkue ovat itse ostoksia luokkiin. 937 00:45:15,130 --> 00:45:17,760 Mutta jos nämä jäsenet of CS50 henkilökunta on täällä, 938 00:45:17,760 --> 00:45:19,230 voisi tulla esille vain hetken. 939 00:45:19,230 --> 00:45:23,450 CS50: n TF: t ja CA ja [? henkilöstöä?] jäsenet here-- nämä ovat vain muutamia 940 00:45:23,450 --> 00:45:28,880 n faces-- joista yksi juuri näki, ja muutama other-- ja muutama muu 941 00:45:28,880 --> 00:45:30,020 edelleen. 942 00:45:30,020 --> 00:45:33,242 Miksi emme mene eteenpäin ja anna te viiden minuutin tauko. 943 00:45:33,242 --> 00:45:35,450 Jos sinun on ankka ulos kauppa luokkia, se käy hyvin. 944 00:45:35,450 --> 00:45:38,900 Ja viidessä minuutissa, me jatkaa, vilkaisemalla Scratch-- ensimmäisessä 945 00:45:38,900 --> 00:45:42,420 meidän ohjelmointikieli, tavata Kurssin henkilökunta tässä hieman lisää, 946 00:45:42,420 --> 00:45:45,020 ja keskittyä lopulta ongelma- asetettu nollaan. 947 00:45:45,020 --> 00:45:46,710 Joten palaamme viidessä minuutissa. 1 00:45:46,864 --> 00:45:47,370 >> Selvä. 2 00:45:47,370 --> 00:45:48,590 Joten olemme takaisin. 3 00:45:48,590 --> 00:45:51,330 Ja meidän jäljellä aika tänään, tavoitteena 4 00:45:51,330 --> 00:45:54,320 on tasapuoliset toimintaedellytykset esimerkiksi joidenkin terminologiaa, 5 00:45:54,320 --> 00:45:55,297 suhteen ideoita. 6 00:45:55,297 --> 00:45:57,380 Koska todellakin, kuten per joitakin kaavioita aikaisemmin, 7 00:45:57,380 --> 00:46:00,130 siellä tulee olemaan erilaisia tasot kokemus luokassa, 8 00:46:00,130 --> 00:46:03,210 jotkut jonka opiskelijat ovat toteuttaneet joitakin ohjelmointi ennen, 9 00:46:03,210 --> 00:46:04,200 joista jotkut eivät ole. 10 00:46:04,200 --> 00:46:07,430 Ja niin tämä ensimmäinen ongelma asettaa ja tämä ensimmäinen kieli 11 00:46:07,430 --> 00:46:10,830 meillä on mahdollisuus aloittaa itsestään selvänä päivän jälkeen 12 00:46:10,830 --> 00:46:12,960 joitakin yhteisiä sanastoa ja idea. 13 00:46:12,960 --> 00:46:15,590 >> Ja teemme tällä tavalla Kurssin ensimmäinen languages-- 14 00:46:15,590 --> 00:46:21,070 lisäksi C ja Python ja JavaScript ja SQL ja HTML ja CSS, 15 00:46:21,070 --> 00:46:24,450 me keskitymme aluksi ja vain ongelma asettaa nolla 16 00:46:24,450 --> 00:46:28,160 Tämän graafinen kieli, nimeltään Scratch kehittämä MIT: n Media Lab 17 00:46:28,160 --> 00:46:30,880 tiellä, jotta opiskelijat ja lapset erityisesti 18 00:46:30,880 --> 00:46:35,070 ilmaista itseään algorithmically-- tavalla paremmin sopusoinnussa mitä 19 00:46:35,070 --> 00:46:37,300 voisimme kutsua päättelyä. 20 00:46:37,300 --> 00:46:40,985 >> Ja se on hyödyllinen kieli, koska hyvin nopeasti ensi viikolla viikolla yhdessä, 21 00:46:40,985 --> 00:46:44,360 me siirtyminen entistä perinteinen ja vaikeaselkoisten kieli nimeltään 22 00:46:44,360 --> 00:46:46,370 C, joka on puhtaasti tekstimuotoinen. 23 00:46:46,370 --> 00:46:48,930 Sinä vain käyttää näppäimistöä Jotta kirjoittaa ohjeet 24 00:46:48,930 --> 00:46:50,230 Tällaiset ruudulla. 25 00:46:50,230 --> 00:46:52,840 Mutta vaikka et ole koskaan nähnyt ohjelmointikieli ennen, 26 00:46:52,840 --> 00:46:55,170 vain vilkaisi tämä kaikki on se arvoituksellinen, 27 00:46:55,170 --> 00:47:00,010 arvata, että luultavasti tulostaa Hello World. 28 00:47:00,010 --> 00:47:02,050 Mutta on paljon syntaktinen yläpuolella siellä. 29 00:47:02,050 --> 00:47:05,770 On outo hash symboli tai hash-tunniste ylös. 30 00:47:05,770 --> 00:47:08,900 On kulma kiinnikkeet, jotkut Suluissa aaltosulkuja, semi-colon-- 31 00:47:08,900 --> 00:47:11,880 siellä on vain niin paljon visuaalista syntaksin tulee tielle. 32 00:47:11,880 --> 00:47:13,940 Aloitamme kurssin Scratch jotta saat 33 00:47:13,940 --> 00:47:17,600 aiemmin kaikki nämä älyllisesti mielenkiinnotonta häiriötekijöitä, 34 00:47:17,600 --> 00:47:20,290 ja keskittyä sen sijaan ideat. 35 00:47:20,290 --> 00:47:22,540 >> Itse asiassa tämä saattaa olla ennen. 36 00:47:22,540 --> 00:47:24,830 Tämä tästä, viikko on jälkeen. 37 00:47:24,830 --> 00:47:26,760 Tämä tässä graafinen kieli Scratch, 38 00:47:26,760 --> 00:47:29,870 Näin voit toteuttaa saman program-- ohjelma, joka, kun suoritetaan, 39 00:47:29,870 --> 00:47:31,340 yksinkertaisesti sanoo Hello World. 40 00:47:31,340 --> 00:47:34,740 Ja mikä mukavaa noin Scratch on että se on tämä graafinen ohjelmointi 41 00:47:34,740 --> 00:47:38,780 ympäristö, joka käyttää palapelin palaset tai lohkot, että vain lukitsevat yhdessä 42 00:47:38,780 --> 00:47:40,440 jos se tekee loogista tehdä niin. 43 00:47:40,440 --> 00:47:43,810 Ja Scratch voit kehittyä animaatioita ja vuorovaikutteisia pelejä 44 00:47:43,810 --> 00:47:47,270 ja taidetta, ja mikä tahansa joukko asioita, jotka voitte kuvitella omassa mielessä, 45 00:47:47,270 --> 00:47:51,200 ja toteuttaa ne yksinkertaisesti vetämällä ja pudottamalla palapelin palaset. 46 00:47:51,200 --> 00:47:54,265 >> Ja todellakin, me on kyky ilmaista joitakin samoja ajatuksia 47 00:47:54,265 --> 00:47:56,890 että olen juuri mainitsi hetki sitten yhteydessä Mike Smith 48 00:47:56,890 --> 00:48:00,670 ja etsimällä puhelin book-- asioita kuten toiminnot, vain toimia, 49 00:48:00,670 --> 00:48:03,070 asioita, kuten silmukoita, jotka tekevät asiat uudestaan ​​ja uudestaan, 50 00:48:03,070 --> 00:48:05,170 muuttujat, jotka on jotain esittelemme, 51 00:48:05,170 --> 00:48:08,086 mutta se on tuttu kenties algebra-- vain jonkinlainen paikkamerkki 52 00:48:08,086 --> 00:48:10,840 tallentaa jotain arvoa saatat tarvitsevat later-- Boolen operaattoreilla, 53 00:48:10,840 --> 00:48:13,720 jos ne kyllä ​​tai ei totta false kysymyksiin ennen. 54 00:48:13,720 --> 00:48:17,117 Ehdot ovat ne haarukat road-- ne oksat niin sanotusti. 55 00:48:17,117 --> 00:48:19,700 Ja sitten on joitakin hienompaa ominaisuudet näemme vielä tänään, 56 00:48:19,700 --> 00:48:22,850 nimeltään taulukot ja kierteet ja tapahtumia, jotka me sitten uudelleen päälle 57 00:48:22,850 --> 00:48:24,460 aika eri kielillä. 58 00:48:24,460 --> 00:48:26,790 Mutta Scratch avulla voimme tutkia kaikkia näitä. 59 00:48:26,790 --> 00:48:30,779 Joten tässä Scratch, tämä violetti lohko on mikä funktio on tyypillisesti 60 00:48:30,779 --> 00:48:31,570 tulee näyttämään. 61 00:48:31,570 --> 00:48:35,620 Tämä violetti palapelin pala, joka on joitakin sana kuin sanoa, mikä on toiminta, 62 00:48:35,620 --> 00:48:38,490 ja niin se voisi olla argumentti tai parameter-- jotenkin 63 00:48:38,490 --> 00:48:41,140 ja laji räätälöintiä mitä tämä lohko tekee 64 00:48:41,140 --> 00:48:45,182 niin että se ei ole ennalta määritetty MIT mitä tämä violetti lohko kertoo. 65 00:48:45,182 --> 00:48:47,390 Itse näet on hetki, että olen voinut kirjoittaa 66 00:48:47,390 --> 00:48:49,931 sanat kuten Hello World, tai Hei David, tai hei Zamayla, 67 00:48:49,931 --> 00:48:53,750 tai mitä haluan, että argumentti kyseiseen puzzle nuoteissa valkoinen laatikko 68 00:48:53,750 --> 00:48:54,251 siellä. 69 00:48:54,251 --> 00:48:57,166 Samaan aikaan, jos haluan silmukka käymme nähdä, että siellä on palapelin palaset 70 00:48:57,166 --> 00:48:58,640 näyttää hieman oranssi näin. 71 00:48:58,640 --> 00:49:01,690 Ja niiden muoto sellaista viittaa siihen, että jotain tapahtuu uudestaan ​​ja uudestaan 72 00:49:01,690 --> 00:49:02,680 sykli. 73 00:49:02,680 --> 00:49:06,800 >> Jos siis kääriä moikkaamaan maailma lohko kanssa ikuisesti lohko Scratch, 74 00:49:06,800 --> 00:49:10,307 se vain menossa pitämään tervehtimässä maailman ikuisesti, kirjaimellisesti. 75 00:49:10,307 --> 00:49:12,390 Samaan aikaan, on toinen tyyppinen silmukka Scratch 76 00:49:12,390 --> 00:49:14,348 että me see-- toistuu block-- missä, jos 77 00:49:14,348 --> 00:49:17,940 tietää etukäteen, kuinka monta kertaa haluat silmukan suorittaa 78 00:49:17,940 --> 00:49:21,850 rajallinen määrä kertoja fact-- te voi määrittää, että kirjoittamalla useilla 79 00:49:21,850 --> 00:49:25,380 tai jopa kytkemällä muuttujaan, kuten X tai Y näemme. 80 00:49:25,380 --> 00:49:27,690 >> Itse asiassa, muuttujia kuin i tässä tapauksessa, joka 81 00:49:27,690 --> 00:49:30,109 on yleisnimi varten Kokonaislukumuuttuja että 82 00:49:30,109 --> 00:49:31,900 vain tallentaa number-- kokonaisluku voisi olla, 83 00:49:31,900 --> 00:49:35,470 käyttää tätä oranssi lohko tästä asettaa muuttujan kuten i nollaan. 84 00:49:35,470 --> 00:49:38,900 Tässä on esimerkki vihreä on Boolen lauseke Scratch. 85 00:49:38,900 --> 00:49:43,700 Vaikka tämä näyttää matematiikka kaava, matematiikka epätasa näin 86 00:49:43,700 --> 00:49:45,320 todella Boolen ilmaisuja. 87 00:49:45,320 --> 00:49:46,570 Tämä on joko tosi tai epätosi. 88 00:49:46,570 --> 00:49:48,300 I on alle 50. 89 00:49:48,300 --> 00:49:51,815 Se on joko kyllä ​​tai ei vastausta tai tosi tai epätosi vastaus. 90 00:49:51,815 --> 00:49:53,940 Ja me yleensä kutsumme ne Boolen ilmaisuja. 91 00:49:53,940 --> 00:49:55,148 Ja se ei tarvitse olla 50. 92 00:49:55,148 --> 00:49:57,970 Se voi olla x alle y, on suurempi kuin y, joka vastaa y-- 93 00:49:57,970 --> 00:50:00,020 useita muita kysymykset voidaan pyytää. 94 00:50:00,020 --> 00:50:03,250 >> Nyt ensi silmäyksellä, tämä saattaa näyttää yhtäkkiä hyvin rohkea täällä, ja se on. 95 00:50:03,250 --> 00:50:06,540 Mutta käsite viisasta, se on melko tuttu ennen. 96 00:50:06,540 --> 00:50:09,370 Jos x on pienempi kuin y, kuin sanoa niin paljon. 97 00:50:09,370 --> 00:50:12,230 Else jos x on suurempi kuin y, niin sano niin paljon. 98 00:50:12,230 --> 00:50:14,260 Else sanoa x on yhtä kuin y. 99 00:50:14,260 --> 00:50:17,220 Joten meillä on esimerkki siellä kolmannen scenario-- 100 00:50:17,220 --> 00:50:20,600 ainoa kolmas possibility-- x on joko suurempi, pienempi tai yhtä suuri kuin. 101 00:50:20,600 --> 00:50:22,420 Meillä on siis kolme tapaa tienhaaraan. 102 00:50:22,420 --> 00:50:26,290 >> Ja huomaa mikä on siistiä here-- Scratch, näyttäisi siltä, ​​on vain yksi palapelin 103 00:50:26,290 --> 00:50:28,840 pala, tässä tapauksessa jos muu lohko. 104 00:50:28,840 --> 00:50:32,090 Ja kuitenkin se näyttäisi merkitsevän voit on vain kaksi tapaa tienhaaraan. 105 00:50:32,090 --> 00:50:34,631 Voit mennä vasemmalle tai oikealle, mutta mitä siitä kolmas skenaario? 106 00:50:34,631 --> 00:50:35,760 Mitä jos x on yhtä kuin y? 107 00:50:35,760 --> 00:50:36,500 Ei iso juttu. 108 00:50:36,500 --> 00:50:39,640 Ota yksi palapelin pala, laita toinen sen sisällä 109 00:50:39,640 --> 00:50:45,759 luoda semanttisen vastaava of jos muu, jos, else-- ja nyt 110 00:50:45,759 --> 00:50:47,300 pyydä kolmialueisella tienhaaraan. 111 00:50:47,300 --> 00:50:49,091 Ja kuten tulemme näkemään, Scratch palapelin palat 112 00:50:49,091 --> 00:50:51,820 voidaan venyttää ja kasvaa, niin kun ahtaa enemmän tavaraa niihin. 113 00:50:51,820 --> 00:50:54,420 Sinun ei tarvitse asentaa kaiken oletuskokoon. 114 00:50:54,420 --> 00:50:56,690 >> Tätä me will Heti katso kutsutaan jono. 115 00:50:56,690 --> 00:51:00,880 Se on kuin list-- jotenkin tallentamiseen useita paloja tiedot 116 00:51:00,880 --> 00:51:02,886 muuttujaan, ei vain numero. 117 00:51:02,886 --> 00:51:05,760 Nämä näemme edustaja jotain kutsutaan monisäieominaisuuksia. 118 00:51:05,760 --> 00:51:08,280 Itse asiassa kaikki Macit ja PC näinä päivinä 119 00:51:08,280 --> 00:51:10,810 tukea multi-ketjuttaminen, mikä tarkoittaa, voit kirjaimellisesti 120 00:51:10,810 --> 00:51:12,390 tehdä useita asioita kerralla. 121 00:51:12,390 --> 00:51:15,390 Voit olla Microsoft Word ylös Etualalla työskennellyt joitakin essee. 122 00:51:15,390 --> 00:51:17,160 Saatat olla selain taustalla aukon 123 00:51:17,160 --> 00:51:18,720 G-mail tai Facebook tai vastaavaa. 124 00:51:18,720 --> 00:51:22,730 Tietokone voi tehdä useita asioita tänään, koska se on monisäikeinen, 125 00:51:22,730 --> 00:51:26,390 ja ohjelmia he ovat vuonna Erityisesti ovat myös Säikeistetyt. 126 00:51:26,390 --> 00:51:28,970 >> On asioita kutsutaan tapahtumia hyvin maailmassa Scratch, 127 00:51:28,970 --> 00:51:32,640 ja sitten on aivan liian, tehdä meidän omia palapelin palaset, jos asiat 128 00:51:32,640 --> 00:51:34,810 eivät todellisuudessa ole etukäteen. 129 00:51:34,810 --> 00:51:38,260 Joten motivoida tämän seuraavasti. 130 00:51:38,260 --> 00:51:40,580 Joitakin vuosia sitten, kun löysivät Scratch, 131 00:51:40,580 --> 00:51:43,530 kun olin oikeastaan grad opiskelija MIT, me 132 00:51:43,530 --> 00:51:45,640 itse annettiin tehtäväksi tehdä kotitehtäviä. 133 00:51:45,640 --> 00:51:47,614 Ja minä implemented-- joka jälkeenpäin ajatellen, 134 00:51:47,614 --> 00:51:50,780 oli erittäin huono päätös, koska se on kaikkein raivostuttavaa kappale maailmassa 135 00:51:50,780 --> 00:51:53,321 kuunnella kahdeksan tuntia työskennellessään homework-- 136 00:51:53,321 --> 00:51:57,180 mutta mitä en ollut kutsuttu Oscar Time, joka on ehkä tuttu laulu. 137 00:51:57,180 --> 00:51:59,820 >> CS50s oma Jordan Hayashi, yksi monien iäkkäämpien henkilökunnan jäsentä, 138 00:51:59,820 --> 00:52:03,920 on päivittänyt sen 2015 ja Nyt 2016 lähtien takaisin seuraavana päivänä, 139 00:52:03,920 --> 00:52:06,610 Minulla oli kaikkea juuri menossa osaksi Oscarin roskakoriin. 140 00:52:06,610 --> 00:52:09,320 Nyt tukea kierrätystä ja kompostointia. 141 00:52:09,320 --> 00:52:12,050 >> Mutta maalata kuvan mitä voimme tehdä täällä 142 00:52:12,050 --> 00:52:14,130 ja motivoida joitakin alemmalla tasolla esimerkkejä, 143 00:52:14,130 --> 00:52:16,400 voisimme saada yksi muu vapaaehtoinen vain tulla ylös 144 00:52:16,400 --> 00:52:18,331 ja pelata ensimmäinen kotitehtävän koskaan? 145 00:52:18,331 --> 00:52:18,830 Tule ylös. 146 00:52:18,830 --> 00:52:19,250 Mikä sinun nimesi on? 147 00:52:19,250 --> 00:52:20,030 >> HENRY: Henry. 148 00:52:20,030 --> 00:52:22,660 >> DAVID MALAN: Henry, tule ylös. 149 00:52:22,660 --> 00:52:24,190 Tule ylös. 150 00:52:24,190 --> 00:52:27,070 Pää joko tavalla, ja näet hetken, 151 00:52:27,070 --> 00:52:29,870 Aion mennä eteenpäin ja osui Vihreä lippu sivun oikeassa 152 00:52:29,870 --> 00:52:31,100 kulma, mikä tarkoittaa mennä. 153 00:52:31,100 --> 00:52:33,320 Pieni stop ikoni aikoo sanoa seis, 154 00:52:33,320 --> 00:52:35,490 ja silloin alkaa ja lopettaa ohjelman. 155 00:52:35,490 --> 00:52:36,450 Hauska tavata. 156 00:52:36,450 --> 00:52:36,950 Selvä. 157 00:52:36,950 --> 00:52:39,100 Joten aiomme katso ohjeet ruudulla vain hetken. 158 00:52:39,100 --> 00:52:41,450 Ja vain pelaamisessa muutaman seconds-- luota minuun, 159 00:52:41,450 --> 00:52:43,670 emme aio halua pelata kaikki aina end-- tulet 160 00:52:43,670 --> 00:52:45,470 saada tunteen mitä ohjelma tekee. 161 00:52:45,470 --> 00:52:49,170 Ja enemmän kuin vain keskittyä Henry kilttejä tässä pelissä, tarkennus 162 00:52:49,170 --> 00:52:52,600 ja miten se toteutetaan minua alunperin ja sitten Jordan. 163 00:52:52,600 --> 00:52:54,640 Toisin sanoen, missä ovat muuttujia? 164 00:52:54,640 --> 00:52:55,520 Missä ovat silmukoita? 165 00:52:55,520 --> 00:52:56,520 Missä ovat toimintoja? 166 00:52:56,520 --> 00:53:00,700 Ja näemme, jos emme näe ne alla huppu. 167 00:53:00,700 --> 00:53:03,660 >> Klikkaa ja vedä roskakoriin sopivaan bin. 168 00:53:03,660 --> 00:54:02,100 >> [MUSIIKKIA] 169 00:54:02,100 --> 00:54:02,600 Selvä. 170 00:54:02,600 --> 00:54:03,160 Se on erittäin hyvä. 171 00:54:03,160 --> 00:54:04,286 Miksi emme lopeta siellä. 172 00:54:04,286 --> 00:54:04,786 Kiitos. 173 00:54:04,786 --> 00:54:05,830 Onnittelut Henry. 174 00:54:05,830 --> 00:54:07,002 Kiitos. 175 00:54:07,002 --> 00:54:10,690 >> [SUOSIONOSOITUKSET] 176 00:54:10,690 --> 00:54:12,450 >> Kuvitelkaapa virheenkorjaus että ohjelma. 177 00:54:12,450 --> 00:54:15,880 Jos tulee ongelmia kahden minuutilla song-- mutta niin 178 00:54:15,880 --> 00:54:17,430 mitä täällä tapahtuu todella? 179 00:54:17,430 --> 00:54:20,900 Niin monimutkaista kuin se voisi alkaa näyttävät saada ajan myötä, 180 00:54:20,900 --> 00:54:22,910 todellakin enemmän ja enemmän tavaraa alkoivat pudota, 181 00:54:22,910 --> 00:54:25,370 mitä kiinnostavaa tällainen example-- 182 00:54:25,370 --> 00:54:27,270 ja näemme muutamia others-- on, että jos 183 00:54:27,270 --> 00:54:30,416 näkemättä monimutkaisuus tai hienostuneisuus pelin, 184 00:54:30,416 --> 00:54:33,040 siellä on hyvin yksinkertainen rakennus lohkoja, jotka play-- jotka kaikki, 185 00:54:33,040 --> 00:54:35,840 Jos tislata ne niille rakennuspalikat, ovat hyvin saatavilla 186 00:54:35,840 --> 00:54:37,401 ja toteuttamiskelpoisia itselleen. 187 00:54:37,401 --> 00:54:39,150 Esimerkiksi se on jo jonkin aikaa, mutta olen 188 00:54:39,150 --> 00:54:42,900 melko varma, mitä minä perin teki, kun joten tämä peli ensimmäistä kertaa 189 00:54:42,900 --> 00:54:44,787 olin täysin kuin procrastinated. 190 00:54:44,787 --> 00:54:47,120 En keskittyä ollenkaan logiikkaa tai palapelin palat, 191 00:54:47,120 --> 00:54:50,810 Olen keskittynyt grafiikka ja havainto katu post ja roskakorin 192 00:54:50,810 --> 00:54:51,540 ja kaikki tämä. 193 00:54:51,540 --> 00:54:53,456 Mutta ne olivat riittävällä ainekset ensin. 194 00:54:53,456 --> 00:54:57,220 Ja kun olen valmis procrastinating ja säätävä kattavan kehyksen, 195 00:54:57,220 --> 00:55:00,337 Päätin, haluan vain tehdä yhden pala roskakoriin putoavan taivaalta. 196 00:55:00,337 --> 00:55:02,170 Ja näemme Scratch tukee asiat nimeltään 197 00:55:02,170 --> 00:55:06,386 sprites-- merkkien on erilaiset puvut niin ne 198 00:55:06,386 --> 00:55:07,010 näyttävät erilaisilta. 199 00:55:07,010 --> 00:55:09,660 >> Ja niin minä laittaa roskakoriin puku yksi tällainen sprite. 200 00:55:09,660 --> 00:55:12,007 Ja minä vain tarvitaan sen pudota taivaalta. 201 00:55:12,007 --> 00:55:14,590 Ja niin se kääntyy pois, Scratch, kuten useimmat ohjelmointikielet, 202 00:55:14,590 --> 00:55:18,099 tukee satunnaisia ​​numeroita tai Teknisesti pseudokoodi satunnaisia ​​numeroita, 203 00:55:18,099 --> 00:55:20,390 niin että vetämällä ja pudottamalla tiettyjä palapelin palat, 204 00:55:20,390 --> 00:55:22,890 Pystyin saada roskakoriin tulevat vasemmalta aluksi. 205 00:55:22,890 --> 00:55:25,580 Ja sitten seuraavan kerran se putosi, mistä oikealle ja sitten keskeltä. 206 00:55:25,580 --> 00:55:28,060 Ja kaikki peli ei ollut aivan on roskia putosi taivaalta. 207 00:55:28,060 --> 00:55:29,770 Et voinut viitata suoraan tai klikkaa sitä. 208 00:55:29,770 --> 00:55:31,103 Et voinut avata roskakoriin. 209 00:55:31,103 --> 00:55:32,160 Et voinut tehdä mitään. 210 00:55:32,160 --> 00:55:34,450 Mutta se oli vauva askel kohti minun perimmäinen näkemys. 211 00:55:34,450 --> 00:55:36,720 >> Ja sen jälkeen, olen itse täytäntöön jonkinlaista 212 00:55:36,720 --> 00:55:41,230 tunnistusetäisyydestä joten jos et valitse ja laahaa pala roskakoriin 213 00:55:41,230 --> 00:55:44,350 yli roskakoriin, Oscarin kansi olisi avata ja sulkea. 214 00:55:44,350 --> 00:55:47,650 Mitään ei tapahtuisi roskakoriin, mutta ainakin kansi olisi avata ja sulkea. 215 00:55:47,650 --> 00:55:49,642 Joten sitten tarkistaa, vaihe kaksi kahden. 216 00:55:49,642 --> 00:55:52,100 Ja tämä on mitä tulee olemaan avain molemmissa ongelma asettaa nolla 217 00:55:52,100 --> 00:55:55,970 ja ohjelmointi yleisemmin, on ota näitä hyvin tahallinen vauvan askelia. 218 00:55:55,970 --> 00:55:59,390 Koska se ei ole pelkästään voit tuntuu rehellisesti aikaan paljon enemmän 219 00:55:59,390 --> 00:56:01,250 quickly-- se on pahin asia maailmassa 220 00:56:01,250 --> 00:56:06,149 yrittää toteuttaa kaikki Oscar Time, sitten tuntia myöhemmin osuma vihreä lippu, 221 00:56:06,149 --> 00:56:08,440 ja mikään ei toimi odotetusti koska missä sinä edes 222 00:56:08,440 --> 00:56:11,150 alkavat debug tai vianmääritys että ohjelma? 223 00:56:11,150 --> 00:56:12,470 Se on vain ylivoimainen. 224 00:56:12,470 --> 00:56:16,792 >> Ja niin todella käsittää tätä ajatusta ottaa steps-- vauva vaiheet uudelleen 225 00:56:16,792 --> 00:56:19,000 ja again-- rakentaa jotain, joka on lopulta, 226 00:56:19,000 --> 00:56:23,672 todella vaikuttava ja monimutkainen, mutta ensin, ei ole läheskään yhtä paljon niin. 227 00:56:23,672 --> 00:56:24,630 Itse asiassa, tehdään tämä. 228 00:56:24,630 --> 00:56:28,989 Anna minun mennä eteenpäin and-- Scratch itse olemassa verkossa osoitteessa Scratch.MIT.edu, 229 00:56:28,989 --> 00:56:30,780 ja sinun on kerrottu niin paljon jälleen ongelma 230 00:56:30,780 --> 00:56:34,200 asetetaan nolla, eritelmässä joka on jo CS50: n verkkosivuilla. 231 00:56:34,200 --> 00:56:35,725 >> Mutta tämä on mitä Scratch itsessään. 232 00:56:35,725 --> 00:56:38,210 Ja siellä on oikeastaan ​​vain kolme ensisijaista alueita. 233 00:56:38,210 --> 00:56:40,980 Huipulla vasemmalle siellä on ns vaiheessa. 234 00:56:40,980 --> 00:56:41,810 Tämä on Scratch. 235 00:56:41,810 --> 00:56:43,710 Oletuksena puku on kissa. 236 00:56:43,710 --> 00:56:46,950 Ja tämä on suorakulmainen maailma jossa voit move-- ylös, alas, vasemmalle, 237 00:56:46,950 --> 00:56:48,130 oikea ja joitakin muita juttuja. 238 00:56:48,130 --> 00:56:51,839 Keskellä tässä on meidän luokkia tai meidän kuormalavojen palapelin palaset, 239 00:56:51,839 --> 00:56:53,630 ja eri värejä tarkoittavat eri asioita. 240 00:56:53,630 --> 00:56:56,520 Ja jos penkoa, näet asioita, kuten silmukoita ja ehtoja 241 00:56:56,520 --> 00:56:58,160 ja muuttujat ja muita ainesosia. 242 00:56:58,160 --> 00:57:00,060 >> Ja sitten täällä on skriptejä alue. 243 00:57:00,060 --> 00:57:03,020 Täällä voin vetää ja pudottaa ne palapelin palaset tehdä asioita. 244 00:57:03,020 --> 00:57:04,690 Tehdäänpä yksi tällainen asia. 245 00:57:04,690 --> 00:57:06,630 Anna minun mennä eteenpäin and-- ja tiedän, missä se on. 246 00:57:06,630 --> 00:57:10,110 Joten aion välittömästi klikata jos tiedän asiat ovat valmiina, 247 00:57:10,110 --> 00:57:13,140 mutta osoittamalla ja klikkaamalla sekä tönäisi ympärillä ovat väistämättömiä. 248 00:57:13,140 --> 00:57:15,320 Joten kun vihreä lippu napsautetaan, Mitä haluan tehdä? 249 00:57:15,320 --> 00:57:17,100 Aion tehdä tämän. 250 00:57:17,100 --> 00:57:20,699 Aion vetää tähän violetti palapeli pala, tervehtimään kahden sekunnin, 251 00:57:20,699 --> 00:57:21,490 ja haluaisin suurentaa. 252 00:57:21,490 --> 00:57:23,865 >> Ja aion muuttaa tätä olla mitä haluan sen be-- 253 00:57:23,865 --> 00:57:26,471 Hello World kaksi sekuntia on hieno. 254 00:57:26,471 --> 00:57:28,970 Nyt aion napsauttaa Vihreä lippu, tai jos en todellakaan halua, 255 00:57:28,970 --> 00:57:31,820 Voin koko näytön ja sitten tulla takaisin. 256 00:57:31,820 --> 00:57:34,060 Se vain pitää kaikki yhdessä ikkunassa. 257 00:57:34,060 --> 00:57:36,141 Green flag-- Hello World. 258 00:57:36,141 --> 00:57:36,640 Selvä. 259 00:57:36,640 --> 00:57:38,789 Ei kaikki, että mielenkiintoinen. 260 00:57:38,789 --> 00:57:40,080 Joten anna minun mennä eteenpäin ja tehdä tätä. 261 00:57:40,080 --> 00:57:41,038 Yritän toista. 262 00:57:41,038 --> 00:57:44,740 Kun vihreä lippu clicked-- katsotaanpa tee jotain ääntä. 263 00:57:44,740 --> 00:57:46,880 Ja huomaa, että pois ruutuun ilmaiseksi saat 264 00:57:46,880 --> 00:57:49,910 kissa ääni, kuten on oletuksena Sprite. 265 00:57:49,910 --> 00:57:52,380 Nyt anna minun mennä eteenpäin ja osuma vihreä lippu nyt. 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 Se on ihana. 269 00:57:55,370 --> 00:57:57,040 Olen ohjelmointi. 270 00:57:57,040 --> 00:57:58,550 Joten mitä minä olen tehnyt? 271 00:57:58,550 --> 00:58:00,430 Tämä vastaa ohjelman. 272 00:58:00,430 --> 00:58:01,600 Se on tietysti erittäin yksinkertainen. 273 00:58:01,600 --> 00:58:05,300 Se ei oikeastaan ​​ota kovin paljon vaivaa ja MIT teki suurimman osan työstä, 274 00:58:05,300 --> 00:58:07,890 mutta olen kutsuttu funktio. 275 00:58:07,890 --> 00:58:08,940 Olen käyttänyt funktio. 276 00:58:08,940 --> 00:58:12,480 Olen tehnyt joitakin toimia, pelkällä että yksi violetti palapelin pala. 277 00:58:12,480 --> 00:58:15,960 >> No, jos haluan tehdä kolme naukuu peräkkäin? 278 00:58:15,960 --> 00:58:18,570 Anna minun mennä eteenpäin ja tehdä kaksi ja kolme. 279 00:58:18,570 --> 00:58:20,910 Ja huomaa, että kun leijua lähellä palapelin pala, 280 00:58:20,910 --> 00:58:22,970 pieni valkoinen viiva tavallaan magneettisesti, 281 00:58:22,970 --> 00:58:25,190 ja se napsahtaa yhdessä, kun annat mennä. 282 00:58:25,190 --> 00:58:26,600 Katsotaan, mitä tapahtuu täällä. 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 >> Siellä on vika. 286 00:58:34,510 --> 00:58:35,650 Olen vain kuullut yhden miau. 287 00:58:35,650 --> 00:58:37,440 Miksi voisi olla? 288 00:58:37,440 --> 00:58:39,001 Joo? 289 00:58:39,001 --> 00:58:39,500 Joo. 290 00:58:39,500 --> 00:58:41,650 Emme oikeastaan ​​kuule sitä, mutta se on hyvä intuitio. 291 00:58:41,650 --> 00:58:43,400 He kaikki pelaa samaan aikaan. 292 00:58:43,400 --> 00:58:44,000 Miksi? 293 00:58:44,000 --> 00:58:46,587 No, tietokone on juuri menossa tehdä mitä kerrot sitä tekemään. 294 00:58:46,587 --> 00:58:48,670 Joten jos sanot, pelata ääni, toistaa ääntä, toistaa ääntä, 295 00:58:48,670 --> 00:58:52,887 mutta et kerro sitä pelata kunnes olet valmis, pelata kunnes olet valmis, 296 00:58:52,887 --> 00:58:54,970 se tulee puhaltaa läpi Ohjelman todella nopeasti 297 00:58:54,970 --> 00:58:56,830 ja tehdä vain mitä kerrot sitä tekemään. 298 00:58:56,830 --> 00:58:59,040 >> Joten en oikeastaan ​​tarvitse korjata tämä pari tapaa. 299 00:58:59,040 --> 00:59:00,623 Voisin tehdä tämän päästä eroon tästä. 300 00:59:00,623 --> 00:59:04,180 Yritän tässä muu palapeli nuoteissa toistaa äänen miau kypsäksi, 301 00:59:04,180 --> 00:59:07,072 ja vedä kolme Näiden ja valitse Toista. 302 00:59:07,072 --> 00:59:09,430 >> [Meowing] 303 00:59:09,430 --> 00:59:13,350 >> Se ei ole oikeastaan ​​very-- kiitos sinä-- hyvin luonnollinen. 304 00:59:13,350 --> 00:59:16,590 Joten miksi ei I-- anna minun mennä hallita täällä. 305 00:59:16,590 --> 00:59:17,090 Kiva. 306 00:59:17,090 --> 00:59:22,230 Odota yksi sekunti, ja nyt anna minun mennä takaisin ääniin, ja pelata äänen kypsäksi, 307 00:59:22,230 --> 00:59:24,620 ja anna minun päästä odota sekunti. 308 00:59:24,620 --> 00:59:28,692 Ja anna minun mennä ja saada yksi enemmän ääntä, ja tässä sitä mennään. 309 00:59:28,692 --> 00:59:31,350 >> [Meowing] 310 00:59:31,350 --> 00:59:35,930 >> Hieman enemmän luonnollista, mutta tämä ei ole kovin tehokasta. 311 00:59:35,930 --> 00:59:39,830 Kuten olin kyllästyminen, kaikki olla se lyhyesti, valitsemalla edestakaisin 312 00:59:39,830 --> 00:59:42,724 ja todella monistaminen minun work-- melko paljon kopioimalla. 313 00:59:42,724 --> 00:59:44,640 Todellakin, jos hallita napsautetaan tai oikealle napsautetaan, 314 00:59:44,640 --> 00:59:46,500 Olisin voinut vain kopioida ja liittää. 315 00:59:46,500 --> 00:59:49,870 Mikä olisi parempi rakentaa käyttää? 316 00:59:49,870 --> 00:59:51,090 Mikä idea ennen? 317 00:59:51,090 --> 00:59:51,990 >> Joo, niin silmukka. 318 00:59:51,990 --> 00:59:54,580 Ja itse asiassa, jos me tönäisi ympäri, voisimme löytää juuri näin. 319 00:59:54,580 --> 00:59:57,730 Anna minun mennä tapahtumia tai pikemminkin ohjaus. 320 00:59:57,730 --> 00:59:59,650 Joten repeat-- en haluavat sen olevan 10 kertaa. 321 00:59:59,650 --> 01:00:01,370 Se nappaa ärsyttävää nopeasti. 322 01:00:01,370 --> 01:00:03,380 Mutta Toistan kolme kertaa. 323 01:00:03,380 --> 01:00:06,355 Saanen palata ääni ja toistaa äänen, kunnes se on tehty. 324 01:00:06,355 --> 01:00:08,480 Saanen palata Ohjaus ja vain odottaa yksi sekunti. 325 01:00:08,480 --> 01:00:10,271 Ja ilmoitus, saatat mielestäni se ei sovi, 326 01:00:10,271 --> 01:00:13,520 mutta uudelleen, jos magneettisesti annat sen snap paikallaan, se kasvaa täyttämään. 327 01:00:13,520 --> 01:00:14,971 Mitä se pelaa nyt? 328 01:00:14,971 --> 01:00:18,500 >> [Meowing] 329 01:00:18,500 --> 01:00:19,000 OK. 330 01:00:19,000 --> 01:00:19,660 Kiva. 331 01:00:19,660 --> 01:00:22,540 Ja tämä on mitä kutsuttaisiin ohjelma, joka on myös oikea. 332 01:00:22,540 --> 01:00:27,590 Se meowed kolme kertaa melko luonnostaan, mutta se on suunniteltu paremmin. 333 01:00:27,590 --> 01:00:29,580 Olen käyttäen vähemmän hukkaan. 334 01:00:29,580 --> 01:00:30,970 En kopioi ja liitä mitään. 335 01:00:30,970 --> 01:00:32,470 Käytin parempi idea. 336 01:00:32,470 --> 01:00:35,340 >> Nyt tämä ei ole vielä kaikki, mielenkiintoinen Scratch ei tee 337 01:00:35,340 --> 01:00:35,930 mitä tahansa. 338 01:00:35,930 --> 01:00:37,388 Tehdäänpä jotain muuta. 339 01:00:37,388 --> 01:00:38,670 Tehdään jotain ikuisesti. 340 01:00:38,670 --> 01:00:39,420 Ja tiedätkö mitä? 341 01:00:39,420 --> 01:00:40,470 Motion tuntuu mielenkiintoinen. 342 01:00:40,470 --> 01:00:45,760 Katsotaanpa häntä siirtää 10 vaiheet ja osuma pelata nyt. 343 01:00:45,760 --> 01:00:46,570 >> OK. 344 01:00:46,570 --> 01:00:49,300 No voimme tavallaan vetää hänet takaisin, ja hän on edelleen 345 01:00:49,300 --> 01:00:51,250 käynnissä, koska hän tekee tätä ikuisesti. 346 01:00:51,250 --> 01:00:53,150 Joten silmukka tekee mitä se sanoo tehdä, 347 01:00:53,150 --> 01:00:54,650 mutta tämä ei ole kovin kiinnostava. 348 01:00:54,650 --> 01:00:55,310 Tehdään tämä. 349 01:00:55,310 --> 01:00:59,870 Saanen lisätä ohjausjakson, ja käyttää yhtä näistä edellytyksistä ensimmäistä kertaa. 350 01:00:59,870 --> 01:01:03,119 >> Joten se tulee liikkumaan 10 steps-- 10 pistettä, 10 pikseleitä screen-- 351 01:01:03,119 --> 01:01:04,660 Sitten se tulee kysyä tätä kysymystä. 352 01:01:04,660 --> 01:01:09,340 Jos jotain on totta, niin tee jotain sisällä tämän lohkon. 353 01:01:09,340 --> 01:01:13,060 Joten se kääntyy pois tunnistava on kokonaisuutena nippu Boolean expressions-- 354 01:01:13,060 --> 01:01:16,580 kysymyksiin kyllä ​​tai ei totta false form-- anna minun tehdä tätä. 355 01:01:16,580 --> 01:01:19,260 >> Jos touching-- ja sitten on tämä pieni pudotusvalikosta. 356 01:01:19,260 --> 01:01:20,410 Voin parametroidaan sitä. 357 01:01:20,410 --> 01:01:23,010 Jos koskettaa edge-- katsotaanpa tehdä jotain. 358 01:01:23,010 --> 01:01:27,310 Joten jos koskettaa edge-- anna minun mennä takaisin liikettä. 359 01:01:27,310 --> 01:01:32,281 Ja miksi emme vain kääntyä ympäri 180 astetta? 360 01:01:32,281 --> 01:01:32,780 Selvä. 361 01:01:32,780 --> 01:01:35,070 Joten ikuisesti, siirtää 10 askelmaa. 362 01:01:35,070 --> 01:01:37,670 Jos kosketa reuna, kääntää 180 astetta. 363 01:01:37,670 --> 01:01:39,720 Ja se ei ole ohjelman lopussa koska olet ikuisesti lohko, 364 01:01:39,720 --> 01:01:42,053 joten se tulee mennä uudestaan ​​ja uudestaan ​​ja uudestaan ​​ja uudestaan. 365 01:01:42,053 --> 01:01:43,980 Joten mitä tapahtuu. 366 01:01:43,980 --> 01:01:44,785 OK. 367 01:01:44,785 --> 01:01:48,270 Hieman buginen, mutta eräänlainen jäähtyä. 368 01:01:48,270 --> 01:01:51,710 >> Ja voimme lisätä tähän joitakin typeriä asioita jotka eivät ole kovin älyllisesti 369 01:01:51,710 --> 01:01:52,270 mielenkiintoinen. 370 01:01:52,270 --> 01:01:57,210 Mutta jos me osuma tämä pieni mikrofoni button-- Auts. 371 01:01:57,210 --> 01:01:58,480 Saanen puhdista ylös. 372 01:01:58,480 --> 01:02:01,540 Saanen parantaa tätä he sanovat televisiossa. 373 01:02:01,540 --> 01:02:05,400 Puhdista se ylös, Save, ja nyt mennä jopa skriptejä. 374 01:02:05,400 --> 01:02:07,500 >> Nyt, anna minun mennä kuulostaa. 375 01:02:07,500 --> 01:02:09,002 Annan sille nimen. 376 01:02:09,002 --> 01:02:12,440 Soitan tämän Auts. 377 01:02:12,440 --> 01:02:13,840 Ja nyt toistaa ääntä Auts. 378 01:02:13,840 --> 01:02:16,520 Huomaa, se näkyy pikku pudotusvalikosta. 379 01:02:16,520 --> 01:02:17,612 Katsotaan. 380 01:02:17,612 --> 01:02:20,444 >> [OUCH] 381 01:02:20,444 --> 01:02:24,377 >> [Nauraa] 382 01:02:24,377 --> 01:02:25,835 Mutta voimme muuttaa t hänen lennossa. 383 01:02:25,835 --> 01:02:28,106 Voimme olla kaksi kertaa niin ärsyttävää. 384 01:02:28,106 --> 01:02:31,760 >> [OUCH] 385 01:02:31,760 --> 01:02:35,332 >> Tai jos teemme niin kuin 1000 askelta klo time-- 386 01:02:35,332 --> 01:02:39,900 387 01:02:39,900 --> 01:02:40,670 >> OK. 388 01:02:40,670 --> 01:02:42,295 Joten aiomme lähteä että yksi yksin. 389 01:02:42,295 --> 01:02:45,290 Joten jälleen, rakennus blocks-- I alkoi jotain erittäin helppoa, 390 01:02:45,290 --> 01:02:47,930 ja sitten lisäsin ominaisuus, lisäsi ominaisuus, lisäsi ominaisuus. 391 01:02:47,930 --> 01:02:50,721 Ja en enää tarvitse pelätä miten ensimmäinen näistä ominaisuuksista 392 01:02:50,721 --> 01:02:53,690 toteutui jatkan kerros asioita päälle. 393 01:02:53,690 --> 01:02:55,430 Joten itse asiassa, anna minun tehdä yksi muu täällä. 394 01:02:55,430 --> 01:03:00,580 Anna minun mennä eteenpäin ja avata tiedoston, joka Toin etukäteen, nimeltään Sheep. 395 01:03:00,580 --> 01:03:03,970 >> Joten se on hieman erilainen merkki, joka näyttää tältä. 396 01:03:03,970 --> 01:03:07,370 Ja haluaisin nähdä, jos en pysty tehdä jotain käyttämällä laskuri 397 01:03:07,370 --> 01:03:09,310 Tässä case-- ns muuttuja. 398 01:03:09,310 --> 01:03:15,540 Aion mennä eteenpäin ja alle Events-- haluan saada green lippu napsautetaan. 399 01:03:15,540 --> 01:03:19,030 Sitten anna minun mennä Data, jonka tiedän vain pelaa noin ennen, 400 01:03:19,030 --> 01:03:20,214 on missä muuttujat ovat. 401 01:03:20,214 --> 01:03:21,880 Ja aion mennä eteenpäin ja vedä tätä. 402 01:03:21,880 --> 01:03:25,144 >> Niin muuttuja nimeltä laskuri, ja Aion alustaa sen nollaan. 403 01:03:25,144 --> 01:03:27,560 Voin kutsua sitä anything-- x tai y tai z-- mutta ohjelmoinnin, 404 01:03:27,560 --> 01:03:30,410 soittamalla jotain semanttisesti hyödyllinen tapa, kuten laskuri, 405 01:03:30,410 --> 01:03:34,540 joka kuvaa mitä se on, se on paljon helpompi lukea koodin myöhemmin. 406 01:03:34,540 --> 01:03:37,460 Anna minun mennä eteenpäin ja saada ikuisesti lohko täällä. 407 01:03:37,460 --> 01:03:41,289 Ja anna minun mennä näyttää sivu ja tehdä Say lohko. 408 01:03:41,289 --> 01:03:44,330 Mutta mikä on siistiä muuttujista on I ei tarvitse vain kirjoittaa jotain 409 01:03:44,330 --> 01:03:47,850 kuten Hello World, jonka olemme jo tehty, voin sen sijaan mennä Data 410 01:03:47,850 --> 01:03:50,690 ja vetää minun vaihteleva, ja jopa vaikka muoto ei ole aivan 411 01:03:50,690 --> 01:03:53,000 näyttää se pitäisi sopia, se kasvaa täyttämään. 412 01:03:53,000 --> 01:03:58,396 Ja minä vain sanoa laskuri yhdelle second-- spoiler-- hän aikoo laskea. 413 01:03:58,396 --> 01:04:00,380 Me sanomme sen yhden sekunnin. 414 01:04:00,380 --> 01:04:02,840 Sitten aion mennä ja hänet odota sekunti, 415 01:04:02,840 --> 01:04:04,650 joten sitä ei lasketa liian nopeasti. 416 01:04:04,650 --> 01:04:08,430 Ja sitten lopuksi muuta laskuri by one-- Toisin sanoen, 417 01:04:08,430 --> 01:04:13,520 increment laskuri yhdellä lisäarvoa ja tehdä ikuisesti. 418 01:04:13,520 --> 01:04:16,129 >> Joten lampaat liian, kuten ohjelmoija, laskee 0. 419 01:04:16,129 --> 01:04:20,350 420 01:04:20,350 --> 01:04:23,740 Ja jos odotamme tarpeeksi kauan, Hän tekee tämän ikuisesti. 421 01:04:23,740 --> 01:04:27,740 Mutta se ei ole aivan totta, koska Itse asiassa, kun me löytää viikolla yhdessä, 422 01:04:27,740 --> 01:04:31,871 kokonaislukuja ja tietokoneet yleisemmin teknisesti on vain finite-- hyvin, 423 01:04:31,871 --> 01:04:33,829 pikemminkin tietokoneet, kun ne ovat kokonaislukuja, 424 01:04:33,829 --> 01:04:35,670 on vain rajallinen määrä bittejä. 425 01:04:35,670 --> 01:04:37,860 Kyseiset lamput siellä voidaan laskea ainoastaan ​​niin korkea 426 01:04:37,860 --> 01:04:39,239 Ennen olet poissa hehkulampuista. 427 01:04:39,239 --> 01:04:41,590 Ja myös tietokone on vain niin paljon muistia, 428 01:04:41,590 --> 01:04:44,640 vain on niin paljon transistorit, joten se voidaan laskea ainoastaan ​​niin korkea. 429 01:04:44,640 --> 01:04:47,409 >> Joten käy ilmi, että lampaat, Luulen, voi laskea 2 miljardia 430 01:04:47,409 --> 01:04:48,409 tai jotain aika iso. 431 01:04:48,409 --> 01:04:50,325 Joten emme aio odottaa tämän tapahtua. 432 01:04:50,325 --> 01:04:54,850 Mutta lopulta joitakin bug tapahtuu joka voi olla hyvin todellinen maailma 433 01:04:54,850 --> 01:04:55,970 seurauksia. 434 01:04:55,970 --> 01:04:58,861 Mutta kuin lammas, joka vain tuo muuttuja. 435 01:04:58,861 --> 01:05:01,110 Mennään eteenpäin ja avata jotain tein etukäteen 436 01:05:01,110 --> 01:05:07,430 tässä kutsutaan lemmikkieläinten Cat-- Lemmikkieläinten Cat tänne. 437 01:05:07,430 --> 01:05:10,420 Ja huomaa tässä se muutaman lohkot, mutta kun vihreä lippu 438 01:05:10,420 --> 01:05:12,474 napsautetaan, ikuisesti tekee seuraavaa. 439 01:05:12,474 --> 01:05:15,265 Jos koskematta hiirtä pointer-- niin kursori näytöllä, 440 01:05:15,265 --> 01:05:18,529 arrow-- pelata ääni miau ja sitten odottaa kaksi sekuntia. 441 01:05:18,529 --> 01:05:19,570 Ja juuri tähän ikuisesti. 442 01:05:19,570 --> 01:05:22,619 Vain jatkuvasti Odota onko pointer-- 443 01:05:22,619 --> 01:05:24,710 jos kissa koskettaa osoitinta. 444 01:05:24,710 --> 01:05:26,060 >> Joten en osuma pelata. 445 01:05:26,060 --> 01:05:26,920 Mitään ei tapahdu. 446 01:05:26,920 --> 01:05:28,980 Mutta kun siirrä kursori kissa, 447 01:05:28,980 --> 01:05:31,960 >> [Meowing] 448 01:05:31,960 --> 01:05:34,750 >> Ja jos minä siirtää sen pois, ei hyväily kissa enää. 449 01:05:34,750 --> 01:05:38,090 Siksi jotkut ehdollinen logiikka sisäkkäisiä silmukan sisällä. 450 01:05:38,090 --> 01:05:43,070 Miten tästä esimerkki, tarkoituksella nimeltään Älä Pet Cat? 451 01:05:43,070 --> 01:05:45,253 Mitä tämä aikoo tehdä? 452 01:05:45,253 --> 01:05:47,880 >> [Meowing] 453 01:05:47,880 --> 01:05:50,215 >> Miksi et lemmikkieläinten kissa? 454 01:05:50,215 --> 01:05:59,440 >> [Meowing] 455 01:05:59,440 --> 01:06:00,699 >> OK. 456 01:06:00,699 --> 01:06:03,880 Joten tämä on esimerkki, jos muuta. 457 01:06:03,880 --> 01:06:06,482 Se on ratkaisupaalulle ja koska se istuu silmukan, 458 01:06:06,482 --> 01:06:07,690 he molemmat saada tarkastetaan. 459 01:06:07,690 --> 01:06:08,280 Onko tämä totta? 460 01:06:08,280 --> 01:06:08,760 Onko tämä totta? 461 01:06:08,760 --> 01:06:09,250 Onko tämä totta? 462 01:06:09,250 --> 01:06:09,791 Onko tämä totta? 463 01:06:09,791 --> 01:06:11,880 Ja lopulta, yksi ne tulee soveltaa 464 01:06:11,880 --> 01:06:16,480 ja niin kuulet joko miau tai myrskyisät leijonan kyseisessä tapauksessa. 465 01:06:16,480 --> 01:06:21,400 >> No, tehdään hieman fancy yksi että tein etukäteen too-- kierteet. 466 01:06:21,400 --> 01:06:25,210 Joten kierre on vain yksi asia, että tietokone voi tehdä. 467 01:06:25,210 --> 01:06:29,349 Joten monisäikeinen ohjelma on ohjelma joka voi tehdä useita asioita samanaikaisesti. 468 01:06:29,349 --> 01:06:31,140 Ja kaikki nämä esimerkit Tähän mennessä on ollut 469 01:06:31,140 --> 01:06:35,980 vain yksi käsikirjoitus, niin speak-- yksi ohjelma näin täällä. 470 01:06:35,980 --> 01:06:38,810 Mutta huomaa tämä ohjelma on kaksi sprite, kaksi merkkiä. 471 01:06:38,810 --> 01:06:40,020 Yksi on lintu. 472 01:06:40,020 --> 01:06:40,870 Yksi on kissa. 473 01:06:40,870 --> 01:06:45,080 >> Ja huomaa kun klikkaa nämä alas vasen, kummallakin on omat skriptit 474 01:06:45,080 --> 01:06:47,120 tai ohjelmat, jotka liittyvät niihin. 475 01:06:47,120 --> 01:06:49,420 Ja nämä molemmat ohjelmat, ilmoitus, alku 476 01:06:49,420 --> 01:06:52,600 kanssa, kun vihreä lippu clicked-- Katsotaanpa klo cat-- 477 01:06:52,600 --> 01:06:54,030 Kun vihreä lippu napsautetaan. 478 01:06:54,030 --> 01:06:58,220 Ja niin todellakin, kun osuma pelata nyt, kaksi asiaa tapahtuu heti. 479 01:06:58,220 --> 01:07:01,750 Kissa ja lintu ovat molemmat aio käyttää samanaikaisesti 480 01:07:01,750 --> 01:07:03,815 luoda tätä vaikutusta. 481 01:07:03,815 --> 01:07:05,440 Ja voitte kuvitella, mitä tapahtuu. 482 01:07:05,440 --> 01:07:08,340 On silmukka ja lintu ja kissa ovat silmukan. 483 01:07:08,340 --> 01:07:11,270 Lintu on aivan terhakka kuin Olin ennen kun sanoin Auts. 484 01:07:11,270 --> 01:07:13,040 Mutta kissa selvästi on etu. 485 01:07:13,040 --> 01:07:16,040 On toinenkin tunnistava lohko joka osoittaa kissa tarkoituksella 486 01:07:16,040 --> 01:07:19,836 lintu tässä asiassa. 487 01:07:19,836 --> 01:07:22,960 Jotta voisimme kiusata toisistaan, katsomalla kautta nämä lohkot, mitä tapahtuu. 488 01:07:22,960 --> 01:07:25,460 Mutta tärkein ainesosa tässä on yksi. 489 01:07:25,460 --> 01:07:28,520 Lintu, niin että tämä peli ei ole kokonaan boring-- tai tämän animation-- 490 01:07:28,520 --> 01:07:30,060 alkaa satunnaiseen suuntaan. 491 01:07:30,060 --> 01:07:32,890 Ja tietokone on poiminta väliltä 90 ja 180 492 01:07:32,890 --> 01:07:36,110 olennaisesti, niin että se on hieman eri animaation joka kerta. 493 01:07:36,110 --> 01:07:39,480 >> Ja sitten huomaa täällä, jos kissa koskettaa lintu, sitten 494 01:07:39,480 --> 01:07:42,030 pelata leijona neljä sound-- pauhu. 495 01:07:42,030 --> 01:07:46,330 Mutta sillä välin linnun paletti, meillä on tämä. 496 01:07:46,330 --> 01:07:49,229 Ikuisesti, jos ei kosketa kissa, vain pitää liikkuvat kolme vaihetta. 497 01:07:49,229 --> 01:07:50,770 Ja sitten tässä on toinen palapelin pala. 498 01:07:50,770 --> 01:07:52,030 Jos olet reunalla, pomppia. 499 01:07:52,030 --> 01:07:54,840 Joten lintu on juuri sellainen hoitamassa oman liiketoiminnan, 500 01:07:54,840 --> 01:07:57,330 vain lenteli ja terhakka, ja se on todella 501 01:07:57,330 --> 01:08:01,780 kissa, joka oli ehdollinen logiikka onko se oli kiinni lintu. 502 01:08:01,780 --> 01:08:02,280 Selvä. 503 01:08:02,280 --> 01:08:08,800 Tehdäänpä yksi muu täällä, tämä kutsutaan Hi Hi Hi. 504 01:08:08,800 --> 01:08:15,100 Ja tämä tässä vain ei tämä on ikuisesti silmukka. 505 01:08:15,100 --> 01:08:18,925 Mutta notice-- miten estämme Tämän erittäin ärsyttävää ohjelma? 506 01:08:18,925 --> 01:08:21,600 507 01:08:21,600 --> 01:08:22,640 Välilyöntiä. 508 01:08:22,640 --> 01:08:27,990 Koska jos teen sen, vasemmalla program-- 509 01:08:27,990 --> 01:08:31,550 huomaa sitä jatkuvasti listening-- on avain tilaa painamalla. 510 01:08:31,550 --> 01:08:34,090 Jos välilyöntiä painetaan, ja jos on, mitä se tekee? 511 01:08:34,090 --> 01:08:35,980 Se tekee erittäin yleinen tekniikka. 512 01:08:35,980 --> 01:08:38,590 Se asettaa muuttujan vastaa noin arvoa. 513 01:08:38,590 --> 01:08:39,741 Mutta se kytkee tämän arvon. 514 01:08:39,741 --> 01:08:41,490 [? Joten ulkonäkö?] perustuu shape-- I 515 01:08:41,490 --> 01:08:43,160 on vaihteleva, että olen kirjoitti etukäteen nimeltään 516 01:08:43,160 --> 01:08:44,770 Mykistetty, joka sanoo vain kyllä ​​tai ei. 517 01:08:44,770 --> 01:08:45,880 Onko ääni mykistetty vai ei? 518 01:08:45,880 --> 01:08:46,990 Totta vai tarua? 519 01:08:46,990 --> 01:08:51,580 Ja ilmoitus, sanon this-- jos vaimennettu on nolla, niin vaihdetaan johonkin, 520 01:08:51,580 --> 01:08:53,840 muuten asettaa mute sen nollaan. 521 01:08:53,840 --> 01:08:55,540 Joten vain kääntää arvon nollasta yhteen. 522 01:08:55,540 --> 01:08:58,320 Voisin olla done-- muuttaa sitä kaksi tai kolme ja viisikymmentäseitsemän yli yksi 523 01:08:58,320 --> 01:09:00,162 tai viisikymmentäkuusi yli neljä tai neljä kuuteen. 524 01:09:00,162 --> 01:09:01,870 Mutta sillä ei ole väliä mitä numerot käytän, 525 01:09:01,870 --> 01:09:04,090 niin kauan kuin minä pitää muuttamalla se päinvastoin. 526 01:09:04,090 --> 01:09:07,290 >> Ja eniten tahansa ohjelmoija olisi vain valita nolla ja one-- epätosi ja tosi, 527 01:09:07,290 --> 01:09:09,510 pois ja on-- edustamaan tätä. 528 01:09:09,510 --> 01:09:10,930 Ja tämä on edelleen käynnissä. 529 01:09:10,930 --> 01:09:12,190 Jos minä välilyöntiä uudelleen 530 01:09:12,190 --> 01:09:13,590 >> [SEAL KUULOSTAA] 531 01:09:13,590 --> 01:09:15,440 >> Ohjelma on edelleen käynnissä. 532 01:09:15,440 --> 01:09:18,400 Koska on tämä muu kirjoitus joka sanoo, ikuisesti toimi seuraavasti. 533 01:09:18,400 --> 01:09:21,390 534 01:09:21,390 --> 01:09:24,770 Jos mykistetty muuttuja yhtä suuri kuin zero-- joten jos et ole mykistetty 535 01:09:24,770 --> 01:09:29,609 on logic-- jos se on epätosi tai no, sitten toistaa äänen, 536 01:09:29,609 --> 01:09:30,650 koska et ole vaimennettu. 537 01:09:30,650 --> 01:09:33,358 Kannattaa toistaa äänen ja sitten ajattelevat hi hi hi kaksi sekuntia 538 01:09:33,358 --> 01:09:35,790 ja sitten odottaa, ja tehdä se uudestaan ​​ja uudestaan ​​ja uudestaan. 539 01:09:35,790 --> 01:09:40,760 >> Ja niin tällä tavalla meillä on tapa ihmiset to-- ohjelmille vuorovaikutuksessa. 540 01:09:40,760 --> 01:09:43,120 Ja he eivät tarvitse olla niin päivätty kuin muut. 541 01:09:43,120 --> 01:09:46,280 Itse asiassa, tönäisi around-- no pun intended-- 542 01:09:46,280 --> 01:09:49,250 joku käytti valtavasti aikaa internetissä täytäntöönpanoa 543 01:09:49,250 --> 01:09:51,580 PokemonGo Scratch. 544 01:09:51,580 --> 01:09:55,440 Se jopa geolocates teitä Cambridge tai Allston täällä. 545 01:09:55,440 --> 01:10:03,120 Joten jos haluat nähdä myös mitä ihmiset voi tehdä on this-- erittäin hieno valikko. 546 01:10:03,120 --> 01:10:04,780 Klikkaa tästä. 547 01:10:04,780 --> 01:10:07,430 >> Tämä on minua nuolinäppäimillä nyt. 548 01:10:07,430 --> 01:10:09,446 Aion mennä tämän jälkeen. 549 01:10:09,446 --> 01:10:09,946 Klikkaus. 550 01:10:09,946 --> 01:10:12,949 551 01:10:12,949 --> 01:10:14,240 Ja nyt klikkaat pokeball. 552 01:10:14,240 --> 01:10:17,130 553 01:10:17,130 --> 01:10:20,260 Siis, Taidat tarkoitus osoita pokeball. 554 01:10:20,260 --> 01:10:20,760 Selvä. 555 01:10:20,760 --> 01:10:22,680 Joten tein sen. 556 01:10:22,680 --> 01:10:23,950 Voin mennä tänne. 557 01:10:23,950 --> 01:10:27,790 Ja tämä henkilö toteuttaa lisää Pokeballs yli here-- kolme Pokeballs. 558 01:10:27,790 --> 01:10:29,950 >> Me lähettää linkin tähän verkossa, joten voit pelata. 559 01:10:29,950 --> 01:10:32,364 Mutta ilmoitus siellä vain joitakin perusasioita rakennuspalikoita. 560 01:10:32,364 --> 01:10:33,780 Se näyttää paljon monimutkaisempi, ja se on. 561 01:10:33,780 --> 01:10:35,905 Tämä on vaikuttava ja enemmän kuin olisimme yleensä 562 01:10:35,905 --> 01:10:37,740 odottaa, varmasti ongelma asetettu nolla. 563 01:10:37,740 --> 01:10:40,809 En tiedä kuinka kauan tämä henkilö vietetty. 564 01:10:40,809 --> 01:10:41,850 Mutta se kaikki on vain silmukka. 565 01:10:41,850 --> 01:10:43,180 On ääni pelissä. 566 01:10:43,180 --> 01:10:44,850 On jonkinlainen silmukan kuuntelee onko olen 567 01:10:44,850 --> 01:10:47,558 lyömällä ylä- tai alas nuoli tai vasen ja oikea, 568 01:10:47,558 --> 01:10:49,834 ja sitten jos on, se liikkuu se joitakin määrä pikseleitä. 569 01:10:49,834 --> 01:10:51,750 Ja sitten jos napsautan toinen sprite, siellä 570 01:10:51,750 --> 01:10:53,390 jonkinlaisen jos ehto siellä. 571 01:10:53,390 --> 01:10:54,806 Joo, tämä alkaa olla liian voimakas. 572 01:10:54,806 --> 01:10:56,100 Aiomme pysähtyä. 573 01:10:56,100 --> 01:10:57,750 Se kaikki nämä kulmakivistä. 574 01:10:57,750 --> 01:11:01,530 Ei ole muita ainesosia muuta kuin mitä teimme jo. 575 01:11:01,530 --> 01:11:04,670 >> Ja silti täällä, anna minun tehdä yksi viimeinen esimerkkejä 576 01:11:04,670 --> 01:11:06,960 että sellaisen kuvan liian mitä voit tehdä täällä. 577 01:11:06,960 --> 01:11:10,481 Tässä on hyvin yksinkertainen ohjelma, joka vain ei this-- yskä, yskä, yskä. 578 01:11:10,481 --> 01:11:12,480 Ja perustuu pelkästään mitä teimme tähän mennessä, 579 01:11:12,480 --> 01:11:14,570 jossa on ilmeinen mahdollisuus parantaa. 580 01:11:14,570 --> 01:11:15,570 Tämä ohjelma on oikea. 581 01:11:15,570 --> 01:11:17,980 Se yskii kolme kertaa, joka on mitä tarkoitettu. 582 01:11:17,980 --> 01:11:19,650 Mutta se huonosti toteutettu. 583 01:11:19,650 --> 01:11:20,600 Se on huonosti suunniteltu. 584 01:11:20,600 --> 01:11:22,000 Miksi? 585 01:11:22,000 --> 01:11:22,500 Joo. 586 01:11:22,500 --> 01:11:23,230 Se ei ole silmukka. 587 01:11:23,230 --> 01:11:24,610 Ja se ei ole niin paljon että se ei ole silmukka, 588 01:11:24,610 --> 01:11:26,400 se, että siellä on paljon päällekkäisyyttä. 589 01:11:26,400 --> 01:11:28,830 Siellä on kopioitu ja liittää koodi, niin sanotusti. 590 01:11:28,830 --> 01:11:31,830 Ja ratkaisu luultavasti on todellakin silmukka. 591 01:11:31,830 --> 01:11:34,350 Joten anna minun mennä eteenpäin ja parannella sitä. 592 01:11:34,350 --> 01:11:36,250 Ja aion vetää näitä tänne. 593 01:11:36,250 --> 01:11:39,986 Anna minun mennä eteenpäin ja saada toista lohko, muuttaa kolmeen. 594 01:11:39,986 --> 01:11:41,860 Aion heittää pois joitakin näistä lohkoja. 595 01:11:41,860 --> 01:11:43,150 >> Ja huomaat ihan intuitiivista. 596 01:11:43,150 --> 01:11:45,691 Sinä vetää ja pudottaa ja asiat näkyviin ja katoavat lopulta. 597 01:11:45,691 --> 01:11:49,170 Ja voin vain vetää tätä täällä, ja nyt minulla on puhtaampi versio vielä. 598 01:11:49,170 --> 01:11:50,730 Mutta tiedätkö mitä? 599 01:11:50,730 --> 01:11:52,940 Ei tätä mahdollisuutta nyt abstraction-- 600 01:11:52,940 --> 01:11:56,350 Aloita määritellä uutta sanastoa että MIT ei ennakoida. 601 01:11:56,350 --> 01:11:59,110 On odotettava ja toista ja ikuisesti ja jos, 602 01:11:59,110 --> 01:12:02,590 mutta mitä jos haluan esitellä sana yskä kuin lohko? 603 01:12:02,590 --> 01:12:06,230 Mitä jos haluan palapelin pala joiden tarkoitus elämässä on yskä? 604 01:12:06,230 --> 01:12:10,720 >> No, katso tätä versiota täällä, jota valmistetaan seuraavasti. 605 01:12:10,720 --> 01:12:13,579 Maagisesti, Olen luonut Tämän palapelin pala täällä, 606 01:12:13,579 --> 01:12:14,870 joka Scratch voit tehdä. 607 01:12:14,870 --> 01:12:16,787 Ja todellakin C ja Python ja JavaScript ovat 608 01:12:16,787 --> 01:12:18,370 menossa avulla voit tehdä tämän myös. 609 01:12:18,370 --> 01:12:21,830 Voit luoda omia kappaletta, jotka soitat mitä haluat. 610 01:12:21,830 --> 01:12:24,890 Tällöin yskä tuntuu kuten kohtuullinen määritelmä. 611 01:12:24,890 --> 01:12:27,880 Ja sitten nämä kappaleet alas täällä voit määritellä, mitä se tarkoittaa. 612 01:12:27,880 --> 01:12:30,290 >> I vetää ja putosi tämä paletti here-- enemmän 613 01:12:30,290 --> 01:12:33,500 blocks-- tämä iso violetti lohko, jossa olen kirjoittanut yskä 614 01:12:33,500 --> 01:12:35,290 nimenä minun uusi palapelin pala. 615 01:12:35,290 --> 01:12:39,920 Ja sitten en sano mitään, kun käyttäjä kutsuu tätä uutta yskä palapelin pala, 616 01:12:39,920 --> 01:12:41,770 tehdä sanoa ja odottamaan. 617 01:12:41,770 --> 01:12:46,160 Ja niin tänne minun toista lohko, Voin vain yskä kolme kertaa. 618 01:12:46,160 --> 01:12:49,972 >> Ja Väitän, erityisesti Jos nyt olet piilottaa tämän yksityiskohdan. 619 01:12:49,972 --> 01:12:51,430 Kuka välittää kuinka yskä toteutetaan? 620 01:12:51,430 --> 01:12:54,390 Kaikki Välitän kuin ohjelmoija että voin yskä. 621 01:12:54,390 --> 01:12:56,280 En välitä miten sanoa toteutetaan. 622 01:12:56,280 --> 01:12:58,620 Olen juuri välitä, että Kissa voi sanoa jotain. 623 01:12:58,620 --> 01:13:02,720 Voin abstrakti pois, että yksityiskohdat ja vain keskittyä siihen, mitä ruudulla täällä. 624 01:13:02,720 --> 01:13:04,400 Mutta voin ottaa tämän askeleen pidemmälle. 625 01:13:04,400 --> 01:13:08,070 >> Huomaa, että täällä, olen toteutetaan silmukka kolme kertaa. 626 01:13:08,070 --> 01:13:11,560 Mutta mitä jos sen sijaan nappaan tämän version? 627 01:13:11,560 --> 01:13:14,640 Ja mitä jos sen sijaan tässä versiossa täällä, 628 01:13:14,640 --> 01:13:18,730 Olen juuri muuttaa palapelin pala ottamaan argumentti ja tulo itseensä? 629 01:13:18,730 --> 01:13:21,100 Ja että tulo voi olla useita kuin kolme. 630 01:13:21,100 --> 01:13:24,580 Joten nyt, jos olen kirjallisesti ohjelma ja haluan kissa yskä, 631 01:13:24,580 --> 01:13:28,270 Itse asiassa voin kertoa palapeli pala kuinka monta kertaa yskä, 632 01:13:28,270 --> 01:13:31,990 koska alareunassa täällä, harrastaja versio näistä mukautettuja palapelin palaset 633 01:13:31,990 --> 01:13:34,500 lets me täsmentää, että yskä otetaan tosiasiallisesti 634 01:13:34,500 --> 01:13:36,951 input-- vie argumentti näin. 635 01:13:36,951 --> 01:13:37,700 Ja tiedätkö mitä? 636 01:13:37,700 --> 01:13:38,890 Ehkä ymmärrän, hetkinen. 637 01:13:38,890 --> 01:13:40,680 Yskä on same-- se on pohjimmiltaan 638 01:13:40,680 --> 01:13:42,120 sama ajatus kuin aivastelua. 639 01:13:42,120 --> 01:13:44,040 Se on vain erilainen sana ruudulla. 640 01:13:44,040 --> 01:13:46,550 Voin abstrakti pois edelleen ja toteuttaa 641 01:13:46,550 --> 01:13:48,750 tämä lopullinen versio yskä, joka ensi silmäyksellä 642 01:13:48,750 --> 01:13:50,660 on tapa monimutkaisempi näköinen. 643 01:13:50,660 --> 01:13:52,140 Mutta huomaa, mitä olen tehnyt. 644 01:13:52,140 --> 01:13:55,930 Olen nyt generalized-- genericized really-- tämä palapelin pala 645 01:13:55,930 --> 01:13:59,900 kutsua sanoa sana n kertaa. 646 01:13:59,900 --> 01:14:04,410 >> Ja nyt minulla on kaksi uutta palapelin palaset tänne määritellä yskä n kertaa. 647 01:14:04,410 --> 01:14:06,790 Ja mitä yskä toiminto tekee? 648 01:14:06,790 --> 01:14:08,420 Mitä minun mukautettuja palapelin pala tehdä? 649 01:14:08,420 --> 01:14:11,996 Se vain soittaa vaikkapa lohko, ohimennen sana Haluan sanoa, 650 01:14:11,996 --> 01:14:13,870 kulkee määrän kertoja Haluan sanoa. 651 01:14:13,870 --> 01:14:18,210 Koska nyt voin toteuttaa aivastus yksinkertaisesti sanomalla Achoo, 652 01:14:18,210 --> 01:14:20,320 Tässä tapauksessa jotkut useita kertoja. 653 01:14:20,320 --> 01:14:22,360 >> Ja niin olen kerroksellisuus ja kerrospukeutuminen. 654 01:14:22,360 --> 01:14:25,690 Ja vielä, avain tässä ei ole miten toteuttaa se, mutta se, 655 01:14:25,690 --> 01:14:28,070 että jos vain kirjaimellisesti siirtää nämä pois näytön, 656 01:14:28,070 --> 01:14:31,280 katso kuinka yksinkertainen, jos ei aika minun ohjelma nyt näyttää. 657 01:14:31,280 --> 01:14:33,930 Koska se tekee mitä se sanoo, olen hajamielinen 658 01:14:33,930 --> 01:14:37,640 pois mitä on sisällä, että musta laatikko. se sattuu olemaan violetti laatikko täällä, 659 01:14:37,640 --> 01:14:41,430 mutta olen tukossa pois, mitä sisällä koska en välitä kuinka se toimii. 660 01:14:41,430 --> 01:14:43,650 Olen juuri välitä nyt, että se toimii. 661 01:14:43,650 --> 01:14:46,375 >> Ja todellakin, ongelmatilanteissa asetetaan nolla, tämä on juuri 662 01:14:46,375 --> 01:14:49,250 sellaista layering ideoita te ll on mahdollisuus tutustua. 663 01:14:49,250 --> 01:14:53,510 Se on täsmälleen mahdollisuuden sovelletaan ongelmanratkaisu tekniikoita, 664 01:14:53,510 --> 01:14:55,550 mikä on luultavasti vieraassa ympäristössä. 665 01:14:55,550 --> 01:14:57,890 Ja oletko ole ohjelmoitu ennen tai ohjelmoitu aiemmin, 666 01:14:57,890 --> 01:14:59,500 huomaat, että on olemassa jotain pientä 667 01:14:59,500 --> 01:15:00,874 tässä ympäristössä kaikille. 668 01:15:00,874 --> 01:15:02,770 Ja ongelma asettaa yhden viikon ajan, 669 01:15:02,770 --> 01:15:06,630 me voidaan siirtynyt keskittyä korkeammalla tasolla kieli nimeltään 670 01:15:06,630 --> 01:15:09,290 C-- tai pikemminkin alempi tason kieli nimeltään 671 01:15:09,290 --> 01:15:11,347 C-- se vieläkin voimakas, vaikka se on 672 01:15:11,347 --> 01:15:12,930 hieman arvoituksellisesti ensi silmäyksellä. 673 01:15:12,930 --> 01:15:16,740 >> Ja huomaat kohti nykypäivän TL: DR, että tämä ongelma asettaa on lyhyempi 674 01:15:16,740 --> 01:15:19,880 aikaikkuna kuin tulevaisuudessa käyttöön, yksinkertaisesti koska se pitäisi olla melko 675 01:15:19,880 --> 01:15:20,420 saataville. 676 01:15:20,420 --> 01:15:22,211 Ja ei hätää, jos lisäät luokan myöhään. 677 01:15:22,211 --> 01:15:23,920 Me käsitellä että ennen pitkää. 678 01:15:23,920 --> 01:15:28,480 Ja ennen kuin lykätä kakku, nyt lopuksi vain kahden minuutin look 679 01:15:28,480 --> 01:15:30,500 mitä odottaa sinua täällä CS50. 680 01:15:30,500 --> 01:15:40,950 681 01:15:40,950 --> 01:17:20,803 [MUSIIKKIA] 682 01:17:20,803 --> 01:17:21,302 Selvä. 683 01:17:21,302 --> 01:17:22,690 Se on siinä CS50. 684 01:17:22,690 --> 01:17:23,650 Nähdään pian. 685 01:17:23,650 --> 01:17:25,526 Kakku on nyt tarjolla. 686 01:17:25,526 --> 01:17:28,998 687 01:17:28,998 --> 01:18:14,267 [MUSIIKKIA] 688 01:18:14,267 --> 01:18:16,350 SPEAKER 17: Oletko kuullut sapattivapaa, Chief? 689 01:18:16,350 --> 01:18:29,490 690 01:18:29,490 --> 01:18:31,920 SPEAKER 18: Ehkä siellä enemmän konepellin alle. 691 01:18:31,920 --> 01:18:38,279