Привет, Хабр!


Последние несколько месяцев мы в Хекслете работали над новыми курсами и обновлениями платформы. Сейчас на сайте доступно четыре "профессии", так мы называем последовательные программы обучения по разным направлениям, от новичка до джуниора. Одна из профессий окончена, а в остальных продолжают выходить новые курсы. Сегодня хочу рассказать про самое важное для нас сегодня направление — JavaScript, в частности профессию "Фронтэнд JS-программист".


Мы пошли не стандартным путем "hello world, сделаем форму, добавим анимацию, изучим ООП", а взяли за основу подход к изучению программирования в целом, а не конкретно языка JavaScript. Язык же используется как инструмент решения задач и применения изученных концепций и идей. При это мы изучаем свежий стандарт ES6 и с самого начала знакомим учащихся с правильным окружениям и техниками: модули, пакетный менеджер, отладка, модульное тестирование.


Вот как выглядит программа обучения:


  1. Жизнь программиста. Про профессию, виды компаний и виды разработки.
  2. Основы программирования. Фундамент: кодинг, ошибки, отладка, функции, побочные эффекты, типы данных. И, конечно, базовые штуки вроде чисел, строк, условий и т.д.
  3. JS: подготовка к работе. Установка и настройка окружения — node, npm, atom.
  4. JS: Составные данные. Как из простых типов данных составлять более сложные. Абстракция от чисел до объектов.
  5. Bash: Основы командной строки.
  6. JS: Последовательности. Пишем свой генератор HTML и изучаем filter, map, reduce.
  7. JS: Программирование, управляемое данными. Типы, сообщения, ООП и TDD.
  8. JS: Коллекции. Массивы, ассоциативные массивы, мемоизация, ленивые вычисления.
  9. JS: Прототипы. Реализация ООП в JS.
  10. JS: Обработка ошибок. Исключения. Работа над своей "файловой системой".
  11. JS: Алгоритмы. Структуры данных, сложность, Big O, P vs. NP.
  12. Reactjs: Начало. JSX, виртуальный DOM, компоненты.
  13. Протокол HTTP
  14. Linux: Пользователи

В курсах есть видео-уроки, практические упражнения и тесты. Первые три курса, а также курс по Bash — бесплатны и доступны всем.


Мы считаем, что настоящий программист должен понимать, как работает компьютер, и обладать абстрактным мышлением. Он должен видеть проблему, а не задание. Должен уметь анализировать и рассуждать на уровне проблемы и выше, а не только на уровне кода. Поэтому мы построили свою программу таким образом, что после завершения человек сможет с легкостью переключиться на другой язык или платформу, это будет для него вопросом знакомства с синтаксисом и правилами. Потому что на протяжении курсов он изучал в первую очередь программирование, а не язык программирования.


Другие обновления платформы


  • В дополнение к упражнениям внутри уроков мы добавили дополнительную практику.
  • Свое решение любого упражнения можно отправить на код-ревью. Его могут проверять и комментировать другие пользователи, учителя и менторы.
  • У нас появились менторы, которые будут помогать решать задачи, отвечать на вопросы и проводить код-ревью. Закрытое тестирование программы менторства недавно завершилось, и в ближайшие недели будет публичный релиз.
  • Готовятся к релизу "проекты" — полноценные самостоятельные задачи с разными уровнями сложности и помощью менторов.
  • Открыли Hexlet News — социальный агрегатор полезных ссылок для программистов.
  • На Хекслете уже 113 тысяч пользователей!

Такие дела.

Поделиться с друзьями
-->

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


  1. Quanzi
    31.08.2016 15:24

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


    1. kanekt
      31.08.2016 15:30
      +4

      Скорее всего это нужно для прохождения курсов, где AdBlock ломает какую-то функциональность.
      Такие проблемы есть и у HtmlAcademy.


    1. freetonik
      31.08.2016 15:31
      +5

      kanekt прав, у нас куча кастомного JS для упражнений и тестов, блокировщики их ломают :(


      1. mekegi
        01.09.2016 13:46

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


        1. taliban
          03.09.2016 14:33
          +1

          Если рекламы нет, то и в исключения можно добавить, это не сложно, сделать 3 клика мышкой.


      1. Dm4k
        08.09.2016 12:18

        А я вот добавил *.hexlet.io в исключения, а все равно вылазит это сообщение периодически. Что еще проверяется?


  1. smetdenis
    31.08.2016 18:33
    +1

    Очень нравится ваш подход. Отправляю к вам своих знакомых. Стонут, говорят вы думать заставляете, особенно в курсах про «пары» =)
    Какие вы еще планируете профессии в будущем? Например, DevOps или администрирование?


    1. stigory
      01.09.2016 09:17

      Курсы по базовым понятиям ОС, башу, ансиблю — чем вам не начало обучения админа или девопса?


      1. smetdenis
        01.09.2016 12:52

        Спасибо. Я видел эти курсы и даже прошел некоторые из них. По сравнению с другими пакетами (JS, PHP) этого конечно мало. Думаю у них все впереди.


  1. SoulSeiken
    31.08.2016 19:34

    На самом деле курсы не для новичков, они сложные. Особенно JS: Составные данные. Вообще ничего не понятно, какие то абстрактные данные, что, зачем, почему. Желание вообще отпадает учиться, но это мое мнение, что главная задача учителей это заинтересовать, а тут наоборот отбивает все желание изучать что-то. Во первых не интересно, во вторых когда узнаешь что тебе надо за этим сидеть годами для понимания, и набором навыков, то просто начинаешь откладывать на потом. А когда выходит еще вебинар с хх, где говорят фиг вы еще джуном работу найдете, а если найдете то в столице, и за смешную какую то зарплату, на которую просто не возможно жить. По этому я думаю в других школах по программированию и учат синтаксис, т.к это интересно, тебе показывают какие штуки можно крутые делать будучи программистом. А когда ты делаешь какую нибудь крутую штуку, ты сам уже и гуглишь, в алгоритмах разбираешься, потому что ты все в процессе, ты заинтересован. Не хочу обидеть учителей, классные курсы но я вот просто забросил после курса JS: последовательности.


  1. yveter
    31.08.2016 19:34
    +1

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


  1. alexhouse
    01.09.2016 04:56

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


  1. Hellarazor
    01.09.2016 21:07

    Пожалуй подпишусь.