Самый полный русскоязычный перевод Гарвардского курса по программированию CS50 2015, бесплатно на YouTube +17



В этой статье я хочу немного рассказать о самом лучшем в мире курсе по программированию.

С 2013 года наша небольшая команда занимается переводом и адаптацией англоязычных видеокурсов. За это время мы перевели и адаптировали свыше 150 часов материала. Перед тем как приступать к работе, мы анализировали материалы нескольких обучающих онлайн-школ, и выбирали, на наш педагогический взгляд, самую лучшую, которая максимально доступно, структурированно и кратко подаёт обучающий материал. В результате чего нам приходилось просматривать по несколько курсов касающихся одной и той же тематики, а после выбирать тот, который наиболее качественный и доступный для понимания новичкам.

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

image

На данный момент с точки зрения нашей команды для начинающих программистов наилучшим является Гарвардский курс CS50. По ниже указанным ссылкам вы сможете найти самый полный русскоязычный перевод этого курса в одном месте.


Из нулевой недели вы изучите то, как, не зная ничего о программировании можно создать простое приложение используя программу SCRATCH, как компьютер понимает ваши команды и что такое ASCII, Алгоритмы и Бинарная нотация.


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

image


Просмотрев вторую неделю, вы узнаете о том, что такое массивы, метод Return или возвращение результата, область видимости, глобальные переменные, перенаправление, аргументы командной строки, шифр Цезаря, шифр Виженера и RSA.

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


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


Просмотрев пятую неделю, вы узнаете о том, что такое Valgrind и связные списки, а также, мы рассмотрим подключаемую к нашим программам библиотеку CS50.


Просмотрев шестую неделю, вы узнаете о том, что такое хеш-таблицы, очереди, деревья и рекурсивные деревья.


Просмотрев седьмую неделю, вы узнаете о том, что такое http, html, css и какие особенности синтаксиса у языка php.


Просмотрев восьмую неделю, вы узнаете о том, какие бывают специфические особенности в PHP веб-разработке, что такое PHP веб-сессии, IP и SQL.


Просмотрев девятую неделю, вы узнаете, что такое DOM, MVC и TCP.


Просмотрев десятую неделю, вы узнаете, что такое JavaScript и Ajax.

Получив все эти знания, вы сможете за достаточно короткое время стать программистом, очень быстро изучать новые языки программирования, и увеличивать свой скилл от уровня junior к уровню middle и senior.

P.S. В ближайшем будущем мы выложим на нашем канале курс по стартапам и бизнесу от Стэнфордского Университета с ведущими лекторами, которые создали такие компании, как PayPal, Facebook, WhatsApp, Airbnb, Pinterest, Xerox и т.д.

Вы можете помочь и перевести немного средств на развитие сайта

Теги:

php, программирование, css, html, javascript, C++, tcp, алгоритмы, java, c#, обучение, SQL, MVC, языки программирования, RSA, gdb, ajax, рекурсия, computer science, указатели, science, библиотеки, компиляторы, массивы, dom, HTTP, структуры, основы программирования, технологии, clang, циклы, scratch, деревья, программист, очереди, IP, сортировка слиянием, быстрая сортировка, условия, шифр, сортировка пузырьком, сортировка вставками, методы, переменные, ASCII, глобальные переменные, хеш-таблицы, cs50, cs50 на русском, гарвард, бинарный поиск, harvard, стили, компьютерные науки, область видимости, return, связные списки, сортировка выбором, Бинарная нотация, приоритетность, приведение типа, Булевые выражения, аргументы командной строки, асимптотическая нотация, линейный поиск, символьные строки, рекурсивные деревья, Дополнительные видео, видеокурс, CS50 на русском языке, David J. Malan, malan, computer, onlineuniver, david


