Привет, Хабр!
Последние несколько месяцев мы в Хекслете работали над новыми курсами и обновлениями платформы. Сейчас на сайте доступно четыре "профессии", так мы называем последовательные программы обучения по разным направлениям, от новичка до джуниора. Одна из профессий окончена, а в остальных продолжают выходить новые курсы. Сегодня хочу рассказать про самое важное для нас сегодня направление — JavaScript, в частности профессию "Фронтэнд JS-программист".
Мы пошли не стандартным путем "hello world, сделаем форму, добавим анимацию, изучим ООП", а взяли за основу подход к изучению программирования в целом, а не конкретно языка JavaScript. Язык же используется как инструмент решения задач и применения изученных концепций и идей. При это мы изучаем свежий стандарт ES6 и с самого начала знакомим учащихся с правильным окружениям и техниками: модули, пакетный менеджер, отладка, модульное тестирование.
Вот как выглядит программа обучения:
- Жизнь программиста. Про профессию, виды компаний и виды разработки.
- Основы программирования. Фундамент: кодинг, ошибки, отладка, функции, побочные эффекты, типы данных. И, конечно, базовые штуки вроде чисел, строк, условий и т.д.
- JS: подготовка к работе. Установка и настройка окружения — node, npm, atom.
- JS: Составные данные. Как из простых типов данных составлять более сложные. Абстракция от чисел до объектов.
- Bash: Основы командной строки.
- JS: Последовательности. Пишем свой генератор HTML и изучаем filter, map, reduce.
- JS: Программирование, управляемое данными. Типы, сообщения, ООП и TDD.
- JS: Коллекции. Массивы, ассоциативные массивы, мемоизация, ленивые вычисления.
- JS: Прототипы. Реализация ООП в JS.
- JS: Обработка ошибок. Исключения. Работа над своей "файловой системой".
- JS: Алгоритмы. Структуры данных, сложность, Big O, P vs. NP.
- Reactjs: Начало. JSX, виртуальный DOM, компоненты.
- Протокол HTTP
- Linux: Пользователи
В курсах есть видео-уроки, практические упражнения и тесты. Первые три курса, а также курс по Bash — бесплатны и доступны всем.
Мы считаем, что настоящий программист должен понимать, как работает компьютер, и обладать абстрактным мышлением. Он должен видеть проблему, а не задание. Должен уметь анализировать и рассуждать на уровне проблемы и выше, а не только на уровне кода. Поэтому мы построили свою программу таким образом, что после завершения человек сможет с легкостью переключиться на другой язык или платформу, это будет для него вопросом знакомства с синтаксисом и правилами. Потому что на протяжении курсов он изучал в первую очередь программирование, а не язык программирования.
Другие обновления платформы
- В дополнение к упражнениям внутри уроков мы добавили дополнительную практику.
- Свое решение любого упражнения можно отправить на код-ревью. Его могут проверять и комментировать другие пользователи, учителя и менторы.
- У нас появились менторы, которые будут помогать решать задачи, отвечать на вопросы и проводить код-ревью. Закрытое тестирование программы менторства недавно завершилось, и в ближайшие недели будет публичный релиз.
- Готовятся к релизу "проекты" — полноценные самостоятельные задачи с разными уровнями сложности и помощью менторов.
- Открыли Hexlet News — социальный агрегатор полезных ссылок для программистов.
- На Хекслете уже 113 тысяч пользователей!
Такие дела.
Комментарии (13)
smetdenis
31.08.2016 18:33+1Очень нравится ваш подход. Отправляю к вам своих знакомых. Стонут, говорят вы думать заставляете, особенно в курсах про «пары» =)
Какие вы еще планируете профессии в будущем? Например, DevOps или администрирование?
SoulSeiken
31.08.2016 19:34На самом деле курсы не для новичков, они сложные. Особенно JS: Составные данные. Вообще ничего не понятно, какие то абстрактные данные, что, зачем, почему. Желание вообще отпадает учиться, но это мое мнение, что главная задача учителей это заинтересовать, а тут наоборот отбивает все желание изучать что-то. Во первых не интересно, во вторых когда узнаешь что тебе надо за этим сидеть годами для понимания, и набором навыков, то просто начинаешь откладывать на потом. А когда выходит еще вебинар с хх, где говорят фиг вы еще джуном работу найдете, а если найдете то в столице, и за смешную какую то зарплату, на которую просто не возможно жить. По этому я думаю в других школах по программированию и учат синтаксис, т.к это интересно, тебе показывают какие штуки можно крутые делать будучи программистом. А когда ты делаешь какую нибудь крутую штуку, ты сам уже и гуглишь, в алгоритмах разбираешься, потому что ты все в процессе, ты заинтересован. Не хочу обидеть учителей, классные курсы но я вот просто забросил после курса JS: последовательности.
yveter
31.08.2016 19:34+1Прохожу как раз этот курс с недавнего времени. Имея относительно небольшой практический опыт в Питоне и базовые сведения о JS, с функциональной парадигмой столкнулся впервые здесь, и по началу происходящее часто вызывало спазм мозгов и желание выругавшись вернуться к чтению «более понятных и логичных» гайдов. Однако ближе к середине курса оценил такой подход. Теория излагается вполне понятно и небольшими порциями, задачи порой заставляют надолго задуматься и достаточно жизненные и интересные, а вот квизы пока не очень зашли, но это уже мелочи. Такой вот фидбек.
alexhouse
01.09.2016 04:56Начал курс по React и на первом же задание вылезла ошибка в компиляции задания. Оказалось, что надо пошаманить еще и в других файлах проекта. Про это конечно же в задание упомянуть забыли.
Quanzi
Оффтоп, конечно, и, возможно, вы уже комментировали, но фраза на главной ~«у нас нет рекламы, но с включенным адблоком наш сайт работать не может» звучит дико подозрительно.
kanekt
Скорее всего это нужно для прохождения курсов, где AdBlock ломает какую-то функциональность.
Такие проблемы есть и у HtmlAcademy.
freetonik
kanekt прав, у нас куча кастомного JS для упражнений и тестов, блокировщики их ломают :(
mekegi
В мире много сайтов с кастомным JS — кои блокировщиком не ломаются. Может все же на своей стороне поправить чтобы не ломалось. Хотя бы для парочки самых популярных блокировщиков. Ибо это в ваших же интересах.
taliban
Если рекламы нет, то и в исключения можно добавить, это не сложно, сделать 3 клика мышкой.
Dm4k
А я вот добавил *.hexlet.io в исключения, а все равно вылазит это сообщение периодически. Что еще проверяется?