[МУЗЫКА ИГРАЕТ] -Хорошо! -Это CS50. -Это CS50. -Это CS50. [MUSIC - IGGY AZALEA, "FANCY"] -Моя Любимое воспоминание из CS50 было, когда я пошел в Puzzle День. -Наверное Только время уходит на домашние задания с моими друзьями и людьми, которые пустошь в конечном итоге стать мои blockmates. -Мой Лучшая память от CS50 является Хакатон. Исследованы CS50 Хакатон. -Hackathon. -Hackathon. -Hackathon. Исследованы Хакатон Роб Боуден. Просто все о нем. [MUSIC - IGGY AZALEA, "FANCY"] -Моя Любимое воспоминание, когда я был на этап, и я играл престижную роль из узла [? в Linked?] [? Список. ?] -Когда Все мы получили свободное пространство Dropbox и Давид был как, смотрите под свои места. И это было, места для всех! [MUSIC - IGGY AZALEA, "FANCY"] -Мой Совет для любого входящий студент будет в том, чтобы действительно работать на P-комплекты с друзьями. -Офисная Часов очень много ваш друг. -Сделать Большую часть вашего опыта и встретить столько людей, сколько вы можете. -Не Бойтесь попросить о помощи. -Start Р-наборы в начале недели. Я думаю, самое важное заключается в воспользоваться всеми ресурсами что CS50 имеет. -Go В рабочее время в начале недели. -Определенно Смотреть шорты. -Не Откладывать на ваших Р-множеств. -Убедитесь Вы найдете замечательную группу людей для работы на Р-множеств с. Вы можете иметь много веселья и получить работу вместе. -Не Бояться заставлять себя. Перейти на хакерской издания иногда. -Write Вещи на бумаге до Вы никогда не коснуться вашего компьютера. -CS50 Действительно здорово на предоставление способов получить помощь. -Мой Один совет является сон. Кто-нибудь сказал, что? Сон, наверняка. Это легко не делать, но Вы должны сделать это, я думаю. Я бы сказать действительно быть морально готовы потому что вы будете любить его. [MUSIC - IGGY AZALEA, "FANCY"] -Это CS50. -Это CS50. -Это CS50. [MUSIC - IGGY AZALEA, "FANCY"] -Это CS50. [Аплодисменты] David J. МАЛАН: Так что это CS50 и это конец недели 0. И это было лишь некоторые персонала CS50 в которые Вас ждут не только в разделах и офисных часов, но, Также, в эти выходные на CS50 Puzzle День. Что, опять же, не все о программировании. Действительно, ожидается, что вас не придется программировать ничего, а решать проблемы, используя остроумие и друзья рядом с Вами. Мы присоединятся некоторые из наших друзей в Facebook-- если вы зарегистрируйтесь здесь-- которые в течение последних нескольких лет, есть на самом деле писал эти проблемы с нами. И так, они будут теми, в конечном счете, работает Puzzle День. И так, вы будете быть оспорены именно с тех вещей, и проблемы, которые люди в Facebook нравится думать о. Так что завтра. Зарегистрироваться на cs50.harvard.edu/register. Теперь слово на пару персонала в частности. Это вот Ансель Дафф, кто на самом деле один из соавторов этих бинарных лампочки, которые мы видели в среду, в дополнение к CS50 собственного Дэн Брэдли. Ансель Дафф был также бывший первокурсник advisee мой 3 года назад и он на самом деле даже построил этот аналой. Он ушел на делать инженерные науки и многое другое. Теперь его фото здесь на самом деле Ансель 3 года назад на CS50 Hackathon когда он заимствовал один из наших воздушные шары, сунул ее в своем ноутбуке, и, в течение следующих 12 некоторые странным часов, сосредоточены на своем последнем проекте, Перерывы только открыть сумки из конфет на Hackathon. Но он пошел на последнее в провести этим летом с нами, с CS50 для своих сотрудников, и Теперь студенты в этом семестре, имеет свой собственный 3D-принтер. И в двух словах 3D-принтеры является устройство, которое выглядит вполне как это. Вы заполняете его с пластиковой катушке который переплавку устройством и вы строите вещи буквально из ничего. Многое, как струйный принтер, вы начинаете выплевывая маленькие точки пластика что образуют вместе с образуют целые объекты. И так Ansel например, ранее этим летом, имеет iPhone 5 и решил, что он действительно хотел чтобы поддержать его на своем столе. Но он не хотел, чтобы пойти и купить то из магазина Apple, и т.п., так что он сел и начал рисовать то. Он сделал несколько измерений о том, как толстый и насколько широк его iPhone был, он нарисовал эту картинку здесь, он решил, что хочет чтобы иметь наклон 75 градусов как это было, глядя на ему на его столе там. Затем он повернулся это, используя Программное обеспечение, в модели 3D CAD что выглядел немного как то так. А потом он продолжил, в конечном счете, на самом деле его создания. Так ведь, если кто из вас здесь, может быть, подряд, что я могу бросить в, есть an-- там у нас есть люди с мобильный 5, и здесь у нас есть еще два. Теперь, чтобы не отстать, CS50 собственного Cheng Gong также изложены этим летом построить довольно много вещей и, на самом деле, по причинам, которые до сих пор неясно, был медленно печать армию слонов с артикуляцией оружия и стволов. Пару, которая на самом деле здесь, если кто бы сейчас like-- слона. Ладно,. но то, что Чэн также сделал для нас он очень любезно настроить камеру потому тот слон, верите или нет, занимает около двух с полтора часа, чтобы распечатать. Даже стенд iPhone взял час-полтора, чтобы распечатать. И то, что Чэн пошел вперед и сделал был создан хороший фотоаппарат перед этой 3D-принтер, снят в течение часа полтора как дизайн Ансель напечатано. Мы обложил некоторые сексуальные музыка к нему для того, чтобы дать вам это смотреть на то, как работает 3D печать. И хотя это на самом деле в пластик, понимать, что если это область интерес к вам в учебе, Есть люди, среди им Дженнифер Льюис здесь в Школе Инженерная, кто на самом деле работает над 3D-печати из пластика объекты. Но даже, более, биологические материалы для решения физиологические проблемы для человека. Но здесь немного то от CS50. [ГРОМКО механических шумов] David J. МАЛАН: Это не звучит Ничего подобного в действительности, но это гораздо лучше, чтобы посмотреть его на этой скорости, и этот звук. Теперь, в среду, как же мы сначала получить здесь? Мы начали говорить о компьютере наука и мы спросили, что это было. И это о ряде вещей, и есть очень много различных направлений в котором вы можете возглавить после курса как CS50. В самом деле, если вы подобрали один из тех неофициальных гидов в CS снаружи, буклет, что мы ввели, являетесь ли Вы думаю взять только CS50, или, может быть, делает вторичный, или, может быть, даже концентрируясь в CS, не пролистывать, что. И вы увидите диаграмму к концу, что показывает вам много различных направлений в CS, что вы можете уйти в. Но на сегодняшний день, мы сосредоточимся, опять же, на действительно одним из основных видом, возможно, где у вас есть Входы в проблемах, у вас есть выходы из проблемы, и у вас есть алгоритмы с помощью которых можно создать эти выходы из этих входов. И одним из таких примеров, была Конечно, это телефонный справочник здесь. И мы использовали в качестве примера для перехода через алгоритм, который был правильным. А потом еще один был правильно, но немного быстрее. А потом еще один, который был немного более драматичным, но принципиально быстрее. Право, это телефонная книга, мы утверждал, было около 1000 страниц. А сколько раз у меня не было рвать телефонную книгу в половине найти человека, как Майк Смит, максимально, в 1000 страниц книги? Так, 10 плюс-минус. И поэтому, как только я разорвал эту вещь в половина, или просто, более зрело, делится пополам, это только 10 страниц из 1000. И если экстраполировать, немного нереально для телефонной книги, но если это телефонная книга была некоторая 4 млрд страниц в нем, так полностью громоздким физически, сколько раз вы разделить 4000000000 страница телефонной книги в половине? Так что это на самом деле 32, плюс-минус. И так 32 раз только, из из 4 млрд страниц, можно вы найдете человека, как Майк Смит. И это эффективность. Это хороший алгоритм, осмелюсь сказать. Но потом мы переехали от попытаться формализовать его. И я предложил этот псевдокод код. ПСЕВДОКОД код нет ничего формального. Это не то, что вы запомните. Это просто то, что вы выразить довольно интуитивно использовании английского языка, или любой язык действительно, что передает свои идеи лаконично. Но то, что ключ о псевдокод код является то, что вам попытаться предвидеть все возможные случаи, которые могут произойти. И в самом деле, в этом псевдокоде Код, там были действительно три случая каждый раз, когда я разделил телефонную книгу. Mike может быть слева. Майк может быть справа. Или он может быть прямо на странице я на. Или четвертый угол случай, так сказать. Плохой сценарий может быть один which-- что происходит? Майк просто не в телефонная книга на всех. И когда программы crash-- когда Mac и программное обеспечение ПК, что вы, ребята, бежать на компьютерах иногда зависает или неожиданно завершает работу, , что в основном означает, что некоторые программист, некоторые человеческие, как вы в ближайшее время, просто облажался и ошиблись. Может быть, не предполагали, что, возможно, есть нет Майк Смит в телефонной книге. И если вы на самом деле не написать Код для обработки таких ситуаций, как правило, непредсказуемы вещи могут случиться. Ваша машина может замерзнуть. Он может перезагрузиться. Программа может бросить. И так все это глупости, что вы можете столкнулись в ваш фактический жизнь только с помощью компьютеров, больше будет просто объяснен этой интуиции и это понимание того, что на самом деле происходит под капотом. Теперь давайте попробуем взглянуть в более общей задачи. Вместо того, чтобы посещаемость в таком месте, как это, что было бы довольно медленно сделать один, два, три, четыре. Или, может быть два, четыре, шесть, восемь. Давайте сосредоточимся, вместо этого, на как мы могли бы формализовать Алгоритм процесса по которые мы могли бы принять участие. И на этом пути, давайте начнем применять некоторые спецификации что мы используем сегодня, когда мы на самом деле начать писать на языке. Поэтому я даю вам сейчас, четыре минуты видео что мы ставим вместе с нашими друзьями от TED, организации. Причем мы поставили сценарий и они принесли свои аниматоры нести, и фактически создал 2D анимация о том, что алгоритм. Если бы мы могли приглушить свет. [МУЗЫКА ИГРАЕТ] Рассказчик: Что алгоритм? В информатике, Алгоритм представляет собой набор инструкций решения некоторые проблемы шаг за шагом. Как правило, алгоритмы выполняемые компьютерами, но мы, люди, должны алгоритмов, а также. Например, как будет Вы идете о подсчете количество людей в комнате? Ну, если вы похожи на меня, вы, вероятно, указать на каждого человека по одному и подсчитывать от нуля. Один, два, три, четыре, и так далее. Ну, это алгоритм. На самом деле, давайте попробуем выразить это в Немного более формально в псевдокода кода. Английский-подобный синтаксис, что напоминает язык программирования. Пусть п равна 0. Для каждого человека в комнате, положить п равна н плюс 1. Как интерпретировать псевдокод? Ну одна линия заявляет, так сказать, переменную называется п и инициализирует его значение в 0 этого просто означает, что в начиная нашего алгоритма, вещь, с которой мы Подсчет имеет значение 0. Ведь раньше мы начинаем считать мы ничего не учитываются еще. Вызов этой переменной н лишь соглашение. Я мог бы назвать его чем угодно. Теперь выстраиваются две demarks начало цикла, последовательность шагов, которые будут повторить некоторое количество раз. Таким образом, в нашем примере, шаг мы взятие рассчитывает людей в комнате. Под линии два является линия три описывающая как именно мы пойдем о подсчете. Углубление следует, что это линия три, что будет повторять. Так что с код псевдокод поговорка, что после запуска на 0 для каждого человека в Номер, который мы будем увеличивать п на 1 Теперь этот алгоритм правильно? Ну давайте стучать по нему немного. Значит ли это работать, если есть два человека в комнате? Давайте посмотрим. В соответствии одном мы инициализируем н 0. Для каждого из этих двух людей, мы затем увеличить п на 1. Таким образом, в первой поездке через цикл, мы обновляем п от 0 до 1. Во второй поездке через которые же цикл, мы обновляем п от 1 до 2. И так, по этой алгоритма конца, N 2, которые В самом деле соответствует номеру людей в комнате. Пока все идет хорошо. Как насчет углового случае, хотя? Предположим, что есть 0 человек в room-- кроме меня, кто делать разметку. В соответствии одном, мы снова инициализировать п до 0. На этот раз, хотя, линия три не выполняет вообще так как это не человек в комнате. И так н остается 0, которая действительно соответствует количество людей в комнате. Довольно просто, не так ли? Но и считать людей, по одному за раз довольно неэффективно, тоже нет? Конечно, мы можем сделать лучше. Почему бы не рассчитывать двух человек за один раз, вместо того чтобы считать один, два, три, четыре, пять, шесть, семь, восемь, и так далее. Почему бы не рассчитывать два, четыре, шесть, восемь, и так далее? Это даже звучит быстрее. И это, безусловно, является. Давайте выразить эту оптимизацию в псевдокода кода. Пусть п равна 0. Для каждой пары людей в комната, комплект н равна п плюс 2. Довольно простое изменение, не так ли? Вместо того, чтобы рассчитывать людям по одному, мы вместо рассчитывать им два за один раз. Этот алгоритм, таким образом, вдвое быстрее, чем в прошлом. Но это правильно? Давайте посмотрим. Значит ли это работать, если есть два человека в комнате? В соответствии одном, мы инициализируем н 0. По этой одной пары людей, мы затем увеличить п на 2. И так этим алгоритма Конец н 2, которые В самом деле соответствует номеру людей в комнате. Предположим теперь, что есть ноль человек в комнате. В соответствии одном мы инициализируем н 0. Как и прежде, линия три не выполняет все так как нет никаких пар людей в комнате, и так н остается 0. Какие на самом деле соответствует количество людей в комнате. Но что, если есть три человека в комнате? Как это алгоритм проезд? Давайте посмотрим, в соответствии одном, мы инициализируем н 0. Для пары тех людей, мы затем увеличить п на 2. Но что потом? Существует не еще один полный пара людей в комнате, не так линия два больше не применяется. И так до конца этого алгоритма, н-прежнему 2, который не является правильным. Действительно этот алгоритм, как говорят быть ошибка, поскольку она имеет ошибку. Давайте возмещение с некоторыми Новый код псевдокод. Пусть п равна 0. Для каждой пары людей в комната, комплект N равна п плюс 2. Если один человек остается непарный, установить N равна н плюс 1. Для решения этой конкретной проблемы, мы введены в четвертой строке состояния, иначе известный как ветка, что выполняется только если есть один человек, которого мы не мог соединить с другим. И вот теперь, будь есть одна или три, или любое нечетное число людей в комнате, Теперь этот алгоритм будет считать их. Можем ли мы сделать еще лучше? Ну, мы могли рассчитывать в тройках, или четверок, или даже пятерки и десятки, но кроме того, она собирается получить немного трудно указать. В конце дня, будь то выполняемые компьютерами или человека, алгоритмы просто набор инструкций с которой для решения проблем. Они были только три. Какие проблемы вы бы решить с помощью алгоритма? David J. МАЛАН: Так сознательно, очень простая программа, очень простой алгоритм, для достижения чего-то очень просто, считая количество людей в комнате. Но давайте дразнить друг от друга некоторые из представителя имеет здесь, что на самом деле будет полезно даже тогда, когда реализовав большинство комплекс программного обеспечения. Так, например, в этой первой линии, у нас есть, что мы называем переменную, и от алгебры, вы как правило, знакомы с использованием х и у и г иногда, и так далее. Но в программировании, переменные по-прежнему, в конце концов, очень похож на. Но это, возможно, проще думать переменной как только контейнер. И, в самом деле, это некоторое число битов реализованы несколько на жестком диске или в памяти компьютера, но об этом в будущем. Это просто контейнер. И если вы говорите, то как пусть п равна 0, ну вот как назвать этот бокал Чаша здесь п, просто произвольное имя, и не положить ничего в нем изначально. Так стоимости этого Чаша сейчас равна нулю. И, конечно, если вы воспринимаете в последующем линии, на самом деле увеличить некоторые линию Код, как и в этой третьей линии здесь, на 1, это, как говорят, что это текущее значение п, это 0, плюс 1, положить нечто подобное пинг-понг мяч в здесь. Теперь значение этого Переменная довольно просто 1. А вы могли бы очень быстро экстраполировать, но теперь это 2, теперь это 3, и так далее. Так вот все переменная. Это часть хранения, чтобы на самом деле хранить свои данные. Сейчас это для пинг-понга. Там это число. Но это может быть слова в словарь, как проверка орфографии Я ссылался на среду для один из прошлогодних проблемных наборов. Теперь еще один ключевой идеей, что же является довольно интуитивно я бы претендовать, является то, что петли. И цикл в процессе счетной всех это, конечно, делает то же самое вещь снова и again-- либо один в то время, или два за один раз. И вы можете выразить это на английском языке, или псевдокод код, в любом количестве способами, но с помощью этого предлог "для" является очень распространенным способом достижения этой цели. Для каждого человека в номере, сделать это. Снова и снова. А то, что это отступом, линия три, просто означает, что то, что вы должны делать это вещи, который с отступом чертой две сама по себе. Просто человек конвенции, но распространенный как мы увидим в реальной высшего языки программирования уровня. Теперь немного более интересным является когда вы получаете в угловом случае. Например, угол Дело было, когда было три человека, или пять, или семь, или любое нечетное число людей в комнате, потому что делать, что по двое тормозов в конце концов, потому что ваше движение скучать по человеку, либо в Самое начало или самый конец в зависимости от того, как вы это делаете. И так, теперь у меня есть этот филиал, или состояние, если один человек остается, затем пойти дальше и справиться с этим один Одинокий человек, который не получил в паре с кем-то еще. Так вот то, что мы назвали бы состояние, или филиал. Теперь псевдокод код в более общем может быть написано, чтобы решить любую ряд проблем. И то, что я думал, что мы сделать здесь воспользоваться моментом пригласить скажем CS50 сайт владельцем Роб Боуден на сцене к ним присоединится двух добровольцев, которые понятия не имеют, что ждет. Рука пошла вниз, как только я сказал, что. Как о вас заканчивается, давай до. А как насчет от дальше далеко, как о пути в спину. Задний ряд, давай с поднятыми руками. Хорошо, и как тебя зовут? АНИТА: Анита. David J. МАЛАН: Анита. Хорошо, приятно познакомиться. Позвольте мне познакомить вас с Робом Боуден. Это Анита. И как тебя зовут? Кирстен: Kiersten David J. МАЛАН: Кирстен. Кирстен, давай и встретить Роба Боуден и Анита. Приятно познакомиться. Кирстен: Приятно познакомиться. David J. МАЛАН: Хорошо, Роб. ROB BOWDEN: Приятно познакомиться. David J. МАЛАН: Анита. Кирстен: Привет Анита. David J. МАЛАН: И ваш несколько сотен одноклассники. Итак, теперь позвольте мне идти вперед и тянуть до всего лишь простым программы здесь на Mac OS, что мне позволишь фактически кратко некоторые заметки вниз. И если вы, ребята, хотите, чтобы каждый берет Положение на одном из этих школ там, позвольте мне идти вперед и начинает список из псевдокода кода, если вы будете. И то, что я хочу сделать здесь, в конечном счете, является тип для вас некоторые инструкции, что наши зрители на самом деле собирается читать для нас. Позвольте мне идти вперед и только изменить это нумерованного списка соответствует тому, что мы делали там. И то, что я собираюсь сделать с Ваша помощь, это написать программу в псевдокоде, с которой эти ребята собираются реализовать арахис масло и сэндвич желе. Так что это, возможно, кстати, чтобы показать то некоторые из вас возможно, видели в Интернете в течение только короткого раздражает момент. [МУЗЫКА BUCKEWHEAT BOYS, "АРАХИСОВОГО МАСЛА  ЖЕЛЕ ВРЕМЯ "] David J. МАЛАН: ОК. Это достаточно. Так вот в то время, у меня есть Пара Google Glasses, которые мы поместим на CS50 собственной Роб Боуден чтобы увидеть мир его глазами. И мы сделаем все возможное, в должности Производство на самом деле плести кадры из какой Роба видит Теперь, в этой реальной лекции видео с нашими двумя волонтеры рядом с ним. Так что я собираюсь делать является, я буду машинистка. Мы имеем цель здесь на самом деле написания программы , с которой, чтобы сделать, в конечном счете, арахисовое масло и бутерброд желе, но эти три будут себя вести как будто они являются компьютеры. И компьютеры, в конце дня, на самом деле довольно немые устройства. Они супер быстро, но они могут только сделать, буквально, что им говорят. Вы не можете просто сказать сделать арахис масло и сэндвич желе. Вы должны запрограммировать их делать это. Вы должны сказать им, с точностью, что делать, менее дела идут ужасно и, надеюсь, забавно наперекосяк. Так что с учетом сказанного, мы должны один вызов отъезда из зала за что следует активизировать один быть, если цель здесь является сделать арахис масло и сэндвич желе. Да? АУДИТОРИЯ: [неразборчиво] мешок хлеба. David J. МАЛАН: Откройте сумку хлеба. Так, если три конкурсантов будет хотите продолжить делать это буквально. Откройте сумку хлеба. [Аудитория смеется] David J. МАЛАН: Так что давайте работать над этим. Хорошо. Так шаг два, how-- давайте этот вопрос. Да, в передней части. АУДИТОРИЯ: [неразборчиво] хлеб. David J. МАЛАН: Что это? АУДИТОРИЯ: Снимите хлеб. David J. МАЛАН: Снимите хлеб. Аналогично лаконичным. Спасибо. [Аплодисменты] David J. МАЛАН: Вот это? Итак, шаг два собирается быть удалить хлеб. Хорошо, кто хочет написать нам более длительный срок? Кто еще? Еще немного [неразборчиво]. Нет, ничего сейчас. Да? АУДИТОРИЯ: Место два ломтики рядом друг с другом. David J. МАЛАН: Место два ломтики рядом друг с другом. [Аудитория смеется] David J. МАЛАН: Место два ломтики рядом друг с другом. Шаг четвертый. Да? АУДИТОРИЯ: Возьмите ваш рука и установить его слегка на верхней части крышки арахисового масла. [Аудитория смеется] АУДИТОРИЯ: [неразборчиво] рядом с арахисовым маслом. David J. МАЛАН: Что? Сказать, что снова. АУДИТОРИЯ: Отвинтите крышку и поставить это мягко рядом с арахисовым маслом. David J. МАЛАН: Положите его аккуратно рядом с арахисовым маслом. ОК, прогресс. Шаг пятый. Отлично. Да? Возьмите нож. David J. МАЛАН: Возьмите нож. ОК, шаг шесть. Да? АУДИТОРИЯ: Держите нож за рукоятку. David J. МАЛАН: Держите нож за ручку. Держите нож за рукоятку. Шаг седьмой. Да? АУДИТОРИЯ: [неразборчиво] нож в арахиса масло и как мало из [неразборчиво]. David J. МАЛАН: Положите нож в-- I слышал "положил нож в масло арахиса и занять всего, как можно ". Кстати, необходимо сначала удалить бумагу. Ладно, шаг девять. Шаг девятый. Шаг девятый. Мы на самом деле не сделал бутерброд еще. Да? АУДИТОРИЯ: Использование нож в масло арахиса, применить арахисовое масло на указанный хлеб. David J. МАЛАН: Использование нож в арахисовое масло, нанесите масло арахиса на сказал хлеб. [Аудитория смеется] David J. МАЛАН: Хорошо шаг 10. Шаг 10. Да? АУДИТОРИЯ: Вкус арахисовое масло для обеспечения качества. [Аудитория смеется] David J. МАЛАН: Шаг 11. Шаг 11. Шаг 11. Давай. Да? Прямо там. АУДИТОРИЯ: Тщательно подобрать желе. David J. МАЛАН: Тщательно подобрать желе. ОК, а потом еще рука была до. Сразу за вас. Да, в синий. АУДИТОРИЯ: Ладно, удалить Крышка из [неразборчиво], да, удалить крышку из желе. [Аудитория смеется] David J. МАЛАН: От желе. Ха-ха. [Аудитория смеется] David J. МАЛАН: И? АУДИТОРИЯ: И едва подметать любое [неразборчиво]. [Аудитория смеется] АУДИТОРИЯ: Конечно, прежде чем [неразборчиво], удалите бумагу из желе. David J. МАЛАН: Удалите бумагу из желе. Шаг 14. Мы почти на месте. Да? АУДИТОРИЯ: Обратить желе бутылка прежде чем все вываливается. David J. МАЛАН: Обратить желе Бутылка до желе выпадает. Шаг 15. АУДИТОРИЯ: Замените крышку. David J. МАЛАН: Замените крышку. Шаг 16. Да? АУДИТОРИЯ: [неразборчиво] David J. МАЛАН: Сказать, что снова. АУДИТОРИЯ: Возьмите крышку от вашего желе. David J. МАЛАН: Off вашей желе. Так really-- сожалению. Давай. Замените крышку. Положите cap-- Вы сказали, Снять крышку с желе. Почувствуйте, как мы находимся в немного петли. Шаг 17. Да? АУДИТОРИЯ: [неразборчиво] David J. МАЛАН: Сказать, что снова. АУДИТОРИЯ: [неразборчиво] David J. МАЛАН: Вернитесь к step-- АУДИТОРИЯ: [неразборчиво] David J. МАЛАН: Удалить колпачок с арахисовым маслом. Да? АУДИТОРИЯ: Оставьте все желе на хлеб. David J. МАЛАН: Оставьте все желе на хлеб. David J. МАЛАН: Мы почти на месте. Шаг 19. АУДИТОРИЯ: Удалите излишки желе. David J. МАЛАН: Ха-ха, желе. [Аплодисменты] David J. МАЛАН: Почему не мы-- еще один шаг, чтобы взять этот дом. Еще один шаг, а затем мы подают бутерброды. Да? АУДИТОРИЯ: [неразборчиво] David J. МАЛАН: В то время как любой бутерброд remains-- давай отступ это-- съесть. [Смех] David J. МАЛАН: Хорошо, спасибо Вам наших волонтеров здесь. [Аплодисменты} David J. МАЛАН: У нас есть некоторые интересные прощание подарки для каждого из вас. Ваш собственный арахисовое масло, желе, и хлеб, чтобы принести домой. Спасибо. Кирстен: Спасибо. David J. МАЛАН: [неразборчиво] приветствую. [Аплодисменты] David J. МАЛАН: Так, это, Конечно, смешно пример. Верно? Но это своего рода выявить, как мы люди просто взять ясность как должное. И тот факт, что я был разговаривает с другим человеком, он или она просто знает, что вы имеете в виду. Компьютеры не собираемся знать, что вы имеете в виду, даже при использовании в качестве мы собираемся сделать сегодня, программирование то в пустом, перетащить и падение, язык паззл стиль. Даже предназначен для молодых дети, у вас есть быть настолько явным и так буквально с что вы хотите, чтобы ваша программа сделать. Теперь, в конечном счете, мы будет программированию не в псевдокода кода, Английский как синтаксис, но код или, более правильно, исходный код. Исходный код просто причудливый способ для описания кода вы на самом деле написать с клавиатурой, это не на английском языке как таковой. Это в C или Java или C ++ или что-то так, как мы скоро увидим. И в самом деле, просто чтобы напугать Некоторые из вас, на первый взгляд, это программа, написанная на языке называется C. Но в не-напугать некоторых из вас, Вы будете полностью понять, что происходит давай в следующий понедельник, когда его приходит-то вроде этого. Честно говоря, это старый язык. Это довольно тайной, но это представитель из большого количества языков в эти дни, что есть много скобок и кудрявых подтяжки и кавычки и точки с запятой. И многое из этого синтаксический материал, который не вообще интеллектуально интересным. В самом деле, это полное отвлечение от очень простых идей что смотрят нам в глаза. Эта программа, как вы могли только догадываться, печатает на экран компьютера чьей- слова "Привет запятая мир." Вот и все. Итак, ясно, что есть много материала, что это получать в пути некоторые очевидность есть, но это будет очень быстро проскользнуть далеко и быть полностью интуитивным. В самом деле, то, что мы собираемся сделать сегодня перегонять это довольно сложный ищу программу, которая снова придешь быстро понять, но в то гораздо проще. Давайте просто скажем, что мы имеем в виду. Давайте нарисуем картину того, что мы имеем в виду, путем этих головоломки здесь. Так что это программирование язык известен как нуля. Она была разработана Массачусетского технологического института Media Lab. И то, что вы увидите в проблеме установить нулю, который будет выпущен позже сегодня вечером, мы будем иметь вы идете в этот Ссылка здесь scratch.mit.edu. И у них есть веб Интерфейс на основе, через который вы будете писать первую программу. Или тех из вас, с до опыт, ваш второй программы, но в среде, это вероятно, немного знакомы, и что будет толкать вас, чтобы создать нечто с помощью этого очень визуальную среду. Теперь, то, что я собираюсь сделать здесь это открыть саму программу. Она существует не только в качестве веб-браузера, но и в виде загружаемого программы так что вы можете использовать его если у вас нет доступа в Интернет. И я собираюсь сделать это здесь, в Сандерс, просто в случае Wi-Fi не делает сотрудничать супер хорошо. И то, что я собираюсь сделать, это точка из нескольких особенностей этой программы. Так, чтобы было ясно, у меня есть только дважды щелкнуть значок на рабочем столе, или, что эквивалентно пошел scratch.mit.edu, и это подъехал это окно. Это среда программирования. Это часть программного обеспечения, некоторые из наших друзей в Массачусетском технологическом институте писал, что давай к нам и вы написать программы на языке называется нуля. Теперь это случается, кошка, которая также называется царапинам и это его мир, в котором он живет. Это этап, так сказать, что прямоугольник в верхнем левом углу. И он не должен выглядеть, как кошка. Вы можете заставить его выглядеть вроде ничего и вас может иметь много таких спрайтов, или символов, в программе. Между тем, здесь на крайнем Право, это большой чистый лист. И вот тут, в момент, мы собираемся для начала программирования с помощью перетаскивания Эти графические головоломки штук, которые являются правильными здесь в середине. И есть намного больше из них, чем мы потратим время на здесь в классе потому что вы найдете, что они все довольно интуитивно. Опять же, это разработано, для детей, но мы использовать его, чтобы дразнить друг от друга некоторые из тех, Основные идеи переменных, циклы, условия, и, в ближайшее время, вещи как функций и событий и нити и другие модные вещи, которые мы добраться до скором времени на самом деле создать то с нуля. Каламбур. Теперь, что я собираюсь сделать здесь нажмите на не движение, но контроль. И это всего лишь категоризация здесь-- и я вижу другое Цвет набор блоков. Но обратите внимание, несколько знакомых слов. "Если" и "еще, если" и "повтор". И вы можете догадаться вот напоминает филиала, или условия мы видели, и даже разновидностей циклов. Поэтому у нас есть подобные блоки здесь. Но самое интересное один этот здесь. При этом зеленый флаг щелчке это, для тех, с предварительного программирования опыт, эквивалентно к основной функции. Но для тех, кто незнаком, это паззл что будет удар начать всю нашу программу. Это буквально означает, когда я иду в этот Программа, и нажмите зеленую flag-- которые вы можете увидеть здесь, в верхнем левом углу пользовательского интерфейса, так увидеть зеленый флаг рядом с красным знаком стопа? Когда я нажимаю, что, мой Программа будет работать. Теперь, я собираюсь сделать то супер просто с нуля. Я собираюсь идти вперед и перейти на панель выглядит здесь, где у меня есть куча фиолетовые головоломки, и я собираюсь идти вперед и делать то супер просто, как, скажем. И then-- уведомление это Текст в белом поле является editable-- я собираюсь сказать, "Привет, мир", как мы сделал в этой текстовой версия мгновение назад. И теперь, если я пойду и нажмите эту кнопку зеленый флаг, я теперь запрограммированы. Это не особенно интересная программа, но я сделал компьютер-то делать. Я начал программу, и она сделал то, что я сказал это сделать. Теперь, я могу продолжать перетащить все больше и больше из этих частей головоломки и они собираются блокироваться, но давайте пощечину некоторую терминологию здесь что мы увидим повторяющихся на протяжении всего курса, и действительно в течение информатике и программирования в целом. Это "сказать" блок, в фиолетовый, давайте просто начать называть заявление. Это как констатация факта. Сделайте это. Таким образом, это категория инструкции, которые вам может кормить компьютер как часть программы или алгоритма. И чтобы было ясно, вы, вероятно, само собой разумеющимся что у вас есть программы на компьютере. И они вроде алгоритмов, но Программа действительно куча алгоритмов что некоторые люди писали. Они упакованы его и они продали его, чтобы вы, или они размещены на веб-сайте для загрузки. Так, программа просто целая куча нулей и единиц что, так или иначе, люди создали. И эти модели нулей и те представляют вещи, в итоге, как "сказать привет мир" или "игры эта музыка "или" это видео " или "отправить письмо." Но мы еще вернемся в способ более подробно, что Программа, когда вы, сами, записать их. Вот еще один statement-- "Подождите одну секунду." Я не использовал этого, но если я хочу моя программа, чтобы приостановить на мгновение что-то делать, я могу сказать его, сделать это. Подождите одну секунду. Теперь еще один может быть "воспроизведения звука." Таким образом, это является уникальным для нуля, имеет возможность воспроизведения звуков. Так, заявление я мог бы использование, здесь, "играть звук." Между тем, логическое выражение, так что это любитель слово имени всего парнем по имени г-н Bool, и это все о вопросе. Правда или false-- является мыши вниз? Логическое выражение просто некоторое выражение на английском языке что является истинным или ложным. Включен или выключен. Либо один или ноль. Вы можете думать об этом В любом числе путей, но это либо истинно, либо это ложное, в конечном счете,. Так "мыши вниз знак вопроса," что бы это логическое выражение. И вы можете думать о других, возможно. Например, "является влево число меньше правого числа? " Это тоже будет логическое выражение. "Менее" это логическое выражение. Это один, тоже "трогательно указатель мыши." Я не уверен, почему они назвал его указатель мыши. Это просто означает,, является курсор, является стрелка на экране, касаясь кошку, например. Или некоторые другие аспекты экране. И это вопрос, опять же, и что обозначает логическое выражение. То, что вы, возможно, хотите использовать в состоянии. Так мы придем к тому, что через минуту. Вы можете "и" вещи вместе. Итак, если вы хотите проверить, если это в случае И это так, Вы можете использовать "и" блок, как это. И вот, что состояние. Обратите внимание на форму маленького открытия в верхней части этой желтой паззл, это напоминает форму что мы только что видели несколько минут назад. Каждый из этих логических выражений есть эти заостренными краями слева и справа. И это потому, что MIT люди решили что визуально транспортировки форм, Вы можете отчасти помочь людям, студенты, так и детей, чтобы отчасти восполнить пробелы в буквальном смысле. Теперь, когда puzzle-- что Открытие очень маленький, и, как мы увидим в программе, в пустом, он будет расти, чтобы соответствовать. Он будет поддерживать свою форму, в конечном счете,. Так состояние давайте вы решите "Я должен делать то или нет?" Логическое выражение является фактическим вопрос вы используете, чтобы решить, я иду, чтобы влево или мне пойти направо когда я сталкиваюсь с этим так называемая развилка? Вы можете иметь две ветви. Если что-то верно, сделать это, еще идти по этому пути, или вы не можете просто сделать ничего все, как этот блок подразумеваемых. Аналогично, мы можем гнездо эти вещи. Так что если вы хотите, чтобы утроить вилку в дорога, либо сделать это или то или это, вы можете просто гнездо эти вещи вместе. И он начинает получать немного некрасиво, в конце концов, наверняка, но логика все та же. Вы можете буквально читать это сверху вниз и это говорит, что это означает: если это Правда, сделать это, иначе, если в другом месте. Цикл не получить проще нуля. Навсегда сделать следующее. Теперь вы можете не думаю, что вы могут многое сделать, потому что нет много места между верхней и Дно этой открытия кусок головоломки. Но вы увидите царапинам собирается расти, чтобы соответствовать как много частей головоломки как вы хотите, чтобы втиснуть туда. Другой цикл может быть выражены с повторами. Если вы заранее знаете, "я хочу делать то, в 10 раз, " вы можете просто сказать царапинам сделать что-то в 10 раз. И, между тем, мы можем иметь переменные. Так вот произвольным, это оранжевый в этом случае, и это ураганный тур. Опять же, вы найдете это очень доступный Как только вы начинаете указывая и нажав кнопку. Я назвал свой переменную п, но я могли бы назвал его, что я хочу, и я устанавливаю его здесь, в Этот пример произвольно, к нулю. Теперь видя такую ​​программу, как привет Мир не все, что убедительным, так что давайте на самом деле открыть нечто что бывший студент сделал. Позвольте мне идти вперед и открыть, например, этот здесь, за что я хотел бы иметь добровольца. Ладно, как about-- пойдем дальше. Да, давай до. Как тебя зовут? Эбби: Эбби. David J. МАЛАН: Эбби, давай до. Так вы никогда не играли эта игра раньше? Эбби: Нет David J. МАЛАН: Хорошо. Дэвид, приятно познакомиться. Приходите на более. И каково ваше программирование фона, если таковые имеются. Эбби: Я узнал некоторые C ++. David J. МАЛАН: Вы узнали некоторые C ++. И то, что ваша игра играть фон? Эбби: Не много. David J. МАЛАН: ОК, так что мы будем считать, что. Так вот, как игра будет работать. Я собираюсь идти вперед и нажмите зеленый флаг, который является здесь в правом верхнем углу. Теперь ваш предшественник в классе дал вам некоторые инструкции здесь. И через минуту, его говорит "пространство, чтобы начать." Так что вперед и ударил пробел. Компьютерная игра: Пикачу. David J. МАЛАН: И цель заключается в поймать пищу, как показано там на левой стороне. И [неразборчиво] [ИГРА музыка, играющая] David J. МАЛАН: Ой, ну, спасибо за игру. Мы имеем здесь немного прощание подарок для вас. У нас есть CS50 мячик, если вы хотите выбрать. Ладно, хорошо, чтобы встретиться с вами. Спасибо, что пришли и вызов. Так у нас больше стресса шары, так давайте сделаем еще один пример, чтобы мотивировать. Доброволец? Ладно, а как насчет прямо здесь, перед. Как тебя зовут? ФИЛИПП: Филипп. David J. МАЛАН: Филипп. Поднимайтесь, Филлип. Так, Филипп будет вызов с другой игре что один из ваших предшественников писал часть проблемы установите нулю, называется трудная игра Айви. И мы увидим в просто момент то, что подразумевается под этим. Филипп, приятно познакомиться. Каково ваше прошлое? ФИЛИПП: урон много кодирования. Урон немного игр, тоже. David J. МАЛАН: ОК. Получил много игр, слишком. А вы играли в эту игру раньше? ФИЛИПП: Нет David J. МАЛАН: Все Хорошо, так вот мы идем. Я собираюсь идти вперед и нажмите зеленый флаг. [ИГРА МУЗЫКА] [МУЗЫКА MC HAMMER, "U CAN Не прикасайтесь к этому"] ФИЛИПП: [неразборчиво] David J. МАЛАН: [неразборчиво] ФИЛИПП: [неразборчиво] [Смеется] [МУЗЫКА MC HAMMER, "U CAN Не прикасайтесь к этому"] David J. МАЛАН: [неразборчиво] Плуг через него. ФИЛИПП: [неразборчиво] David J. МАЛАН: Идем дальше. [МУЗЫКА MC HAMMER, "U CAN Не прикасайтесь к этому"] David J. МАЛАН: Хорошо. Поздравляю. [Аплодисменты] David J. МАЛАН: Мы будем сообщение, что на сайте позже, таким образом что вы можете откладывать с ним также. Princeton приходит следующий, после этого. А теперь давайте на самом деле приступить начинать с нуля, так сказать, и на самом деле не построить, пока мы можем дразнить друг от друга некоторые из этих идей и получить к чему даже более сложным к концу. Я собираюсь пойти сюда, и я собираюсь идти вперед и создать новый файл. Итак, еще раз, множество проблем будет ходить Вы через некоторые из этих шагов. Но, все, что я делал, было идти в меню Файл и I сказал "новый", так как Microsoft Слово, или любая программа, как, что. И давайте идти вперед now-- и мы реализованы "Привет, мир" минуту назад, но давайте попробуем немного симпатичнее. Я пойду до событий. И я собираюсь сделать ", когда зеленый флаг нажал ". А потом я собираюсь использовать, скажем так, филиал. Так что я собираюсь использовать "если" состояние. И обратите внимание, как, как только я получаю близко к нему, он хочет, чтобы притягиваться друг к другу. Так я отпустил и она не встанет вместе. И теперь я могу делать что-то интересное. Если я прокрутки здесь, я собираюсь чтобы увидеть целую кучу блоков. Если я иду в "данные" - позвольте мне масштаба в-- есть нечто переменных. Если я иду в "движении", вы можете по-видимому, повернуть дело. Если я иду в "операторов" - о, это интересно, Я могу выбрать случайное число. Итак, позвольте мне сделать что-то с только некоторая вероятность, только потому, что. Я собираюсь идти вперед и перетащить этот паззл, в том, что меньше, чем блок, так что это просто "Это число меньше, чем этот?" Но я не хочу жесткого код ряд потому что довольно бессмысленно. Так что я собираюсь тащить этот кусок здесь, и обратите внимание, как она не встанет в, и теперь позвольте мне идти вперед и сказать, "если число, который выбран случайно меньше шести, выполните следующие действия ". Теперь, почему менее шести? Какова вероятность того, это эффективно собираюсь дать мне, только интуитивно? Около 50%, не так ли? Если число, это думаю случайно между 1 и 10 меньше шести, ясно, что это один, два, три, четыре, пять или. И так, что собирается дать мне 50% вероятность того, что происходит? Ну давайте сделаем нечто подобное это, "играть звука мяу". И обратите внимание, опять же, паззл растет чтобы соответствовать, при условии, что соответствует формы. Вот что важно. Позвольте мне перейти к царапинам здесь и нажмите "игру". Ничего не происходит. Это ошибка? Нет, не нужно. Это может быть просто, что большее число было выбрано. Так давайте сделаем это снова. Ничего. [MEOW] David J. МАЛАН: Там это. [MEOW] David J. МАЛАН: Опять. Количество [Мяуканье] David J. МАЛАН: Так что если вы либо играл в игру, конечно, где вещи, что происходит случайно, как плохих парней идут или нет поступление на экране, или вещи падают или не падают, это только потому, что-то супер просто, как это происходит. Выберите случайное число, и если это меньше, чем некоторое значение, может быть, сделать это или, может быть, сделать это. Мы можем включить , что в состоянии. Давайте делать что-то другое. Позвольте мне бросить, что далеко. Вы можете избавиться от вещи по просто перетащив его влево и отпустить. Позвольте мне идти вперед и сделать навсегда блок и очень быстро сделать что-то раздражает. Позвольте мне идти вперед и говорят "играть звука мяу". Но я не хочу, чтобы это слишком раздражает, так что позвольте мне захватить этот блок, "Подождите одну секунду", и уведомление нет больше места для него. Но если вы идете достаточно близко, он хочет пойти туда. Так что я отпустила, и он будет расти, чтобы заполнить блок. Так что теперь, это петля. [Мяуканье] David J. МАЛАН: Я буквально делать это вечно. Снова и снова. То есть просто не естественное звучание. Позвольте мне идти вперед и изменить это чтобы не одной секунды, чтобы две секунды и нажмите Ввод. И, что приятно об Царапины что можно запрограммировать в интерактивном режиме. Внести изменения, может быть, нажмите Ввод Играть снова, и это будет просто продолжать идти. Ну, теперь, почему бы нам не сделать то немного симпатичнее? Вместо того, чтобы сделать все с нуля, позвольте мне идти вперед и открыть аванс сделал один, что я заранее запеченные, называется "Pet Cat." И мы разместим все эти файлы онлайн, и проблема установить нулевой скажет вам как получить доступ к их и открыть их. И заметьте, это довольно просто. Но заранее, я, кажется, схватил "навсегда" блок, так что я должен петлю. А потом у меня есть "если" состояние. У меня есть логическое выражение. Таким образом, в английском языке, просто взглянув на это, особенно если вы никогда не запрограммирован раньше, просто интуитивно, что это собирается делать, эту программу? [АУДИТОРИЯ БОЛТОВНЯ] David J. МАЛАН: Если вы гладите кошку, кот собирается мяу, не так ли? Потому что "навсегда сняв" будет указатель мыши касаясь кошку. Таким образом, чтобы было ясно, и я не говорил, это раньше, все эти головоломки штук и сценарий, что мы объединили их в, так сказать, сценарий является синонимом Программа, действительно, принадлежит к этой кошки. И причина is-- потому уведомление как это же кот здесь выделен, здесь вы можете создать Второй кошка или собака или действительно все, что вы хотите в графическом виде. Вы можете импортировать то от Photoshop, или тому подобное, и интегрировать то, если вы хочу сделать его в одном проекте. И то, что вы найдете, в конечном счете, это ты можно добавить скрипты, добавить головоломки штук, в отдельных символов. Таким образом, эти все принадлежат к это частности кошка. Так что теперь, если я идти вперед и играть эта программа, ничего не происходит. Но он работает. Программа в этом навсегда петли, вид ждут, что произойдет? [АУДИТОРИЯ БОЛТОВНЯ] David J. МАЛАН: Чтобы погладить кошку. Так что, если я двигаю мышь к him-- [Мяуканье] David J. МАЛАН: Так что теперь Я ласки кошку. Между тем, мы можем иметь двойную филиал. Позвольте мне идти вперед и открыть до не погладить кошку. Мы опубликуем это онлайн, а также. Это немного больше Комплекс, но не говоря вы можете догадаться, возможно, что произойдет. [Мяуканье] David J. МАЛАН: Кошка мяуканье, великий старый время. Но эта программа, конечно, называется "Не Домашнее животное Cat," так ясно, я хочу, чтобы погладить кошку. [ROARING] David J. МАЛАН: Не погладить кошку. Теперь давайте взглянем другой пример здесь. Этот будет называться "Привет, Привет, Привет," по причинам, что будет ясно, потому что как только я запускаю этот thing-- [SEAL лай] David J. МАЛАН: Очень легко написать раздражающих программ нуля. [SEAL лай] David J. МАЛАН: Теперь мы не будем в подробности со всеми из них, но обратите внимание, есть пару новых функций здесь. Там в переменной, называется "приглушается" а там куча условий. И сейчас, позвольте мне просто дразнить вас, сказав, что если этот парень становится слишком раздражает, Я могу ударить пробел и он останавливается. Потому что роль, которую играет Эти два сценария состоит в следующем. Один из них делает лай каждые несколько секунд. Другой просто ждет для меня ударить пробел. А если я ударил пробел, он собирается изменить состояние этой переменной, значение этой переменной, это, по-видимому называется "приглушается", я не звонил это то скучно как п, Я назвал это английское слово, "отключен". От 1 до 0 или от 0 до 1. От истинного на ложное или ложного на истинное. И таким образом, вы можете на самом деле видим сейчас, что вам может иметь два сценария, два программы, работающие одновременно, и оба из них может сидеть в цикле делать что-то. Жду человек делать что-то вроде удара пробел. [SEAL лай] David J. МАЛАН: А теперь он на своем пути снова. [SEAL лай] David J. МАЛАН: Так что еще может нам делать с этими примерами? Ну, давайте идти вперед и делать Пример с подсчет овец. Мы будем продолжать это вдоль линий здесь of-- давайте откроем пример овец. И обратите внимание, как и прежде, на этот раз, к счастью, немного менее раздражающим. После того, как я ударил играть здесь-- О нет, это раздражает. Он собирается бе с некоторой вероятностью. Давайте играть это снова. [SHEEP BLEETING] David J. МАЛАН: Разница лишь в том мы изменили костюм, так сказать, и мы вдвое и сказать что это реальное количество. Ну давайте идти вперед и сделать еще один шаг вперед. И позвольте мне дразнить вас с одна особенность здесь. Давайте пойдем дальше и открыть программа под названием темы. Так много, как вы можете иметь один спрайт, имея несколько сценариев, Вы можете иметь два спрайта, птица в кошка, каждый из которых имеет свой собственный сценарий. И каждый из них может работать одновременно. Если вы никогда не слышали Слово "многопоточность" компьютер "многопоточные" средства он может сделать несколько вещей сразу, и, действительно, так может царапинам. А теперь обратите внимание птица рода немой. Это просто делает вещи случайно, отражаясь от экрана. Очевидно, что кот был запрограммирован чтобы отчасти есть ищут возможности в доме в на птицу, потому что он всегда указывает на него. Пока, наконец, он ловит фактическое птицу. Поэтому я не буду останавливаться на деталях здесь, но вы можете рода разглядеть те же формы, некоторые "Если" условиях, некоторые переменные, возможно, некоторые петли, являются в конечном счете, делает то же самое. Теперь позвольте мне идти вперед и открыть до совсем другое, дразнить некоторые из вас, особенно тех, удобнее, что вы можете на самом деле делать с этим. Я собираюсь идти вперед и открыть кнопку здесь. И это супер простой на вид программы, но смотреть, что происходит когда я-- Смотрите, что происходит, когда я открываю эту версию него, здесь в браузере, scratch.mit.edu. И когда я нажимаю эту большую красную Кнопка, заметить, что происходит. Так что здесь происходит? Там на самом деле намного больше сложность происходит под капотом, хотя я реализовал это, или откровенно, Дэн Брэдли реализовал это так просто. Он предназначен настраиваемую рабочую головоломки кусок, известный как расширение к царапинам, он назвал его Переключить. А что Переключить делает он посылает сообщение по Интернету. И само это сообщение выглядит немного загадочно. Но это тоже, вы будете понять до конца термина. Сообщение он на самом деле отправки выглядит немного-то вроде этого. Это просто текст. Cryptic. Вы поймете это к тому времени, мы получаем проблема установить семь. Это просто отправив текстовое сообщение через Интернет к серверу. И, что сервер в конечном итоге говорить на эту лампочку, которая есть один из тех причудливых лампочек в нем, что, само по себе, говорит к Wi-Fi в сети здесь, где локальное устройство вниз здесь-- и, наконец, это на самом деле поворачивая, что свет и выключается. Но мы можем сделать больше интересные вещи еще. Обратите внимание, что Дан сделал для нас. Он сделал несколько спрайтов, каждый из который имеет скрипт ждет за клик. И если я нажимаю красный, он идет красный. Если я получаю синий, он идет голубовато. Зеленый, желтый, оранжевый. И все это происходит на собирается выход на Интернет, отступать здесь, чтобы лампочки, и выключается. И если вы можете верить it-- и это пожалуй, один из самых сложных нуля проекты кто имеет implemented-- он сделал это, справедливости ради, в день. И это было проблемой мы бросили вниз Дэну, когда мы увидели у двоичных луковицы, у нас есть царапина, как мы можем объединить их? И, действительно, это абсолютно то кто в этой комнате мог сделать по end-- семестра ли он Повторно реализовано двоичные луковицы с помощью тот же интерфейс, что было на нашем Ipad в среду. Так что теперь, если я на самом деле щелкните знак здесь, у нас есть один, два, три. Я могу ударить 16 и повернуть, что получилось на. 128, и так далее. Теперь, если что один имеет и взорван свой ум, вы могли бы сделать вещи гораздо более доступными, не касается любого оборудования, конечно. Всего вещи на самом экране. И, действительно, то, что большинство студентов в конечном итоге делает это своего рода игра, некоторые часть художественного творчества, или своего рода интерактивной анимации. И я скажу, один из наших избранные был этот. И я подумал, что если мы может тусклый свет, мы будем принимать взглянуть на этот финал Царапины проект в заключение. Но что вы будете должны иметь в виду, как Я могу дразнить тебя с одной последней детали, секционирования начнутся на следующей неделе. Часы работы начнутся на следующей неделе. Задача установить нулевой будут размещены CS50.harvard.edu позже сегодня. И вам будет встречено в проблемной установить нуля чтобы CS50 собственной Zamyla Чан, который направляет большую часть нашего пошаговые. Это встроенные видео в проблемных наборов что будет держать тебя за руку через много из начальной настройки и через многие из возможных проектных решений. Так что, если вы когда-нибудь, что эмоции когда поднимаете домашнее задание и интересно, где я начинаю? Она будет иметь, что ответ для вас. А теперь, окончательная программа от одного из ваших предшественников в ответ на вопрос "Что лиса сказать?" [МУЗЫКА YLVIS, "ЧТО FOX СКАЗАТЬ?] YLVIS (поет): Собака идет Гав. Кошка идет мяу. Птица идет твит и мышь идет писк. Корова идет мычание. Лягушка идет карканье. И слон идет гудок. Утки сказать шарлатан и рыба идти реветь. И печать идет ой-ой, но есть один звук, что никто не знает, Что же лиса сказать? И David J. МАЛАН: Вот именно для CS50. Мы будем видеть Вас в Логические день и в понедельник. [Аплодисменты] [МУЗЫКА YLVIS, "ЧТО лиса сказать?"] Рассказчик: И теперь глубоко мысли, по Daven Фарнэме. Сегодня я получил удар в лицу с телефонной книгой. Смешение, как я в дома смотреть онлайн.