1 00:00:00,000 --> 00:00:09,840 2 00:00:09,840 --> 00:00:10,824 >> [Възпроизвеждане на видео] 3 00:00:10,824 --> 00:00:13,284 >> [CAR DOOR Изключване] 4 00:00:13,284 --> 00:00:15,744 >> [CAR ENGINE НАЧАЛОТО] 5 00:00:15,744 --> 00:00:19,188 >> [За възпроизвеждане на музика] 6 00:00:19,188 --> 00:00:20,172 7 00:00:20,172 --> 00:00:24,516 >> -Moving Надясно по в търсене на добри времена и добра новина. 8 00:00:24,516 --> 00:00:26,871 С добри приятели не можем да загубим. 9 00:00:26,871 --> 00:00:28,755 >> -Това Може да се превърне в навик. 10 00:00:28,755 --> 00:00:32,460 >> -Opportunity Удари Нека Просто се протегне и да го вземете. 11 00:00:32,460 --> 00:00:32,960 -Да! 12 00:00:32,960 --> 00:00:34,920 -Together Ние ще го хванем. 13 00:00:34,920 --> 00:00:37,370 -Ще Благополучно походи, автобус, или жълто го кабината. 14 00:00:37,370 --> 00:00:38,840 -Dammit. 15 00:00:38,840 --> 00:00:40,800 -We're Движи надясно по. 16 00:00:40,800 --> 00:00:43,750 -Footloose И фантазия безплатно. 17 00:00:43,750 --> 00:00:45,960 -Getting Има наполовина по-забавно. 18 00:00:45,960 --> 00:00:47,718 Хайде да го споделите с мен. 19 00:00:47,718 --> 00:00:49,654 >> -We're Движи надясно по. 20 00:00:49,654 --> 00:00:52,558 >> -We're Ще споделя товара. 21 00:00:52,558 --> 00:00:57,604 >> -Ние Не се нуждаят от картата, за да получите това шоу по пътя. 22 00:00:57,604 --> 00:01:00,520 -Hey Fozzy, искам да завие наляво ако се стигне до разклонение на пътя. 23 00:01:00,520 --> 00:01:01,020 -Да господине. 24 00:01:01,020 --> 00:01:03,334 Завийте наляво по разклона на пътя. 25 00:01:03,334 --> 00:01:05,222 Завийте наляво. 26 00:01:05,222 --> 00:01:07,582 >> -Аз Не вярвам, че. 27 00:01:07,582 --> 00:01:11,720 >> -Cruising Надясно по открихме светлините на магистралата. 28 00:01:11,720 --> 00:01:13,664 >> -И Си път или по моя начин. 29 00:01:13,664 --> 00:01:16,154 >> -Значи Довери ми навигация. 30 00:01:16,154 --> 00:01:21,134 >> -Movie Звезди с лъскави автомобили и живота си с върха надолу. 31 00:01:21,134 --> 00:01:23,126 >> -We're Щурмуването големите хълмове. 32 00:01:23,126 --> 00:01:24,122 >> -Да, Буря е прав. 33 00:01:24,122 --> 00:01:25,160 Трябва ли да се вали сняг? 34 00:01:25,160 --> 00:01:26,220 >> -Не, Аз не мисля така. 35 00:01:26,220 --> 00:01:28,505 >> -Moving Надясно по. 36 00:01:28,505 --> 00:01:30,980 >> -Footloose И фантазия безплатно. 37 00:01:30,980 --> 00:01:32,960 >> -You're Готов за големия път. 38 00:01:32,960 --> 00:01:34,445 >> Тя -Има готов за мен? 39 00:01:34,445 --> 00:01:38,900 40 00:01:38,900 --> 00:01:42,860 >> -Moving Надясно по. 41 00:01:42,860 --> 00:01:47,315 Преместване надясно по. 42 00:01:47,315 --> 00:01:52,265 Преместване надясно по. 43 00:01:52,265 --> 00:01:56,131 Преместване надясно по. 44 00:01:56,131 --> 00:01:57,380 -Мисля, Че по-добре да спра. 45 00:01:57,380 --> 00:01:58,020 -Да господине. 46 00:01:58,020 --> 00:02:02,475 47 00:02:02,475 --> 00:02:03,960 >> [END PLAYBACK] 48 00:02:03,960 --> 00:02:07,425 >> [Аплодисменти] 49 00:02:07,425 --> 00:02:09,405 50 00:02:09,405 --> 00:02:11,930 >> DAVID J. Malan: Това е CS50. 51 00:02:11,930 --> 00:02:15,940 И това е края на седмица 0, но началото на красива приятелство. 52 00:02:15,940 --> 00:02:18,250 Ние сме толкова развълнувани да бъдем тук в Йейлския университет 53 00:02:18,250 --> 00:02:21,530 за първи път в нашия Scaz приятел, и Джейсън, и Анди. 54 00:02:21,530 --> 00:02:24,320 All 40 от CS50 на ТФ и CA е тук в Йейл. 55 00:02:24,320 --> 00:02:25,440 И на всички вас. 56 00:02:25,440 --> 00:02:28,470 И в действителност, това е може би време to-- 57 00:02:28,470 --> 00:02:31,914 >> [Аплодисменти] 58 00:02:31,914 --> 00:02:43,722 59 00:02:43,722 --> 00:02:47,920 >> Така че, въпреки че повечето от лекциите наистина ще бъде в Кеймбридж през тази година, 60 00:02:47,920 --> 00:02:51,250 реалността е, че още при проектирането и много съзнателно в CS50, 61 00:02:51,250 --> 00:02:54,740 Аз мисля, че ние сме наближава точката технологично и педагогически, 62 00:02:54,740 --> 00:02:57,930 където тя може да бъде по-добра образователна опит да се ангажират с някои 63 00:02:57,930 --> 00:02:59,610 на материала онлайн на курса. 64 00:02:59,610 --> 00:03:02,862 Наистина, reality-- и ако аз вярвам, това philosophically-- е, че лекциите 65 00:03:02,862 --> 00:03:05,070 не са особено ефективно средство за доставяне 66 00:03:05,070 --> 00:03:06,900 доста сложна информация. 67 00:03:06,900 --> 00:03:09,219 Разбира се над час плюс дълги участъци от време. 68 00:03:09,219 --> 00:03:11,760 И наистина всеки няколко minutes-- Аз самият не забравяйте в college-- 69 00:03:11,760 --> 00:03:14,210 можете зона навън за миг, пропуснете някои сложен въпрос, 70 00:03:14,210 --> 00:03:16,540 и те няма почти за следващите 45 минути. 71 00:03:16,540 --> 00:03:19,414 А реалността е, че независимо дали ти си тук в Ню Хейвън или Cambridge 72 00:03:19,414 --> 00:03:22,930 или извън нея, простотата на имащи способността да се спрете и бързо напред, 73 00:03:22,930 --> 00:03:26,270 назад, хипервръзка към свързаното ресурси, търсене пълен текст преписи 74 00:03:26,270 --> 00:03:29,900 и други подобни е възможност, която Смея да твърдя, за нашите онлайн студентите 75 00:03:29,900 --> 00:03:32,530 отвъд Ню Хейвън, ги предлага възможност 76 00:03:32,530 --> 00:03:34,700 наистина да хванете концептуална материал, който ние 77 00:03:34,700 --> 00:03:36,700 въведат в лекции толкова по-добре. 78 00:03:36,700 --> 00:03:39,415 >> Но в крайна сметка в CS50, е опит на студентите 79 00:03:39,415 --> 00:03:43,099 се характеризира така, толкова по- от проблемните комплекти на курса, 80 00:03:43,099 --> 00:03:46,140 или проекти за програмиране седмични г. секции разбира се, водени от преподаването 81 00:03:46,140 --> 00:03:49,600 събратя, нощните работното време, водени от асистентите курсови и преподаването 82 00:03:49,600 --> 00:03:52,330 събратя, и наистина като събития като CS50 Puzzle 83 00:03:52,330 --> 00:03:56,500 Ден, Hack-а-Thon CS50 е, на CS50 Fair, седмични обеди, и много повече. 84 00:03:56,500 --> 00:03:59,580 И така, независимо дали сте тук, в Ню Haven, или тунинг в отдалеч, 85 00:03:59,580 --> 00:04:02,270 днес в Кеймбридж, и ще се видим отново скоро, 86 00:04:02,270 --> 00:04:04,580 реалността е, че това е един и същи клас. 87 00:04:04,580 --> 00:04:07,990 И ние сме толкова развълнувани да бъде тук всички заедно днес. 88 00:04:07,990 --> 00:04:11,110 И така, в края на семестъра, дали тук или отдалеч, добре 89 00:04:11,110 --> 00:04:14,910 надявам се, че носите с гордост, радост, и може би с малко помощ, 90 00:04:14,910 --> 00:04:19,459 ризата, която свидетелства да ви е взел CS50. 91 00:04:19,459 --> 00:04:21,700 >> Така че откъде ние оставим в сряда? 92 00:04:21,700 --> 00:04:24,410 Взехме един поглед към изчислителна мислене. 93 00:04:24,410 --> 00:04:27,830 И това е, към което ние дестилирана компютърни науки при най-малко 94 00:04:27,830 --> 00:04:28,800 за сега. 95 00:04:28,800 --> 00:04:31,990 Но ние го дестилирана малко по-нататък в най-малко три компоненти елементи. 96 00:04:31,990 --> 00:04:34,570 >> Входове, така че това, което е най- проблем, който ние се опитваме да решим? 97 00:04:34,570 --> 00:04:36,650 Изходи, това, което е най- отговори се надяваме да се получи? 98 00:04:36,650 --> 00:04:38,210 И представителството там на. 99 00:04:38,210 --> 00:04:41,870 И ние няма да се спирам тук на след по двоичен или дори ASCII, 100 00:04:41,870 --> 00:04:44,050 и други подобни толкова много, но скоро приемаме за даденост 101 00:04:44,050 --> 00:04:47,520 че можем да представим тази информация, тъй като далеч по-интересните части 102 00:04:47,520 --> 00:04:51,010 на тези проблеми не са само входове и изходи, но алгоритмите 103 00:04:51,010 --> 00:04:53,020 че отиде в решаването на тези проблеми. 104 00:04:53,020 --> 00:04:55,120 >> И вие може да си припомни от на другия ден, че ние 105 00:04:55,120 --> 00:04:59,860 отне доста традиционна концепция за търсите някого 106 00:04:59,860 --> 00:05:03,240 в доста голям телефонен указател, или в по-общ цифрово тези дни, 107 00:05:03,240 --> 00:05:04,420 Просто много голям набор от данни. 108 00:05:04,420 --> 00:05:07,840 Списък А наистина голям контакти, с много имена по азбучен ред сортирани. 109 00:05:07,840 --> 00:05:11,310 И ние осъзнахме, че докато аз може да се доближи този проблем просто 110 00:05:11,310 --> 00:05:14,520 чрез използване на линейна approach-- страница по страница, 111 00:05:14,520 --> 00:05:17,775 или дори две е на по-time-- осъзнахме че по-интуитивен algorithm-- 112 00:05:17,775 --> 00:05:20,840 просто вид разделяне и завладяване проблема отново и отново, 113 00:05:20,840 --> 00:05:24,670 и again-- го намали наполовина с всяка време, ни даде тази зелена резултат. 114 00:05:24,670 --> 00:05:27,080 И това е много по-плосък, така защото предполага, 115 00:05:27,080 --> 00:05:29,160 че дори като този проблем получава по-големи и по-големи, 116 00:05:29,160 --> 00:05:32,470 както е в случая тези дни с данни и комплекти reality-- Facebook и Google 117 00:05:32,470 --> 00:05:34,630 резултати от търсенето и like-- прави нашия алгоритъм 118 00:05:34,630 --> 00:05:37,660 изпълнява също толкова ефективно, с тези по-големи хапки 119 00:05:37,660 --> 00:05:40,310 както го направи дори и с по-малки хапки. 120 00:05:40,310 --> 00:05:45,330 >> Сега тя повдига въпроса, какво всъщност можем да решим по подобен начин 121 00:05:45,330 --> 00:05:46,820 с този вид интуиция? 122 00:05:46,820 --> 00:05:48,740 Този вид разделение и побеждаващ? 123 00:05:48,740 --> 00:05:51,029 Е, можем да направим нещо като този днес тук. 124 00:05:51,029 --> 00:05:52,070 Бихме могли да предприемат и обслужване. 125 00:05:52,070 --> 00:05:56,102 Така че може би като 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11-- 126 00:05:56,102 --> 00:05:57,560 Няма да бъде всичко, което ефективно. 127 00:05:57,560 --> 00:05:58,990 Така че чакаме, началното училище. 128 00:05:58,990 --> 00:06:02,770 2, 4, 6, 8, 10, 12, 14, 16, 18 и така нататък. 129 00:06:02,770 --> 00:06:04,140 Но можем да направим малко по-добре? 130 00:06:04,140 --> 00:06:06,630 >> Аз съм сигурен, че не мога направите това от себе си. 131 00:06:06,630 --> 00:06:09,420 Така че, ако ще хумор ни за справедливо миг, сме внесли с нас 132 00:06:09,420 --> 00:06:11,640 алгоритъм, който е просто имам три стъпки, 133 00:06:11,640 --> 00:06:15,130 но тя не require-- ако не mind-- всички нас се изправя, 134 00:06:15,130 --> 00:06:15,690 ако искате. 135 00:06:15,690 --> 00:06:23,901 136 00:06:23,901 --> 00:06:29,380 Така че, с всички нас сега стои, стъпка един на този алгоритъм е следното. 137 00:06:29,380 --> 00:06:31,680 Изправи се и възлага себе си номер 1. 138 00:06:31,680 --> 00:06:34,180 Така че в този момент във времето, буквално всеки в тази зала 139 00:06:34,180 --> 00:06:38,830 надяваме се да мисля за себе си, обаче опасно, номер 1. 140 00:06:38,830 --> 00:06:42,020 >> Сега втора стъпка на този алгоритъм е ще включва следното. 141 00:06:42,020 --> 00:06:44,680 Втора стъпка, сдвоите разстояние с някой стои, 142 00:06:44,680 --> 00:06:47,970 добавете вашите номера заедно, и приема сумата като новия си брой. 143 00:06:47,970 --> 00:06:53,110 144 00:06:53,110 --> 00:06:55,620 Quick проверка здрав разум. 145 00:06:55,620 --> 00:06:58,180 Какъв номер е всеки мисли за сега? 146 00:06:58,180 --> 00:07:01,930 >> Така 2, с изключение може би на един, неудобно, самотен човек. 147 00:07:01,930 --> 00:07:04,269 Ако имаме нечетен брой на хората в стаята. 148 00:07:04,269 --> 00:07:06,560 Така че един човек все още може да бъде номер 1, това е добре. 149 00:07:06,560 --> 00:07:09,440 Но стъпка три тук, една от вас да седне. 150 00:07:09,440 --> 00:07:13,620 Другият трябва да се върнете на стъпка две, и се повтаря, ако искате. 151 00:07:13,620 --> 00:07:54,430 152 00:07:54,430 --> 00:07:58,240 >> Така че, ако все още стои, трябва да бъде сред тези, връщане назад към стъпка две. 153 00:07:58,240 --> 00:08:13,910 154 00:08:13,910 --> 00:08:14,574 Продължавай. 155 00:08:14,574 --> 00:08:20,790 156 00:08:20,790 --> 00:08:22,130 Няколко души все още стоят. 157 00:08:22,130 --> 00:08:33,590 158 00:08:33,590 --> 00:08:35,614 >> Така че, ако все още стои, сдвояване с някой. 159 00:08:35,614 --> 00:08:53,710 160 00:08:53,710 --> 00:08:55,020 Добре, намаляващите надолу. 161 00:08:55,020 --> 00:09:06,394 162 00:09:06,394 --> 00:09:07,560 Няколко души все още стоят. 163 00:09:07,560 --> 00:09:08,600 Ще помогне ако е необходимо. 164 00:09:08,600 --> 00:09:11,855 Запомни ключовата Takeaway тук, е как много по-бързо това е от мен преброяване. 165 00:09:11,855 --> 00:09:15,090 166 00:09:15,090 --> 00:09:16,200 >> Така че нека да видим. 167 00:09:16,200 --> 00:09:16,900 Мога да помогна. 168 00:09:16,900 --> 00:09:19,425 Така че това, което сме номер вие все още мисля за? 169 00:09:19,425 --> 00:09:20,320 >> АУДИТОРИЯ: Аз съм на 44. 170 00:09:20,320 --> 00:09:22,400 >> DAVID J. Malan: 44, така че отидете напред и да седне. 171 00:09:22,400 --> 00:09:23,733 Какъв номер мислиш? 172 00:09:23,733 --> 00:09:24,840 АУДИТОРИЯ: 74. 173 00:09:24,840 --> 00:09:27,006 >> DAVID J. Malan: 74. 174 00:09:27,006 --> 00:09:28,380 Добре, давай напред и да седне. 175 00:09:28,380 --> 00:09:30,390 Кой друг е още стои? 176 00:09:30,390 --> 00:09:31,550 86. 177 00:09:31,550 --> 00:09:33,340 И е някой друг, още стои? 178 00:09:33,340 --> 00:09:34,976 >> Какъв номер? 179 00:09:34,976 --> 00:09:37,380 Чух 67. 180 00:09:37,380 --> 00:09:39,370 И след това в началото? 181 00:09:39,370 --> 00:09:40,900 32. 182 00:09:40,900 --> 00:09:44,230 Някой друг още стоеше и мисленето на редица? 183 00:09:44,230 --> 00:09:44,730 >> О, здрасти. 184 00:09:44,730 --> 00:09:45,230 Извинете. 185 00:09:45,230 --> 00:09:48,350 Веднага се връщам. 186 00:09:48,350 --> 00:09:49,520 42. 187 00:09:49,520 --> 00:09:51,758 Някой друг? 188 00:09:51,758 --> 00:09:52,610 >> АУДИТОРИЯ: 47. 189 00:09:52,610 --> 00:09:54,930 >> DAVID J. Malan: 47. 190 00:09:54,930 --> 00:09:57,980 Дали някой друг още стоеше който не е бил Брой? 191 00:09:57,980 --> 00:10:06,450 Така окончателният брой на хората в една стая че има 497 места is-- всички от които 192 00:10:06,450 --> 00:10:10,930 са filled-- е 390. 193 00:10:10,930 --> 00:10:12,230 Така че това е страхотно. 194 00:10:12,230 --> 00:10:16,435 >> Скоро ще обсъдим идеята на бъг в компютърна програма. 195 00:10:16,435 --> 00:10:19,660 Но ще се върна към това след дълго. 196 00:10:19,660 --> 00:10:22,440 Но на теория, това, което биха могли да се случи точно сега? 197 00:10:22,440 --> 00:10:25,930 Така че, въпреки че имаше три големи стъпки за този алгоритъм, всеки от тези, 198 00:10:25,930 --> 00:10:27,510 е просто вид една голяма операция. 199 00:10:27,510 --> 00:10:31,020 И имаше тази цикличност, за да го с това, че ако все още стои, 200 00:10:31,020 --> 00:10:34,870 можете да тръгва от стъпка 01:57, стъпка 01:57, стъпка 01:57. 201 00:10:34,870 --> 00:10:37,330 >> Но това, което се случва съхранява за всяка итерация? 202 00:10:37,330 --> 00:10:39,440 Всеки цикъл на този цикъл? 203 00:10:39,440 --> 00:10:41,940 Какво се случва другаде в стаята? 204 00:10:41,940 --> 00:10:45,170 Не само едно и също нещо, но това, което се случва с половината от вас? 205 00:10:45,170 --> 00:10:46,170 Сядайки. 206 00:10:46,170 --> 00:10:49,710 И така, там в лъжи това прозрение, много като пример на телефонен указател, 207 00:10:49,710 --> 00:10:52,050 с това, че ако половината от вас са седнало положение всеки път, 208 00:10:52,050 --> 00:10:54,560 проблемът започва с може би 400 души, 209 00:10:54,560 --> 00:10:57,780 след това до 200 души, над 100 души, след това 50 души, и така нататък. 210 00:10:57,780 --> 00:11:00,660 >> И така, ние омаловажавам предвидени в теория на само един човек, 211 00:11:00,660 --> 00:11:02,830 мислене на общата стойност на всички. 212 00:11:02,830 --> 00:11:05,777 Сега реалност, някои социална динамика, и някои аритметични грешки 213 00:11:05,777 --> 00:11:07,360 може да допринесе за това крайно бъг. 214 00:11:07,360 --> 00:11:10,300 Но на теория, докато аз все още се брои далеч, 215 00:11:10,300 --> 00:11:12,860 като няколко десетки стъпки или стотици стъпки 216 00:11:12,860 --> 00:11:16,240 да брои себе си, за да разчитате към групичката 500 или така хората 217 00:11:16,240 --> 00:11:20,560 е трябвало да вземе много по-малко стъпки, защото можете да се разделят само 500 и 1/2 218 00:11:20,560 --> 00:11:21,350 така много пъти. 219 00:11:21,350 --> 00:11:24,120 И така, точно като с телефона резервирате например онзи ден, 220 00:11:24,120 --> 00:11:26,740 е ние имаме нещо логаритмична така да се каже, 221 00:11:26,740 --> 00:11:28,870 при което, ако всички бяхме работещи в унисон, 222 00:11:28,870 --> 00:11:32,000 и без да обръща внимание на присъединителни грешки, да го правим 223 00:11:32,000 --> 00:11:34,140 постигнахме точно този вид на времето за работа? 224 00:11:34,140 --> 00:11:37,900 >> Сега, за да бъдем честни, вид изневери, в че съм отнесена друг ресурс. 225 00:11:37,900 --> 00:11:40,320 Като има предвид, че това е просто един от мен, I ливъридж стотици вас. 226 00:11:40,320 --> 00:11:43,340 Но това може да се каже, че е Пример за паралелна обработка на информацията, 227 00:11:43,340 --> 00:11:46,400 или състоянието на техниката много на мода където компютрите в наши дни имат 228 00:11:46,400 --> 00:11:49,830 множество процесори, или по- технически, още няколко ядра, 229 00:11:49,830 --> 00:11:52,550 и наистина може да направи множествена неща наведнъж, много като вас 230 00:11:52,550 --> 00:11:54,706 всичко, което правим тук, в паралел. 231 00:11:54,706 --> 00:11:56,580 Но припомни, че това, което ние Също така е направил в сряда 232 00:11:56,580 --> 00:12:02,640 се опитайте да улови тази интуиция и да го официализира в код. 233 00:12:02,640 --> 00:12:04,165 Нещо като псевдо-код. 234 00:12:04,165 --> 00:12:07,040 И в действителност, и се надявам да няма прощавайте, това е като 80 градуса в тук. 235 00:12:07,040 --> 00:12:09,420 Така че аз ще се възползвам от тази разстояние за съвсем малко. 236 00:12:09,420 --> 00:12:12,410 Това, което аз смятахме, че ще направите, е преход Сега да, при която заявление 237 00:12:12,410 --> 00:12:16,300 ние отново се ангажира публиката, но се напише програма на английски език 238 00:12:16,300 --> 00:12:19,537 като синтаксис, с които да решаване на този проблем тук. 239 00:12:19,537 --> 00:12:20,203 [Възпроизвеждане на видео] 240 00:12:20,203 --> 00:12:22,266 Фъстъчено масло време млечице -Това е. 241 00:12:22,266 --> 00:12:23,890 Фъстъчено масло време желе. 242 00:12:23,890 --> 00:12:25,620 Фъстъчено масло време желе. 243 00:12:25,620 --> 00:12:26,320 >> Way теб! 244 00:12:26,320 --> 00:12:26,927 Way теб! 245 00:12:26,927 --> 00:12:27,781 Way теб! 246 00:12:27,781 --> 00:12:28,350 Way теб! 247 00:12:28,350 --> 00:12:29,723 Сега там ще отида! 248 00:12:29,723 --> 00:12:30,264 Ето! 249 00:12:30,264 --> 00:12:30,805 Ето! 250 00:12:30,805 --> 00:12:31,710 Ето! 251 00:12:31,710 --> 00:12:33,156 Фъстъчено масло желе! 252 00:12:33,156 --> 00:12:34,602 Фъстъчено масло желе! 253 00:12:34,602 --> 00:12:36,530 >> Фъстъчено масло желе! 254 00:12:36,530 --> 00:12:37,494 Фъстъчено масло желе! 255 00:12:37,494 --> 00:12:38,940 Фъстъци, фъстъчено масло желе! 256 00:12:38,940 --> 00:12:39,904 Фъстъчено масло желе! 257 00:12:39,904 --> 00:12:41,840 Фъстъчено масло желе с бейзболна бухалка. 258 00:12:41,840 --> 00:12:42,423 >> [END PLAYBACK] 259 00:12:42,423 --> 00:12:45,510 DAVID J. Malan: --that видео, но това е малко пристрастяване, 260 00:12:45,510 --> 00:12:46,540 ако не и малко досадно. 261 00:12:46,540 --> 00:12:49,623 Но за да направите това, мислех, че това, което ние бихме направите, е да се опитаме да се напише програма, заедно, 262 00:12:49,623 --> 00:12:51,870 за които ние се нуждаем от три доброволци. 263 00:12:51,870 --> 00:12:54,350 Трябва да се чувстваш удобно на камера и интернет. 264 00:12:54,350 --> 00:12:57,820 Сам, хайде нагоре. 265 00:12:57,820 --> 00:12:59,830 Purple риза, точно тук, хайде нагоре. 266 00:12:59,830 --> 00:13:03,470 >> И от тук, да ме отида малко по-назад. 267 00:13:03,470 --> 00:13:05,280 Crimson и сини ризи, идват нагоре. 268 00:13:05,280 --> 00:13:06,980 Perfect. 269 00:13:06,980 --> 00:13:09,790 Хайде сега. 270 00:13:09,790 --> 00:13:12,490 Хайде нагоре, хайде нагоре. 271 00:13:12,490 --> 00:13:13,581 >> И какво е вашето име? 272 00:13:13,581 --> 00:13:14,080 Ерика. 273 00:13:14,080 --> 00:13:15,289 Дейвид, хубаво е да се запознаем. 274 00:13:15,289 --> 00:13:16,830 Ако искате да се възползвам от тази седалка тук. 275 00:13:16,830 --> 00:13:17,900 Това е Сам. 276 00:13:17,900 --> 00:13:19,690 >> Как се казваш? 277 00:13:19,690 --> 00:13:20,260 Antonio. 278 00:13:20,260 --> 00:13:21,595 Antonio, хубаво е да се запознаем. 279 00:13:21,595 --> 00:13:23,790 Erica и Сам, ако искате искали да имат седалище тук. 280 00:13:23,790 --> 00:13:26,700 Това, което са подготвени с, тъй като тези момчета откриват, 281 00:13:26,700 --> 00:13:30,580 е съставките, с които да се направи с фъстъчено масло и желе сандвич. 282 00:13:30,580 --> 00:13:33,520 >> Сега това може да бъде нещо, което ви отнеме много за даденост. 283 00:13:33,520 --> 00:13:35,430 Но ние дадохме всеки от нашите три доброволци 284 00:13:35,430 --> 00:13:40,500 here-- двама доброволци и Sam тук, а хляб всеки, чиния, нож, 285 00:13:40,500 --> 00:13:43,740 буркан с желе или конфитюр, и буркан с фъстъчено масло. 286 00:13:43,740 --> 00:13:46,190 А целта на една ръка в момента е ще бъде за тези три 287 00:13:46,190 --> 00:13:48,030 да се направи фъстъчено масло и желе сандвич. 288 00:13:48,030 --> 00:13:51,000 Но това, което ние ще направим, е да очакваме да на audience-- тъй като всички от вас, 289 00:13:51,000 --> 00:13:53,710 със сигурност знам как да направя това толкова добре в reality-- 290 00:13:53,710 --> 00:13:56,380 ще ни предоставите стъпка по стъпка инструкции. 291 00:13:56,380 --> 00:13:57,970 Псевдо-кода, ако щете. 292 00:13:57,970 --> 00:13:59,922 >> Така че аз ще играя ролята на писар тук. 293 00:13:59,922 --> 00:14:02,880 И аз имам малко по списък със задачи, и така, че всеки един от вас, един по един, 294 00:14:02,880 --> 00:14:04,588 вика потенциален инструктаж, аз ще 295 00:14:04,588 --> 00:14:06,110 напишете го, го повтарям, ако е необходимо. 296 00:14:06,110 --> 00:14:09,650 И тогава вие ще направите с фъстъчено масло и желе сандвич 297 00:14:09,650 --> 00:14:11,171 само от това, което ти се казва. 298 00:14:11,171 --> 00:14:12,670 Така че мисля за себе си като компютри. 299 00:14:12,670 --> 00:14:13,740 >> Можете да го направите само това, което е казал. 300 00:14:13,740 --> 00:14:14,948 Не са предположения, без въпроси. 301 00:14:14,948 --> 00:14:16,660 Ти просто трябва да го направя. 302 00:14:16,660 --> 00:14:20,460 Така че, който би искал да рискувам първият инструкции за вземане на сандвич с PBJ? 303 00:14:20,460 --> 00:14:21,460 На балкона има. 304 00:14:21,460 --> 00:14:22,801 >> АУДИТОРИЯ: Отворете чантата на хляба. 305 00:14:22,801 --> 00:14:26,430 >> DAVID J. Malan: Отвори торба с хляб, ако щете. 306 00:14:26,430 --> 00:14:34,440 307 00:14:34,440 --> 00:14:35,230 Така че нека да видим. 308 00:14:35,230 --> 00:14:37,910 Нека да превъртите, и да получите малко по-прецизно. 309 00:14:37,910 --> 00:14:39,040 >> Добър начин да започнете пак. 310 00:14:39,040 --> 00:14:42,340 Втора стъпка, някой друг. 311 00:14:42,340 --> 00:14:43,590 Сега никой не иска да работи като доброволец. 312 00:14:43,590 --> 00:14:44,616 Стъпка две, в предната част. 313 00:14:44,616 --> 00:14:46,532 АУДИТОРИЯ: отвори вътрешния торба с хляб, както добре. 314 00:14:46,532 --> 00:14:50,600 DAVID J. Malan: Отвори вътрешна торба с хляб, както добре. 315 00:14:50,600 --> 00:14:51,880 Great, ние учене. 316 00:14:51,880 --> 00:14:57,880 317 00:14:57,880 --> 00:14:59,090 Малко по-точни. 318 00:14:59,090 --> 00:15:00,240 Хайде да работи. 319 00:15:00,240 --> 00:15:01,180 Да, в зелена риза. 320 00:15:01,180 --> 00:15:04,608 >> АУДИТОРИЯ: [недоловим] 321 00:15:04,608 --> 00:15:05,108 322 00:15:05,108 --> 00:15:09,040 DAVID J. Malan: филийки хляб. 323 00:15:09,040 --> 00:15:11,110 Внимателно извадете две филийки хляб. 324 00:15:11,110 --> 00:15:20,350 325 00:15:20,350 --> 00:15:21,000 Това е добре. 326 00:15:21,000 --> 00:15:24,300 Стъпка четири, някой друг? 327 00:15:24,300 --> 00:15:25,170 Ето тук, нали? 328 00:15:25,170 --> 00:15:26,130 >> АУДИТОРИЯ: [недоловим] 329 00:15:26,130 --> 00:15:28,810 >> DAVID J. Malan: Place хляб върху чиния. 330 00:15:28,810 --> 00:15:33,490 331 00:15:33,490 --> 00:15:35,290 Стъпка пет? 332 00:15:35,290 --> 00:15:36,020 Стъпка пет, така ли? 333 00:15:36,020 --> 00:15:39,440 >> АУДИТОРИЯ: [недоловим] 334 00:15:39,440 --> 00:15:39,940 335 00:15:39,940 --> 00:15:43,860 DAVID J. Malan: На върха of-- о, ръка. 336 00:15:43,860 --> 00:15:46,967 Постави ръка на върха на фъстъчено масло. 337 00:15:46,967 --> 00:15:47,800 Е, че какво Отправям? 338 00:15:47,800 --> 00:15:49,160 >> АУДИТОРИЯ: Да, и развийте. 339 00:15:49,160 --> 00:15:51,370 >> DAVID J. Malan: And-- го кажа отново. 340 00:15:51,370 --> 00:15:52,696 >> АУДИТОРИЯ: [недоловим] 341 00:15:52,696 --> 00:15:57,990 >> DAVID J. Malan: и сложи капак до фъстъченото масло. 342 00:15:57,990 --> 00:16:00,370 Леко постави ръка върху Начало на фъстъчено масло, 343 00:16:00,370 --> 00:16:03,240 и развийте и сложете капака в непосредствена близост до фъстъченото масло. 344 00:16:03,240 --> 00:16:14,760 345 00:16:14,760 --> 00:16:16,260 OK, шеста стъпка. 346 00:16:16,260 --> 00:16:17,520 Стъпка шест, някой друг. 347 00:16:17,520 --> 00:16:19,366 Да? 348 00:16:19,366 --> 00:16:22,740 >> АУДИТОРИЯ: [недоловим] 349 00:16:22,740 --> 00:16:29,197 350 00:16:29,197 --> 00:16:30,405 DAVID J. Malan: Кажи го отново. 351 00:16:30,405 --> 00:16:31,946 АУДИТОРИЯ: Повторете стъпка пет отново. 352 00:16:31,946 --> 00:16:37,380 DAVID J. Malan: И повторете стъпка пет отново, 353 00:16:37,380 --> 00:16:39,400 което ще създаде един малък проблем 354 00:16:39,400 --> 00:16:42,600 Сега, ако ние правим това стъпка по стъпка. 355 00:16:42,600 --> 00:16:44,640 Така че сега ние се върнете към стъпка пет. 356 00:16:44,640 --> 00:16:47,760 Леко поставите ръка на върха фъстъчено масло и развийте 357 00:16:47,760 --> 00:16:50,990 и сложи капака до фъстъченото масло. 358 00:16:50,990 --> 00:16:55,340 След това хванете фъстъченото масло и повторете стъпка пет отново. 359 00:16:55,340 --> 00:16:58,410 >> Така че ние ще заменим, че безкраен цикъл, ако щете. 360 00:16:58,410 --> 00:17:00,400 Стъпка седем, някой друг. 361 00:17:00,400 --> 00:17:02,918 Да, в гърба. 362 00:17:02,918 --> 00:17:06,397 >> АУДИТОРИЯ: [недоловим] 363 00:17:06,397 --> 00:17:16,084 364 00:17:16,084 --> 00:17:17,769 >> DAVID J. Malan: --on върха на друга. 365 00:17:17,769 --> 00:17:20,529 >> АУДИТОРИЯ: [недоловим] 366 00:17:20,529 --> 00:17:23,175 >> DAVID J. Malan: От друга страна, от друга върха. 367 00:17:23,175 --> 00:17:28,880 368 00:17:28,880 --> 00:17:30,895 Искате ли да просто да дойде тук? 369 00:17:30,895 --> 00:17:34,750 Как да завърши обучението? 370 00:17:34,750 --> 00:17:37,790 Какво е останалата част на инструкцията? 371 00:17:37,790 --> 00:17:39,140 >> АУДИТОРИЯ: Пренебрегването на тази част. 372 00:17:39,140 --> 00:17:41,050 >> DAVID J. Malan: Пренебрегването на тази част. 373 00:17:41,050 --> 00:17:44,192 374 00:17:44,192 --> 00:17:44,900 Нека да започнем отначало. 375 00:17:44,900 --> 00:17:45,400 Стъпка седем. 376 00:17:45,400 --> 00:17:48,516 377 00:17:48,516 --> 00:17:51,883 >> АУДИТОРИЯ: [недоловим] 378 00:17:51,883 --> 00:17:56,090 >> DAVID J. Malan: Хванете с противоположни hand-- това е добре. 379 00:17:56,090 --> 00:17:58,544 Това всъщност е добра. 380 00:17:58,544 --> 00:18:01,750 >> АУДИТОРИЯ: [недоловим] 381 00:18:01,750 --> 00:18:03,975 >> DAVID J. Malan: И пластмаса jar-- 382 00:18:03,975 --> 00:18:06,675 >> АУДИТОРИЯ: [недоловим] 383 00:18:06,675 --> 00:18:08,420 >> DAVID J. Malan: И twist-- 384 00:18:08,420 --> 00:18:11,488 >> АУДИТОРИЯ: [недоловим] 385 00:18:11,488 --> 00:18:13,730 >> DAVID J. Malan: В продължение на две секунди. 386 00:18:13,730 --> 00:18:15,800 Просто отвори буркана с фъстъчено масло. 387 00:18:15,800 --> 00:18:19,020 388 00:18:19,020 --> 00:18:20,632 Надявам се, че ще простя. 389 00:18:20,632 --> 00:18:21,840 Така че нека да приемем, стигнахме там. 390 00:18:21,840 --> 00:18:23,240 Отворете буркана с фъстъчено масло. 391 00:18:23,240 --> 00:18:27,008 392 00:18:27,008 --> 00:18:32,570 >> [Аплодисменти] 393 00:18:32,570 --> 00:18:34,790 >> DAVID J. Malan: Стъпка осем, да вървим. 394 00:18:34,790 --> 00:18:37,510 Осма стъпка, да, в гърба. 395 00:18:37,510 --> 00:18:38,470 >> АУДИТОРИЯ: [недоловим] 396 00:18:38,470 --> 00:18:44,772 397 00:18:44,772 --> 00:18:45,700 >> DAVID J. Malan: Добро. 398 00:18:45,700 --> 00:18:47,040 Стъпка девет, нали? 399 00:18:47,040 --> 00:18:48,924 >> АУДИТОРИЯ: [недоловим] 400 00:18:48,924 --> 00:18:51,567 >> DAVID J. Malan: --out на буркана с фъстъчено масло. 401 00:18:51,567 --> 00:18:53,830 And-- и какво от това? 402 00:18:53,830 --> 00:18:54,729 >> АУДИТОРИЯ: [недоловим] 403 00:18:54,729 --> 00:18:58,222 >> DAVID J. Malan: И сложи нож обратно в фъстъчено масло. 404 00:18:58,222 --> 00:19:11,130 405 00:19:11,130 --> 00:19:12,090 Стъпка десет. 406 00:19:12,090 --> 00:19:13,050 Стъпка десет. 407 00:19:13,050 --> 00:19:14,970 >> АУДИТОРИЯ: [недоловим] 408 00:19:14,970 --> 00:19:20,710 >> DAVID J. Malan: Поставете ножа вън, а след отстраняване пломбата. 409 00:19:20,710 --> 00:19:23,060 Ница. 410 00:19:23,060 --> 00:19:24,400 Off фъстъченото масло. 411 00:19:24,400 --> 00:19:34,490 412 00:19:34,490 --> 00:19:36,406 Добре, стъпка 11. 413 00:19:36,406 --> 00:19:37,322 >> АУДИТОРИЯ: [недоловим] 414 00:19:37,322 --> 00:19:42,520 415 00:19:42,520 --> 00:19:48,164 >> DAVID J. Malan: OK, сиво компютър следвайте синьо или червено компютър. 416 00:19:48,164 --> 00:19:49,631 Good. 417 00:19:49,631 --> 00:19:53,054 >> [Аплодисменти] 418 00:19:53,054 --> 00:19:55,920 419 00:19:55,920 --> 00:19:57,170 DAVID J. Malan: Донесете ни дом. 420 00:19:57,170 --> 00:19:59,570 Още няколко стъпки. 421 00:19:59,570 --> 00:20:00,250 Какво следва? 422 00:20:00,250 --> 00:20:02,590 Стъпки 12. 423 00:20:02,590 --> 00:20:04,161 Етап 12. 424 00:20:04,161 --> 00:20:05,123 Да? 425 00:20:05,123 --> 00:20:14,262 >> АУДИТОРИЯ: Сложете един от резена хляб леко на една от ръцете си. 426 00:20:14,262 --> 00:20:17,550 >> DAVID J. Malan: Един от вашите ръце. 427 00:20:17,550 --> 00:20:20,760 И тогава, стъпка 13. 428 00:20:20,760 --> 00:20:21,260 Да? 429 00:20:21,260 --> 00:20:22,220 >> АУДИТОРИЯ: [недоловим] 430 00:20:22,220 --> 00:20:25,580 431 00:20:25,580 --> 00:20:27,150 >> DAVID J. Malan: --on филия хляб. 432 00:20:27,150 --> 00:20:29,950 Good. 433 00:20:29,950 --> 00:20:32,260 Много добре. 434 00:20:32,260 --> 00:20:34,990 Стъпка 14, да. 435 00:20:34,990 --> 00:20:38,126 >> АУДИТОРИЯ: Отмяна на стъпка 13. 436 00:20:38,126 --> 00:20:39,950 >> DAVID J. Malan: Отмяна на стъпка 13. 437 00:20:39,950 --> 00:20:42,690 438 00:20:42,690 --> 00:20:44,770 Нека да преминем към желе. 439 00:20:44,770 --> 00:20:47,900 Това е 100-стъпка програма, но ние сме били на крачка 15. 440 00:20:47,900 --> 00:20:49,210 Да. 441 00:20:49,210 --> 00:20:50,170 >> АУДИТОРИЯ: [недоловим] 442 00:20:50,170 --> 00:20:53,050 443 00:20:53,050 --> 00:20:59,570 >> DAVID J. Malan: 7 до 13, използвайки желе, защото тези, мина толкова добре. 444 00:20:59,570 --> 00:21:02,530 Повторете стъпки от 7 до 13, с помощта на желе. 445 00:21:02,530 --> 00:21:07,940 Така че хванете долната половина на желе буркан с една ръка отгоре. 446 00:21:07,940 --> 00:21:11,970 От друга страна на друга отгоре, без да обръща внимание на тази част, 447 00:21:11,970 --> 00:21:15,430 хванете с противоположни ръце, капака и пластмасов буркан 448 00:21:15,430 --> 00:21:18,300 в долната част, и обрат за две секунди. 449 00:21:18,300 --> 00:21:19,940 След това отворете млечице буркана. 450 00:21:19,940 --> 00:21:23,290 451 00:21:23,290 --> 00:21:26,580 И накрая, нека се опитаме да да ни даде нещо за ядене. 452 00:21:26,580 --> 00:21:27,270 Стъпка 16. 453 00:21:27,270 --> 00:21:35,820 454 00:21:35,820 --> 00:21:37,130 Така че защо да не го оставя там. 455 00:21:37,130 --> 00:21:38,879 Благодаря ви много за нашите три доброволци. 456 00:21:38,879 --> 00:21:41,466 [Аплодисменти] 457 00:21:41,466 --> 00:21:45,920 458 00:21:45,920 --> 00:21:50,300 >> Имаме малко CS50 стрес топка за вас. 459 00:21:50,300 --> 00:21:54,540 Тя щеше да бъде по- сандвич but-- и какво от това 460 00:21:54,540 --> 00:21:57,130 е точка, след като на малко на шега с алгоритъм? 461 00:21:57,130 --> 00:22:00,140 Но реалността е, че дори когато сте програмиране с компютър, 462 00:22:00,140 --> 00:22:02,050 което трябва да бъде супер точен. 463 00:22:02,050 --> 00:22:04,030 Както комплекс или смущаваща както собствения си компютър 464 00:22:04,030 --> 00:22:06,670 може да бъде много добре за вас, най- поне когато нещо се обърка, 465 00:22:06,670 --> 00:22:10,150 реалността е това е доста тъпо устройство, което е измислено от нас, хората, 466 00:22:10,150 --> 00:22:13,267 и може да прави само част от това, което ние do-- понякога със сигурност faster-- 467 00:22:13,267 --> 00:22:15,100 но тя не знае как да се правят предположения. 468 00:22:15,100 --> 00:22:18,070 Той не знае как да бъде на една и съща вълна като вас. 469 00:22:18,070 --> 00:22:20,280 >> Той ще направи това само прецизно това, което той каже. 470 00:22:20,280 --> 00:22:22,070 И ще бъде ударена, може би, като започнем 471 00:22:22,070 --> 00:22:24,770 писмено действителното код с първите набори проблемни и извън нея, 472 00:22:24,770 --> 00:22:27,490 колко лесно е да се направи предположението, като човек, 473 00:22:27,490 --> 00:22:31,880 и да не очакваме, че трябва да се справя този случай, или че корнер случай, 474 00:22:31,880 --> 00:22:34,900 така да се каже, че е много вероятно възникне, ако например Сам трябваше единственото 475 00:22:34,900 --> 00:22:38,711 стисне буркан с желе, като има предвид, всички останали имаше някои стъклени буркани, както 476 00:22:38,711 --> 00:22:39,210 добре. 477 00:22:39,210 --> 00:22:42,170 Така че, преди да можем да насочим внимание на някои действителния код, 478 00:22:42,170 --> 00:22:44,680 позволете ми да се въведе главите на курса е тук в Йейл. 479 00:22:44,680 --> 00:22:49,058 Нашите приятели Scaz, Анди, и Джейсън да се качи и да кажа здрасти. 480 00:22:49,058 --> 00:22:52,544 >> [Аплодисменти] 481 00:22:52,544 --> 00:22:58,022 482 00:22:58,022 --> 00:23:01,060 >> SCAZ: Загубихме Jason временно. 483 00:23:01,060 --> 00:23:02,440 Здравейте отново, всички. 484 00:23:02,440 --> 00:23:03,610 Моето име е Scaz. 485 00:23:03,610 --> 00:23:06,860 Аз съм бил преподавател в Йейл от 2001 г. насам. 486 00:23:06,860 --> 00:23:10,820 И когато аз не преподавам, изследванията ми е в роботиката 487 00:23:10,820 --> 00:23:12,620 и изкуствения интелект. 488 00:23:12,620 --> 00:23:17,700 >> И съобщението, че имам днес е, че като се започне след няколко седмици, 489 00:23:17,700 --> 00:23:22,170 ние ще трябва да се донесе известна допълнителен материал да CS50 да говори 490 00:23:22,170 --> 00:23:24,510 за разузнаване софтуер. 491 00:23:24,510 --> 00:23:28,230 Отиваме да говорим за това как места като Netflix и Hulu 492 00:23:28,230 --> 00:23:31,780 може да препоръча на филми, които може да искате да гледате. 493 00:23:31,780 --> 00:23:35,710 Когато ние ще говорим за това как от водача по-малко коли действително работят. 494 00:23:35,710 --> 00:23:39,020 И ние ще можем да смила тези неща в концепциите 495 00:23:39,020 --> 00:23:41,730 че вие ​​се учите в днешния този клас. 496 00:23:41,730 --> 00:23:45,410 >> Тъй като всички тези неща са построен по същата фондация. 497 00:23:45,410 --> 00:23:47,396 И това е, което тази серия ще се изследват. 498 00:23:47,396 --> 00:23:49,520 Така че аз съм наистина очаквам с нетърпение да видя повече от вас 499 00:23:49,520 --> 00:23:53,260 всички, и ти започваш да се стигне до виж повече от всички нас много скоро. 500 00:23:53,260 --> 00:23:56,500 Нека тогава ме запознае Джейсън. 501 00:23:56,500 --> 00:23:57,950 >> JASON: Здравейте всички. 502 00:23:57,950 --> 00:23:59,290 Моето име е Джейсън. 503 00:23:59,290 --> 00:24:03,540 Аз за съжаление отиде в Harvard като студент. 504 00:24:03,540 --> 00:24:07,020 Това ще се намали от действителния поток. 505 00:24:07,020 --> 00:24:09,870 >> И сега съм тук като лектор в департамента по компютърни науки. 506 00:24:09,870 --> 00:24:14,825 И аз съм за да помогнете тече курса с Scaz, Дейвид и Анди. 507 00:24:14,825 --> 00:24:17,140 >> АНДИ: Хей момчета. 508 00:24:17,140 --> 00:24:17,980 Казвам се Анди. 509 00:24:17,980 --> 00:24:21,992 Всъщност съм единственият Йейл студент на сцената в момента. 510 00:24:21,992 --> 00:24:25,464 >> [Аплодисменти] 511 00:24:25,464 --> 00:24:29,440 512 00:24:29,440 --> 00:24:31,770 >> Аз съм в Бъркли Колидж, родом от Солон, щата Охайо. 513 00:24:31,770 --> 00:24:35,240 514 00:24:35,240 --> 00:24:37,930 И аз бях един от тези деца където, когато дойдох в Йейл, 515 00:24:37,930 --> 00:24:42,030 Наистина мислех, че никога няма да Трябва да разгледаме редица някога отново. 516 00:24:42,030 --> 00:24:46,240 И тогава разбрах, че имаш нужда както науката и QR кредити да се дипломира. 517 00:24:46,240 --> 00:24:51,340 И така ми първокурсник пролетта, взех клас, а CS, интро CS клас тук 518 00:24:51,340 --> 00:24:52,230 в Йейл. 519 00:24:52,230 --> 00:24:54,710 Аз бях като, това е като всъщност е доста хладно. 520 00:24:54,710 --> 00:25:01,330 >> И докато аз всъщност се стигна до обявяване като световните дела основен, уменията 521 00:25:01,330 --> 00:25:04,910 Научих в CS и програмиране са така приложимо за всяко поле 522 00:25:04,910 --> 00:25:05,970 решите да направите. 523 00:25:05,970 --> 00:25:09,770 И персонала тук в Йейл, ние сме били толкова трудно по време на работа 524 00:25:09,770 --> 00:25:10,800 да се подготви за вас, момчета. 525 00:25:10,800 --> 00:25:13,410 И ние с нетърпение да видим всички в секция и работно време. 526 00:25:13,410 --> 00:25:14,874 Така че, да. 527 00:25:14,874 --> 00:25:18,178 >> [Аплодисменти] 528 00:25:18,178 --> 00:25:19,297 529 00:25:19,297 --> 00:25:20,380 DAVID J. Malan: Благодаря. 530 00:25:20,380 --> 00:25:22,940 Така че точно преди започна клас, имахме възможност 531 00:25:22,940 --> 00:25:25,660 да се разхождат из кампуса с мобилен телефон и да вземат 532 00:25:25,660 --> 00:25:30,530 някои selfies във видео форма на наистина първата ми обиколка на кампуса Yale тук. 533 00:25:30,530 --> 00:25:35,420 И така, ние смятахме, че ще споделя с грапава нарязани на точно това като Scaz и Andy 534 00:25:35,420 --> 00:25:37,970 и Джейсън ми отне около кампуса. 535 00:25:37,970 --> 00:25:43,662 536 00:25:43,662 --> 00:25:44,328 [Възпроизвеждане на видео] 537 00:25:44,328 --> 00:25:47,322 [Сирени] 538 00:25:47,322 --> 00:25:49,318 -David. 539 00:25:49,318 --> 00:25:50,132 -Welcome Да Yale. 540 00:25:50,132 --> 00:25:50,840 -Радвам се да те видя. 541 00:25:50,840 --> 00:25:52,410 -Приятно ми е да те видя. 542 00:25:52,410 --> 00:25:53,340 -Може Да отидем на турне? 543 00:25:53,340 --> 00:25:56,845 -Let Отидем на турне. 544 00:25:56,845 --> 00:25:57,523 -Road Турне. 545 00:25:57,523 --> 00:25:59,106 -Това Знак е бил там за известно време. 546 00:25:59,106 --> 00:26:00,200 -Whah, CS50. 547 00:26:00,200 --> 00:26:02,978 548 00:26:02,978 --> 00:26:05,293 >> -Hurry! 549 00:26:05,293 --> 00:26:08,970 Давай, давай, давай. 550 00:26:08,970 --> 00:26:12,340 Вие би трябвало [недоловим] Харкнес Tower. 551 00:26:12,340 --> 00:26:13,850 >> -И Ние видяхме, че няколко пъти. 552 00:26:13,850 --> 00:26:16,760 553 00:26:16,760 --> 00:26:20,155 >> [Аплодисменти] 554 00:26:20,155 --> 00:26:21,130 555 00:26:21,130 --> 00:26:22,890 >> -Look В продължение на мотора! 556 00:26:22,890 --> 00:26:24,500 Ааа! 557 00:26:24,500 --> 00:26:25,030 Hi Frank. 558 00:26:25,030 --> 00:26:26,314 >> -Какво става момчета? 559 00:26:26,314 --> 00:26:26,855 -Как си? 560 00:26:26,855 --> 00:26:28,474 -Радвам се да те видя. 561 00:26:28,474 --> 00:26:29,390 -Welcome Към видеото. 562 00:26:29,390 --> 00:26:32,270 Не действа твърде развълнуван. 563 00:26:32,270 --> 00:26:34,502 >> -Аз Обичам Silliman. 564 00:26:34,502 --> 00:26:36,430 Ааа! 565 00:26:36,430 --> 00:26:39,780 >> -Това Е бил около три часа, тъй като Джейсън имаше сладолед и Nutella. 566 00:26:39,780 --> 00:26:43,189 Така че ние трябва да се спре отново в Silliman за малко. 567 00:26:43,189 --> 00:26:45,137 >> -Това Не е дори [недоловим] Все още, просто на факта, 568 00:26:45,137 --> 00:26:47,270 че те го имат тук е толкова невероятно. 569 00:26:47,270 --> 00:26:49,830 Пич, има Nutella на всяко хранене. 570 00:26:49,830 --> 00:26:51,830 >> -Има Беше миналата година също. 571 00:26:51,830 --> 00:26:54,220 >> -Да. 572 00:26:54,220 --> 00:26:56,440 >> -tell много за Yale досега. 573 00:26:56,440 --> 00:26:58,485 Но аз сега, че е ТД там. 574 00:26:58,485 --> 00:26:59,860 И това се смята извън кампуса. 575 00:26:59,860 --> 00:27:03,659 >> -Тук Имаме готическа архитектура. 576 00:27:03,659 --> 00:27:04,200 Световноизвестния. 577 00:27:04,200 --> 00:27:06,758 Имаме още малко готическа архитектура. 578 00:27:06,758 --> 00:27:10,614 И строителството, както и по-готическа архитектура. 579 00:27:10,614 --> 00:27:11,114 Здравейте. 580 00:27:11,114 --> 00:27:15,470 Това е мястото, където ние сме като работно време Вторник през четвъртък в Хогуортс, 581 00:27:15,470 --> 00:27:16,922 като [недоловим]. 582 00:27:16,922 --> 00:27:20,620 583 00:27:20,620 --> 00:27:21,120 -Всичко е наред. 584 00:27:21,120 --> 00:27:22,078 Това е всичко за турнето. 585 00:27:22,078 --> 00:27:24,030 Ние сме в Йейлския университет Law School, където 586 00:27:24,030 --> 00:27:25,870 днешната лекция е на път да се осъществи. 587 00:27:25,870 --> 00:27:29,220 Нека да оглави инча 588 00:27:29,220 --> 00:27:30,375 >> [END PLAYBACK] 589 00:27:30,375 --> 00:27:32,370 >> DAVID J. Malan: И това ни води тук, сега. 590 00:27:32,370 --> 00:27:38,040 591 00:27:38,040 --> 00:27:40,770 Така че до този момент, ние сме били фокусиране върху Псевдокод, 592 00:27:40,770 --> 00:27:42,430 който е тази English-подобен синтаксис. 593 00:27:42,430 --> 00:27:45,030 Тя няма предписания спецификация. 594 00:27:45,030 --> 00:27:47,030 Това е просто да използвате някои интуитивен език, ако сте 595 00:27:47,030 --> 00:27:48,950 Искам да обясня това, което искате да направите. 596 00:27:48,950 --> 00:27:52,270 >> Но нека да започнем сега с прехода да код, тъй като повечето хора ще кажат. 597 00:27:52,270 --> 00:27:54,880 Но по-точно, нещо, известен като изходен код. 598 00:27:54,880 --> 00:27:58,210 Това е езикът, който, хората, напишете, че компютрите ultimately-- 599 00:27:58,210 --> 00:28:00,780 евентуално след известно брой steps-- в крайна сметка разбира, 600 00:28:00,780 --> 00:28:02,530 така че да се знае как да се направи нещо. 601 00:28:02,530 --> 00:28:05,120 Това сте видели един поглед на това може би в сряда. 602 00:28:05,120 --> 00:28:07,780 >> Това е пример, че невероятно, underwhelming 603 00:28:07,780 --> 00:28:10,220 когато стартирате просто казва "Hello World". 604 00:28:10,220 --> 00:28:13,510 И това е написана на език, наречен С, който е много подобен синтактично 605 00:28:13,510 --> 00:28:15,676 на много други езици които може би не знаете, 606 00:28:15,676 --> 00:28:18,409 но може би сте чували за подобно Java, и C ++ и Python, Ruby и, 607 00:28:18,409 --> 00:28:21,200 и други подобни, и наистина, ние ще прекарват много на семестъра, използвайки C, 608 00:28:21,200 --> 00:28:23,530 и след това към края на семестър, изграждане върху него, 609 00:28:23,530 --> 00:28:25,446 и въвеждането на всякакви редица други езици. 610 00:28:25,446 --> 00:28:28,810 Сред тях PHP и JavaScript, език, база данни, наречена SQL. 611 00:28:28,810 --> 00:28:31,526 Но с C, това, което ние ще трябва това разбиране отдолу-нагоре 612 00:28:31,526 --> 00:28:33,900 на точно как компютрите работа, какво можете да правите с тях, 613 00:28:33,900 --> 00:28:37,252 и как можете да решите проблемите още по-ефективно от това 614 00:28:37,252 --> 00:28:39,460 наслояване, че ние обсъдихме в сряда, и стоене 615 00:28:39,460 --> 00:28:40,870 върху раменете на другите. 616 00:28:40,870 --> 00:28:42,200 Но повече за това, за да дойде. 617 00:28:42,200 --> 00:28:46,650 >> Днес ще разгледаме по-опростена среда, но принципно идентични 618 00:28:46,650 --> 00:28:49,970 среда, известна като Scratch от нашите приятели от MIT Media Lab. 619 00:28:49,970 --> 00:28:52,570 Това е графично език за програмиране, Scratch, 620 00:28:52,570 --> 00:28:54,330 чрез която можете да влачите и пускате неща, които 621 00:28:54,330 --> 00:28:57,430 изглеждат като парчета от пъзел, които само блокировка, ако го прави 622 00:28:57,430 --> 00:28:59,872 логическа или програмна смисъл да го правят. 623 00:28:59,872 --> 00:29:02,330 Но това ще ни позволи да да разговаряте за всичко 624 00:29:02,330 --> 00:29:04,604 от същия програмиране фундаменти, че някои от вас 625 00:29:04,604 --> 00:29:06,520 би вече знаете, че много от вас не вали 626 00:29:06,520 --> 00:29:09,670 знам нищо за без да се налага да получите затънал честно казано, 627 00:29:09,670 --> 00:29:13,150 в интелектуално безинтересно синтаксиса на точка и запетая, 628 00:29:13,150 --> 00:29:14,950 и скоби, и цитира, и други подобни. 629 00:29:14,950 --> 00:29:16,910 Всичко това, в началото на, като разсейват 630 00:29:16,910 --> 00:29:20,322 до каква са интересни и действително полезни идеи. 631 00:29:20,322 --> 00:29:22,280 Така че нека да хвърлим един бърз поглед към околната среда 632 00:29:22,280 --> 00:29:24,180 тук, така че да знаете какво очаква. 633 00:29:24,180 --> 00:29:28,060 И в действителност, наред с игрите ни може да играе са написани няколко програми 634 00:29:28,060 --> 00:29:30,810 от собствените бивши студенти CS50 е. 635 00:29:30,810 --> 00:29:36,200 Един от тях, аз, аз ще бъда този записано в завършил училище за мен. 636 00:29:36,200 --> 00:29:39,030 >> Ако мога да взема един доброволец който е готов да играе 637 00:29:39,030 --> 00:29:40,420 една игра за първи път. 638 00:29:40,420 --> 00:29:40,920 Разбира се. 639 00:29:40,920 --> 00:29:41,690 Хайде нагоре. 640 00:29:41,690 --> 00:29:42,565 Как се казваш? 641 00:29:42,565 --> 00:29:43,372 >> АУДИТОРИЯ: Анджела. 642 00:29:43,372 --> 00:29:44,830 DAVID J. Malan: Angela, хайде нагоре. 643 00:29:44,830 --> 00:29:47,220 Така Scratch е бил в продължение на няколко години. 644 00:29:47,220 --> 00:29:49,960 И когато бях в университета, Бях кръст, регистрирани в Масачузетския технологичен институт, 645 00:29:49,960 --> 00:29:53,392 като професор Mitchel Резник е курс по образователни технологии. 646 00:29:53,392 --> 00:29:56,350 И ние бяхме сред най-първата учениците в света до действително бета 647 00:29:56,350 --> 00:29:57,120 тест Scratch. 648 00:29:57,120 --> 00:30:00,090 И моя проект е това, което Angela Сега любезно доброволец 649 00:30:00,090 --> 00:30:02,060 За да играете, наречена Oscartime. 650 00:30:02,060 --> 00:30:04,507 >> Така че аз ще отида напред и кликнете два пъти върху иконата тук. 651 00:30:04,507 --> 00:30:07,590 Това ще отвори програмиране среда, че ние скоро ще се потопите в. 652 00:30:07,590 --> 00:30:09,720 Отивам да цял екран то за Анджела, тук. 653 00:30:09,720 --> 00:30:12,490 Отивам да се удари в зелено флаг в един момент. 654 00:30:12,490 --> 00:30:15,130 И тогава един куп боклуци ще падне от небето. 655 00:30:15,130 --> 00:30:17,830 И ти започваш да използвате мишката тук, за да влачите и пускате всъщност 656 00:30:17,830 --> 00:30:20,169 боклука в кофи за боклук Оскар. 657 00:30:20,169 --> 00:30:23,210 Така че, ако искате да отидете напред и кликнете зеленото знаме, играта ще започне. 658 00:30:23,210 --> 00:30:26,890 >> [За възпроизвеждане на музика] 659 00:30:26,890 --> 00:30:29,980 >> О, аз обичам боклук. 660 00:30:29,980 --> 00:30:34,840 Всичко или мръсна мръсна или прашна. 661 00:30:34,840 --> 00:30:39,300 Всичко, парцалива или лош, или ръждясали. 662 00:30:39,300 --> 00:30:43,155 Да, аз обичам боклук. 663 00:30:43,155 --> 00:30:45,530 Ако наистина искате да видите нещо, ненужен, виж това. 664 00:30:45,530 --> 00:30:49,570 Тук имам подлец това е одран и износени. 665 00:30:49,570 --> 00:30:53,750 Всичко е пълен с дупки държи и връзките са скъсани. 666 00:30:53,750 --> 00:30:57,590 Подарък от майка ми в деня, когато се роди. 667 00:30:57,590 --> 00:30:59,434 Аз го обичам, защото it's-- 668 00:30:59,434 --> 00:31:02,600 DAVID J. Malan: --green тези дни просто да хвърлят всичко в кошчето. 669 00:31:02,600 --> 00:31:04,312 И какво от това един от Собствена did-- персонала на CS50 670 00:31:04,312 --> 00:31:06,270 Джордан, който може да се срещне today-- има действително 671 00:31:06,270 --> 00:31:08,030 актуализира това за днешните времена. 672 00:31:08,030 --> 00:31:10,800 И така, позволете ми да се отворят ремикс вместо за Анджела. 673 00:31:10,800 --> 00:31:13,600 И ние ще играем тази вместо за няколко минути, в които сега вие сте 674 00:31:13,600 --> 00:31:16,600 ще трябва да се реши между това дали да хвърли нещо в кошчето, 675 00:31:16,600 --> 00:31:19,050 или да го рециклират или компост. 676 00:31:19,050 --> 00:31:21,280 Така че там е малко на натиск върху вас, за да получите 677 00:31:21,280 --> 00:31:28,040 това право в предната част на 392, за да 497 съученици тук в залата, 678 00:31:28,040 --> 00:31:28,724 ако искате. 679 00:31:28,724 --> 00:31:29,390 [Възпроизвеждане на видео] 680 00:31:29,390 --> 00:31:32,540 [За възпроизвеждане на музика] 681 00:31:32,540 --> 00:31:36,280 -О Обичам боклук. 682 00:31:36,280 --> 00:31:40,840 Всичко или мръсна мръсна или прашна. 683 00:31:40,840 --> 00:31:44,910 Всичко, парцалива или лош или ръждясали. 684 00:31:44,910 --> 00:31:48,830 Да, аз обичам боклук. 685 00:31:48,830 --> 00:31:51,480 >> Ако наистина искате да видите нещо, ненужен, виж това. 686 00:31:51,480 --> 00:31:55,540 Тук имам подлец това е одран и износени. 687 00:31:55,540 --> 00:31:59,440 Всичко е пълен с дупки и връзките са скъсани. 688 00:31:59,440 --> 00:32:03,762 Подарък от майка ми в деня, когато се роди. 689 00:32:03,762 --> 00:32:07,630 Аз го обичам, защото това е боклук. 690 00:32:07,630 --> 00:32:11,570 >> О, аз обичам боклук. 691 00:32:11,570 --> 00:32:15,512 Нещо мръсно, или мръсна, прашна или. 692 00:32:15,512 --> 00:32:20,200 Всичко, парцалива или лош или ръждясали. 693 00:32:20,200 --> 00:32:23,856 Да, аз обичам боклук. 694 00:32:23,856 --> 00:32:26,246 Ето някои по-лош неща. 695 00:32:26,246 --> 00:32:28,240 Тук имам някои newspaper-- 696 00:32:28,240 --> 00:32:28,889 >> [END PLAYBACK] 697 00:32:28,889 --> 00:32:30,680 DAVID J. Malan: --are всъщност поддаващи. 698 00:32:30,680 --> 00:32:32,790 Но ви благодаря за нашия доброволец, Анджела. 699 00:32:32,790 --> 00:32:37,920 Имаме стрес топка за вас, както и тук. 700 00:32:37,920 --> 00:32:38,790 Така че ви благодаря. 701 00:32:38,790 --> 00:32:40,250 >> Така че това е написано от мен. 702 00:32:40,250 --> 00:32:44,324 Но сега една от реален бивш студент който изпълнява тази, която е една игра. 703 00:32:44,324 --> 00:32:46,490 Всичко на този език, наречен Scratch, че скоро ние ще 704 00:32:46,490 --> 00:32:47,850 отстранете пластовете. 705 00:32:47,850 --> 00:32:49,940 Но ако ние бихме like-- как за друг доброволец? 706 00:32:49,940 --> 00:32:50,440 Право. 707 00:32:50,440 --> 00:32:50,970 >> Хайде нагоре. 708 00:32:50,970 --> 00:32:52,070 Как се казваш? 709 00:32:52,070 --> 00:32:52,570 Glance? 710 00:32:52,570 --> 00:32:53,280 Ланс. 711 00:32:53,280 --> 00:32:54,082 Ланс, хайде нагоре. 712 00:32:54,082 --> 00:32:54,790 Приятно ми е. 713 00:32:54,790 --> 00:32:56,170 Хайде този начин. 714 00:32:56,170 --> 00:32:59,940 Така че това би могло да има Темата познат на някои от вас. 715 00:32:59,940 --> 00:33:02,180 Но вие ще видите, че твърде не може да има интерактивност, 716 00:33:02,180 --> 00:33:05,242 при което действително може да бъде най- ролята на героя се движи наоколо. 717 00:33:05,242 --> 00:33:05,950 Приятно ми е. 718 00:33:05,950 --> 00:33:06,470 Дейвид. 719 00:33:06,470 --> 00:33:10,464 >> Аз ви давам, Pikachu. 720 00:33:10,464 --> 00:33:12,380 Инструкции ще за да дойде на екрана. 721 00:33:12,380 --> 00:33:16,070 Но накратко, ти започваш да се Искам да хвана вкусни неща, 722 00:33:16,070 --> 00:33:18,827 и избягване на бомби и други неща. 723 00:33:18,827 --> 00:33:19,910 С курсори изцяло. 724 00:33:19,910 --> 00:33:21,320 Така уцели горната греда пространство. 725 00:33:21,320 --> 00:33:21,820 -Pikachu. 726 00:33:21,820 --> 00:33:23,480 DAVID J. Malan: Catch нещата в ляво, 727 00:33:23,480 --> 00:33:24,938 не хване нещата в дясно. 728 00:33:24,938 --> 00:33:27,576 729 00:33:27,576 --> 00:34:44,540 >> [За възпроизвеждане на музика] 730 00:34:44,540 --> 00:34:46,332 >> Така че един последен тук. 731 00:34:46,332 --> 00:34:48,040 Ако бихме могли да имаме една повече доброволци тук. 732 00:34:48,040 --> 00:34:50,760 Ние смятахме, че ще пресъздаде нещо from-- в жълтата shirt-- 733 00:34:50,760 --> 00:34:53,110 от сряда. 734 00:34:53,110 --> 00:34:54,540 Как е името ти? 735 00:34:54,540 --> 00:34:57,090 Мери, хайде до Мери. 736 00:34:57,090 --> 00:35:01,340 >> И спомням в сряда ние въведохме понятието двоичен и бинарни крушки. 737 00:35:01,340 --> 00:35:03,930 Това всъщност е сега на изпълнение на същия интерфейс 738 00:35:03,930 --> 00:35:07,360 че имахме на IPAD със светлината крушки, но тук цифрово оказани. 739 00:35:07,360 --> 00:35:11,220 И вместо да се направи стрес ball-- приятно да се запознаем, Дейвид. 740 00:35:11,220 --> 00:35:14,600 Ние донесе няколко светлина крушки от Кеймбридж. 741 00:35:14,600 --> 00:35:18,650 >> Ако можете, като кликнете върху тези, крушки да ги включват и изключват, 742 00:35:18,650 --> 00:35:29,510 излезе с двоичен представителство на 256 кажа. 743 00:35:29,510 --> 00:35:32,500 И вие ще видите в средна, текущата съвпадат. 744 00:35:32,500 --> 00:35:33,690 Така че едно е на. 745 00:35:33,690 --> 00:35:34,810 Така че най-лявата бит е включен. 746 00:35:34,810 --> 00:35:36,016 >> MARY: Да, [недоловим] 747 00:35:36,016 --> 00:35:39,292 748 00:35:39,292 --> 00:35:41,280 >> DAVID J. Malan: Е, Така че ние имаме just-- о. 749 00:35:41,280 --> 00:35:42,780 Така че това е колоната 128. 750 00:35:42,780 --> 00:35:44,460 Така че ние сме до 128. 751 00:35:44,460 --> 00:35:46,769 Ние трябва да стигнем до 256. 752 00:35:46,769 --> 00:35:48,560 И вие можете да човъркат по и на разстояние, не е голяма работа. 753 00:35:48,560 --> 00:35:53,700 Или можете да се удари, че 128 повече пъти, ако искате. 754 00:35:53,700 --> 00:35:56,310 >> Добре, добре. 755 00:35:56,310 --> 00:35:58,090 24. 756 00:35:58,090 --> 00:35:59,790 Да, все по-близо. 757 00:35:59,790 --> 00:36:02,105 Closer! 758 00:36:02,105 --> 00:36:05,980 О, какъв е проблемът тогава? 759 00:36:05,980 --> 00:36:07,510 Така че какъв е проблема? 760 00:36:07,510 --> 00:36:10,040 >> Така че това, което ни е нужно, за да реши този проблем? 761 00:36:10,040 --> 00:36:11,060 Така че ние трябва още малко. 762 00:36:11,060 --> 00:36:12,770 И това е напълно разумен в действителност, нали? 763 00:36:12,770 --> 00:36:15,800 Ако искате да се брои от броя 1 от 2 до 3 до 4 до 5, 6, 7, 8, 9, 764 00:36:15,800 --> 00:36:18,880 действително да преобърне до 10, вие сте ще се нуждаят от допълнителен бит. 765 00:36:18,880 --> 00:36:21,240 Така че нека да е реално назад тук, и да излезе 766 00:36:21,240 --> 00:36:23,790 with--, че е очевидно писано да бъде набор нагоре. 767 00:36:23,790 --> 00:36:25,590 >> Вие не може да направи 256, само с една крушка. 768 00:36:25,590 --> 00:36:29,290 Така че какво ще кажеш просто да броят 50? 769 00:36:29,290 --> 00:36:29,977 Номер 50. 770 00:36:29,977 --> 00:36:34,550 771 00:36:34,550 --> 00:36:35,100 Отлично. 772 00:36:35,100 --> 00:36:39,050 Голяма аплодисменти за Мария и нейната, както добре. 773 00:36:39,050 --> 00:36:41,840 Благодаря. 774 00:36:41,840 --> 00:36:45,570 >> Така че това topic-- умишлено като че was-- действително ще се повтори. 775 00:36:45,570 --> 00:36:50,020 Най-голямата стойност, която можете да означават с осем бита, или един байт, 776 00:36:50,020 --> 00:36:51,750 наистина е 256. 777 00:36:51,750 --> 00:36:55,770 Но не и ако започнете брои от 0, тъй като ние 778 00:36:55,770 --> 00:36:58,060 успяваше да поддържа прави от наличието всички тези битове на разстояние. 779 00:36:58,060 --> 00:37:01,530 Но сега нека да се потопите в базисния прилагането на тази среда, 780 00:37:01,530 --> 00:37:03,200 и дразни освен някои от тези идеи. 781 00:37:03,200 --> 00:37:06,350 >> Така че в един момент ние сме на път да видят Няколко различни програмни основи. 782 00:37:06,350 --> 00:37:08,080 Първата от които ние ще се обадя изявление. 783 00:37:08,080 --> 00:37:09,360 Сортиране на глаголи, ако щете. 784 00:37:09,360 --> 00:37:09,960 Действия. 785 00:37:09,960 --> 00:37:11,180 Неща, които трябва да се направи. 786 00:37:11,180 --> 00:37:13,430 >> И в един момент ще видите блокове, които изглеждат по този начин. 787 00:37:13,430 --> 00:37:14,940 Кажете "Здравей, свят", например. 788 00:37:14,940 --> 00:37:16,330 Или изчакайте една секунда. 789 00:37:16,330 --> 00:37:17,834 Или играе звук мяу. 790 00:37:17,834 --> 00:37:20,500 И наистина на околната среда в която ние ще трябва да се прави това 791 00:37:20,500 --> 00:37:21,610 се нарича Scratch. 792 00:37:21,610 --> 00:37:25,060 >> И ако аз спра Scratch без предварително натоварване всяко действително код, 793 00:37:25,060 --> 00:37:27,830 нека хвърлим един бърз поглед на това потребителски интерфейс, така да се каже. 794 00:37:27,830 --> 00:37:29,730 Проверките, с които ние си взаимодействат. 795 00:37:29,730 --> 00:37:32,840 На върха остане тук на екран, под менютата, 796 00:37:32,840 --> 00:37:34,650 ние имаме на сцената, така да се каже. 797 00:37:34,650 --> 00:37:36,550 Така Scratch е това, което ние ще се обадя на Sprite. 798 00:37:36,550 --> 00:37:37,520 Това е един символ. 799 00:37:37,520 --> 00:37:40,660 >> И той може да се контролира от писането на програми срещу него. 800 00:37:40,660 --> 00:37:43,950 И той ще бъде в състояние да се движи нагоре и надолу и ляво и дясно в тази среда, 801 00:37:43,950 --> 00:37:46,075 не само чрез преместване на мишка, но програмно. 802 00:37:46,075 --> 00:37:48,930 Мога да кажа, да ходи прав, разходка наляво, нагоре, надолу или други подобни. 803 00:37:48,930 --> 00:37:51,440 И мога да се въведе друга спрайтове или знаци, както добре. 804 00:37:51,440 --> 00:37:54,616 >> В действителност, на дъното тук е мястото, където ще видите вашия списък с спрайтове. 805 00:37:54,616 --> 00:37:56,865 В момента, аз просто трябва една, но не мога да се създадат повече, 806 00:37:56,865 --> 00:37:58,880 и те ще се появи точно там. 807 00:37:58,880 --> 00:38:02,630 Така че, ако се върнем назад за момент, като Oscartime-- например, Оскар, 808 00:38:02,630 --> 00:38:04,590 в ляво, в кошчето може, беше спрайт. 809 00:38:04,590 --> 00:38:07,450 И това нещо в средата, в рециклиране бин, беше друг спрайт. 810 00:38:07,450 --> 00:38:09,300 И компост за боклук беше друг спрайт. 811 00:38:09,300 --> 00:38:11,790 И всяка част от боклук или рециклиране 812 00:38:11,790 --> 00:38:14,590 които се падат от небето също е Sprite, всеки от които 813 00:38:14,590 --> 00:38:16,150 е програмирана индивидуално. 814 00:38:16,150 --> 00:38:17,040 >> Как се програмира? 815 00:38:17,040 --> 00:38:20,180 Е, тук в дясно дясната страна се включва площта на скриптове. 816 00:38:20,180 --> 00:38:22,930 И това е мястото, където можем влачите и пускате парчета от пъзел. 817 00:38:22,930 --> 00:38:26,066 В една седмица, тя ще бъде където можем еквивалентно пишат код 818 00:38:26,066 --> 00:38:28,940 с повече от клавиатура, но за днес тя ще бъде плъзгане и пускане 819 00:38:28,940 --> 00:38:31,680 пъзел парчета, за палитри, за който може всичко 820 00:38:31,680 --> 00:38:33,190 да се намери тук точно в средата. 821 00:38:33,190 --> 00:38:35,190 Наистина, в средата тук има един куп 822 00:38:35,190 --> 00:38:37,910 на категориите пъзел парчета или на блокове. 823 00:38:37,910 --> 00:38:42,500 One е свързано с движение, виж, звук, химикалка движи нагоре и надолу, 824 00:38:42,500 --> 00:38:43,860 данни, събития контролират. 825 00:38:43,860 --> 00:38:45,654 Не е съвсем сигурен още какво означава всичко това, 826 00:38:45,654 --> 00:38:47,820 но вие ще видите, че те имат са добре категоризирани. 827 00:38:47,820 --> 00:38:50,680 И да се напише програма в Scratch, нека да направим точно това. 828 00:38:50,680 --> 00:38:53,480 >> Отивам да се започне под Събития и влачат този тук. 829 00:38:53,480 --> 00:38:55,470 Когато зелен флаг щракнали. 830 00:38:55,470 --> 00:38:56,704 Сега защо тази? 831 00:38:56,704 --> 00:38:59,120 Ами припомни, че нашите доброволци дойде, първото нещо, което 832 00:38:59,120 --> 00:39:02,017 или те е бил кликнете че зеленият флаг в горния десен ъгъл. 833 00:39:02,017 --> 00:39:03,600 И това просто означава, стартирайте програмата. 834 00:39:03,600 --> 00:39:06,560 >> Така че, когато това събитие се случи, какво искам да правя? 835 00:39:06,560 --> 00:39:10,070 Отивам да отидат под Looks, и аз отивам да правя "кажа здрасти." 836 00:39:10,070 --> 00:39:14,000 И аз отивам да се промени това и кажете нещо като "здравей Yale." 837 00:39:14,000 --> 00:39:16,970 И сега аз отивам да я увеличите , щракнете зеленото знаме, 838 00:39:16,970 --> 00:39:19,050 и готово, аз съм писал програма. 839 00:39:19,050 --> 00:39:20,990 Това не е всичко, което вълнуващо просто все още, но това 840 00:39:20,990 --> 00:39:23,195 е точно там, където всеки на тези, автор започна, 841 00:39:23,195 --> 00:39:25,740 както с Pikachu и двоични луковици, и Oscartime, 842 00:39:25,740 --> 00:39:26,890 и толкова много повече примери. 843 00:39:26,890 --> 00:39:29,150 >> Започвате супер проста, и След това започнете да слой, 844 00:39:29,150 --> 00:39:31,046 и добавяне на характеристики и функционалност. 845 00:39:31,046 --> 00:39:32,920 Така че какви са тези слоеве ще се състои от? 846 00:39:32,920 --> 00:39:36,086 Е, след изявления, ние също така ще има неща, които са малко по-fancily 847 00:39:36,086 --> 00:39:38,910 нарича Булева изразяване, след някой си булев. 848 00:39:38,910 --> 00:39:42,820 И булева изразяване е просто израз, който е или вярно или невярно, 849 00:39:42,820 --> 00:39:45,740 Да или не, 1 или 0. 850 00:39:45,740 --> 00:39:47,480 >> Всички противоположности като това. 851 00:39:47,480 --> 00:39:48,902 Това е било вярно или не. 852 00:39:48,902 --> 00:39:51,360 Но ние също така ще видим такива, които биха могли да изглеждат по този начин. 853 00:39:51,360 --> 00:39:52,925 Така например, е на мишката надолу? 854 00:39:52,925 --> 00:39:54,550 Те са нещо като въпроси, ако щете. 855 00:39:54,550 --> 00:39:57,650 >> Мишката е или надолу, вярно или не е, фалшива. 856 00:39:57,650 --> 00:39:59,990 1 или 0, ако щете, тенденция да бъде картографирането. 857 00:39:59,990 --> 00:40:01,740 Вярно е 1, фалшива е 0. 858 00:40:01,740 --> 00:40:03,740 Ами какво да кажем за по-малко от това? 859 00:40:03,740 --> 00:40:05,400 Или това е така, това по-малко от това? 860 00:40:05,400 --> 00:40:06,650 Това е въпрос на какви ли не. 861 00:40:06,650 --> 00:40:09,140 >> И ако сложите две номера в там, или х 862 00:40:09,140 --> 00:40:12,010 ще бъде по-малко от у или равна на у, или по-голяма от Y, 863 00:40:12,010 --> 00:40:14,635 но този блок ще видим, е само Ще отговоря на въпроса, 864 00:40:14,635 --> 00:40:15,810 това е по-малко от това? 865 00:40:15,810 --> 00:40:17,650 Ние също може да видите нещо подобно. 866 00:40:17,650 --> 00:40:18,790 Докосване указатели мишката. 867 00:40:18,790 --> 00:40:21,610 Така че в Scratch, можете да помолите въпросът, е Спрайт 868 00:40:21,610 --> 00:40:22,800 докосване показалеца на мишката? 869 00:40:22,800 --> 00:40:26,040 Други думи, е висене на курсора над капачката, или равностойността им? 870 00:40:26,040 --> 00:40:28,100 >> Ще видим Anding неща заедно. 871 00:40:28,100 --> 00:40:30,970 Можете да задам два въпроса, и уверете се, че и двете от тях 872 00:40:30,970 --> 00:40:34,920 ти дам да или верни отговори, преди да вземане на решение да се направи нещо. 873 00:40:34,920 --> 00:40:36,709 Но след това, как да се вземат решения? 874 00:40:36,709 --> 00:40:38,000 Е, ние имаме тези условия. 875 00:40:38,000 --> 00:40:40,041 >> И видяхме това в нашата Например на телефонния указател. 876 00:40:40,041 --> 00:40:41,900 Търси в ляво или точно за Майк Смит. 877 00:40:41,900 --> 00:40:45,140 И в състоянието, ви направите нещо потенциално, 878 00:40:45,140 --> 00:40:47,240 ако Булев израз е вярно. 879 00:40:47,240 --> 00:40:48,720 >> И наистина, забележите формите сега. 880 00:40:48,720 --> 00:40:52,250 Има този контейнер точно сега за режийни, където можем да fit-- 881 00:40:52,250 --> 00:40:54,532 ако се върнем назад една slide-- тази форма. 882 00:40:54,532 --> 00:40:55,740 Това не е съвсем същия размер. 883 00:40:55,740 --> 00:40:58,400 И наистина, ще видите, че Scratch преоразмерява неща динамично 884 00:40:58,400 --> 00:41:01,479 да се поберат пъзел парчета, но Формата му е това, което е важно. 885 00:41:01,479 --> 00:41:03,270 Това нещо изглежда като че и в действителност това е 886 00:41:03,270 --> 00:41:05,410 приблизително същата форма че трябва да се поберат в там. 887 00:41:05,410 --> 00:41:09,520 И ако искаме да направим нещо този или онзи начин, ако или иначе, 888 00:41:09,520 --> 00:41:12,080 имаме този пъзел парче в Scratch, както добре. 889 00:41:12,080 --> 00:41:17,450 >> Сега предполагам, че искаш да направя, ако, иначе ако, или иначе. 890 00:41:17,450 --> 00:41:20,120 С други думи, по- трипътен разклонение на пътя. 891 00:41:20,120 --> 00:41:22,656 Ами това, което можете да направите, просто като погледна това? 892 00:41:22,656 --> 00:41:25,030 Мога да взема този пъзел парче, и тя не изглежда да се поберат, 893 00:41:25,030 --> 00:41:27,670 но отново, Scratch се случва да се възстанови размера добре за нас. 894 00:41:27,670 --> 00:41:29,940 Можех да започне да слой тези неща заедно. 895 00:41:29,940 --> 00:41:32,900 >> Така че сега имам трипътен вилица, ако това е вярно, да направите това. 896 00:41:32,900 --> 00:41:36,560 Иначе, ако това друго нещо е вярно, отидете този начин, в противен отидете този друг начин. 897 00:41:36,560 --> 00:41:39,200 И в The Muppet филм, на разклонение на пътя, така да се каже, 898 00:41:39,200 --> 00:41:42,610 между Йейл или Станфорд, беше точно, че, само на две условия. 899 00:41:42,610 --> 00:41:45,190 Или отидете този начин, иначе отиде по този начин. 900 00:41:45,190 --> 00:41:46,940 >> Е, също контури съществува в програмирането. 901 00:41:46,940 --> 00:41:49,100 И ние сме използвали тези които вече са в клас и в Псевдокод код, 902 00:41:49,100 --> 00:41:51,060 и със сигурност в тези, Scratch програми завинаги. 903 00:41:51,060 --> 00:41:53,730 Scratch е този пъзел парче, че Просто ще ви позволи да направите нещо вечно. 904 00:41:53,730 --> 00:41:55,688 И понякога искате да се направи нещо вечно. 905 00:41:55,688 --> 00:41:58,810 Това не е задължително да е грешка, това е защото искате часовник, за да продължи да функционира, 906 00:41:58,810 --> 00:42:00,730 или игра, за да продължа да играя. 907 00:42:00,730 --> 00:42:04,800 Или можете да зададете краен брой стъпки, като с това се повтаря блок тук, 908 00:42:04,800 --> 00:42:06,550 които ще повторя нещо, 10 пъти. 909 00:42:06,550 --> 00:42:08,560 Можем да зададете променливи, скоро ще видим. 910 00:42:08,560 --> 00:42:12,300 И с променливи, подобни по дух да алгебра, като х или у, или Z. 911 00:42:12,300 --> 00:42:16,390 Това е нещо символично, че може да се съхранява някаква ценност, някаква част от информацията, 912 00:42:16,390 --> 00:42:18,320 че може да искате да се помни, за по-късно. 913 00:42:18,320 --> 00:42:21,080 >> Най-добър пример за това може да бъде игра, в която има оценка, 914 00:42:21,080 --> 00:42:22,080 като в Pikachu. 915 00:42:22,080 --> 00:42:25,180 Колко парчета торта и какво ли не Ви разбрах? 916 00:42:25,180 --> 00:42:29,340 Е, това може да бъде променлива наречена на полувремето, която започва при 0. 917 00:42:29,340 --> 00:42:32,400 И тогава всеки път хванахме парче торта или бонбони, или други подобни, 918 00:42:32,400 --> 00:42:33,720 тя се увеличава. 919 00:42:33,720 --> 00:42:35,990 Той получава добавен към една по една. 920 00:42:35,990 --> 00:42:38,450 И така една променлива магазините на част от информацията по този начин. 921 00:42:38,450 --> 00:42:41,450 Тогава там е масиви, и ние ще дойдем обратно към тях в една или две седмици време, 922 00:42:41,450 --> 00:42:44,900 но масив е нещо като един инвентаризация или чанта, вътре 923 00:42:44,900 --> 00:42:46,940 от които можете да сложите виртуални неща. 924 00:42:46,940 --> 00:42:49,852 Тя ви позволява да се съхранява повече от една част от информацията. 925 00:42:49,852 --> 00:42:51,810 И това може да бъде полезно ако в играта, вие сте 926 00:42:51,810 --> 00:42:53,630 сортиране на разхождат бране на нещата. 927 00:42:53,630 --> 00:42:55,879 И може би искате да запазите всички тези парчета торта 928 00:42:55,879 --> 00:42:58,260 наоколо, а не само да яде ги един след друг. 929 00:42:58,260 --> 00:43:00,010 И след това има един любител конструкт пускаме 930 00:43:00,010 --> 00:43:02,932 дошъл да наричат ​​функции или процедури. 931 00:43:02,932 --> 00:43:04,640 И макар, че отиваме по-бързо тук, ние ще 932 00:43:04,640 --> 00:43:07,345 се види, че те са много естествено решение на проблемите 933 00:43:07,345 --> 00:43:08,470 че отиваме среща. 934 00:43:08,470 --> 00:43:10,220 Тъй като нашите програми започват стават по-големи пускаме 935 00:43:10,220 --> 00:43:12,640 започнете да забележите модели в код, който пишем, 936 00:43:12,640 --> 00:43:14,556 пъзел парчета ние сме плъзгане и пускане. 937 00:43:14,556 --> 00:43:18,240 И веднага след като забележите, че правите нещо отново и отново, или още по-лошо 938 00:43:18,240 --> 00:43:21,400 копиране и поставяне програмиране код, който съм писал, 939 00:43:21,400 --> 00:43:23,612 това е може би един възможност да фактор от 940 00:43:23,612 --> 00:43:25,820 каквото и да запази копиране и поставяне, и да я постави 941 00:43:25,820 --> 00:43:27,430 в нещо, наречено "функция." 942 00:43:27,430 --> 00:43:29,690 Но повече за тези, които в много по- повече подробности не след дълго. 943 00:43:29,690 --> 00:43:31,314 >> И тогава там е още по-красиви черти. 944 00:43:31,314 --> 00:43:34,100 За тези от вас, по-удобно, или като АРС или негов еквивалент, 945 00:43:34,100 --> 00:43:37,600 Scratch всъщност подкрепя неща като теми и събития и др. 946 00:43:37,600 --> 00:43:39,840 Така че осъзнавам, че тя има сравнително висок таван, 947 00:43:39,840 --> 00:43:42,540 въпреки че тя също е много широко достъпна за хора 948 00:43:42,540 --> 00:43:44,460 които никога не са програмирани преди. 949 00:43:44,460 --> 00:43:47,130 Така че наистина, нека да разгледаме в една проста програма, или две. 950 00:43:47,130 --> 00:43:49,920 >> Ние вече гледаше как Може да се каже здравей със Scratch. 951 00:43:49,920 --> 00:43:52,800 Нека да вървим напред и да се отворят по- малко по-интересна програма 952 00:43:52,800 --> 00:43:54,100 че съм написал по-рано. 953 00:43:54,100 --> 00:43:56,430 И тази е наречена Pet Котката. 954 00:43:56,430 --> 00:43:58,954 Всички тези програми ще разположение на интернет страницата на CS50. 955 00:43:58,954 --> 00:43:59,870 Всъщност, вече там. 956 00:43:59,870 --> 00:44:01,190 >> Така че можете да изтеглите тях, и да играят с тях, 957 00:44:01,190 --> 00:44:03,850 и с Проблем Set 0, което Също така е на интернет страницата на курса, 958 00:44:03,850 --> 00:44:05,516 съветваме ви да преминете през тях. 959 00:44:05,516 --> 00:44:07,820 И освен това, ние имаме брой проходните видеоклипове 960 00:44:07,820 --> 00:44:10,951 онлайн, в която аз и Екипът CS50 е наистина ходи 961 00:44:10,951 --> 00:44:14,200 чрез всеки от тези примери на много бавни темпове, много бързо forwardable, 962 00:44:14,200 --> 00:44:18,530 или пренавиваем темпо, така че можете да се разхождате чрез тях в свободното си време, както добре. 963 00:44:18,530 --> 00:44:20,330 Така че тук е Scratch в ляво. 964 00:44:20,330 --> 00:44:22,920 Ето една програма, в дясно че вече съм предварително направена. 965 00:44:22,920 --> 00:44:24,880 Така че нека да се фокусирам върху това. 966 00:44:24,880 --> 00:44:28,780 И може ли някой на английски, знаейки това, което знаете, просто от сега, както и 967 00:44:28,780 --> 00:44:31,650 как Scratch произведения, нещо като казват, в английски фраза или изречение, 968 00:44:31,650 --> 00:44:35,450 какво прави тази програма очевидно направя? 969 00:44:35,450 --> 00:44:36,836 >> Да, в оранжево риза. 970 00:44:36,836 --> 00:44:40,804 >> АУДИТОРИЯ: [недоловим] 971 00:44:40,804 --> 00:44:41,796 972 00:44:41,796 --> 00:44:44,980 >> DAVID J. Malan: Да, ако си курсорът е върху Scratch котката, 973 00:44:44,980 --> 00:44:46,220 играе мяукане звук. 974 00:44:46,220 --> 00:44:47,870 Но забележете как ние изразяваме това. 975 00:44:47,870 --> 00:44:49,980 Има очевидно линия там, завинаги. 976 00:44:49,980 --> 00:44:53,000 И след това има един състояние, ако израз. 977 00:44:53,000 --> 00:44:55,090 И заедно, какво тези, означава това? 978 00:44:55,090 --> 00:44:57,210 Това означава тази програма е просто винаги работи, 979 00:44:57,210 --> 00:44:59,510 и това е просто винаги чака и гледане и слушане 980 00:44:59,510 --> 00:45:01,730 за мен да се движа мишката върху котката. 981 00:45:01,730 --> 00:45:04,810 >> Защото всеки път, когато го правя, тъй като предлагаш, че ще направи това. 982 00:45:04,810 --> 00:45:06,475 Позволете ми да започна програмата. 983 00:45:06,475 --> 00:45:08,350 Нищо не изглежда да е случва, но забележете как 984 00:45:08,350 --> 00:45:10,152 това е подчертано в момента в жълтата линия. 985 00:45:10,152 --> 00:45:11,360 Това просто означава, че е работещ. 986 00:45:11,360 --> 00:45:13,770 И тъй като има един завинаги линия, тя все още работи. 987 00:45:13,770 --> 00:45:19,610 >> Така че нека да се премести курсора върху моята Scratch. [Мяу] [мяу] И ако тя се премести на разстояние, 988 00:45:19,610 --> 00:45:25,444 [Мяу] сега го спира, но на програмата още работи. [Мяу] И така, очарователни. 989 00:45:25,444 --> 00:45:28,550 [Мяу] Така че нека да се отворят малко по-напреднали 990 00:45:28,550 --> 00:45:32,620 Например, наречена Не домашни любимци Котката. 991 00:45:32,620 --> 00:45:35,805 >> А сега нека да видим какво се случва тук. [Мяу] мяукане. 992 00:45:35,805 --> 00:45:39,297 Така че това е малко по автопилот, ако щете. 993 00:45:39,297 --> 00:45:39,880 --pet котката. 994 00:45:39,880 --> 00:45:42,820 Чудя се защо. 995 00:45:42,820 --> 00:45:45,389 [Рев] [мяу] Е, как е направил тази работа? 996 00:45:45,389 --> 00:45:47,930 Е, можете вид причина през него интуитивно, може би. 997 00:45:47,930 --> 00:45:49,346 >> Но нека погледнем действителният код. 998 00:45:49,346 --> 00:45:51,819 Така че отново, когато зеленото знаме се натисне, да направите това завинаги. 999 00:45:51,819 --> 00:45:53,110 Какво искаш да направя вечно? 1000 00:45:53,110 --> 00:45:56,150 Е, ако се докосват мишката показалеца, след това играе 1001 00:45:56,150 --> 00:46:00,270 звук, който е очевидно, наречена Lion 5, който е вътре в този проект, друго 1002 00:46:00,270 --> 00:46:03,010 играе звук мяу, и След това изчакайте две секунди, така че 1003 00:46:03,010 --> 00:46:04,510 че това не е мяукане непрекъснато. 1004 00:46:04,510 --> 00:46:07,650 Всъщност, вие може много бързо да започне на себе си и на вашите съквартиранти дразни. 1005 00:46:07,650 --> 00:46:08,690 >> Да се ​​премахне този блок. 1006 00:46:08,690 --> 00:46:10,580 И забележи това, което е хубаво за Scratch. 1007 00:46:10,580 --> 00:46:13,070 Нещата просто вид драг и пускате и блокировка. 1008 00:46:13,070 --> 00:46:14,980 Така че отново, тя расте, за да запълни това, което искате. 1009 00:46:14,980 --> 00:46:20,118 Но ако се премахне това, и след това хит играта, [COMPUTER премигване SOUND] 1010 00:46:20,118 --> 00:46:22,904 >> --it рода на препъване себе си, защото това е буквално 1011 00:46:22,904 --> 00:46:23,820 правят това, което искам да кажа. 1012 00:46:23,820 --> 00:46:27,080 Той казва завинаги играе този звук, но Аз не съм го дава шанс да отбележи. 1013 00:46:27,080 --> 00:46:28,205 И така, това би било грешка. 1014 00:46:28,205 --> 00:46:30,700 И затова ние трябваше това нещо тук сега. 1015 00:46:30,700 --> 00:46:34,030 Така че нека да започнем от действително scratch-- нещо като игра на думи, леко intended-- 1016 00:46:34,030 --> 00:46:36,450 в които имаме сега в движение котка. 1017 00:46:36,450 --> 00:46:38,130 >> Така че аз ще направя това в движение. 1018 00:46:38,130 --> 00:46:40,910 Отивам да я увеличите тук, просто да ме започна на събитията. 1019 00:46:40,910 --> 00:46:42,000 И зелен флаг щракнали. 1020 00:46:42,000 --> 00:46:43,410 А има и други начини да започне скриптовете. 1021 00:46:43,410 --> 00:46:44,920 Отиваме да го прости тук. 1022 00:46:44,920 --> 00:46:48,049 >> И сега аз отивам да отидете напред и да минат под контрол. 1023 00:46:48,049 --> 00:46:50,590 И отново, ако сте забравили къде нещата се, трябва само да кликнете наоколо, 1024 00:46:50,590 --> 00:46:52,048 и в крайна сметка да ги намерите отново. 1025 00:46:52,048 --> 00:46:53,680 Така че аз искам да правя това, което завинаги? 1026 00:46:53,680 --> 00:46:58,650 Искам да използвам блока движение Знам, че съществува, преместете 10 стъпки. 1027 00:46:58,650 --> 00:47:02,016 >> Така че нека да видим какво ще стане тук, ако аз играя тази игра. 1028 00:47:02,016 --> 00:47:03,390 За щастие тя не отива твърде далеч. 1029 00:47:03,390 --> 00:47:05,190 Все още мога да го вземете вид за опашката и го издърпайте назад. 1030 00:47:05,190 --> 00:47:07,860 Но програмата все още е в ход, така че той е един вид ме биете. 1031 00:47:07,860 --> 00:47:10,870 Но това ще бъде вид хубаво, ако можех условно се определи това в кода. 1032 00:47:10,870 --> 00:47:12,800 >> Тъй като това е not-- всъщност това е наистина 1033 00:47:12,800 --> 00:47:15,770 Не забавна игра за всеки, независимо от възрастта. 1034 00:47:15,770 --> 00:47:18,915 Така че нека да се опитаме да се определи това, като като някакъв вид условия. 1035 00:47:18,915 --> 00:47:21,670 Така че аз отивам да мине под Контрол, и след това, ако. 1036 00:47:21,670 --> 00:47:22,660 Харесва ми тази идея. 1037 00:47:22,660 --> 00:47:27,470 Така че след преместването на 10 стъпки, if-- да ме усети къде съм. 1038 00:47:27,470 --> 00:47:30,799 Отивам да отидат под Sensing, и след това тя изглежда мога да отида тук. 1039 00:47:30,799 --> 00:47:31,840 ред за мачовете форма. 1040 00:47:31,840 --> 00:47:34,380 >> Размер не, но това е ще нарасне до запълване. 1041 00:47:34,380 --> 00:47:35,984 И сега това е малко меню. 1042 00:47:35,984 --> 00:47:38,650 И сега мишката pointer-- аз не правя Искам мишката, искам ръба. 1043 00:47:38,650 --> 00:47:41,700 Така Scratch е достатъчно умен, за да знам когато един спрайт докосва ръба. 1044 00:47:41,700 --> 00:47:44,360 Какво искам да го направя всъщност? 1045 00:47:44,360 --> 00:47:46,025 >> Нека да вървим напред и да се промени на движението. 1046 00:47:46,025 --> 00:47:46,940 Знаеш ли какво? 1047 00:47:46,940 --> 00:47:49,242 Отивам да го обърнеш. 1048 00:47:49,242 --> 00:47:51,200 Така при 15 градуса не е наистина ще ми помогне. 1049 00:47:51,200 --> 00:47:53,990 Искам той да се обърнеш и отиде в другата посока. 1050 00:47:53,990 --> 00:47:57,740 >> Така че нека да видим какво ще стане тук, ако се удари Играй сега. 1051 00:47:57,740 --> 00:48:01,520 OK, вид глупаво изглеждащ, но тя прави точно това, което казах. 1052 00:48:01,520 --> 00:48:03,540 И това е въртене на цялата спрайт. 1053 00:48:03,540 --> 00:48:04,900 Сега се оказва, мога да поправя това. 1054 00:48:04,900 --> 00:48:06,691 И аз не знам как да се определи това на първо време. 1055 00:48:06,691 --> 00:48:09,190 Някак трябваше да futz около и виж най-добрият начин да направите това. 1056 00:48:09,190 --> 00:48:12,630 Но ако отида to-- нека да видим, движение. 1057 00:48:12,630 --> 00:48:14,050 О, аз открих това. 1058 00:48:14,050 --> 00:48:15,660 Всъщност Определете Rotation Style. 1059 00:48:15,660 --> 00:48:18,431 Ляво, дясно, или не върти, или на всички наоколо. 1060 00:48:18,431 --> 00:48:19,930 И се оказва, че това, което аз искам. 1061 00:48:19,930 --> 00:48:22,920 И аз отивам да се сложи това не е моя линия, защото не трябва да зададете 1062 00:48:22,920 --> 00:48:24,487 стила въртене няколко пъти. 1063 00:48:24,487 --> 00:48:27,570 Отивам да го постави на върха на тази програма, така че да стане зададете веднъж, 1064 00:48:27,570 --> 00:48:28,670 и след това да си спомня. 1065 00:48:28,670 --> 00:48:30,340 И сега аз отивам да опитаме отново. 1066 00:48:30,340 --> 00:48:32,520 Позволете ми да спре програмата. 1067 00:48:32,520 --> 00:48:34,050 >> И сега, че фиксирана че бъг. 1068 00:48:34,050 --> 00:48:35,700 Така че аз съм итеративно подобряване на това. 1069 00:48:35,700 --> 00:48:37,900 Програмата е с удар с Малко по-сложно и по-голяма, 1070 00:48:37,900 --> 00:48:40,810 но аз съм като бебе на няколко така да се каже, и малки късчета от проблема 1071 00:48:40,810 --> 00:48:42,010 за да получите по-добре и по-добре. 1072 00:48:42,010 --> 00:48:43,260 Но това също е вид слаб. 1073 00:48:43,260 --> 00:48:43,900 >> Знаеш ли какво? 1074 00:48:43,900 --> 00:48:49,860 Бихте попитам някой с една наистина добра, страшна глас искал да излезе? 1075 00:48:49,860 --> 00:48:51,210 Някой с глас. 1076 00:48:51,210 --> 00:48:54,070 1077 00:48:54,070 --> 00:48:54,570 Uh, да. 1078 00:48:54,570 --> 00:48:55,550 Хайде нагоре. 1079 00:48:55,550 --> 00:48:57,990 В зелената фланелка. 1080 00:48:57,990 --> 00:49:01,530 >> Така се оказва, че има някакъв друг забавно неща, естетика и звучи така. 1081 00:49:01,530 --> 00:49:02,290 Тук е мяу. 1082 00:49:02,290 --> 00:49:04,000 Аз кликнете върху раздела Звуци. 1083 00:49:04,000 --> 00:49:08,730 [Мяу] Там е мяу. [Мяу] [мяу] [Мяу] --actually рекорд нещо 1084 00:49:08,730 --> 00:49:10,310 на собствения ни тук. 1085 00:49:10,310 --> 00:49:13,120 >> Така че нека да направим точно това. 1086 00:49:13,120 --> 00:49:17,670 Вместо да използвате тази котка звук, нека давай тук, и какво е вашето име? 1087 00:49:17,670 --> 00:49:18,850 Nick, хубаво е да се запознаем. 1088 00:49:18,850 --> 00:49:19,350 Това е Дейвид. 1089 00:49:19,350 --> 00:49:21,474 Така че в един момент, аз ще съм да натиснете бутона за запис. 1090 00:49:21,474 --> 00:49:23,240 И ако можете просто крещи в лаптопа, 1091 00:49:23,240 --> 00:49:26,140 "ох", като че ли току-що влезе в стената, 1092 00:49:26,140 --> 00:49:28,180 че ще бъде много оценявам. 1093 00:49:28,180 --> 00:49:29,660 1, 2. 1094 00:49:29,660 --> 00:49:31,470 >> НИК: Ох! 1095 00:49:31,470 --> 00:49:32,470 DAVID J. Malan: Awesome. 1096 00:49:32,470 --> 00:49:34,410 И сега може да се направи малко редактиране тук. 1097 00:49:34,410 --> 00:49:35,910 Отивате да се отърве от тихите части. 1098 00:49:35,910 --> 00:49:37,000 И мисля, че това е добре. 1099 00:49:37,000 --> 00:49:37,690 Благодаря ти много. 1100 00:49:37,690 --> 00:49:38,315 >> НИК: Pleasure. 1101 00:49:38,315 --> 00:49:43,277 1102 00:49:43,277 --> 00:49:45,110 DAVID J. Malan: Нямам просто го преименува на "ох" 1103 00:49:45,110 --> 00:49:46,901 но сега аз отивам да се върнете към моите скриптове. 1104 00:49:46,901 --> 00:49:49,810 И известие наистина има звук тук. 1105 00:49:49,810 --> 00:49:53,520 И аз ще отида напред и да играе на звук Ох 1106 00:49:53,520 --> 00:49:56,991 и аз отивам да правя, че ако това е само докосвате краищата. 1107 00:49:56,991 --> 00:49:58,740 И тогава аз ще трябва да го обърнеш. 1108 00:49:58,740 --> 00:50:00,250 Така че нека да видим какво се случва тук. 1109 00:50:00,250 --> 00:50:01,728 Нека да отидем на цял екран. 1110 00:50:01,728 --> 00:50:02,394 [Възпроизвеждане на видео] 1111 00:50:02,394 --> 00:50:03,790 -Ouch! 1112 00:50:03,790 --> 00:50:05,290 Ох! 1113 00:50:05,290 --> 00:50:06,790 Ох! 1114 00:50:06,790 --> 00:50:07,790 Ох! 1115 00:50:07,790 --> 00:50:09,160 Ох! 1116 00:50:09,160 --> 00:50:10,780 Ох! 1117 00:50:10,780 --> 00:50:11,587 Ох! 1118 00:50:11,587 --> 00:50:12,086 Ох! 1119 00:50:12,086 --> 00:50:12,492 >> [END PLAYBACK] 1120 00:50:12,492 --> 00:50:14,490 >> DAVID J. Malan: Значи ти осъзнаваш че ние сме става малко късмет. 1121 00:50:14,490 --> 00:50:17,110 Отивам да го имат ход като 100 стъпки в даден момент. 1122 00:50:17,110 --> 00:50:21,790 Ефектът от които сега се случва да be-- [COMPUTER бъг SOUND] Така че 1123 00:50:21,790 --> 00:50:22,490 в рамките на разумното. 1124 00:50:22,490 --> 00:50:25,470 Така възможност да се усъвършенства, че допълнително, ако наистина искаме да. 1125 00:50:25,470 --> 00:50:27,340 >> Така че сега нека да се въведе друга концепция. 1126 00:50:27,340 --> 00:50:30,660 За да ме пусне в една, наречена Да броите овце и използването нещо 1127 00:50:30,660 --> 00:50:31,610 нарича променлива. 1128 00:50:31,610 --> 00:50:34,700 Това е един прекрасен малък овце, и Промених си костюм, така да се каже. 1129 00:50:34,700 --> 00:50:37,450 Така че, въпреки че по подразбиране е котка, можете да качите, можете да рисувате, 1130 00:50:37,450 --> 00:50:40,020 можете да направите произволен брой знака на вашия дух. 1131 00:50:40,020 --> 00:50:43,740 Ето една програма, която е Ще направя това, което на английски? 1132 00:50:43,740 --> 00:50:47,110 >> Въз основа отново на точно това, което знам сега. 1133 00:50:47,110 --> 00:50:48,230 Какво е тази програма да направя? 1134 00:50:48,230 --> 00:50:50,740 1135 00:50:50,740 --> 00:50:53,500 Да, това ще се брои. 1136 00:50:53,500 --> 00:50:55,842 Един брой в даден момент. 1137 00:50:55,842 --> 00:50:57,550 Имаме очевидно получите този комплект брояч. 1138 00:50:57,550 --> 00:50:59,380 >> Аз не знам какво е това, но може би това е променлива. 1139 00:50:59,380 --> 00:51:00,740 Това е просто един контейнер, х или у. 1140 00:51:00,740 --> 00:51:04,290 Но думата гишето е по- описателно от х или у математик си. 1141 00:51:04,290 --> 00:51:06,560 Така че ние можем да използваме английски думи за нещата. 1142 00:51:06,560 --> 00:51:08,490 Forever, просто означава да правиш това. 1143 00:51:08,490 --> 00:51:10,020 >> Кажете брояч. 1144 00:51:10,020 --> 00:51:11,270 Сега, когато дойде това? 1145 00:51:11,270 --> 00:51:13,240 Е, оказва се, че брояч е променлива. 1146 00:51:13,240 --> 00:51:15,645 Така че това е просто още един пъзел парче съм създал по-рано. 1147 00:51:15,645 --> 00:51:18,020 И въпреки, че това се случва да не бъде същата форма тук, 1148 00:51:18,020 --> 00:51:20,540 нормално бихте казали нещо като здравей тук. 1149 00:51:20,540 --> 00:51:23,610 >> Можете също така да плъзнете променлива така че това е, което му се каза. 1150 00:51:23,610 --> 00:51:26,170 Тогава аз чакам за втори, I промяна на тезгяха по един, 1151 00:51:26,170 --> 00:51:27,940 то увеличаване чрез добавяне на един. 1152 00:51:27,940 --> 00:51:32,407 Така че нетният ефект е този прелестен преброяване овце. 1153 00:51:32,407 --> 00:51:33,615 Въпреки, че той самият се брои. 1154 00:51:33,615 --> 00:51:36,642 1155 00:51:36,642 --> 00:51:38,350 Сега е много бързо ще се получи скучно 1156 00:51:38,350 --> 00:51:40,900 защото той ще направите това наистина завинаги, 1157 00:51:40,900 --> 00:51:44,240 но това е точно това, което проектиране на програмата е предписал. 1158 00:51:44,240 --> 00:51:48,090 Нека сега да се опитаме още един пример която използва променлива. 1159 00:51:48,090 --> 00:51:51,140 Това призова Hi Hi Hi, че няма да ви подразни бързо. 1160 00:51:51,140 --> 00:51:52,987 Сега това има две скриптове. 1161 00:51:52,987 --> 00:51:54,570 И така отново, ние сме като малки стъпки. 1162 00:51:54,570 --> 00:51:57,236 >> Ние започнахме с нещо супер малък, добавя към него, добавя към него. 1163 00:51:57,236 --> 00:51:59,750 Сега искам да направя нещо още по-динамичен, 1164 00:51:59,750 --> 00:52:02,950 така че искам да се слуша за две различни неща в даден момент. 1165 00:52:02,950 --> 00:52:05,420 Така че в ляво, когато зелен флаг е кликнал, 1166 00:52:05,420 --> 00:52:08,100 Задам променлива, която съм написал предварително нарича спрени. 1167 00:52:08,100 --> 00:52:09,700 И аз произволно го настройте на 0. 1168 00:52:09,700 --> 00:52:13,290 Така Scratch не разполага с вярна и невярно, но тя има 0 и 1. 1169 00:52:13,290 --> 00:52:15,270 >> Така че мога да се сближат, че една и съща идея. 1170 00:52:15,270 --> 00:52:21,110 И след това завинаги, ако пространството лента е натиснат, след това задайте на променливата до 0. 1171 00:52:21,110 --> 00:52:21,810 Или съжалявам. 1172 00:52:21,810 --> 00:52:25,920 Ако пространството е натиснат, и ако заглушен, променливата, е 0, 1173 00:52:25,920 --> 00:52:29,950 след това задайте заглушен до 1, останало зададете заглушен до 0. 1174 00:52:29,950 --> 00:52:32,370 Това изглежда нещо като сме просто правиш и да се развали работата. 1175 00:52:32,370 --> 00:52:33,130 >> Но това, което е ефектът? 1176 00:52:33,130 --> 00:52:35,588 Всеки път, когато се удари в пространството лента, какво се случва с променлива ми 1177 00:52:35,588 --> 00:52:38,150 наречена заглушен, логично? 1178 00:52:38,150 --> 00:52:39,100 Нещо получава копна. 1179 00:52:39,100 --> 00:52:41,035 Той се променя от 0 до 1, или 1-0. 1180 00:52:41,035 --> 00:52:43,035 Така че това отне няколко пресечки да изразя това, но всички 1181 00:52:43,035 --> 00:52:47,280 Правя се превключва състоянието на тази променлива на 0 или 1, или 0 или 1 1182 00:52:47,280 --> 00:52:48,530 всеки път, когато се удари в пространството бар. 1183 00:52:48,530 --> 00:52:49,905 Сега тук, какво е това правиш? 1184 00:52:49,905 --> 00:52:53,400 Forever, ако заглушен е 0, така че ако заглушен е фалшива. 1185 00:52:53,400 --> 00:52:57,910 Така че, ако това не е заглушен, е семантика там, възпроизвеждат звук морски лъв, 1186 00:52:57,910 --> 00:53:00,810 и мисля, Hi Hi Hi за двама секунди, чакат две секунди. 1187 00:53:00,810 --> 00:53:02,710 Така че сега те забележат скриптове са ефективно 1188 00:53:02,710 --> 00:53:07,100 ще тече паралелно, така че може да се да се слуша за едно действие, от друга 1189 00:53:07,100 --> 00:53:09,010 да вземе решение въз основа на това действие. 1190 00:53:09,010 --> 00:53:10,655 И това може да направите това завинаги. 1191 00:53:10,655 --> 00:53:12,638 >> [SEA LION лай] 1192 00:53:12,638 --> 00:53:14,852 >> [SEA LION лай] 1193 00:53:14,852 --> 00:53:20,050 >> Това ще направи това за вечни [SEA LION лай], както аз току-що направихте. 1194 00:53:20,050 --> 00:53:23,010 И сега тя все още работи Но аз съм "заглушава" играта. 1195 00:53:23,010 --> 00:53:27,260 [SEA LION лай] И това е всичко това момче прави сега също. 1196 00:53:27,260 --> 00:53:28,660 >> Да отворим още един пример тук. 1197 00:53:28,660 --> 00:53:31,840 Позволете ми да отида в събития, и сега този прелестен също. 1198 00:53:31,840 --> 00:53:34,130 Но забележете, че има две спрайтове. 1199 00:53:34,130 --> 00:53:37,520 Така че не само на две скриптове с един спрайт, но две спрайтове. 1200 00:53:37,520 --> 00:53:40,750 И ако аз кликнете върху синия човек, както аз Вече имам, виждам, че като една програма 1201 00:53:40,750 --> 00:53:43,790 до тук, че буквално казва това, когато получа едно събитие, 1202 00:53:43,790 --> 00:53:45,620 казват "Polo" за две секунди. 1203 00:53:45,620 --> 00:53:48,460 >> Така че, ако някога сте се играе в с басейн, играта Marco Polo, 1204 00:53:48,460 --> 00:53:52,500 ако скрипта оранжево човек е индикации, очевидно 1205 00:53:52,500 --> 00:53:57,380 всеки път, когато се удари в пространството лента, какво е оранжевата човек смяташ да правиш? 1206 00:53:57,380 --> 00:53:58,642 Той ще каже "Марко". 1207 00:53:58,642 --> 00:53:59,850 И тогава това е нов блок. 1208 00:53:59,850 --> 00:54:02,409 Ние не съм виждал това и преди, но излъчване на дадено събитие. 1209 00:54:02,409 --> 00:54:04,200 И мога да го наречем събитие всичко, което искаме. 1210 00:54:04,200 --> 00:54:06,033 >> Ще се върнем към това може би не след дълго. 1211 00:54:06,033 --> 00:54:08,410 Но излъчването на събитие е начин за един спрайт 1212 00:54:08,410 --> 00:54:11,836 да се говори на друг, като същество тя преминава съобщение. 1213 00:54:11,836 --> 00:54:12,960 Това не е съобщение, което виждате. 1214 00:54:12,960 --> 00:54:14,130 Това не е нещо визуално. 1215 00:54:14,130 --> 00:54:17,370 Това е нещо като компютър съобщение че другият не слуша за. 1216 00:54:17,370 --> 00:54:21,210 Защото наистина, синият човек, изземване не притежава, когато зелено знаме щракнали. 1217 00:54:21,210 --> 00:54:23,290 >> Той вместо да има, когато получа събитие. 1218 00:54:23,290 --> 00:54:26,850 Когато той се предаде настоящата бележка в клас, така да се каже, че трябва да се каже, "Polo". 1219 00:54:26,850 --> 00:54:30,200 И така, нетният ефект е, че когато се удари зеленото знаме, нищо не се случва. 1220 00:54:30,200 --> 00:54:34,940 Но когато се удари бар пространство, казва той "Марко", той отговаря с "Поло". 1221 00:54:34,940 --> 00:54:38,350 Но единственият спрайт, аз съм взаимодействие с е оранжевата. 1222 00:54:38,350 --> 00:54:40,980 Така че това е начин за вид минаваща съобщения между спрайтове 1223 00:54:40,980 --> 00:54:43,210 и като ги съобщава един с друг. 1224 00:54:43,210 --> 00:54:46,280 >> Сега нека да разгледаме един последен един тук наричат ​​нишки. 1225 00:54:46,280 --> 00:54:49,370 И забележи това, като го играя. 1226 00:54:49,370 --> 00:54:51,184 Така че това са две спрайтове. 1227 00:54:51,184 --> 00:54:52,600 Птицата е вид летенето. 1228 00:54:52,600 --> 00:54:53,310 Той подскачащи. 1229 00:54:53,310 --> 00:54:55,890 Няма никакво "ох", но същата идея. 1230 00:54:55,890 --> 00:54:58,230 >> Но котката изглежда доста умен. 1231 00:54:58,230 --> 00:55:01,010 Какво е котката очевидно правиш? 1232 00:55:01,010 --> 00:55:03,430 И го чакаме. 1233 00:55:03,430 --> 00:55:05,010 Какво е котката очевидно правиш? 1234 00:55:05,010 --> 00:55:07,740 Това не е просто подскачащи. 1235 00:55:07,740 --> 00:55:09,860 >> Той е следният птицата. 1236 00:55:09,860 --> 00:55:13,920 И така, както изглежда, има начин с комбинация от блокове here-- 1237 00:55:13,920 --> 00:55:15,760 и нека да погледнем на котката наистина бързо. 1238 00:55:15,760 --> 00:55:20,270 Forever, ако докосвате птици, а след това играе звукът Lion 4, каквото и да е. 1239 00:55:20,270 --> 00:55:21,360 Ние го чух веднъж. 1240 00:55:21,360 --> 00:55:25,431 В противен случай, да сочи към птица, и да се премести с една стъпка. 1241 00:55:25,431 --> 00:55:27,680 Сега на факта, че това е една стъпка е това, което дава на птицата 1242 00:55:27,680 --> 00:55:29,850 малко на предимство първоначално, но ако вместо 1243 00:55:29,850 --> 00:55:32,980 направи тази 10, например, така че всяка итерация на цикъл той е 1244 00:55:32,980 --> 00:55:34,100 преместване 10 стъпки от време. 1245 00:55:34,100 --> 00:55:35,280 Така че по-голямо пространство. 1246 00:55:35,280 --> 00:55:36,650 Нека да видим какво ще се случи след това. 1247 00:55:36,650 --> 00:55:38,740 [LION рев] Не всички, че много по-добре. 1248 00:55:38,740 --> 00:55:41,460 Така че сега нека се опитаме да подобрим при това малко итеративно, 1249 00:55:41,460 --> 00:55:43,330 и се върна към това понятие за функция. 1250 00:55:43,330 --> 00:55:46,580 >> И наистина един от основните храна за вкъщи от дизайна на класа. 1251 00:55:46,580 --> 00:55:49,560 Не само за написването на програми, които работят и че са правилни, но са добре 1252 00:55:49,560 --> 00:55:50,080 проектирана. 1253 00:55:50,080 --> 00:55:54,349 И дизайна е много по-субективно, и ще получите по-добри в това с течение на времето. 1254 00:55:54,349 --> 00:55:57,390 Но нека да се вземат някои бебешки стъпки към като се започне с програма, която работи, 1255 00:55:57,390 --> 00:55:59,310 Абсолютно, но това не е много добра. 1256 00:55:59,310 --> 00:56:00,650 Това не е много добре написана. 1257 00:56:00,650 --> 00:56:03,830 >> Така че тук е програма, която прави това. 1258 00:56:03,830 --> 00:56:08,060 Кашлица, кашлица, кашлица. 1259 00:56:08,060 --> 00:56:09,880 Какво прави програмата изглежда? 1260 00:56:09,880 --> 00:56:11,330 Изглежда правилно за мен. 1261 00:56:11,330 --> 00:56:13,370 Той казва, диван за на второ място, след това го чака. 1262 00:56:13,370 --> 00:56:14,515 >> След това го казва отново, след което го чака. 1263 00:56:14,515 --> 00:56:16,056 След това го казва отново, след което го чака. 1264 00:56:16,056 --> 00:56:18,770 И тогава програмата имплицитно свършва, защото няма връзка. 1265 00:56:18,770 --> 00:56:21,325 Но защо е това лошо написана програма? 1266 00:56:21,325 --> 00:56:22,950 Дори ако никога не сте програмирани преди? 1267 00:56:22,950 --> 00:56:25,240 Подобно на това, което трие грешен начин, може би тук? 1268 00:56:25,240 --> 00:56:26,016 Да? 1269 00:56:26,016 --> 00:56:29,278 >> АУДИТОРИЯ: [недоловим] 1270 00:56:29,278 --> 00:56:29,950 1271 00:56:29,950 --> 00:56:30,950 DAVID J. Malan: Точно така. 1272 00:56:30,950 --> 00:56:32,700 Ти си повтаряме себе си отново и отново. 1273 00:56:32,700 --> 00:56:36,190 И буквално, аз копира и две от отново и отново тези блокове. 1274 00:56:36,190 --> 00:56:39,237 И това е точно вида на здравия разум провери, че трябва да се направи. 1275 00:56:39,237 --> 00:56:39,820 Чакай малко. 1276 00:56:39,820 --> 00:56:41,070 Трябва ли наистина да се прави това? 1277 00:56:41,070 --> 00:56:43,610 И така, какво е това? Какво е най- очевидно решение може би? 1278 00:56:43,610 --> 00:56:44,680 Имат ли някаква връзка. 1279 00:56:44,680 --> 00:56:46,860 И аз не съвсем изземване какво парче пъзел е, 1280 00:56:46,860 --> 00:56:48,810 но ако погледнем в следващата итерация тук, 1281 00:56:48,810 --> 00:56:50,560 Наистина, там не е само завинаги линия, 1282 00:56:50,560 --> 00:56:52,560 има повторя някои брой пъти. 1283 00:56:52,560 --> 00:56:54,080 И така, аз съм определено три. 1284 00:56:54,080 --> 00:56:57,839 И сега забележете как много по-строги, как много по-кратка тази програма е. 1285 00:56:57,839 --> 00:56:59,630 И в известен смисъл, как много по-възможна за поддържане. 1286 00:56:59,630 --> 00:57:02,840 Ако искам да смените думата от кашлица към нещо друго, 1287 00:57:02,840 --> 00:57:07,530 като achoo, като той е кихане. 1288 00:57:07,530 --> 00:57:09,770 Тогава аз го променя в една място, а не три. 1289 00:57:09,770 --> 00:57:12,050 Така че това вече се чувства като малко по-добър дизайн. 1290 00:57:12,050 --> 00:57:14,610 Нека вместо отворена кашлица 2, третата ни пример. 1291 00:57:14,610 --> 00:57:17,670 >> Забележете, като компютърен учен, Започвам да се брои на 0, обикновено. 1292 00:57:17,670 --> 00:57:20,950 Сега това изглежда малко страшно в Първо, но ефектът е същият. 1293 00:57:20,950 --> 00:57:22,590 Кашлица, кашлица, кашлица. 1294 00:57:22,590 --> 00:57:26,920 Но това, което изглежда да е фундаментално ново в горната част на програмата? 1295 00:57:26,920 --> 00:57:28,670 Аз бях отстранен от дума. 1296 00:57:28,670 --> 00:57:29,830 >> Аз бях отстранен чакането. 1297 00:57:29,830 --> 00:57:32,370 И това, което не съм включен в мрежата, а? 1298 00:57:32,370 --> 00:57:32,890 A функция. 1299 00:57:32,890 --> 00:57:33,670 Кашлицата блок. 1300 00:57:33,670 --> 00:57:35,410 Искам да кажа, честно казано, аз като че ли вид на идиот, ако не го направих само 1301 00:57:35,410 --> 00:57:37,285 започнем с блока това е очевидно, наречено 1302 00:57:37,285 --> 00:57:38,894 "кашлица", ако това е всичко, което искам да го направя. 1303 00:57:38,894 --> 00:57:40,310 Но това не съществува в Scratch. 1304 00:57:40,310 --> 00:57:43,396 По-скоро аз отидох до един в палитра наречена Още Blocks тук, 1305 00:57:43,396 --> 00:57:46,270 и аз плъзнете този голям лилаво нещо тук, че ми позволява да дефинирате функция. 1306 00:57:46,270 --> 00:57:48,240 По същество той ми позволява създам собствена пъзел 1307 00:57:48,240 --> 00:57:51,280 парче, което може да се нарече нещо, което мога искам, че можем да направим нищо, което искам, 1308 00:57:51,280 --> 00:57:52,360 но тя дава име. 1309 00:57:52,360 --> 00:57:57,050 Това ми дава нов, лилаво пъзел парче че сега прави каквото аз го кажа, за да се направи. 1310 00:57:57,050 --> 00:58:01,060 Така че това лилаво парче тук съответства на този тук. 1311 00:58:01,060 --> 00:58:01,960 >> И какво прави той? 1312 00:58:01,960 --> 00:58:03,930 Той казва, че за кашлица на второ място, а след това го чака. 1313 00:58:03,930 --> 00:58:07,330 И сега съм нещо като създал моя собствена персонализирана пъзел парче, 1314 00:58:07,330 --> 00:58:10,040 така че той се държи точно същия начин. 1315 00:58:10,040 --> 00:58:11,130 Така че мога да продължавам така. 1316 00:58:11,130 --> 00:58:14,421 И наистина, там ще бъде все повече и повече възможности за модуларизация, 1317 00:58:14,421 --> 00:58:16,630 и за наслояване, сложност на върха на един друг. 1318 00:58:16,630 --> 00:58:18,547 Но тази основна идея, Наистина в проблем, каза 0. 1319 00:58:18,547 --> 00:58:20,338 Какво ти започваш да се се изправят пред предизвикателството да направим, е да 1320 00:58:20,338 --> 00:58:23,810 изтеглянето на Scratch, или просто да го използвате в интернет, и просто да се забавляват с него. 1321 00:58:23,810 --> 00:58:26,056 Ще ви дам един набор от изисквания, като звук, 1322 00:58:26,056 --> 00:58:27,430 а някои брой парчета от пъзел. 1323 00:58:27,430 --> 00:58:28,480 Но ще направя точно това. 1324 00:58:28,480 --> 00:58:31,771 И вие ще осъзнаете, че започваш да се Искам да се вземат някои малки стъпки първоначално, 1325 00:58:31,771 --> 00:58:33,690 докато програмата си получава повече и по-сложни. 1326 00:58:33,690 --> 00:58:36,010 Но за това е тази на най-добрият начин да направите това? 1327 00:58:36,010 --> 00:58:39,210 Мога ли да се избегне този инстинкт може би, да копирате и поставяте? 1328 00:58:39,210 --> 00:58:41,850 >> Но преди Проблем Set 0, а преди да се отложи, 1329 00:58:41,850 --> 00:58:44,980 смятахме, че ще отнеме до една по-доброволец, ако можехме, 1330 00:58:44,980 --> 00:58:46,820 за окончателно програма това е може би най- 1331 00:58:46,820 --> 00:58:49,150 монтаж на всички, даден днешния място. 1332 00:58:49,150 --> 00:58:50,298 Хайде надолу. 1333 00:58:50,298 --> 00:58:51,234 Да. 1334 00:58:51,234 --> 00:58:52,170 Да. 1335 00:58:52,170 --> 00:58:53,431 Как се казваш? 1336 00:58:53,431 --> 00:58:53,930 Охо. 1337 00:58:53,930 --> 00:58:57,820 1338 00:58:57,820 --> 00:58:59,010 Това е добре. 1339 00:58:59,010 --> 00:59:01,230 И двете слезе. 1340 00:59:01,230 --> 00:59:05,520 И аз съм ще се справят с това по някакъв начин в рамките на това, че следващите десет секунди. 1341 00:59:05,520 --> 00:59:06,550 Така че хайде надолу. 1342 00:59:06,550 --> 00:59:08,370 Хайде надолу. 1343 00:59:08,370 --> 00:59:13,250 >> Нека дойде тук. 1344 00:59:13,250 --> 00:59:16,050 Хайде. 1345 00:59:16,050 --> 00:59:16,685 Всичко е наред. 1346 00:59:16,685 --> 00:59:21,360 1347 00:59:21,360 --> 00:59:22,360 Нека да видим тук. 1348 00:59:22,360 --> 00:59:25,735 Така че забележите доста бързо тук, ако искате да се качи на нагоре. 1349 00:59:25,735 --> 00:59:28,650 1350 00:59:28,650 --> 00:59:29,926 >> Ние ще направим два кръга от това. 1351 00:59:29,926 --> 00:59:30,800 И какво е вашето име? 1352 00:59:30,800 --> 00:59:31,270 >> Сабрина: Сабрина. 1353 00:59:31,270 --> 00:59:32,060 >> DAVID J. Malan: Сабрина и? 1354 00:59:32,060 --> 00:59:32,622 >> Инг GEE: Ying Gee. 1355 00:59:32,622 --> 00:59:33,360 >> DAVID J. Malan: Ying Gee. 1356 00:59:33,360 --> 00:59:34,276 Приятно ми е да се запозная с вас двамата. 1357 00:59:34,276 --> 00:59:34,970 Дейвид. 1358 00:59:34,970 --> 00:59:38,785 Така че нашата крайна пример тук е наречено Hardest Game Ivy му. 1359 00:59:38,785 --> 00:59:41,160 А защо не трябва ли да направиш Level 1 и Level 2, което правите. 1360 00:59:41,160 --> 00:59:43,350 >> И ние ще видим колко далеч отвъд това ние всъщност вървим. 1361 00:59:43,350 --> 00:59:45,855 Написано от студент миналата година, ремиксиран от мен 1362 00:59:45,855 --> 00:59:48,840 така че това ще отидем над и в Ню Хейвън. 1363 00:59:48,840 --> 00:59:53,180 И аз ви дам една игра, която ще включва преместване на стрелките нагоре и надолу, 1364 00:59:53,180 --> 00:59:55,771 и получаване на Yale до финалната линия. 1365 00:59:55,771 --> 00:59:56,270 Ето ни. 1366 00:59:56,270 --> 00:59:56,759 >> [Възпроизвеждане на видео] 1367 00:59:56,759 --> 00:59:58,092 >> [MUSIC - NFL ON FOX ТЕМА SONG] 1368 00:59:58,092 --> 00:59:59,369 1369 00:59:59,369 --> 01:00:01,160 [MUSIC - MC HAMMER, "U CAN Не докосвайте  ТОЗИ "] 1370 01:00:01,160 --> 01:00:04,590 1371 01:00:04,590 --> 01:00:07,900 >> -U Не може да докосне това. 1372 01:00:07,900 --> 01:00:11,634 U не може да се пипне това. 1373 01:00:11,634 --> 01:00:14,252 Не може да се докосне това. 1374 01:00:14,252 --> 01:00:19,490 My ми, моята, музиката ми ме удря така Трудно, ме кара да кажа, о, господарю мой. 1375 01:00:19,490 --> 01:00:22,927 Благодаря, че ме благославя с нищо против да римува и две Hype краката. 1376 01:00:22,927 --> 01:00:24,891 >> Това е добре, когато знаеш, че си надолу. 1377 01:00:24,891 --> 01:00:26,855 А супер дрога Homeboy от Oaktown. 1378 01:00:26,855 --> 01:00:31,274 И аз съм известен като такъв и това такт ъ-ъ, не може да се пипне. 1379 01:00:31,274 --> 01:00:34,672 Казах ти Homeboy U не може да се пипне това. 1380 01:00:34,672 --> 01:00:38,656 Да, това е начина, по който живеем и вие знаете, U не може да се пипне това. 1381 01:00:38,656 --> 01:00:40,135 >> Погледни в очите ми, човече. 1382 01:00:40,135 --> 01:00:43,093 U не може да се пипне това. 1383 01:00:43,093 --> 01:00:44,572 Yo, позволете ми бюст фънки текстовете. 1384 01:00:44,572 --> 01:00:45,363 U не може да се пипне това. 1385 01:00:45,363 --> 01:00:46,544 Пресни нови ритници и панталони. 1386 01:00:46,544 --> 01:00:48,627 >> Имаш го харесват, че и вие знаете, искам танц. 1387 01:00:48,627 --> 01:00:51,967 Така че да се изнесат от мястото си и да получите а лети момиче и да хванете този ритъм. 1388 01:00:51,967 --> 01:00:55,911 Докато това е подвижен хванат помпа малко малко и да ги знам какво се случва. 1389 01:00:55,911 --> 01:00:56,890 Подобно на това. 1390 01:00:56,890 --> 01:00:57,390 Подобно на това. 1391 01:00:57,390 --> 01:00:59,362 >> Cold на мисия, така че дърпайте назад. 1392 01:00:59,362 --> 01:01:04,785 Нека знаят, че сте твърде много и това е ход, ъ-ъ, че не може да се пипне. 1393 01:01:04,785 --> 01:01:07,743 Yo, аз ви казах, U не може да се пипне това. 1394 01:01:07,743 --> 01:01:09,222 Защо ли стои там човек? 1395 01:01:09,222 --> 01:01:10,208 U не може да се пипне това. 1396 01:01:10,208 --> 01:01:13,200 >> Yo, звучи в звънец училището, издънка. 1397 01:01:13,200 --> 01:01:14,005 U не може да се пипне това. 1398 01:01:14,005 --> 01:01:18,326 Дай ми песни, ритъм ги прави поти това е, което аз им давам сега. 1399 01:01:18,326 --> 01:01:21,805 Те знаят, че когато се говори за Hammer ли да говорим за едно шоу, че е свръх. 1400 01:01:21,805 --> 01:01:24,290 И стегнати певци са изпотяване, така ги прехвърлят микрофон. 1401 01:01:24,290 --> 01:01:27,272 >> Или на лента, за да научите какво тя ще вземе и сега 1402 01:01:27,272 --> 01:01:29,260 той ще изгори в класациите. 1403 01:01:29,260 --> 01:01:32,739 Legit или работа трудно или че може и да се откажат. 1404 01:01:32,739 --> 01:01:37,709 Защото знаеш U не може да се пипне това. 1405 01:01:37,709 --> 01:01:41,599 U не може да се пипне това. 1406 01:01:41,599 --> 01:01:42,182 Го съборят. 1407 01:01:42,182 --> 01:01:56,095 1408 01:01:56,095 --> 01:01:56,595 Спрете. 1409 01:01:56,595 --> 01:01:57,095 Hammer време. 1410 01:01:57,095 --> 01:01:59,577 Върви с потока в спин ако не можете да се премести в тази 1411 01:01:59,577 --> 01:02:01,068 тогава най-вероятно са мъртви. 1412 01:02:01,068 --> 01:02:04,547 Така вълна ръцете си в въздуха [недоловим] 1413 01:02:04,547 --> 01:02:08,026 >> Това е за победител танцуват това и ти започваш да се получи по-тънки. 1414 01:02:08,026 --> 01:02:12,996 Преместете плъзнете задницата само за минутка нека да направя всичко на бум. 1415 01:02:12,996 --> 01:02:13,990 Да. 1416 01:02:13,990 --> 01:02:14,984 U не може да се пипне това. 1417 01:02:14,984 --> 01:02:17,966 1418 01:02:17,966 --> 01:02:19,457 >> U не може да се пипне това. 1419 01:02:19,457 --> 01:02:23,433 По-добре да получите свръх момче U не може да се пипне това. 1420 01:02:23,433 --> 01:02:24,924 Позвъни на звънеца обратно училището инча 1421 01:02:24,924 --> 01:02:25,918 Го съборят. 1422 01:02:25,918 --> 01:02:38,837 1423 01:02:38,837 --> 01:02:39,337 Спрете. 1424 01:02:39,337 --> 01:02:40,828 Време Hammer 1425 01:02:40,828 --> 01:02:42,816 >> DAVID J. Malan: Това е всичко за CS50! 1426 01:02:42,816 --> 01:02:45,301 Благодаря много за присъединяване към нас! 1427 01:02:45,301 --> 01:02:47,786 Ще се видим навън. 1428 01:02:47,786 --> 01:02:48,611 >> [END PLAYBACK] 1429 01:02:48,611 --> 01:02:49,277 [Възпроизвеждане на видео] 1430 01:02:49,277 --> 01:02:52,259 [MUSIC - "Зайнфелд" ТЕМА SONG] 1431 01:02:52,259 --> 01:02:53,860 -Hey Дейвид. 1432 01:02:53,860 --> 01:02:54,500 -Hey, Дейвид. 1433 01:02:54,500 --> 01:02:55,912 Как върви? 1434 01:02:55,912 --> 01:02:58,078 >> -Добър Работа, днес. 1435 01:02:58,078 --> 01:03:00,952 -Значи Мислили ли сте за това, което започваш да се направи за място шегите? 1436 01:03:00,952 --> 01:03:03,207 -Не, Аз нямам нищо. 1437 01:03:03,207 --> 01:03:07,550 -Какво If-- какво, ако това е извън шегата? 1438 01:03:07,550 --> 01:03:08,970 ПОДОБЕН, разопаковане колички? 1439 01:03:08,970 --> 01:03:11,430 -Хм нали. 1440 01:03:11,430 --> 01:03:13,890 Знаеш ли, това е за нищо. 1441 01:03:13,890 --> 01:03:17,559 >> -Така Харесва, не историята, не конфликт, не резолюция. 1442 01:03:17,559 --> 01:03:18,350 Не разбирам. 1443 01:03:18,350 --> 01:03:20,542 Какво става въпрос за тогава? 1444 01:03:20,542 --> 01:03:23,510 >> -Нищо. 1445 01:03:23,510 --> 01:03:27,427 >> -Значи Имаме извън шега е около нищо, а ние нямаме актьори. 1446 01:03:27,427 --> 01:03:28,510 Кой ще бъде в това? 1447 01:03:28,510 --> 01:03:29,010 >> -Не не не. 1448 01:03:29,010 --> 01:03:31,310 Искам да кажа, че ще бъде в него. 1449 01:03:31,310 --> 01:03:32,109 >> -You'll Бъде в него? 1450 01:03:32,109 --> 01:03:32,608 -Да! 1451 01:03:32,608 --> 01:03:34,903 Хората винаги са красноречиви ми, че съм герой. 1452 01:03:34,903 --> 01:03:36,029 >> -Е, Искам да кажа, че е вярно. 1453 01:03:36,029 --> 01:03:37,445 Но кой друг ще бъде в него? 1454 01:03:37,445 --> 01:03:38,660 Тя не може да бъде само вас. 1455 01:03:38,660 --> 01:03:47,240 >> -Ти Ще бъде в него, Gavin, Дан, Дан, Колтън, Z'Myla, Alysse, Дъг, 1456 01:03:47,240 --> 01:03:51,120 Дейвид, всички. 1457 01:03:51,120 --> 01:03:53,630 >> -Значи Това е за нищо, и всеки има в него? 1458 01:03:53,630 --> 01:03:54,530 >> -Absolutely Нищо. 1459 01:03:54,530 --> 01:03:58,730 1460 01:03:58,730 --> 01:04:00,580 >> -Това е нелепо.