Комментарии (23):

  1. JC_IIB
    /#19251969

    1. CS50 влегкую смотрится в оригинале…
    2.… но уже есть и перевод: habr.com/company/javarush/blog/303806
    3. Очень мало тегов к статье. Нужно больше.

    • jan17
      /#19252339 / +1

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

  2. pipyakin
    /#19253139

    Гарвардский университет откроет кафедру гомосексуальных дисциплин
    Это их потолок.

  3. alz72
    /#19259205

    Глянул первые 4 видео, первые два коротких ролика объясняют разницу между 10-чной и двоичной системами исчисления. Для 5-6 класса средней школы очень даже ничего. Далее 2 лекции на 2 часа с рассказом что же такое алгоритм, и средой программирования для детей SCRATCH ...


    Для детей и общей эрудиции пойдет, но программистом после этого курса точно не станешь !

    • jan17
      /#19259721

      Я категорически с Вами не согласен. По окончанию этого курса человек становится junior программистом, с потенциальной возможностью в течении года-полтора стать middle программистом.

      Этот курс придерживается педагогической логики от простого к сложному, поэтому он имеет очень низкий порог вхождения, который могут преодолеть даже ученики начальной школы. Однако с каждой неделей этот порог становиться всё выше и выше. Если Вы нашли лёгким SCRATCH, то попробуйте свои силы с декодированием изображений. Основная цель этого курса показать людям, что программирование не область только для «умников» из математических классов или зубрил из физмата и так далее, а обычный инструмент, которым может овладеть каждый, кто этого захочет сделать. Программирование ничем не сложнее других профессий, а иногда даже и намного легче. Кроме того, этот курс дает не только фундаментальные знания о программировании начинающим программистам, но также заполнить пробелы в образовании или знаниях программистов, которые уже имеют опыт.

      • alz72
        /#19260007

        По окончанию этого курса человек становится junior программистом

        Нет — не становится, даже джуниором, ибо базы ноль. Как только он поднимется чуть выше то ему не хватит ни знания булевой алгебры, ни теории графов, ни знания той же модели OSI ну и т.д.

        • u010602
          /#19260091

          Этого даже многие «синьоры» не знают, и самое главное УСПЕШНО выполняют свои обязанности.

          • alz72
            /#19260227

            Этого даже многие «синьоры» не знают

            дальше можно не читать, спасибо — повеселили :-), про паттерны программирования я даже уже и упоминать боюсь :-)

        • jan17
          /#19260485

          Нет — не становится, даже джуниором, ибо базы ноль.

          Можете подсказать как вы обходитесь в своей профессиональной деятельности (программировании) без переменных, методов, условий, циклов, библиотек и других понятий, которые рассматриваться в этом курсе?

          • JC_IIB
            /#19260521

            Ладно, поменяю немного коммент, а то могут не так понять.

            без переменных

            методов

            циклов

            Без всего вышеперечисленного можно прекрасно обойтись. Особенно — без переменных, они вредные :)

          • alz72
            /#19261289

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

            А зачем себя ограничивать? Хотя если вопрос стоит как "могли бы Вы обойтись без всего вышеперечисленного", то да — мог бы с помощью: — лямбды, маппинга на словарь,nuget ну и т.д.

      • alz72
        /#19260029

        Основная цель этого курса показать людям, что программирование не область только для «умников» из математических классов или зубрил из физмата и так далее, а обычный инструмент, которым может овладеть каждый, кто этого захочет сделать

        Ваши слова с равной степенью относятся и к математике, в ней так же нет ничего сложного в принципе, и ей так же может овладеть каждый кто реально этого захочет ;-)

        • u010602
          /#19260097

          Именно так, и кто больше всего использует математику? Профессор математики или бухгалтер? А кого в мире больше профессоров или бухгалтеров? А кто больше валового продукта производит? Так что тогда есть «настоящая математика»?
          На программирование сами сможете перенести?
          Какой программист настоящий? Тот что сайты на пхп пишет и апстор наполняет, или тот, что использует теорию графов?

          • alz72
            /#19260229

            Именно так, и кто больше всего использует математику?

            Если я правильно понимаю развиваемую мысль — то кассир на кассе и "кавказец" на рынке :-)

            • u010602
              /#19260983

              Именно так. Образование это продукт, так-же как и прочие. Если человек хочет «стать программистом», то скорее всего он хочет писать обычный софт за обычные деньги. Именно это и должно давать обычное образование. А для тех, кто хочет выше, есть адвансед курсы.

              спасибо — повеселили :-)

              ну даже не знаю что и ответить ...

              Конечно, ни какой другой реакции у вас и быть не может. У вас просто неверная модель мира и рынка труда. Советую более детально изучить рынок труда, не под себя любимого, а в целом. Каких вакансий и за какие деньги больше всего в мировом масштабе. Какой тип софта больше всего строк кода СУММАРНО содержит. Я уж молчу, про то, какие открытия вас ждут, когда вы начнете других людей собеседовать.

              Могу сказать, что ни один раз на моей практике, человек который не знает теорию графов и О БОЖЕ! паттерны, работал лучше, чем дипломированный специалист со знанием модных технологий. Талант нельзя подменить модными знаниями, а писать продукт, который работает, в срок, без багов, и что-б другие могли поддерживать — это талант. К сожалению ни теории ни паттерны ни как не помогают, а может даже и вредят в некоторых случаях. «Астронавт от архитектуры» это горе для проекта.

              • alz72
                /#19261255

                ну так вот если вы попробуете пособеседоваться на мировом рынке труда — то мгновенно увидите что чтобы


                писать обычный софт

                оказывается и паттерны нужны, и код должен быть "чистым", да и вообще "модные технологии" не дураки придумали.


                писать продукт, который работает, в срок, без багов, и что-б другие могли поддерживать — это талант. К сожалению ни теории ни паттерны ни как не помогают, а может даже и вредят ...

                Все — у меня вопросов более нет :-), удачи в поиске гениев, а мы уж как-нибудь по старинке, обычными людьми, просто используя наработанный мировой опыт ;-)

  4. YuryZakharov
    /#19259643

    Скажите, а зачем переводить курсы по программированию?

    • alz72
      /#19260023

      Ибо один из основных навыков программиста — это английский язык :-)

      • u010602
        /#19260149

        Во-первых эти навыки можно получать одновременно. Во-вторых английский нужен для чтения технической литературы, это не то-же самое что устная речь. В третьих, когда ты умеешь программировать, то из английского остаются только предлоги, соединяющие термины. А осваивать незнакомую область на иностранном языке — намного сложнее.
        Итого освоить этот курс на английском сможет только филолог, а молодой и начинающий технарь — нет.

        • alz72
          /#19260233

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

      • jan17
        /#19260535

        Скажите, а зачем переводить курсы по программированию?

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

        • altrus
          /#19261121

          Тогда разделяйте программирование для себя, и коммерческое, от результатов которого зависит что-то важное

  5. altrus
    /#19260039

    Youtube убивает манюалы…