GrabDuck

Курсы JavaScript

:

Добрый день!

Здесь находятся "правильные" курсы по профессиональному JavaScript, цель которых - научить думать на JavaScript, писать просто, быстро и красиво.

Основные особенности курсов:

Качественные
Это самое главное. Мы изучаем разработку на профессиональном уровне.
Дистанционные
На практике это оказывается удобнее, чем очные курсы.
Обратная связь и поддержка
На курсе вы решите множество задач, учебных и из реальной жизни. Эти решения мы будем обсуждать, вы получите советы по развитию именно для вас.
Ориентация на результат
Цель курсов - получить конкретные результаты в плане знаний и умений. Ваша практика обязательна.
Гарантия
Репутация – прежде всего. Здесь действительно хорошие, правильные курсы. Этому есть и очень конкретные гарантии, описанные на этой странице.

Для освоения необходимо регулярное участие в занятиях.

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

Курсы работают совсем по другой методологии.

На этой странице вам не предлагается ничего "скачать" (даже за деньги). Это не видеокурс, а онлайн-курс, смотреть здесь нечего, нужно участвовать.

Для участников курса есть гарантия, что курс действительно хороший. Детали смотрите далее.

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

Начиная с 2007 года вёл мастер-классы для опытных разработчиков, в которых участвовали, в том числе, сотрудники ведущих IT-компаний России и Украины. Информацию о них вы можете найти здесь.

С января 2011 года открыты эти курсы.

В интернет есть много различных курсов, но, к сожалению, большинство из них не выдерживают никакой критики. Скорее всего, вы и сами понимаете это, а если нет – спросите знакомого специалиста, он подтвердит.

Курсы, которые находятся здесь - эффективны и не похожи ни на один из них.

  • Цель - полноценная профессиональная разработка. Курс идёт с расчетом на современную разработку уровня мировых стандартов. Это немного другой уровень, чем "кнопка на коленке", и другой подход к знаниям. Понятно, что "гуру" шлифуют мастерство годами, но мы можем достаточно сильно продвинуться и научиться грамотной разработке за время курса. Для участников "с нуля" существует вводный видеокурс, который позволяет освоить самые базовые моменты заранее.
  • Курс построен на примерах и задачах. Программировать - это как плавать, одной теории маловато, нужна практика, и чем больше - тем лучше. Значит – много примеров и задач. Ведь умение их решать, основанное на понимании и прямых руках - и есть реальная цель.
  • Правильное понимание языка. JavaScript – особенный язык. Если взять все часы "среднего" JavaScript-разработчика, потерянные на вопросы на форумах, на отладку кривого кода... То важность этого становится очевидной.
  • Актуальность... То, как делаются современные проекты, а не как это было 5 лет назад.
  • Качество кода - это важно, т.к. большинство времени тратится не на изначальное написание кода, а на его развитие и поддержку. На курсах ему уделяется особое внимание.
  • Непрерывная обратная связь - на любые вопросы вы получаете ответы, на ваши решения - грамотный ответ, можно ли так писать и когда возможны проблемы.

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

  • У вас на руках будут лекционные материалы для изучения и выполнения заданий.
  • Ваши вопросы, результаты выполнения заданий, способы сделать лучше и правильнее мы обсуждаем при видео-общении онлайн.

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

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

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

Курсы JavaScript - мощный и быстрый способ обучения. При полноценном участии они гарантируют актуальные, глубокие знания.

Наша цель - не просто выучить, какие есть функции. Да, методы знать нужно, но главное - уметь "думать на javascript" и разрабатывать понятный, хороший код, без ошибок и с правильной структурой.

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

Ниже находится классическая "пирамида обучения". Слева указаны полученные в результате исследований средние проценты усвоения знаний. Четыре верхние ступени относятся к индивидуальному обучению. Три нижние — к групповому и, в частности, курсам.

Пирамида обучения

«Пирамида обучения» (кликабельно)
© National Training Laboratories, USA

На текущий момент в курсах уже участвовало более 1000 человек. Могло бы быть гораздо больше, но моя цель - не количество, а качество. Группы веду только я один, мест в них не так много.

Все участники как и вы, имеют доступ к гугл, книгам и javascript.ru. Но каждый имеет право на лучшее, они выбрали поход на курсы и, похоже, не пожалели.

Курсы - это вложение в себя. Это усилия, которые позволят быстро продвинуться. А где вы хотите быть через несколько месяцев/лет?

Может быть, имеет смысл level up?

Забавный совет, который дают многим начинающим, такой: "читай книги, иди работай, пиши скрипты и научишься". Он отчасти правилен - действительно, нужно разрабатывать, получать опыт.

