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

С 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 и т.д.

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


  1. JC_IIB
    18.10.2018 17:47

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


    1. jan17 Автор
      18.10.2018 19:08
      +1

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


  1. pipyakin
    18.10.2018 22:54

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


  1. alz72
    20.10.2018 12:26

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


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


    1. jan17 Автор
      20.10.2018 16:18

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

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


      1. alz72
        20.10.2018 18:43

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

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


        1. u010602
          20.10.2018 19:32

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


          1. alz72
            20.10.2018 20:50

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

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


        1. jan17 Автор
          20.10.2018 22:31

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

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


          1. JC_IIB
            20.10.2018 22:43

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

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

            методов

            циклов

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


          1. alz72
            21.10.2018 09:26

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

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


      1. alz72
        20.10.2018 18:52

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

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


        1. u010602
          20.10.2018 19:38

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


          1. alz72
            20.10.2018 20:51

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

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


            1. u010602
              21.10.2018 01:44

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

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

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

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

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


              1. alz72
                21.10.2018 09:04

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


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

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


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

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


  1. YuryZakharov
    20.10.2018 15:47

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


    1. alz72
      20.10.2018 18:48

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


      1. u010602
        20.10.2018 20:03

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


        1. alz72
          20.10.2018 20:53

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


      1. jan17 Автор
        20.10.2018 22:48

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

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


        1. altrus
          21.10.2018 05:58

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


  1. altrus
    20.10.2018 19:00

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