[МУЗЫКА] [МУЗЫКА] ДЭВИД Маланом: Хорошо. Это CS50. [Музыка играет Tritonal, Cash Cash,  «Неприкасаемые»] [МУЗЫКА] ВЕДУЩИЙ 1. Я собираюсь Франция, и вы собираетесь тоже. [МУЗЫКА] ДЭВИД Маланом: Это CS50, Введение Гарвардского университета к интеллектуальной предприятия информатике и искусство program-- и Впервые в истории, Йельский университет, как хорошо. Действительно, будь ты здесь, в Кембридже или в Нью-Хейвене или Майами или Сент-Луисе или Амстердам или где-нибудь во всем мире принимая CS50, компьютерная наука E50, CS50X, CS50 А.П., мы все одно и то же. Добро пожаловать CS50. Что мы имеем-- [АПЛОДИСМЕНТЫ] [Смеется] [АПЛОДИСМЕНТЫ] Так что я сделал ошибку сам некоторые давно, когда я начал колледж. И я получил в колледже, и я решил честно говоря, придерживаться в течение моей зоны комфорта. Я в конечном итоге объявить концентрацию, или основным, правительства. Ant, что в основном зависит от меня будучи довольно хорошо знакомы с правительством или, по крайней мере, история или я действительно любил Конституционное право в средней школе. И поэтому, когда я попал сюда, я как бы из тяготел к вещам с которым я уже был знаком. Правильно? Не дай Бог я плохо в классе. Я, конечно, хотел бы остаться в моей зоны комфорта, и это не было до на втором курсе, что я, наконец, встал нерв, чтобы ступить в классе под названием CS50. И в тот момент, сделал я, наконец, понять, что, Боже мой, домашняя действительно может будь веселым. Действительно, я был одним из тех детей что по вечерам в пятницу, когда Р-НАБОРЫ будут освобождены, я хотел бы вернуться к себе в комнату и погружения в ночных Р-множеств. И для меня это было признаком что это было поле для меня. Но то, что было более важным было Дело в том, что я получил эту нерв исследовать воды незнакомых мне и выйти за пределы своей собственной зоны комфорта и честно говоря, я только был в состоянии сделать это на втором курсе, принимая этот класс годен / не годен. Действительно, это было в самый последний день, что Я, наконец, перешли и, наконец, заявил CS как мой концентрации, положить гов в этой точке позади меня. И поэтому мы не излагаются в этот курс, чтобы превратить всех вас в CS майоров или концентраторов, но а чтобы дать вам возможность мы надеемся выйти за пределы мира с которой вы находитесь в данный момент знакомы и вернуть из этого мира навыки и знания и здравый смысл что можно применить к вашему собственный мир, будь что в области гуманитарных, социальных наук, естественные науки, или за его пределами. Действительно, если вы чувствует себя немного бесстрашный о том, в этой комнате не говоря уже в этом классе, понимать, что если история каких-либо указаний, 72% из вас никогда не принимал курс CS раньше. Так что в любом случае не тот случай что студент, сидящий слева или вправо или перед или позади вас знает гораздо больше о CS или программирование, в частности, чем вы. Это на самом деле не так. И действительно, большая часть опорная конструкция что мы создали в этом Конечно за последние много лет был именно для этого reason-- чтобы обеспечить на рампе, что до сих пор выходит как строго и как высоко, как ever-- но наклон которой позволяют студентам менее комфортно и удобнее так, чтобы преуспеть независимо его или ее предварительного фоне. Действительно, что в конечном итоге вопросы в этом классе не так много, где вы в конечном итоге по отношению к вашему одноклассников но где вы в 12-й неделе в конечном итоге по отношению к себе нулевой неделе, которая где мы сегодня здесь. Действительно, и это может очень хорошо и, вероятно, будет выглядеть как греческий для многих из вас. Но будьте уверены, что это и многое другое будет полностью в пределах вашей понять в чуть-чуть времени. Но сегодня мы сосредоточимся на некоторых высших идей уровня чтобы дать вам вкус CS50 и информатика в смысле, что вы подписавшись на. И действительно, информатика может быть дистиллированной более просто как вычислительной thinking-- думать, как компьютер, если вы будете. И есть так много разных вещей Ингредиенты, которые входят в том, что, но давайте предложить только три на сегодняшний день. Если цель класса в конечном счете не научить вас программировать, не научить вас C или PHP или SQL или любое количество слов и сокращения в Описание курса, в а чтобы научить вас более эффективно решать проблемы и больше думать методично и более алгоритмически, так сказать. Давайте посмотрим, что именно это означает. Поэтому я хотел бы предложить, что мышление вычислительно сводится к решению проблем. Что нужно, чтобы решить проблему? Вы должны input-- как вход в problem-- Вам нужен выход, который это надеюсь решение, а затем вы должны процесса по для решения этой проблемы, которая мы называем algorithm-- набора инструкции по решению проблемы. некоторую Но сначала, давайте сосредоточимся на первом и последний из этих входов и выходов. Компьютеры все-таки, по-видимому только понимает нули и единицы. Но как это может быть возможно? Даже если вы не знакомы вовсе с тем, что под капотом, Вы, вероятно, по крайней мере, слышал, что компьютеры понимают binary-- всего нули и ones-- но как может Вы, возможно, сделать что-нибудь интересное? Ну, одна из тем класса собирается чтобы быть этим layering-- где сегодня, мы будем взять быстрый взгляд на самом низком уровне Детали, но с каждым прожитый день, где мы слоя или диссертации на верхней части этих деталей на самом деле решить высокий уровень Проблемы, представляющие интерес для нас. Так вот то, что мы могли бы назвать binary-- только с алфавитом из 0 и 1. Но мы, люди, в основном, знакомы с десятичной. Декабрь смысл 10. Би означает два. И так в десятичной Система, мы имеем 10 цифр в нашем disposal-- из Конечно, от нуля до девяти. Так что если вы посмотрите на ряде как это, большинство из вас интуитивно просто понять, что это 123. Там нет ничего действительно трудно об этом. Но почему это 123? Ну, если вы вспомните оценка school-- или по крайней мере как я узнал об этом вид world-- вас могли бы вспомнить, что мы лечили эти вещи в колонках или местах. Таким образом, мы имеем те место на правом. Десятки место в середине. Сотни разместить слева. И тогда как мы можем получить из этой схемы symbols-- 1 2 3-- к этому высокому уровню Идея, что мы знаем, как 123? Ну, это просто некоторые простые арифметические. Правильно? Один есть по существу означает дают нам 100 раз 1 плюс 10 раз 2 плюс 1 раз 3. И, конечно, если мы делаем вне математика есть, это 100 плюс 20 плюс 3-- иначе известный как 123. Так что если вы на та же страница, как это право Теперь и удобны с так называемое десятичной системе как человек, это на самом деле хорошо в пределах ваша сфера комфорта рассмотреть настоящее двоичную систему. Возьмите дикий guess-- это представляет, в мире компьютеров в binary-- каким номером? Нуль. Но почему это? Ну, получается, что столбцы или места here-- они не полномочия 10. 1, 10, 100, 1000, и так далее. Они вместо этого достаточно просто, степенями 2. Так, 1, 2, 4, 8, 16, 32, и так далее. И вот теперь мы, конечно, добраться до 0 здесь просто потому, что у нас есть 4 раза 0 плюс 2 раза 0 плюс 1 раз 0, что, конечно, дает нам 0. Но как я могу идти о представляющая число 1? Что картина нули и единицы для представления число, которое мы люди знают, как 1? 001. И 2? 010. А теперь картина начинает повторов. Теперь это 011. И опять, 0 четверок, одна 2, один 1. Так 2 плюс 1. Вот 3. И теперь, чтобы представлять 4, мы не просто изменить, что 0 до 1. Вы своего рода должны нести, если можно так выразиться, и число начать листать вокруг только как в десятичной мире. Так что это 4. Это 5. Это 6. Это 7. И поэтому мы рассчитывали так высоко, как 7. Теперь все мы просто должны это скорее bits-- больше нуля и один х. И действительно "биты", если у вас услышал эту term-- двоичный разряд. Бит, где, что исходит от. И поэтому, если мы хотим, чтобы представлять большие числа, нам нужно больше битов. Но давайте перейдем от слайдов Теперь к чему-то немного более реальным. Предположим, что мы хотим, чтобы на самом деле представляют эту вещь. Ну давайте теперь посмотрите в небольшом демонстрации. Так что это веб-приложение что один из CS50 собственной, Майкл G, собрать этим летом, чтобы помочь Поясним именно эту идею. И кто-то, как рисковать на сцену на глазах у всех своих одноклассников? Тут же в передней панели. Поднимайтесь. Вы должны быть удобными на камеру и в Интернете. О, прямо здесь. ОК. Мы ОК. Отлично. Поднимайтесь. Как вас зовут? Эмили Поднимайтесь. Так это Эмили. В каком году ты? Первокурсник. Эмили, приятно встретиться с вами. Дэвид. Отлично. Так на экране здесь, у нас есть этот сенсорный экран который идет позволить нам реально взаимодействовать с этой программой, и это просто браузер. Это хром полный скрининг на данный момент, но это были запрограммированы Майкла реагировать таким образом, что позволяет нам поиграть с двоичных цифр. Так, например, здесь мы имеем не три, но восемь bits-- нулей и единиц. Сейчас мы глядя на цифры 0. И действительно, все восемь нулей в десятичной означает ноль. Так что все это будучи намекнул на здесь. Так что если вы хотите представляют число 8, что картина нулей и те, которые вы хотите? Вы можете просто нажать вверх или вниз или сами номера. Отлично. Так что, конечно, 8, как вы можете видеть там. И если мы хотим, чтобы у 16, что мы делаем? Да, просто прикоснуться к ней снова. 16. Отлично. Так что это все прекрасно и замечательно, она по-прежнему очень низкий уровень. Нам нужен способ в реальный мир Эмили фактически представляющих эти вещи. И так предположим, что мы превратить их нулей и единиц, что очень концептуальные, в фактические лампочек. Правильно? Компьютер является физическим, механическое, электрическое устройство. И его input-- крайней мере, если вы подключите его в систему или заряд it-- должен иметь энергию батареи и Электроны, протекающие внутри и вне. Так что теперь, почему бы нам не перестать думать о битах как нулей и единиц, но что-то более физический как лампочки здесь. И если Дэн Armendariz может присоединиться мне всего за moment-- приходят на up-- мы будем стоять в очереди приложения. Приходите, Эмили. К сожалению, это самый неудобно демо для вас когда-либо. Давай сюда. Мы собираемся в очереди с благодаря Дана Armendariz, другой наш сотрудник, приложение является двоичная лампочки. Итак, что мы имеем здесь это приложение Ipad что имеет следующий пользователя Интерфейс на экране для Эмили. Это только что получил точно такой же интерфейс существенно, что у них там. И если вы сейчас хотите представляют число, скажем 8, как бы вы пойти о выполнении это замечая справа, лампочки, что мы имеем? Ах-га. Magical. Так что если мы хотим, чтобы в настоящее время превратить это в то немного более сложным, и давайте идти вперед и выбрать случайное Количество как число 50 здесь. Входной этого. И если вы сейчас можно оспорить придумать числа 50, мы будем иметь сказочные приз за вами. Эмили: ОК. О мой Бог. ДЭВИД Маланом: Арифметика это действительно трудно перед сотен своих одноклассников. Но 50 был ответ здесь. [АПЛОДИСМЕНТЫ] И вот теперь, это означало быть показательным для Эмили. Так, здесь, некоторый свет Луковицы совсем как эти, но это на самом деле маленькие магнитные полоски. А что это круто об этих и по этой причине мы используем их в CS50 является то, что они поддерживают то, что называется API-- программирования приложений Интерфейс, который является всего лишь причудливый способ сказать, что то, что один из наших сотрудников сделал за лето был создать приложение Ipad здесь что переговоры через Интернет чтобы лампочки сюда, которые являются без проводов подключен к другому устройству. Но это в настоящее время вариант для конечных проектов. И так Эмили, если вы бы так как, в конце срока, Вы можете украсить свой комнате в общежитии в то же время с тем. Спасибо Эмили также. [АПЛОДИСМЕНТЫ] Но теперь, давайте обратимся наше внимание на то, что что сообщение может быть, был похож, и это немного что-то подобное. На самом деле, это Пример как задира того, что должно прийти, что это называется запрос API. И так, что мы имеем здесь дело просто точно такие виды сообщении что через несколько недель время в CS50, вы иметь возможность отправлять что-то довольно знакомы все равно, что на самом деле превратить их включения и выключения. Но это все прекрасно и замечательно. Правильно? Мы имеем ментальную модель, надеюсь для представления чисел с нули и один х. И от нулей и единиц, мы можем добраться до более высоких цифр, как 50, а Эмили просто сделал, или мы может двигаться вверх от этого. И я утверждаю, что мы можем представить вещи, как письма, а также. Правильно? Компьютеры являются гораздо более Интересно, чем просто цифры. И так как вы идете о представляющих словами На экране или электронной почте или эссе и т.п.? Ну, получается, что компьютеры просто диссертации на вершине этих низком уровне Детали и люди некоторое время назад, пришел с произвольным, но последовательным, отображение цифр, чтобы letters-- так что любое время вы видите заглавную букву А на компьютере экраном, шансы что под капотом узор из нулей и единиц что представляют число, Согласно этой схеме, 65. И еще физически внутри компьютера, миллионы вещей называемые transistors-- эти days-- который являются просто переключателями, если угодно, вещи которые могут загораться и гаснуть и так себе представить. Не восемь из этих больших лампочек но миллионы этих крошечного света луковицы, или переключателей или транзисторов, которые могут включать и выключать в зависимости от способа их программировать. И вот теперь у нас есть способ представляющих буквы, а также. В самом деле, если бы я использовал это отображение здесь и попытаться реально орфографии то, мы может выглядеть на этой модели десятичных цифр прямо сейчас. Таким образом, мы не будем даже сосредоточиться на двоичный больше. Давайте просто рассмотрим их как десятичное число 72, 73, 33. Но что это может представлять? Любой, есть достаточно фотографическая память знать, что пишется На экране здесь? Да и многие другие. Так привет. Н-я, а затем восклицательный знак, который не был на самом деле на экране. Но на самом деле есть отображение для каждой буквы с каждым номером что вы можете введите на клавиатуре. Но цифры не должны представляют только буквы. Правильно? Все мы знаем, об изображениях и фотографии и аудиофайлы и видеофайлы и тому подобное. Итак, ясно, мы можем представить высшие вещи уровне пока еще. И так, что компьютер делает просто выбрать интерпретировать закономерности нулевых те разному в зависимости от контекста. Если вы дважды щелкните Значок Microsoft Word, Вы видите слова на экране вместо цветов и картин потому слово знает, что это эссе, вы на самом деле набрали. Если вы вместо двойной щелчок на JPEG или GIF или PNG, она открывает и представляет собой изображение, потому что .PNG Или .docx или любой файл расширение и любое программное обеспечение вы используете знает интерпретировать шаблон из нулей и единиц разному на основе того, что его цель в жизни. Так, например, этот Та же последовательность чисел может представлять, сколько каштановый У вас хочу, сколько зеленых Вы хотите, и сколько синего вы хотите. И действительно, если вы когда-либо слышал RGB-- так просто красный зеленый синий. И поэтому, если я вижу числа как это дать мне 72 красный, дайте мне 73 зеленый, и 33 синий, это, как компьютер с помощью трех bytes-- где байт восемь бит или 24 bits-- будет представлять собой довольно неприятный оттенок коричневого или желтого. И в разных контекстах, может те, Точно такие же узоры в нулей и единиц значит что-то совершенно отличается также. Таким образом, мы имеем теперь способ представления information-- нулей и единиц. Кроме того, мы получаем письма. Кроме того, мы могли бы получить цвета. И давайте предположим, на сегодняшний день что мы можем получить аудио и видео и вещи гораздо больше сложные, чем это. Но теперь давайте рассмотрим как мы используем эти входы и производить те Выходы Теперь, когда мы способ представления этой информации. Ну, нам нужно что-то называется алгоритмом. Опять же, это набор инструкций для решения некоторые проблемы шаг за step-- и Точнее, тем лучше. И так пример, с которым люди по общему признанию менее знакомые в эти дни, но тем не менее по-прежнему с нами в программном обеспечении, это процесс поиска до кого-то в телефонной книге. Теперь, все меньше и меньше люди знают друг год, что эта реликвия на самом деле здесь. Но вернемся в мой день, это было телефонной книги с тысячами страниц и номеров и имена людей из A до Z. И хотя мы вроде обмана bit-- это в основном желтые страницы. Были также белый страниц в то время, который были все эти имена и число фактических людьми. И если бы я хотел посмотреть кого-то в Телефонная книга, как это сегодня, конечно, Я просто ввести несколько первых персонажи своего имени, и мой телефон находит эту информацию. Но процесс, посредством которого телефон iPhone или Android или то, что на самом деле найти кто-то в вашем списке контактов идентичен тому, что мы, люди вероятно, сделали в течение некоторого времени. Теперь я мог принять это Проблема, если угодно, и входы здесь не нули и единицы. Они pages-- как, скажем 1000 страниц. И если бы я хотел посмотреть кого Like Mike Smith в этом телефонной книге, Я мог бы начать в начале и посмотреть, что я нахожусь в разделе A а затем повернуть по одной странице время, смотреть и смотреть как я сделать к B и С и пальмовую лет и так далее для Майка Смита. Смит начиная с S, я буду надеюсь в конечном итоге найти его. Это algorithm-- что process-- правильно? Да. Это верно. Я найду Mike если он здесь, но что предостережение, что вы могли бы предложить. Это медленно. Правильно? Я знаю, Майк S является своего рода к вторая половина телефонной книге. Почему щеколда я начиная с начала и собирается постранично постранично. Поэтому, конечно, я мог перевернуть его вокруг и начать со спины, но что происходит, чтобы получить меня там с той же скоростью, если вы willl-- страницу после страницу за страницей. И это не будет работать, если я хочу искать кого-то другого, чей Название происходит раньше в алфавите. Так что, если вы будете делать то, что я узнал в начальной школе, опять же, делать вещи не единицами, но по двое. Так 2, 4, 6, 8, 10, 12, и так далее. Это верно? Нет. Это своего рода правильно. Но некоторые из вас, кто пробормотал нет, где проблема, или ошибка, ошибка, так сказать. Да. СТУДЕНТ: Вы можете пропустить над правым записи. ДЭВИД Маланом: Да. Я мог бы пропустить Майк Смит потому я принял две страницы сразу и он просто бывает зажатой между этими двумя страницами. Я мог бы понять, что Я к разделу Т Не найдя Mike Smith пока. И так, что может фиксированной быть? Ну, если я попал в Ц. в телефонной книге, Я, возможно, потребуется удвоить Назад на один или около того страницу. Так что это поправимо, но это не так просто, а просто собирается в соотношении два к ускорить свою работу. Но что? Давай. Что есть что большинство людей идут делать с такого рода телефонной книге? Вам дают телефонную книгу. Чем ты занимаешься? Что это? К середине. Так я слышал перейти к середине, и я нахожусь примерно в разделе M, так сказать. А теперь то, что я хочу сделать? Отличная работа. Как вас зовут? ДЖЕЙМС: Джеймс. ДЭВИД Маланом: Джеймс, все в порядке. Что мне делать дальше? ДЖЕЙМС: Вы идете в половина, что имеет S'S. ДЭВИД Маланом: Хорошо. Я собираюсь идти в половине, что имеет S в нем, потому что, опять же, оговорка здесь был что эта вещь сортируется. Это довольно бесполезно 1000 страницы, если Verizon фактически не сортировать эти вещи для нас до Z. Так что если я знаю, Майк, вероятно, в вторая половина телефонной книге, Теперь я могу. [Смеется] Tear проблему в два раза. [АПЛОДИСМЕНТЫ] Спасибо. Tear проблему в два раза. Это было на самом деле real-- эту борьбу. Так рвать телефонную книгу пополам, оставив себе с принципиально той же проблемой. Но, конечно, вдвое. И если я следую-Джеймс снова совет, и я иду сюда. Я говорю, о теперь я в разделе Т. И поэтому, конечно, я может оторвать телефонную книгу в половине еще один раз, оставляя мне с проблемой, что это Сейчас четверть от размера. Так я пошел от 1000 до 500 до 250 до 125 и так далее. Он чувствует, как я принимая большие укусы из этой проблемы друг с итерации, или каждый шаг в нем. И действительно, раз я собираюсь провести найти Mike Smith в этом примере настолько меньше, потому что в конечном итоге я собирается свести это сдоба книгу только одним одинокого странице. И если Майк на этой странице, я идти вперед и дать ему вызов найдя его. Но, насколько лучше является то, что algorithm-- что осмелюсь сказать интуитивно algorithm-- чем те, которые мы начал с которой мы очень linear-- Слева right-- в темпе 1 или 2 раза? Что ж, давайте сюжет этого. Мы не должны слишком беспокоиться о математика или номера в этом случае здесь. Мы просто посмотрим на участке. Так на х или горизонтальной оси, это размер problem-- Сколько страниц существует. На у или вертикальная Ось, сколько времени он собирается взять меня ее решить. И, возможно, это сколько страница повороты, сколько секунд, как many-- некоторое блок мер. И я нарисовал красные прямые линии здесь, потому что если каждый добавочный лист телефонной книги, я требую чтобы сделать один дополнительный шаг. Так что если Verizon добавляет один более стр следующем году, Я мог бы перевернуть еще одну страницу чтобы найти кого-то вроде Майка Смита. Между тем, второй алгоритм, который Я пошел по двое, имеет ту же форму. Это все еще очень линейные, очень слева Право, принимая равные байты каждый раз, но наклон немного ниже. Например, если размер проблема была примерно здесь и я использовал свой первый алгоритм, Я мог бы в конечном итоге весь путь в верхней части этой красной линии. Но если я вместо этого использовать чтобы twosies подойти, желтая линия предполагает потому что это ниже, что он собирается принять мне меньше времени решить. Но то, что форма третий algorithm-- снова, возможно наиболее интуитивный алгоритм? Ну, это выглядит немного что-то вроде этого. Это изогнутая, или логарифмическая, в форме. И хотя он никогда вид выравнивается, асимптотически дюйма и вверх и вверх, но ужасно медленно против всего остального. А какой забрать? Ну, мы называем это войти п. Но что это на самом деле означает? Хорошо, если Verizon удвоилось Количество страниц в телефонной книге в следующем году от 1000 до 2000 человек. Сколько еще шаги это мой Первый алгоритм займет? Мой первый алгоритм. Может больше 1000 шагов. Если они удвоили Телефонная книга, я собираюсь приходится переключаться через другую 1000 страниц, чтобы найти Майка. Конечно, если второй Алгоритм, возможно 500, потому что я собирается в два раза быстрее. Но если Verizon удваивает количество страниц между этого и следующего года, с моей трети algorithm-- разрыва и властвуй, что Джеймс предложил, собирается в половине и половине и half-- сколько еще шагов будет это взять меня в следующем году, чтобы иметь телефонная книга с размером 2000? Только один. Потому что с одного укуса, я могу взять, из этой проблемы, половина страниц далеко. И если вы думаете об этом немного безумно now-- если телефонная книга не есть 1000 или 2000 страницу, но скажем 4 млрд pages-- это большой телефон book-- как много раз или сколько шагов он собирается взять меня, чтобы найти Майк Смит в телефонной книге с 4 млрд страниц. Вы можете сортировать начать делать математику. Отлично. 4 млрд делится на 2. Так вот 2 млрд разделен на 1. Это 1 млрд. Тогда полумиллиарда. Тогда 250-- так что вы можете сделать это снова и еще раз, но не так много раз, прежде чем Вы получаете до одной страницы. И действительно, даже если телефон Книга состоит из 4 миллиардов страниц или база данных вы ищете имеет длину 4 млрд записей, это займет у вас ту или иную сторону 32 шагов только найти Mike Smith. И если вы дважды телефонную книгу рядом в период с 4 млрд до 8 млрд, 33 шагов, а не просто 32. И это является свидетельством к одному из идей чтобы мы могли охватить в компьютере наука более общем смысле, который это вычислительная мышление и приближается проблемы откровенно используя инструменты из Ваш уже привычным инструментом kit-- ваш реальный мир с который вы знакомы, но освоение этих идей на самом деле решать проблемы. Но мы должны оформления нашего решения этих проблем. И поэтому позвольте мне представить на мгновение то, что мы могли бы назвать псевдокод. Большая часть семестра, мы проведем с использованием Реальный код в таких языках, как C и PHP и JavaScript и SQL и тому подобное. Но сейчас, давайте посмотрим на что-то довольно интуитивным как английский. Я мог бы отогнать, что Алгоритм, с которой Я нашел Майка на шаги, как это. Поднимите телефонную книгу Открыть до середины телефонной книге Посмотрите на зовут Если Майк является одним из самых зовут Позвоните Майку Иначе, если Смит ранее в этой книге Открыть до середины левая половина книги Иначе перейти к строке 3 Иначе, если Смит в книге позже Открыт для середины Правая половина книги К третьей линии еще Сдаваться И есть несколько характеристик предприятием это которые стоит отметить. Так один, все линии Я выделил желтым мы собираемся начать называть заявления или функции или процедуры. Они просто действия делать это и есть не все, что гораздо вариабельность к нему. Следующий шаг, хотя здесь, таковы conditions-- если, иначе, иначе, если, еще. И они называются условия, или филиалы, и они момента принятия решения. И они позволяют нам делать то условно. И в самом деле, давайте быстро посмотреть на, возможно, знакомый face-- назовем его Bill-- и именно то, что эти условия, каким образом они могут быть использованы. Билл Гейтс: Люди делают Решения каждый день. Например, прежде чем выйти на улицу вас вроде должны, если заявление, которое говорит, если идет дождь, то я нужно получить куртку. И компьютеры удивительно, как только вы решить эти виды отчетности что они могут надежно выполнить эти вещи в невероятной скоростью. И так это компьютерная программа действительно немного математики и некоторые если операторах решение получает сделаны. DAVID Маланом: Так что теперь давайте сосредоточимся на нескольких различных lines-- те я выделил желтым здесь. И оказывается, что есть разные способы выражения этой идеи. Но интуитивно, что наши линии 8 и 11 что я выделил здесь говорю вам делать? Да, перейдите к строке 3, но то, что поведение, что на самом деле вызывая? Это своего рода цикл или цикл, и вы можете отчасти увидеть ее. Правильно? Если в строке 8, вы вернетесь к линии 3, а затем вы попали линию 8 раз, Вы могли бы вернуться к строке 3, вернуться к строке 3, обратно в линию 3. Там в этот вид цикла или цикла. И действительно, вот индуцируется в строка 11 потенциально также. И это основное программирование построить также. Вы не можете просто сделать что-то с заявлением или сделать что-то условно с условием или филиала. Вы можете захотеть сделать что-то циклически с петлей. И мы будем иметь кого-то еще, с кем Вы могли бы быть familiar-- назовем его Mark-- объяснить это понятие здесь. Марк Цукерберг: Один вещь, что компьютеры очень хорошо повторяет команды. Как человек, вы получите очень скучно, если вам должен был сделать то же самое много раз подряд, но компьютер может делать то же самое миллионы или даже миллиарды раз и не надоедает и уметь отнести то, что действительно хорошо. Так, например, если я хочу пожелать всем на Facebook с днем ​​рождения отправив их по электронной почте, это может занять мне больше века на самом деле выписать все эти письма на всех. Но с помощью всего лишь несколько строк кода, я могу есть система отправит Вам всем на Facebook желающих им С Днем Рождения. Так вот что петли и почему они ценны и что-то что компьютеры могут делать очень хорошо. ДЭВИД Маланом: Большое спасибо нашим друзьям на code.org для этих двух фильмов. И только на прошлой неделе, у вас может быть Видно, что Марк Цукерберг и Facebook отправил эту объявление, который является то, что они просто Прошло важным веха для впервые. 1 миллиард человек использовали Facebook в один день, а именно в прошлый понедельник. Один из семи людей на Земле по-видимому, вошли в Facebook. Ну, это, кажется, хорошая возможность оглянуться на котором начал Facebook, и мы пошли через CS50 собственного архивы, потому что выясняется в 2005, Марк дал гостевую лекцию в CS50. Вы увидите, что производственные ценности были не совсем то же тогда с точки зрения технологии доступны, и вы также видим, что при наличии этой гостевой лекции не обязательно пике интереса студенчества, ваши предшественники, столько, сколько это возможно, всего несколько лет спустя. Итак, давайте взглянем на Science Center С ВЕДУЩИЙ 2. Пожалуйста, присоединитесь ко мне, и приветствуем. [АПЛОДИСМЕНТЫ] Марк Цукерберг: Yo. Отлично. Прохладный это первый раз, когда я пришлось провести одна из этих вещей. Так что я просто хочу, чтобы прикрепить его очень быстро. Отлично. Ты слышишь это? Это хорошо? Является ли это усиливается на всех? Отлично. Милая. Таким образом, это как один из первых раз Я был на лекции в Гарварде, но-- ДЭВИД Маланом: Так в конце концов наука Центр сделал наезд на видео, но не раньше, чем захват это выдержка где разговор Марка, который он обсуждал свои сосед, Дастин, которые хотел протянуть руку с этим Сайт называется Facebook.com и понял, что Марк собирается говоря в программировании languages-- одна называется Perl, одна называется PHP-- как он обсуждает истоки вклад Дастина. Марк Цукерберг: Я начал управлять сайтом и запустил его в Гарвардский в феврале 2004 года. Так что я думаю почти два года назад, теперь. И в течение нескольких недель на Несколько тысяч человек зарегистрировались, и мы начали получать некоторые электронные письма от людей в других колледжей просить для нас, чтобы запустить его в их школах. И я брал 161 в то время. Так что я не знаю, если вы, ребята, знаете, репутация этого курса, но это было довольно тяжелым. Это было действительно весело, конечно, но она не оставляла мне много времени делать что-нибудь еще с Facebook. Так мой сосед по комнате Дастином, который я предполагаю только что закончил CS50, было похоже, эй. Хочу, чтобы помочь. Я хочу сделать расширение и помочь Вы выясняете, как сделать вещи. Так что я был бы, что это очень здорово, чувак. Но вы на самом деле не знаю ни PHP или что-нибудь подобное. Так что в выходные дни он пошел домой, купил книгу Perl для чайников, вернулся и был похож, все в порядке. Я готов идти. Я походил, чувак, сайт написан в PHP не Perl, но это круто. Таким образом, он поднял PHP над как несколько дней, так как I обещают, что если у вас есть хороший фон в C, PHP является очень простая вещь, чтобы забрать. И он только отчасти пошел на работу. Прежде чем мы рассмотрим теперь в где курс будет, позвольте мне пригласить только некоторые штаба до SC50 на на сцену. Некоторые из них делают покупки собственные курсы. Но если этих ТФ и сертификации и конечно руководители, которые здесь могли прийти на вверх и присоединиться ко мне для быстрого привет. Позвольте мне представить в частности, Ханна, Мария, Daven, и Роб, Конечно CS50-х голов здесь, в Кембридже. [АПЛОДИСМЕНТЫ] ДЭВИД Маланом: Действительно, свидетельством Опорная конструкция, что курс имеет встроенный в течение последних многих лет, сотрудники CS50 числа в этом году почти 100, и что здесь, в Кембридже в одиночку. Между тем, в Нью-Хейвене, есть некоторые 40 ТФ и РСС и сотрудники там запустить курс также. Позвольте представить первую, Роб Боуден. БОР Боуден: Привет. Я Роб. Это мой шестой год TFing в курсе. Так, все пути назад в моем первый год, я не брал CS50. Ваш новичка fall-- Вы можете быть знакомы что вы можете взять только четыре курса и Есть так много курсов сегодня. Так что я, как, да. Я взял AP CS мой старший год средней школы было ужасно. Так, я, как, да. Информатика это не для меня. Так тогда это было над Конечно моего новичка падать, что у меня был друг в CS50 и Я думаю, что участие одну лекцию с ней. Это как, ну, это вроде лучше чем я имел в средней школе. И на протяжении из год, у меня были свои проблемные наборы в курсах я фактически брать. Но я обнаружил, что всякий раз, когда я хотел откладывать на тех, Я хотел бы вернуться к CS50 и рассмотрим некоторые из этих вещей. Так что да. Я крут. Я проволочек с кодированием. Итак, это в конце падение, что я понимаю, эй, информатика довольно прохладно. Я в конечном итоге принимает CS51. В следующем семестре, Я в конечном итоге принимает CS61. И все оттуда, тогда я в конечном итоге заявив информатика, который я имел Абсолютно не намеревается этого делать когда я пришел в колледж. И теперь я здесь. Таким образом, курс, что вы об этом. Я надеюсь, тебе это нравится. [АПЛОДИСМЕНТЫ] ДЭВИД Маланом: Спасибо Робу. А теперь Мария, наш голову ассистентом курса. МАРИЯ: Эй, ребята. Меня зовут Мария. Я на втором курсе в Кабот Дом, исходя из Болгарии, и я очень рад быть часть сотрудников в этом году. Я взял CS50 как первокурсник в прошлом году, и я никогда даже подумал о CS заранее. Так что я очень люблю ход, и я надеюсь, что вы все любите его так же, как и я. И, да. Добро пожаловать CS50. ДЭВИД Маланом: Спасибо Мария. [АПЛОДИСМЕНТЫ] Теперь Ханна, наше учение глава молодец. HANNA: Привет, я Ханна. Я старший в Кабот изучающих информатику. Я взял CS50 как первокурсник и имел был TFing-- это будет мой третий год. Так я буду счастливо участие в CS50 для всех четырех лет, и я с нетерпением жду работать со всеми вами. ДЭВИД Маланом: Спасибо Hanna. [АПЛОДИСМЕНТЫ] И, наконец, Daven, наша precepter. DAVEN: Эй, ребята. Я предписание на себя в информатика здесь. Это будет мой четвертый год обучения. Я также помочь управлять курс. Так что я уверен, что вы будете видеть меня вокруг, особенно в рабочее время. Я всегда на рабочее время. Так что если вы видите меня ходить вокруг, обязательно прийти сказать привет. Я люблю, чтобы удовлетворить всех. В противном случае, получать удовольствие, и я увидимся. ДЭВИД Маланом: Спасибо Daven также. Таким образом, вы будете отвечать всем эти люди в скором времени. Но без дальнейших ADO, если вы, ребята бы бы возобновить свои места от ранее. Позвольте мне представить издалека Теперь некоторые из наших друзей из Нью-Хейвен, в частности глав ходе, который буду быть контроль CS50 there-- профессор Брайан Scassellati, Джейсон, и Энди, которые просто-- так что мы не искушать судьбу с любым FaceTime или like-- только послал нам минут назад следующем видео, в котором они поздороваться с лектория в Йельском университете, в котором лекция время потоковой сейчас. Таким образом, наши друзья из Йельского университета. БРАЙАН SCASSELLATI: Привет, Дэвид. Привет, все в Гарварде. Мы очень рады быть в результате чего CS50 в Йель в этом семестре. Меня зовут Брайан Scassellati, но каждый раз звонит мне SCAS. И я сегодня здесь, чтобы ввести Вам сотрудники CS50. [Аплодировать] И что еще более важно, я здесь, чтобы представить, как хорошо все студенты в Yale, которые, как это утро сделали это самый популярный Конечно Йельского университета студенты CS50. [Аплодировать] Так что мы очень рады чтобы видеть вас здесь в пятницу и в субботу на Логические день и имеют большой лекцию. До свидания. [АПЛОДИСМЕНТЫ] ДЭВИД Маланом: На экране здесь Имена некоторых из 140 сотрудников Участники, которые ожидают вас над Конечно из semester-- некоторые из них здесь, в Кембридже, некоторые из них здесь, в Нью-Хейвене. И действительно вы будете иметь возможность в эту субботу, а SCAS нот, чтобы участие CS50 головоломка день. Вы, возможно, видели маленькие кусочки головоломки скользнула под вашим подъездах недавно. Мы имеем несколько дополнительных здесь позже, когда вы существуете. Если вы собираете все четыре головоломки штук и объединить силы с номерами около вами в вашем дом или общежитие, они будут собрать в QR code-- или его двумерный штрих-код, который собранном и сканировали с телефоном приведет вас в какой-то сказочной приз или-- я полагаю вы могли бы просто сфотографировать это сейчас также. Но найти эти кусочки головоломки, тем не менее для того, чтобы выиграть эту сказочную приз. И действительно одна из традиций в SC50-- ах, слишком медленно. Одна из традиций в CS50 является служить торт после первой лекции. И так действительно, в Несколько минут спустя, будет торт подается снаружи И здесь, и Нью-Хейвен, а также. Но first-- мы оформлен их сами. Но first-- и, надеюсь, там будет достаточно. Но сначала, быстрый взгляд. Так лекции действительно будет производятся в основном здесь, в Кембридже. Но каждый месяц, мы будем прыгать вниз в Йель с производственной командой и потока CS50 в курс в обратном Направление а так чтобы привести эти два кампуса действительно впервые в истории а близко друг к другу, насколько это возможно как один в тот же курс. С точки зрения структуры поддержки Это были встал здесь, в Кембридже, а как в Нью-Хейвене, разделы. Действительно, как некоторые из вас могут знаете, у нас разные треки в ходе для тех, кто менее комфортно, более удобным, и где-то посередине, так что независимо от вашего предварительного фоне, Вы можете в конечном итоге добиться успеха в классе. Часы Между тем, являются возможность по понедельникам и вторникам и четверг вечером, чтобы работать как здесь и в Нью-Хейвене на наш курс-х Проблема устанавливает с десятками Сотрудники ходе рядом с вами. Проблема устанавливает между тем, поддерживается вещей, которые мы называем прохождение, которые видео на основе обучающие программы, которые действительно отвечая FAQ из чего начать вызов на неделю. И посмертные ходить вас через возможных решений так что конец Проблема слишком, вам точно знать, что вы могли бы сделать по-другому или вообще иначе. Проблема устанавливает сами приходят в двух вариантах, стандартный выпуск что мы ожидаем и пригласить большинство class-- около 90% плюс do-- и так называемый хакер издание на котором каждая страница красуется Хакер издание, хакер издание, хакер издание, так что у вас есть, что карма если угодно, для дайвинга в более продвинутых версий проблемных задает курс в что крышка якобы тот же материал но с более сложного подхода и с дополнительным фоном иногда вводят. Между тем, есть девять поздние дни, Вы можете обратиться к проблеме в ходе устанавливает, а также наименьшее количество баллов, который мы опускаем в конце терминов. Но что ждет? Ну, вкус проблемы устанавливает под рукой в ​​пятницу и на следующей неделе, где мы плескаться всего за несколько дней в то называется царапинам, графическое программирование язык, разработанный нашими друзьями на медиа-лаборатории Массачусетского технологического института, что позволяет программировать либо впервые или в новой среде вообще используя среду типа перетаскивания. Причем головоломки только блокироваться вместе если он имеет логический смысл сделать это. Между тем в проблеме установить два в прошлом году, например, же мы вводим класс в мир криптографии, искусство шифрования или скремблирования информацию. Действительно, этот текст здесь, если расшифрованы, на самом деле приведет вас к какой-то веселой назначения. И в задаче установлено, то, что мы были студенты это реализовать именно те виды things-- алгоритма, или набор инструкций для скремблирования и скремблирования информацию. И в хакерской издания того же набора проблем, же мы вызов студентам взять зашифрованный файл из обычного компьютера Система с множеством имен пользователей и зашифрованные пароли и взломать эти passwords-- фактически выяснить какими они были, ничего не зная Априори о тех фактических паролей. Между тем, мы тоже Переход в задаче устанавливает для затем, глядя на мир графики. И в самом деле, вы можете себе представить Теперь, что это может быть может самым простым способом представления черно-белое изображение. Белый пиксель, или квадратной, а вверху справа есть, может быть представлена ​​с 1 и черный квадрат может быть представлена ​​с 0. И только с помощью большего числа битов, как мы предложенный ранее с 72 и 73 и 33, мы могли бы представить цветные пиксели, а также. И то, что мы делаем в течение этот набор проблема заключается как правило, прогуляться вокруг Кампус с помощью цифрового фотоаппарата, сфотографировать люди, места и вещи. Потом как-то каждый семестр, мы, кажется, случайно удалены или повреждения карты памяти на котором все эти фотографии, и так вы вызов чтобы затем написать программу с которой восстановить эти файлы JPEG из копии карты нашей камеры. Между тем, мы передаст вам позже в термин словаря английских слов которые имеют 143000 слов, и вы должны придумать с помощью смарт-пути загружать их в память, или RAM, так сказать, чтобы ответить запросы вида: это слово, это слово, без выполнения быстрый орфографический, что вы можете, даже прижав себя потенциально против одноклассников чтобы увидеть, кто из вас использует наименьшее количество времени при запуске кода и даже наименьшее количество памяти. Позже в перспективе вы на самом деле реализовать свой собственный веб-сервер. Так что не только вебсайт в язык называется HTML и многое другое, но веб-сервер, который фактически слушает запросы в Интернете и реагирует на них. И действительно, это, как мы преодолеть наш мир С, с которой вы будете ознакомиться на следующей неделе и PHP и HTML и JavaScript и УС и тому подобное. Потому что одна из первого полотна на основе Проект мы делаем позже в перспективе исторически CS50 Финансы. Etrade.com стиль сайт, который позволяет Вам покупать и продавать акции практически в то же время написания кода, чтобы поговорить с Yahoo Финансы получать полу реального времени фондовой цитирует чтобы обновить свой собственный портфель. Но, наконец, конечно, является окончательным project-- возможность делать практически ничего Интерес к вам, чтобы решить проблему здесь или за интерес Вы что-то вдохновенно это по извлеченных уроков в классе. И класс, как вы знаете, завершается так называемой CS50 Hackathon и CS50 ярмарка и в любом количестве других культурных мероприятий в течение семестра что позволит привлечь друг с другом и сотрудники курса. Например, в Огонь и лед в Ситар В этом году, ну, по пятницам, мы приглашаем около 50 Студенты на обед, кто хотел бы присоединиться к нам, сам, и сотрудники, и наши друзья из промышленности и квасцов чтобы поговорить о жизни в реальном мире и за его пределами, наслаждаясь хорошим обедом. В Hackathon будет Вы видите такие изображения так как они, в том числе большим количеством candy-- и по состоянию на 2014 в первый time-- овощи. [АПЛОДИСМЕНТЫ] Но 5:00, делает сцену обычно выглядеть немного что-то подобное. А потом просто неделю или чуть позже, это CS50 ярмарка к которому около 2000 плюс Студенты и сотрудники и преподаватели Участники из разных кампусе и через кампусах в этом году приходят, чтобы увидеть и восторг в достижения студентов CS50, которые Теперь вы. И действительно, в то время как в этом году мы будем приглашать и басинг никого на Йельского университета, кто хотел бы подойти к Кембридж в эту субботу для CS50 головоломка День, и мы будем делать ту же самую вещь в декабре для CS50 Hackathon так что Гарварда и Йеля студенты так причащаемся в обоих этих событий. Мы также проведет CS50 ярмарок в Кембридж и в Нью-Хейвене в этом году так что студенты на обоих кампусов и сотрудники и преподаватели можно увидеть каждый соответствующий достижение кампуса. А эти достижения вызовет такую ​​память как это и это и в конечном итоге Это, в которую вы все выйти из класса носить немного то, в котором вы были, надеюсь счастливым или с гордостью сказать, что я принял CS50. Но перед этим, и прежде чем мы служить торт, мы ввели together-- благодаря CS50-х съемочная группа и некоторая самостоятельно палка, тот случай, который мы используем такие вещи for-- когда мы послали его не только здесь в Кембридж но также в Нью-Хейвене собрать несколько приветы из Сотрудники конечно и все люди Вы познакомитесь и здесь и в Ново Haven в течение следующих месяцев. Позвольте мне ввести еще несколько сотрудников CS50 в. Марк Цукерберг: Возможно, что сделать его? О, это будет. Это будет. Ох. Ярр! [Музыка играет Энди GRAMMER, "Дорогая, я  ХОРОШО"] МЭРИ: Это Кейтлин. Это Джей, и я Мэри. Сато: Привет, ребята. Я Сато. МАЙКЛ Г .: Привет. Меня зовут Майкл, Г. ДАГ Lloyd: Я не. Нет. Я Дуг Ллойд. Я не могу поверить, что я держу селфи придерживаться прямо сейчас. Выступающий 4: Привет. Динамик 5: Привет. СПИКЕР 6: Здравствуйте. СПИКЕР 7: Привет. СПИКЕР 8: Эй. Мы тусоваться в Йельском университете. Мы очень рады за в этом семестре, потому что это Впервые он идет в Йель. Это будет удивительным! [МУЗЫКА] ДЖЕЙКОБ Щерба: Меня зовут Джейкоб Щерба. Я рад, чтобы научить CS50, потому что я думаю, он принесет информатики люди в и доступным способ. СПИКЕР 9: я действительно рад научить CS50 потому что я взял класс в прошлом году, и это одна из лучших классов. СПИКЕР 10: Да. Мой совет вы должны принять CS50. ДЖЕЙКОБ Щерба: Я выбрал CS потому Я думаю, что это весело и творческий путь Для решения проблем в аналитическим способом. СПИКЕР 11: Назад, когда я был маленьким первокурсник и боится информатике и боюсь сделать инжиниринг и материал, это был первый жесткий класс я взял, и это было также моя любимая класс когда-либо. ДАГ Lloyd: Это мой девятый год обучения CS50. Это заставляет меня казаться настолько старый! Там всегда что-то новое. Там всегда что-то захватывающее. Там всегда новые вызовы, с которыми сталкиваются новые студенты, и это весело, чтобы помочь им и испытать те Проблемы с ними и помочь им решить их проблемы. СПИКЕР 12: Когда я впервые научились делать CS, это было похоже на изучение сверхдержавы. И увидеть, что в других студентов и, чтобы помочь им через этот процесс является одним из наиболее награждение вещей, которые я когда-либо. СПИКЕР 7: Я выбрал CS потому, что в Вначале я изучала математику концентратор и я взял CS50 и влюбился в нее. Я также чувствовал, что с CS, я мог бы построить вещи. И это, я подумал, было действительно здорово аспект. СПИКЕР 13: Некоторые советы для новых студенты, это зайти в рабочее время и тусоваться с удивительной TFS. СПИКЕР 14: Начните Р-множеств рано, ехать в офис часов, стать Frends с вашей TF. СПИКЕР 15: Да. Все сказанное она. СПИКЕР 16: Не бойтесь обратиться за помощью. СПИКЕР 17: Да. СПИКЕР 18: Начните Р-множеств рано. СПИКЕР 19: Это большой социальный опыт. Сделать много друзей таким образом. СПИКЕР 14: Перейти в раздел Это интересно. СПИКЕР 11: Я имею в виду, идти за ней. Это действительно трудно. Вы получите из нее что вы положили в него, но это действительно весело Класс особенно если вы готовы поставить время в нее, но это помогает, если вы положили время в нее. Вы получите намного больше из него позже. МАЙК: Я Майк. CAMILLE: Я Камилла. Hanya: Я Hanya. Matt: Я Мф. ПИТЕР: Я Питер. ФИЛИПП: Я Филипп. PATRICK: Я Патрик. БОР Боуден: Я Роб Боуден. БРАЙАН SCASSELLATI: Мои зовут SCAS и this-- ALL: --is CS50. СПИКЕР 20: В Йельском. СПИКЕР 21: В Йельском. [СМЕЮЩИЙСЯ] ДЭВИД Маланом: Вот именно для CS50. Мы будем видеть Вас в Йельском университете на Пятница, Логические день в субботу. Торт в настоящее время обслуживает. Это CS50. [МУЗЫКА]