Но вот что касается "научиться" - на практике все не так просто. Люди могут работать долго, но качество кода при этом не всегда растёт.

Это и видно, мы все знаем, что компаниям нужны результаты. Им нужны хорошие разработчики, очень нужны. В современном интернет всё решают люди. За них постоянно идет борьба. На поиск выделяются ресурсы, деньги...

Если бы люди быстро вырастали в процессе работы - не было бы огромных трат ресурсов на поиск разработчиков.

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

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

Предварительные требования: знание основ HTML/CSS.

Этот курс - для тех, кто либо не разрабатывал на JS, либо разрабатывал на нём эпизодически и теперь хочет освоить профессионально.

Если вы отлично освоили учебник и уже замечательно создаете интерфейсы или имеете большой опыт в JS-разработке, руководите командой JS-разработчиков, то именно этот курс не для вас.

Бывают некоторые другие курсы, но группы там небольшие, поэтому на этой странице информации о них нет, объявление о группе со всеми деталями идёт в рассылку, на которую можно подписаться ниже.

Курс состоит из трёх частей:

  1. Первая часть позволяет хорошо разобраться в языке JavaScript, получить знания и навыки написания хорошего JavaScript-кода, ООП-разработки, пока что на чистом JavaScript.
  2. Вторая часть позволяет научиться работать со страницей и посетителем, создавать интерфейсные компоненты с использованием ООП и DOM.
  3. Третья часть - это более высокий уровень, она включает в себя организацию и сборку проекта, архитектуру сложных интерфейсов, обзор современных фреймворков с деталями их внутренней работы и выбора, в зависимости от задач.

Большое внимание на этом курсе уделяется стилю кода. Это важно. Хороший стиль кода позволяет писать более быстро, красиво и делать меньше ошибок. А на серьёзных проектах он просто необходим.

Результат обучения:

  1. Вы хорошо знаете JavaScript, свободно разрабатываете и отлаживаете программы на этом языке.
  2. Вы умеете организовать JavaScript-проект, шаблоны и стили в файлах на диске в удобную структуру, собирать и оптимально подключать их к странице.
  3. Ваши интерфейсы работают стабильно, без глюков, их можно удобно дорабатывать и развивать.
  4. Мы идём от основ и до довольно-таки сложных штук. Успешное прохождение обучения гарантировано в том случае, если вы будете регулярно заниматься и делать домашнее задание.

Основные темы первой части курса:

  1. Основной JavaScript.
    Здесь мы изучим сам язык, его конструкции и особенности, которые позволяют "разговаривать" на JavaScript коротко, понятно, а главное - без ошибок.
    • IDE, настройка, полезные приёмы использования, средства для автопроверки кода.
    • Основные структуры данных, работа с числами, строками, датами, массивами, объектами.
    • Инструменты разработки, отладка в браузерах.
    • Автоматизированное тестирование, инструменты и их применение.
  2. Более глубокое понимание языка.
    Чтобы писать хороший код, а также грамотно пользоваться современными фреймворками, мы изучим JavaScript лучше, включая тонкости и продвинутое применение языковых конструкций.
    • Замыкания и их грамотное применение.
    • Внутреннее устройство движка JavaScript.
    • Контекст this в деталях.
    • Форвардинг, одалживание и делегирование функций.
    • Прототипы, классы, прототипное и функциональное ООП, детали использования.

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

Вторая часть курса:
  1. Документ, генерация интерфейса.
    Здесь мы учимся работать с документом, решать всевозможные задачи в браузере.
    • Внутреннее устройство браузера, оптимальная организация страницы со скриптами.
    • Дерево DOM, особенности разработки в современных браузерах с отмирающей, но иногда нужной поддержкой старых.
    • Динамическая генерация интерфейса - методы DOM, их грамотное использование.
  2. События, взаимодействие с посетителем.
    • Основы и тонкости работы с различными событиями для решения основных интерфейсных задач.
    • Drag'n'Drop, по окну и внутри элемента
    • Паттерн "делегирование", оптимизация производительности и архитектуры, чтобы интерфейсы не тормозили.
    • Объектно-ориентированная разработка, компонентная архитектура с использованием ООП, событий и DOM.

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

Третья часть курса:

  1. Фреймворк jQuery, его важные тонкости и правильное использование.
  2. Архитектура сложных интерфейсов.
  3. Node.JS как средство запуска полезных утилит.
  4. Шаблонизация, организация шаблонов и кода в файлах, автоматизированная сборка проекта.
  5. Обзор AJAX-технологий и фреймворков (Backbone/Marionette, Angular.JS, React.js), куда двигаться дальше.

В результате окончания третьей части вы, если конечно делали домашнее задание все это время, можете создать и поддерживать современный JS-проект и понимаете, как развиваться далее.

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

