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

Следите за нашими анонсами. Дальше будет еще интереснее!
Поделиться с друзьями
-->

Комментарии (29)


  1. MaxQjust
    27.07.2016 10:52
    -2

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


    1. tangro
      27.07.2016 11:01
      +2

      Ну а я, например, противник гравитации в 1g на нашей планете — мне очень хотелось бы чтобы было 0.5g. Это ведь не меняет того факта, что надо как-то жить при 1g. Так и с ракетами — можно быть пацифистом, можно не быть, но ракеты, их ПО и баги в нём были, есть и будут. А значит их можно рассматривать, как и любые другие баги.


    1. asd111
      27.07.2016 11:41
      +2

      Ракеты выводят спутники на орбиты. Это ведь благо. Кроме ракет есть ещё марсоходы, спутники, автомобили на автопилоте и т.п. гражданские виды техники с высокой ценой ошибки программиста и с огромной пользой когда всё сделано правильно.


      1. andybelo
        27.07.2016 15:51

        Если в аппаратуре одно звено выходит из строя и вся работа идёт на смарку, то эта техника спроектирована неверно. У нас в ТЗ так и писали так: «выход одного (двух, трёх и т.д.) элементов не должен выводить технику из строя».
        Уверен, что в Америке точно так же.


    1. ciiccii
      28.07.2016 01:15

      Поддерживаю! Мне бы хотелось чтобы в лицензиях типа GPL был введён пункт на запрет использования продуктов для любых военных целей. Жаль, что это никому не нужно.

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


      1. Akter
        28.07.2016 11:56

        Когда идёт война и на кону жизни людей, вряд ли кого-то остановит нарушение лицензии.


  1. tangro
    27.07.2016 11:16
    +1

    Стала интересна статистика просмотров перевода CS50 на русский и украинский языки.
    По русскому переводу от JavaRush, первые 4 лекции, просмотров: 72778, 34820, 17892, 9970
    По украинскому переводу от Prometheus, первые 4 лекции, просмотров: 76313, 34210, 12359, 6719.

    Интересны два момента:
    1. После каждой следующей лекции зрителей остаётся примерно в 2 раза меньше.
    2. В Украине, с учётом количества населения в стране, курсом интересуются примерно в 3.2-3.5 раз больше.


    1. DenisKostyanets
      27.07.2016 11:41
      +1

      Оба Ваши момента весьма сомнительны.
      1. Я например качаю лекции и смотрю когда нахожусь в дороге
      2. Количество населения в стране не влияет на количество интересующихся программированием. А так же жители Украины могут смотреть и русскоязычную версию.


      1. tangro
        27.07.2016 23:14

        1. Можно предположить, что люди, использующие разные способы просмотра есть везде. Если взять один из каналов (ютюб) и сравнить количество его пользователей — с некоторым приближением мы можем говорить и об общей картине.

        2.

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

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


    1. JavaRush
      27.07.2016 11:45
      +3

      Вы посмотрите дату публикации лекций на Prometheus и дату публикаций лекций от JavaRush. Русскоязычная версия за месяц набрала столько же просмотров, чем версия на украинском языке за длительный период времени.

      А до лекции 3, 4 и 5 еще не все дошли. Поэтому, на этих видео просмотров еще не много.


      1. algot
        27.07.2016 16:13

        Я начал смотреть их на украинском еще в апреле. Сейчас только закончил ДЗ первой недели и начал смотреть вторую. Так что падение просмотров не обязательно означает, что люди ушли навсегда.


      1. tangro
        27.07.2016 23:15

        Тенденция двукратного падения просмотров с каждой новой лекцией всё-равно есть, как ни крути.


        1. JavaRush
          28.07.2016 10:45

          Это скорее отложенный эффект. Люди не смотрят 5 лекций подряд. Кроме того, после каждой видео лекции, есть довольно много дополнительных материалов и немало практических заданий, которые нужно сделать.

          Говорить о двухкратном падении просмотров не совсем корректно. Прошло слишком мало времени и большенство банально не успевает так быстро все проходить.


    1. oldbie
      27.07.2016 12:46

      Курс от Prometheus постарше. И это, кстати, именно курс на специализированной площадке, а не ролик на ютубе.


    1. IrinaInina
      28.07.2016 10:59

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

      Но ещё интересней результаты — какая часть тех, кто зарегистрировался на курс, его закончили и получили сертификаты. Жаль, что этими результатами организаторы курсов делятся очень неохотно. Единственная статистика cs50, которую удалось найти: 150 тысяч студентов зарегистрировалось, 1482 закончило финальный проект.


  1. JavaRush
    27.07.2016 12:04
    +1

    **Вы посмотрите дату публикации лекций на Prometheus и дату публикаций лекций от JavaRush. Русскоязычная версия за месяц набрала столько же просмотров, что и версия на украинском языке за длительный период времени.

    А до лекции 3, 4 и 5 еще не все дошли. Поэтому, на этих видео просмотров еще не много.


  1. necelentano
    27.07.2016 12:54

    Спасибо за русскоязычную версию курса.
    Надеюсь, после этого курса, Вы побалуете нас еще чем то интересным.


  1. hamnsk
    27.07.2016 15:49

    сегодня на оф сайте у них смотрел ссылки на лекции на ютубе, там есть субтитры на русском


    1. JavaRush
      27.07.2016 15:50
      +2

      Да, только они переведены через Google Translate и очень кривые.

      Поэтому переводчиками приходится переводить все с нуля.


  1. GarryC
    27.07.2016 16:00

    Я занимаюсь программирование на С уже более 30 лет и вполне проффесионально, но не могу с уверенностью утверждать, что мне известно:
    " Что такое компилятор, как он устроен в C (в общих чертах, разумеется).
    плейсхолдеры.
    Деление по модулю.
    Баги и к чему они приводят."
    Как я рад за слушателей столь чудесного перевода столь восхитительного курса, который все это узнают уже по окончание второй недели занятий. Жаль, что вся жизнь потеряна.


    1. safari2012
      27.07.2016 17:05

      да ладно, 30 лет всего-то. всё ещё впереди! :)


  1. Wayfarer15
    27.07.2016 20:33

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

    Кто-то скажет, что это «Основы программирования», но ещё раз, это Гарвард, а не школьный курс информатики обычной средней школы. Хотя будь у нас в школе или УПК именно таким образом поданный курс, это было бы идеально…


    1. igorek_uk
      27.07.2016 21:45

      Ну наверно в Гарварде не только программистов обучают, которые «с 10 лет» пишут код. Как сказал препод, часть зала пришла на этот курс впервые, и сам он тоже попал на курс не из программистов. Неделя 0 может помогает освежить в памяти школьный материал?))


      1. andybelo
        27.07.2016 22:07

        AMD подтвердила сотрудничество с Samsung в области 14-нм производства, это всё что вам нужно знать про бесплатные курсы.


    1. ErhoSen
      27.07.2016 23:12
      +1

      Я прошёл курс полностью, и могу вас уверить — через 4-5 лекций даже самые продвинутые студенты будут с трудом преодолевать problem-set'ы.

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

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


      1. Wayfarer15
        28.07.2016 00:43
        +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.


        1. ErhoSen
          28.07.2016 22:33

          Ох, спасибо друже!)


    1. IrinaInina
      28.07.2016 11:12
      +1

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


  1. aezhko
    28.07.2016 01:53
    +1

    Курс — огонь! Интереснее сериалов :)
    Спасибище за перевод, смогу попробовать мотивировать смотреть тех, кто отказывался от просмотра, мотивируя это незнанием языка.