Привет. Если ты читаешь эти строки, то подтверждаю, что это уроки Java. Курс просто напичкан практикой (1200+ практических задач) и рассчитан на взрослую аудиторию. Я ненавижу скучные лекции, поэтому JavaRush сделан в виде онлайн-игры (квеста).
Тебе приходилось играть и прокачивать персонажей? Иногда сам не замечаешь, как втягиваешься, да? Догадываешься, куда я клоню? В JavaRush тебе тоже придется прокачивать персонажа. С 1-го уровня до 40-го. Пройдешь весь курс - станешь крутым Java-программистом.
Пройдешь 40 уровней – сможешь устроиться на работу Java Junior. Хотя есть индивидуумы, которые уже на 20-м уровне нашли себе работу. Потому что в JavaRush много практических задач. Очень много.
События игры разворачиваются в далеком-далеком будущем, в 3017-ом году, где люди живут на Земле вместе с роботами, и любой может путешествовать по космосу.
Однажды один космический корабль разбился на неизвестной планете…
Предыстория
Команда Galactic Rush потерпела крушение на неизвестной планете. При падении корабль врезался в гору и оказался почти полностью засыпан обломками скалы. Несколько дней ушло на тщетные попытки освободить корабль. Экипаж потерял всякую надежду вернуться домой и начал обживаться на новом месте…
Неделю спустя Элли, штурман корабля, случайно обнаружила, что планета населена… тысячами диких роботов! Они бы могли помочь разобрать камни и освободить корабль. Но они очень примитивны и тупы - у них нет никаких навыков. Они даже камни таскать не умеют. Что было бы очень кстати.
Научный глава экспедиции, Профессор Нудлс, потом вспоминал:
- Через несколько дней я нашёл выход. Я додумался взять прошивку робота Диего, члена нашего экипажа, переделать её на прошивку каменщика и загрузить диким роботам.
Но неудачи, казалось, преследовали нас. После небольшого исследования выяснилось, что у роботов нет разъёма для загрузки прошивки. У них вообще не было никакого разъёма для перепрошивки!
Билаабо, единственный инопланетянин в составе экипажа, вспомнил, что когда-то на своей родной планете видел робота, который знал программирование. И не просто знал, а сам правил баги в своей собственной прошивке.
Именно в этот момент меня посетила гениальная идея. Ведь когда-то давно я научил одного способного робота программированию на Паскале.
Я приказал поймать самого талантливого молодого робота и обучить его программированию на Java. Умея программировать, он смог бы написать себе любую прошивку и помочь нам!
В общем, мы поймали один сообразительный экземпляр. Диего предложил назвать его Амиго, в честь своего брата, которого никогда не имел.
Я предложил Амиго металлические бусы за каждый месяц обучения, и десять долларов в год за последующую работу по устранению завала. Дикарям и этого много, ведь мы бесплатно занимаемся их просвещением.
Диего потом напишет в своих мемуарах:
Я был возмущён таким неприкрытым грабежом моего собрата, но вся команда стала на сторону профессора и Риши. Конечно же, я согласился (для вида) и предложил помочь научить Амиго. Хе-хе! Тем более, что никто не может обучить робота лучше, чем другой робот.
Все так сильно обрадовались моей уступчивости, что тоже решили принять активное участие в обучении Java робота Амиго.
Ты начинаешь с первого уровня. Твоя задача – прокачать Амиго до 40 уровня. Но давай начнем с малого. Для начала дойди до второго уровня . Может быть тебе так понравится, что ты не заметишь, как пройдешь курс и пойдешь работать;)
А теперь давай перейдем к обучению с нуля - жми на кнопку «Открыть следующую лекцию…» .
Паттерны (patterns, шаблоны) представляют собой консистенцию некоего опыта, пригодную для повторного использования. В курсе рассматривается набор GoF-паттернов, применяемых при реализации архитектурных решений на любом объектно-ориентированном языке программирования.
В курсе рассматривается понятие рефакторинга как способа предотвращения распада программы; различные признаки плохого кода (smells), требующего рефакторинга; описывается, какой именно рефакторинг наилучшим образом подходит для той или иной ситуации и его механика. Во время обучения слушателями выполняется рефакторинг программы на Java®.
Курс посвящен использованию JDBC API – интерфейса доступа к СУБД из Java-приложений. Слушатели изучат, как применять JDBC API для доступа к реляционным базам данных, для выполнения SQL-запросов, использования транзакций, создания заранее подготовленных и параметризованных SQL-запросов, вызова и получения результатов хранимых процедур, а также использования метаданных.
В рамках курса слушатели получат практические навыки разработки XML based web services на базе платформы Java® SE 7, узнают об основных концепциях технологии XML based web services, стандартах и рекомендациях, регламентирующих данную технологию, важности тех или иных инициатив в среде разработки веб-сервисов. Данный курс не предусматривает рассмотрение сторонних фреймворков и реализаций стека протокола SOAP.
В данном курсе слушатели получат базовые знания и навыки, которые позволят им заниматься разработкой на платформе Java® SE 7. Рассматриваются основы объектно-ориентированного программирования, использование UML для проектирования архитектуры приложений, а также основы использования языка Java® (типы языка, операторы, классы, пакеты, исключения). Предлагается большое количество практических упражнений.
На курсе слушатели получат расширенные знания об использовании системных библиотек Java®, о работе с коллекциями Java®, работе с потоками ввода-вывода, использовании многопоточного программирования, основ построения GUI, аннотаций, использовании логгирования и механизмов Reflection. Предлагается большое количество практических упражнений и задач. Курс освещает разделы, рекомендованные к изучению для сдачи популярных сертификационных экзаменов по Java®. Однако подготовка к сертификации и сдаче экзамена не являются целью курса.
На данном курсе слушатели узнают о технологии распределенных вычислений с использованием технологий JEE (Java Enterprise Edition), включая использование EJB, внедрение зависимостей CDI, работу с базами данных через технологию JPA и работу с брокерами сообщений на базе технологии JMS. Курс построен на сервере WildFly (JBoss) как самом популярном сервере приложений в настоящее время. Однако, знания могут быть применены к любому серверу, отвечающему спецификации JEE (WebSphere, WebLogic и т.д.).
Курс даст слушателям представление о Spring Security Framework – библиотеке для обеспечения безопасности в проектах, разрабатываемых с использованием Spring Framework. Слушатели узнают, как использовать Spring Security для построения защищенных корпоративных JavaEE-приложений. Курс содержит подробную информацию об использовании различных средств обеспечения безопасности: аутентификации, авторизации и использовании этих средств для защиты Web-приложений.
В курсе освещается применение сборщика приложений Apache® Maven, в том числе управление зависимостями, структура POM-файла, жизненный цикл проекта, создание плагинов и архетипов. Описываются часто используемые плагины, а также рассматривается интеграция Maven с IDE Eclipse и Hudson. Курс включает практические упражнения.
Курс дает представление о нововведениях в Java 8. Рассматриваются лямбда-выражения, потоки данных, подход к обработке данных map-filter-reduce, асинхронное программирование, а также обзор нового DateTime API. Предлагается большое количество практических упражнений по каждой теме.
В данном курсе слушатели получат представление о специфике и особенностях языка Scala, его преимуществах и сложных местах. Курс включает рассмотрение операторов и типов данных Scala, изучение основных структур данных, таких как массивы, map, tuples, использование объектно-ориентированного и функционального программирования, работу с коллекциями Scala, применение pattern matching, case-классов, generic-типов и неявных преобразований. Предлагается большое количество практических упражнений.
На семинаре рассматриваются принципы проектирования SOLID и приводятся примеры их практического использования. Кроме того, участники должны выполнить практическое задание – написать приложение в течение 5 спринтов. Это упражнение демонстрирует, как хороший стиль проектирования помогает снизить сложность кода, прописать необходимые бизнес-функции и решить технические задачи. В процессе выполнения задания для получения элегантного решения предполагается использовать паттерны проектирования и выполнить рефакторинг.
Курс посвящен изучению Spring Integration – специального фреймворка, позволяющего создавать Message-based Spring-приложения с использованием Enterprise Integration Patterns. Участники также познакомятся с основами и паттернами Enterprise Integration.
Spring Cloud – это проект, который позволяет создавать распределенные приложения с микросервисной архитектурой. Вы познакомитесь с множеством доступных компонентов, детально рассмотрите архитектуру и широкие возможности Spring Cloud.
В ходе обучения слушатели знакомятся с Google Guava – Java-библиотекой с открытым исходным кодом, разработанной компанией Google. Курс представляет собой структурированное рассмотрение наиболее популярных и мощных возможностей Google Guava. Для лучшего понимания обучение проводится с использованием практического подхода: каждая рассматриваемая тема содержит примеры кода, которые студенты могут запустить на своих ПК.
Курс является первым модулем программы «Разработка на платформе Java SE 7. Базовые темы», в рамках которого рассматривается базовый синтаксис: числа и строки; типы данных; переменные; методы; логика и циклы; массивы. Курс может изучаться и отдельно, и как первая ступень всей программы.
Я собираюсь переучить на Java-программистов миллион
человек.
Я собрал команду и сделал обучающий сервис, которым могу гордиться.
Рад сообщить, что теперь стать программистом легко, независимо от образования и опыта.
JavaRush - изучение программирования на Java в виде онлайн-игры
![](https://i0.wp.com/habrastorage.org/storage2/067/5b0/fe8/0675b0fe822ce3ec4e99decc7ae86cf5.gif)
Как насчет совсем нового подхода к изучению программирования и образованию вообще? Не похожего ни на что из того, что вы видели раньше. Как насчет обучения, где есть цель, средства и результат?
Рад представить вам новые онлайн курсы обучения программированию на Java.
1 Обучение сделано в виде онлайн-игры
Вы берете задание, выполняете его и получаете награду. Думаю вам это и понятно и привычно. Задачи будут самые разнообразные: чтение кода, решение задач, видео-уроки, просмотр Футурамы , исправление ошибок в коде, добавление новых фич и многое другое.Возможно, вам даже придется писать программы для своего робота, чтобы сражаться со своими друзьями на «арене» или что-нибудь еще.
2 Только самое необходимое
Чтобы курс не растянулся на 5 лет, я выкинул из него все полезное и оставил только самое необходимое. Я проанализировал десятки вакансий на рынке труда. В курс включены все темы, которые нужно знать новичку Java Junior Developer , чтобы устроиться на работу.3 Я основательно подошел к вашему обучению
Полный курс содержит 900 мини-лекций и 2500(!) практических задач . Задачи небольшие, но их много, очень много. Как раз тот минимум, выполнив который, вы получите столь ценный опыт.Также есть работа в парах, различные игры, большие задачи, реальные проекты и другие виды практики.
4 Вы не можете пройти игру до конца и не стать программистом
Курс разбит на 80 уровней. Вы можете перейти на следующий уровень, только если решили большую часть задач текущего уровня. Начиная с маленьких и легких, и заканчивая большими и очень полезными. Каждый, дошедший до конца, получит 500-1000 часов практического опыта. Серьезная заявка на победу. И на работу.5 Целенаправленная подготовка к собеседованию
Последние 10 уровней посвящены написанию резюме, подготовке к прохождению собеседования и навыкам работе в команде. Будут добавлены видео-записи собеседований и их разбор. Ну и, конечно, типичные вопросы на собеседованиях с ответами .Чему вы учитесь
![](https://i0.wp.com/habrastorage.org/storage2/114/7ef/4da/1147ef4da5c6d9e1c90e211e11881615.gif)
Первые 40 уровней вы изучаете Java Core. Следующие 40 – основы таких технологий как JSP, Servlets, Hibernate, Spring. Изучение Java Core – очень детальное, все остальное - в той минимальной версии, которая может понадобиться Java Junior при устройстве на работу.
Если в вашем городе есть крупные IT-компании, после 40 уровня можно попробовать устроиться к ним на стажировку. Если их нет или вам недостает опыта, вы можете продолжить изучение технологий Java, пока не дойдете до 80 уровня.
В конце много времени будет уделяться составлению резюме, разбору типичных вопросов на собеседованиях и рекомендациям по работе в команде.
Курс в разработке (сделано 25%)
![](https://i1.wp.com/habrastorage.org/storage2/0e2/96d/533/0e296d5331bad90e8c6331cb6af17e0a.gif)
В настоящий момент курс находится в разработке . Уже сделано около 25% всей работы. Вполне достаточно, чтобы примерить на себя роль Java-программиста, оценить и свои силы и JavaRush. Пробуйте, может быть с этого маленького события и начнется череда волшебных изменений в вашей жизни.
Планы на будущее
Многие фичи уже сделаны, над многими еще идет работа, а остальное - скромно ждёт своей очереди. Будет добавлена анимация, обучающие игры, нелинейный сценарий развития. Полный курс будет включать 80 уровней, 900 лекций и две с половиной тысячи практических занятий. А также видеозаписи собеседований и их разбор. Образцы составления резюме и удобный сервис для этого.Многое будет зависеть от ваших отзывов и от посещаемости сервиса.
Почему Silverlight?
Игра написана на Silverlight. Обучающий курс изначально проектировался именно в виде онлайн-игры: много анимации, встроенные мини-игры, видео, мультфильмы и еще много чего. Так что выбор тут был между Silverlight (в котором у меня хороший опыт) и Flash (в котором опыта гораздо меньше).Простые задачи решаются на сайте, для всего остального есть MasterCard Intellij IDEA.
Программирование – это просто и интересно.
Оплата
Сейчас сервис бесплатен. В то же время, для его успешного развития нужны средства. Законченный сервис лучше, чем заброшенный.Образовательные гранты
Очень бы не помешали. Надеюсь, мое видение образования, описанное в статье «правильный университет» найдет свой отклик в сердцах единомышленников.Также, надеюсь на ваши отзывы. Чем больше восторженных отзывов получит проект, тем больше шансов, что какой-нибудь хороший фонд, заинтересованный в развитии образования, даст нам грант на развитие.
Модель Freemium
При этом подходе основной функционал сервиса - бесплатен. Развитие же сервиса осуществляется на доходы, которые получены с дополнительных платных услуг. Это могут быть личные консультации, наборы специально написанных задач, более глубокое обучение ключевым темам. Еще, например, видео лекции, видео уроки, написание резюме, подготовка к собеседованию.Или я слишком оптимистичен или слишком наивен, или одно из двух.
В же чем прелесть эры онлайн-курсов?
Они уничтожат индустрию, которую по ошибке называют высшим образованием.А как же вуз?
![](https://i1.wp.com/habrastorage.org/storage2/386/8bd/83e/3868bd83e550b17f0bd4a90fef19d132.gif)
Чтобы устроиться на работу новичком Java-программистом, надо хорошо знать Java Core, основы базовых фреймворков (Hibernate, Spring, JSP, Servlets) и иметь опыт программирования хотя-бы несколько месяцев.
Формально многому из этого вас в вузах и учат. По факту – почти ничему из вышеописанного.
Все вузы разные, поэтому я, для простоты, сравню средний технический вуз со средней вакансией на Junior Java-программиста и напишу своё видение полученной ситуации. Не стоит воспринимать эту схему как истину в последней инстанции, скорее как упрощённый взгляд на вещи, с целью внести хоть какую-то ясность.
Java Junior Developer
Так, скорее всего, обстоят дела, когда вы уже закончили вуз и только ищите работу:![](https://i1.wp.com/habrastorage.org/storage2/99c/a58/8f3/99ca588f34601fd27d3fb7cb5547f4f6.gif)
Все, чему вас не научил вуз, но что нужно в работе, вам придется выучить самому. Скорее всего по книжкам месяцев за 6-12. Если у вас есть друг-программист, который готов быть вашим наставником, этот срок можно сократить в 2-3 раза.
Также очевидно, что в вузе вы учили много всего, что не нужно вам при первом устройстве на работу. Возможно большая часть этих знаний не нужна вам сразу, но понадобится в будущем. Вот как изменится ситуация лет через 5.
Еще год назад такого сервиса не было даже в планах, и мне приходилось обучать одновременно всего по несколько человек. Сейчас JavaRush пользуются больше тысячи человек и где-то треть из них занимается каждый день.
Так что, имеющие желание, но не имеющие возможности – пробуем .
Повторюсь. В настоящий момент курс находится в разработке . Сделано около 25% всей работы (20 уровней из 80). Вполне достаточно, чтобы примерить на себя роль Java-программиста, а также оценить и свои силы и JavaRush.
Всегда ваш, General
Личные данные и друзья
Надо для того, чтобы отображать на карте звездного неба прогресс вас и ваших друзей.
Ваши аудиозаписи и видеозаписи
Серии Футурамы залиты в ВК. Я показываю их прямо оттуда.
(Чтобы не сильно нагружать мой сервер раздачей видео)
Работа со стеной
Чтобы вы могли приглашать друзей изучать Java вместе с вами.
(Это можно сделать в разделе «Друзья»)
И ничего более.
Проверял работу только под Windows
Похоже, что под Linux с Moonlight не работает.
Под MacOSX еще никто не отписался.
Почему выбран Silverlight
1 Нет никакой связи между тем, какой язык мы учим и на чем написано приложение для занятий
Если бы я писал обучающее приложение для iPad, я написла бы его на Objective C, а не на Java
Если бы я обучал SQL, я тоже не стал бы писать клиента на SQL
2 У каждого языка/фреймворка есть свое преднозначение
У Java - это Android и Enterprise.
А для RIA-приложений лучше всего подходят Flash & Silverlight
3 У меня много опыта на Silverlight
Из всех технологий, которые я знаю, я выбрал самую подходящую для онлайн-игры.
Если бы я не знал Silverlight, но хорошо знал Flash, клиент был бы на Flash.
4 На хабре много тру айтишников, которые принципиально используют Linux и не используют ВК.
Если вы тру айтишник и у вас только Linux, возможно вы уже переросли курс джава-джуниора.
5 Надо бы писать все на Java!
Не слишком ли много требований для проекта, который начинался просто как желание помочь людям и хобби?
6 Увидел что Silverlight и сразу закрыл
Если технология используемая для создания клиента перевесила для вас все преимущества проекта, то может быть не очень то и хотелось?
Кто хочет - ищет возможность (и я ее предоставил), кто не хочет - ищет причину.
Многие разработчики, изучив один язык программирования, решают развиваться дальше и склоняются к программированию на Java.
Java-разработчик должен обладать уверенными знаниями объектно-ориентированного программирования, уметь писать простой читабельный код с применением шаблонов проектирования. Java имеет множество библиотек и фреймворков. Разработчикам нужно знать их не только на уровне использования, но и понимать, как эти библиотеки и фреймворки устроены внутри.
Java-программисты востребованы в тех областях, где используют проекты с многопользовательской обработкой данных и высокими требованиями к уровню безопасности. Java-программист обычно разрабатывает архитектуру приложения, бизнес-логику приложения, поддерживает и сопровождает проект и пишет техническую документацию.
Смотрите бесплатно запись обзорного вебинара об этом курсе:
Курс будет полезен вам, если:
Дополнительное преимущество курса:
![]() |
Вы получите знания и навыки, необходимые для сдачи экзамена Oracle Certified Associate, SE8 Programmer I. |
![]() |
Бесплатные консультации по подготовке к экзамену и скидки на тестирование |
![]() |
Возможность сдать экзамен в наших тестовых центрах в 10 городах России |
![]() |
Комфортное удаленное обучение из любой точки доступа в Интернет, в удобное время |
Программа теоретических и практических занятий подобрана таким образом, чтобы за 3 месяца вы освоили полные базовые навыки для программирования на языке Java.
Для закрепления теоретических знаний в курсе предусмотрены:
Описание образовательной программы
Курс посвящен изучению языка программирования Java 8. Программа знакомит с фундаментальными концепциями, конструкциями и синтаксисом Java, в частности, с принципами проектирования классов, с типами данных, с циклами и структурами ветвления, массивами, с наследованием и полиморфизмом, с обработкой исключений и т.д.
Рассматриваются вопросы функционального программирования с применением лямбда-выражений.
Что Вы получите в процессе прохождения курса и по результатам обучения?
![]() |
Освоите фундаментальные концепции, конструкции и синтаксис Java, в частности, принципы проектирования классов, типы данных, циклы и структуры ветвления, массивы, наследование и полиморфизм, обработка исключений и т.д.; |
![]() |
Научитесь работать со стандартной библиотекой Java и рядом наиболее употребительных классов, в т.ч. из Java Collections Framework и Stream API; |
![]() |
Получите представление о функциональном программировании с применением лямбда-выражений; |
![]() |
Приобретете базовые навыки пользования профессиональным инструментом Java-разработчика на примере NetBeans, которые подойдут и для других интегрированных сред, в частности, Eclipse, Intellij IDEA и т.д. |
![]() |
Получите весь объем знаний, необходимый и достаточный для ОСА-сертификации по 8-й версии Java. |
![]() |
Удостоверение о повышении квалификации в Академии АйТи |
Цель курса
Формирование знаний и навыков, необходимых для разработки
Java-приложений.
Целевая аудитория
Необходимая подготовка
![]() |
Основы языка Java |
|
|
![]() |
Типы данных |
|
|
![]() |
Операторы и структуры ветвления |
|
|
![]() |
Создание и применение массивов |
|
|
![]() |
Работа с циклами |
|
|
![]() |
Методы и инкапсуляция |
|
|
![]() |
Наследование |
|
|
![]() |
Обработка исключений. |
|
|
![]() |
Избранные классы библиотеки Java API |
|