Технические требования:
  • Windows или Mac поддерживаются полностью.
  • Под Linux доступно участие онлайн, но для просмотра скачиваемых видео-лекций рассмотрите вариант Dual Boot в Win/MacOS.
  • Онлайн-общение требует интернет 256kb/s или быстрее.
Ещё детали:
  • За неделю до начала курса высылается инструкция, а также вводный видео-курс.
  • Дополнительно к курсу есть одно занятие, которое является собранием. Оно посвящено организационным и техническим деталям обучения, установке и проверке доступа к видео и чату. Вы получите напоминание про него.
Информация выше является предварительной! Программа курса постоянно дорабатывается, конкретные детали для конкретной группы публикуются в рассылке при открытии записи.

Стоимость обучения - 26000 рублей.

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

За это время мы планируем освоить очень многое.

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

  1. До начала курса вы получаете вводный видео-курс.

    К основному курсу необходимо с ним ознакомиться. Там раскрыты самые базовые темы, которые можно дать в таком формате. Это введение нужно, чтобы мы на занятиях не разбирали ну уж совсем простые темы (но вы сможете задавать вопросы по ним, если будут, в том числе и до начала курса).

  2. Далее, к каждому занятию выдаются материалы для освоения и задачи. Если это текст - читаете, если видео - смотрите в удобное для вас время. Делаете задачи.
  3. Мы встречаемся два раза в неделю онлайн, я рассказываю важные и тонкие моменты, на которые следует обратить внимание в материале (простые вы изучили по лекциям дома), вы задаете вопросы, показываете решения. Мы смотрим, как можно сделать лучше. Продолжительность 1.5 часа, может быть меньше или больше, в зависимости от темы и количества вопросов.

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

Всем участникам курсов, независимо от пола, возраста, ориентации и религиозной принадлежности...

Гарантия:

  • Если объяснения будут вам непонятны,
  • Если курсы не дадут вам новых знаний и умений,
  • Если вы не сможете подключиться к системе онлайн-обучения

..то вы сможете получить деньги назад.

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

Записаться "абы когда" не получится.

Так как курсы веду только я, и обучение включает в себя обратную связь, обсужения, ответы на вопросы, то размер группы ограничен и, по опыту, составляет 20-35 человек. Это то количество, для которого я могу обеспечить качественное обучение.

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

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

Запросить уведомление об открытии записи вы можете в новом движке сайта, на странице https://learn.javascript.ru/courses/js.

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

Иногда бывает так, что запись открывается и на сайте.

Но в наиболее удобные по времени группы все места уходят через уведомления.

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

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

А это все правда? Действительно ли курсы такие хорошие?
Вам решать.

Здесь нет курсов по HTML/CSS/PHP/Photoshop и прочему разному.

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

Какие есть способы оплаты? Можно ли от организации?
Все основные способы предусмотрены. Есть оплата через банк, Webmoney, банковской карточкой.

Можно участвовать от компании и оплачивать через счет, в этом случае документы будут на странице заказа. Подписанные документы могут быть присланы в виде сканов или по почте.

Выбор способа оплаты - в процессе оформления.

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

Никакое "скачать" этого не заменит. Это просто не то, чем я здесь занимаюсь.

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

Кривая обучения растёт постепенно, сначала медленнее, потом быстрее, так что если полноценно участвовать, то всё у всех получается.

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

Спасибо за письмо об открытии записи, а будут ли места через неделю?
Этот вопрос в различных вариациях я получаю уже после того, как отослал уведомление о записи.

Здесь всё просто - наличие мест от меня не зависит. Бывает очень по-разному. Бывает и постепенное заполнение за неделю-две, а бывает и какая-нибудь компания сразу пол-группы своими сотрудниками займёт.

Тем не менее, практика показывает, что в течение первых 3-5 дней после открытия записи места обычно есть (обычно! зависит не от меня!).

Планируются ли дополнительно курсы по ...? Когда?
Важно понимать - это действительно большой и серьёзный курс. То есть, после его окончания, если вы полноценно участвовали, вам не нужно тут же идти на какую-то "2-ю ступень".

Курсы, о которых действительно может быть вопрос - это конкретные фреймворки и технологии.

Сейчас проводится курс по современному Node.JS. Бывают курсы и по другим технологиям, но редко. Уведомления об этом идут в рассылку с конкретной программой, которая меняется от курса к курсу.

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

Для быстрой связи можно также писать мне на email: mk@javascript.ru (проверяется регулярно), а если совсем срочно - звонить по телефону +7-903-5419441.

-----
С наилучшими пожеланиями,
Илья Кантор
http://javascript.ru