Гарвардский курс CS50 на русском: появились 3 и 4 лекции

    cs50 на русском

    400 тыс. просмотров и письмо из Гарварда

    На прошлой неделе мы закончили работу над переводом 3 и 4 лекции Гарвардского курса по Основам Программирования CS50, выложили их в сеть и сразу же нарвались на хорошие новости: нашему партнеру по переводу, студии Vert Dider, пришло письмо из Гарварда!

    «Недавно мы заметили, что JavaRush уже загрузил в сеть русскоязычную версию нашего курса CS50. Исходя из комментариев, перевод получился очень высокого качества, да и ролики уже успело посмотреть большое число людей. Это просто прекрасно! Мы очень рады тому факту, что образование становится доступно людям во всем мире». — говорилось в письме.

    Оригинал письма:

    письмо из Гарварда

    Чего уж тут греха таить, вдохновляет не по-детски!

    И действительно, результаты нашей работы русскоязычное сообщество встретило весьма радушно (400 000 просмотров и хорошие отзывы прямое тому доказательство), а те, кто всё-таки остался недоволен, главным образом сетовали на чрезмерную простоту первых лекций и не самую академичную в представлениях «наших» людей подачу.

    Серьезно — не равно скучно

    4 лекция cs50

    Первые две лекции действительно очень легкие (подробнее о первой лекции читайте здесь, о второй — здесь). Они читаются в Гарварде и Йеле на так называемой «нулевой», то есть вводной неделе. Их предназначение — элементарное введение в компьютерные науки для слушателей с любым уровнем подготовки. Поэтому помимо объяснения двоичной системы счисления и понятие алгоритма первые программы предлагается сделать на «детском» визуальном языке Scratch. К тому же всё подано в стиле увлекательного шоу, что у некоторых пользователей никак не вяжется с академическим образованием. Но если задуматься, разве это плохо? Мы просто привыкли к мысли, что серьезное образование — штука скучная.

    Спешим заверить: совсем не обязательно, и курс CS50 — живое тому доказательство. Сразу после вступительной недели начинается первая (третья и четвертая лекции), а вместе с ней — серьезная работа, но увлекательность лекций остается на прежнем уровне (а тем, кому было слишком легко, становится еще интереснее). Студентам выдается на обработку солидный пласт материала.

    Лекции 3 и 4: начинаем учить язык Си

    Правильнее даже будет сказать не язык Си, а основы программирования посредством Си. Посмотрите, что к концу первой недели должен знать студент CS50, и не просто знать, но доказать свои знания на практике:

    • Основные команды командной строки Linux, компиляция и запуск новосозданных программок с их помощью в облачной IDE
    • Программа типа «Hello, world» с пониманием её синтаксиса.
    • Библиотеки C, для чего и как их подключать к собственным программам.
    • Что такое компилятор, как он устроен в C (в общих чертах, разумеется).
    • Функции С, аргументы и значения, void, функция main и вызов из неё других функций.
    • Численные и символьные типы данных.
    • Ввод и вывод данных, спецификаторы вывода, плейсхолдеры.
    • Точность при использовании разных типов данных.
    • Арифметические и логические операторы. Деление по модулю.
    • Оператор присваивания.
    • Условные выражения if-else.
    • Переключатели switch.
    • Циклы do-while, while-do, for. Бесконечные циклы.
    • Баги и к чему они приводят.

    Конечно же, большинство тем подается в ознакомительном формате, но правильном таком ознакомительном, практическом: по результату изученного человек к концу первой недели создает 3 программки на C, в которых есть циклы, условия, ввод и вывод на экран, приведение типов и реализация несложного, но вполне применимого «жадного» алгоритма.

    Нам кажется, что для абсолютных новичков — прекрасное начало!

    Интересные факты в лекциях 3 и 4: цена багов, гигантский древний калькулятор и пояснение неопределенности от… Siri

    Дабы чересчур не иссушать лекции, в качестве исторического введения нас знакомят с «огромным калькулятором» Mark 1 — гарвардской разработкой, первым американским программируемым компьютером, и по совместительству первой полностью автоматической, то есть не требующей непосредственного вмешательства человека, машиной. Хотя перфокарты, конечно, можно было вставлять только «ручками». Этот огромный программируемый арифмометр, созданный в 1941, а запущенный в работу в 1944 году. На данный момент «обитает» в Гарвардском музее.

    Также знакомят с первым зафиксированным багом (думаем, хабровчанам нет смысла представлять его дополнительно), а на четвертой лекции демонстрируют короткий фильм о том, как ошибки в программном обеспечении становились причинами мировых катастроф.



    А вот видео из четвертой лекции, где Дэвид Малан просит Siri пояснить волнующий его вопрос:



    Что дальше?

    Уже на второй неделе курса (5 и 6 лекции) студенты подробнее изучают циклы, строковый тип данных, возвращаются и углубляются в работу функций, учатся ловить «баги», узнают о приведении типов и массивах. Ну а дальше происходит и вовсе нереальная штука для новичков: им рассказывают основы криптографии. Да, на самом простом уровне, но зато в конце недели студенты сами реализуют два вполне себе настоящих шифра: Цезаря и Виженера.

    Словом, CS50 не даст заскучать во всех смыслах. Для тех, кто не просто смотрит лекции, но проходит CS50 курсом, мы перевели дополнительные материалы и задания для 3 и 4 лекции. Все здесь — javarush.ru/cs50.html

    Следите за нашими анонсами. Дальше будет еще интереснее!
    JavaRush
    0.00
    JavaRush — это интерактивный онлайн курс по Java.
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 29

      –2
      То чувство когда ты пацифист а тебе рассказывают о проблемах в коде ракетах, это не много задевает и наводит на размышление стоит оно того. По моему такой подход к обучение и мотивированию правильно кодить наоборот вредит и создается демотивация.
        +2
        Ну а я, например, противник гравитации в 1g на нашей планете — мне очень хотелось бы чтобы было 0.5g. Это ведь не меняет того факта, что надо как-то жить при 1g. Так и с ракетами — можно быть пацифистом, можно не быть, но ракеты, их ПО и баги в нём были, есть и будут. А значит их можно рассматривать, как и любые другие баги.
          +2
          Ракеты выводят спутники на орбиты. Это ведь благо. Кроме ракет есть ещё марсоходы, спутники, автомобили на автопилоте и т.п. гражданские виды техники с высокой ценой ошибки программиста и с огромной пользой когда всё сделано правильно.
          • UFO just landed and posted this here
            0
            Поддерживаю! Мне бы хотелось чтобы в лицензиях типа GPL был введён пункт на запрет использования продуктов для любых военных целей. Жаль, что это никому не нужно.

            Но в данном случае речь идёт о не военном применении, а о гражданском, скорее всего.

              0
              Когда идёт война и на кону жизни людей, вряд ли кого-то остановит нарушение лицензии.
            +1
            Стала интересна статистика просмотров перевода CS50 на русский и украинский языки.
            По русскому переводу от JavaRush, первые 4 лекции, просмотров: 72778, 34820, 17892, 9970
            По украинскому переводу от Prometheus, первые 4 лекции, просмотров: 76313, 34210, 12359, 6719.

            Интересны два момента:
            1. После каждой следующей лекции зрителей остаётся примерно в 2 раза меньше.
            2. В Украине, с учётом количества населения в стране, курсом интересуются примерно в 3.2-3.5 раз больше.
              +1
              Оба Ваши момента весьма сомнительны.
              1. Я например качаю лекции и смотрю когда нахожусь в дороге
              2. Количество населения в стране не влияет на количество интересующихся программированием. А так же жители Украины могут смотреть и русскоязычную версию.
                0
                1. Можно предположить, что люди, использующие разные способы просмотра есть везде. Если взять один из каналов (ютюб) и сравнить количество его пользователей — с некоторым приближением мы можем говорить и об общей картине.

                2.
                А так же жители Украины могут смотреть и русскоязычную версию.

                Ну тогда будет не в 3.2-3.5, а в 5-6, потому что жители Украины смотреть русскоязычную версию от JavaRush, конечно, тоже могут, а вот жители России вряд ли смотрят украинский перевод на Прометеусе.
                +3
                Вы посмотрите дату публикации лекций на Prometheus и дату публикаций лекций от JavaRush. Русскоязычная версия за месяц набрала столько же просмотров, чем версия на украинском языке за длительный период времени.

                А до лекции 3, 4 и 5 еще не все дошли. Поэтому, на этих видео просмотров еще не много.
                  0
                  Я начал смотреть их на украинском еще в апреле. Сейчас только закончил ДЗ первой недели и начал смотреть вторую. Так что падение просмотров не обязательно означает, что люди ушли навсегда.
                    0
                    Тенденция двукратного падения просмотров с каждой новой лекцией всё-равно есть, как ни крути.
                      0
                      Это скорее отложенный эффект. Люди не смотрят 5 лекций подряд. Кроме того, после каждой видео лекции, есть довольно много дополнительных материалов и немало практических заданий, которые нужно сделать.

                      Говорить о двухкратном падении просмотров не совсем корректно. Прошло слишком мало времени и большенство банально не успевает так быстро все проходить.
                    0
                    Курс от Prometheus постарше. И это, кстати, именно курс на специализированной площадке, а не ролик на ютубе.
                      0
                      Видео от Prometheus с доступом по ссылке, что влияет на статистику просмотров, поэтому сравнить видео разных курсов не получится. А статистика внутри курса вполне определённая: от 76 тысяч просмотревших видео нулевой недели, до тысячи просмотров видео десятой недели. Это при том что последние материалы курса от Prometheus были выложены месяц назад.

                      Но ещё интересней результаты — какая часть тех, кто зарегистрировался на курс, его закончили и получили сертификаты. Жаль, что этими результатами организаторы курсов делятся очень неохотно. Единственная статистика cs50, которую удалось найти: 150 тысяч студентов зарегистрировалось, 1482 закончило финальный проект.
                      +1
                      **Вы посмотрите дату публикации лекций на Prometheus и дату публикаций лекций от JavaRush. Русскоязычная версия за месяц набрала столько же просмотров, что и версия на украинском языке за длительный период времени.

                      А до лекции 3, 4 и 5 еще не все дошли. Поэтому, на этих видео просмотров еще не много.
                        0
                        Спасибо за русскоязычную версию курса.
                        Надеюсь, после этого курса, Вы побалуете нас еще чем то интересным.
                          0
                          сегодня на оф сайте у них смотрел ссылки на лекции на ютубе, там есть субтитры на русском
                            +2
                            Да, только они переведены через Google Translate и очень кривые.

                            Поэтому переводчиками приходится переводить все с нуля.
                            0
                            Я занимаюсь программирование на С уже более 30 лет и вполне проффесионально, но не могу с уверенностью утверждать, что мне известно:
                            " Что такое компилятор, как он устроен в C (в общих чертах, разумеется).
                            плейсхолдеры.
                            Деление по модулю.
                            Баги и к чему они приводят."
                            Как я рад за слушателей столь чудесного перевода столь восхитительного курса, который все это узнают уже по окончание второй недели занятий. Жаль, что вся жизнь потеряна.
                              0
                              да ладно, 30 лет всего-то. всё ещё впереди! :)
                              0
                              Сейчас я рискую набрать кучу минусов, но всё же выскажу свою мысль (после просмотра первой лекции). Как пример как надо обучать чему-либо лекция, несомненно, выполнена просто блестяще. Но вот материал лекции вызывает некоторое недоумение. На секундочку, это не ПТУ в Нью-Васюках, это Гарвард (MIT, Berkley и прочее), туда просто так не попадают, и платят за обучение не маленькие такие десятки тысяч баксов в год. И вот сидит целый зал богатеньких ботанов, большинство из которых начали программировать лет так в 10 как максимум, и к моменту поступления возможно уже имеют по одной-две игре на Apple/Google Play, и им рассказывают «Мальчик, введи имя и нажми Enter» «О, случилось чудо, имя напечаталось!», бурные аплодисменты. При этом на компиляторы и все прочие вкусные вещи, про которые хотелось бы узнать побольше, потратили буквально пару секунд. Вот это вызывает полное непонимание.

                              Кто-то скажет, что это «Основы программирования», но ещё раз, это Гарвард, а не школьный курс информатики обычной средней школы. Хотя будь у нас в школе или УПК именно таким образом поданный курс, это было бы идеально…
                                0
                                Ну наверно в Гарварде не только программистов обучают, которые «с 10 лет» пишут код. Как сказал препод, часть зала пришла на этот курс впервые, и сам он тоже попал на курс не из программистов. Неделя 0 может помогает освежить в памяти школьный материал?))
                                • UFO just landed and posted this here
                                  +1
                                  Я прошёл курс полностью, и могу вас уверить — через 4-5 лекций даже самые продвинутые студенты будут с трудом преодолевать problem-set'ы.

                                  Если потеряли интерес после первой лекции, пожалуйста, дайте Дэвиду второй шанс, и он вас обязательно заинтересует. Кроме того, со следующих лекции будет вместе с обычным набором задач ещё и hacker edition, где задачи чуть по-сложнее.

                                  По моему скромному мнению, это самый лучший курс по программированию, из всех что я проходил. А я прошёл > 30 ;)

                                    +1
                                    Ну, лови тогда мой вольный передел твоего About Me.: ))

                                    Hi there. My name is Vladimir and I’m a Python back-end developer for web-based distributed systems. This is my blog to write about Python, Java and other trending web-technologies and programming languages. Occasionally I may repost other articles that brought my attention and I’d like to share with you.

                                    If you are a potential employer you also may be interested to see a progress of my projects and notice software development courses I attend from leading universities.

                                      0
                                      Ох, спасибо друже!)
                                    +1
                                    После просмотра первой лекции мнение о курсе составлять рано ) Подождите чуть-чуть и сможете убедиться сами — материал курса очень насыщенный и совсем не простой. И только смотреть видео всё же недостаточно. Попробуйте выполнять предлагаемые практические задания. Уже на первой неделе кроме традиционного hello, world нужно будет написать программу рисующую пирамиду и программу, подсчитывающую количество монет для сдачи. На второй неделе реализуем шифры Цезаря и Виженера. На четвёртой — создаём игру на С, некоторые фрагменты уже предложены, но необходимо собрать их в единое целое и дописать недостающий код. На пятой неделе расшифровываем фотографию. На десятой — создаём собственное веб-приложение.
                                    Это действительно очень хороший и ни разу не примитивный курс. Пройдите его до конца и потом скажете изменилось ли ваше мнение по поводу его сложности.
                                    +1
                                    Курс — огонь! Интереснее сериалов :)
                                    Спасибище за перевод, смогу попробовать мотивировать смотреть тех, кто отказывался от просмотра, мотивируя это незнанием языка.

                                    Only users with full accounts can post comments. Log in, please.