Добрый день, уважаемые джаварашевцы и джаварашатессы!
Почти перед каждым, пришедшим учиться на JR, встает вопрос как правильно учиться? И вот прямо сейчас, без регистрации и СМС, я поделюсь своим опытом по этой теме.
Придя на JR большинство ставят перед собой задачу — изучить Java до уровня, позволяющего устроиться на работу Java-прграммистом. Сам я еще не изучил Java до такой степени, да и по ИТ-специальностям никогда не работал. Но уже порываюсь вас учить. Кто-то (напр., Иисус) скажет, что это грех гордыни. Иные (напр., Фрейд) скажут, что это завышенная самооценка относительно размера собственного МПХ. Но это не так. Ведь учить я вас буду не Java, а как его изучать. Да и не учить буду, а поделюсь собственным опытом. Как мы все знаем, know-haw (знаю как) дает огромное преимущество перед теми, кто не знает как. Вот и вы это преимущество получите.
Первоочередные задачи советской власти
Как я уже писал, задача большинства — изучить Java до уровня, позволяющего устроиться на работу Java-прграммистом. Она порождает следующие основные вопросы. Что учить? В какой последовательности учить? Как учить? В принципе, сам курс JavaRush является ответом на вопросы "что учить?" и "в какой последовательности учить?"
Но ответом далеко не полным, о чем джаварашевцы и джаварашатессы начинают догадываться уже к пятому уровню. Соответственно, очень важным становится ответ на вопрос, а что еще, дополнительно к курсу JR надо изучать?
Также необходимо ответить на воросы, что значит знать язык Java? Нужно ли знать еще что-нибудь кроме Java, чтобы быть Java-прграммистом?
На вопрос, что значит знать язык Java? Можно дать три ответа:
Знать синтаксис языка;
уметь написать что-нибудь работающее на Java, что подразумевает знание возможностей языка, а также целей и случаев их использования;
уметь писать Java-программы.
Первому варианту знания учат уровни 1 - 10 JR. Второму — весь остальной курс JR. Третьему — стажировка и самостоятельное написание программ с одновременным осваиванием дополнительных технологий, необходимых для такого написания, но не преподаваемых на JR.
Первое и самое важное — методология учебы. Чтобы усвоить материал его надо понять, запомнить и уметь применять. Начав проходить JR, необходимо сразу изучить книгу «Думай как математик» Барбары Оакли. И применять все правила, в ней описанные. Прочел первую главу, вторую изучаешь по правилам первой. Третью по правилам первой и второй и т.д. Курс JR и книги, которые изучаешь, изучай как учит Барбара Оакли. Прочитанное поможет понимать изучаемые темы.
Например, запоминанию и пониманию материала способствует не повторное перечитывание материала, а попытки воспроизвести его самостоятельно. Это значит, что приведенные в тексте примеры надо один раз прочитать добившись общего понимания происходящего, а потом воспроизвести самостоятельно. При этом, при возникновении затруднений не лезть сразу за готовым ответом, а искать его самостоятельно — вспоминая и находя. Если воспроизвести получается, значит тема в основном понятна. Если не получается воспроизводим еще раз, работая помидорами. Подробнее о помидорах позже.
Во-вторых, поставь программу Anki на компьютер и смартфон. Весь материал, требующий запоминания нужно учить с помощью программы Anki . По каждой теме формируется набор вопросов — ответов и повторяется по графику Anki. Пример:
Уровень 20. Урок 35 вопросов
Anki загружено
В: Что такое сериализцая объекта?
О: Сериализация объекта это способность объекта сохранять полную копию его и любых других объектов на которые он ссылается, используя поток вывода(например, во внешний файл).
Источник: Уровень 20. Урок 3
В: Алгоритм сериализации объекта в файл?
О: 1) сериализуемый объект должен имплементировать интерфейс Serializable; 2) создаем объект типа FileOutputStream, передав ему в параметрах имя файла; 3) создаем объект типа ObjectOutputStream, передав ему в параметрах объект типа FileOutputStream; 4) у объекта типа ObjectOutputStream вызываем метод writeObject, передав ему в параметрах сериализуемый объект.
Источник: Уровень 20. Урок 3
В: Что такое интерфейс-маркер?
О: Интерфейс, который не содержит никаких данных и методов. Используемый только для того, чтобы «помечать» (маркировать) классы.
Источник: Уровень 20. Урок 3
Если так не учить, то пройденное будет забываться через два-три урока.
Сколько времени, нужно заниматься таким повторением? Думаю, что пока период повторения не станет более полугода. После этого тему можно перестать повторять. Конечно это не гарантирует эффекта "фотографической памяти", но запомнится материал очень хорошо.
Касательно книг. Материал на JR подаётся очень скупо. И это "фича а не баг". Для получения дополнительной информации по темам хорошо подходит двухтомник Хорстманна "Java. Библиотека профессионала", десятое издание. Там следует читать соответствующие разделы по мере прохождения курса.
На первых уровнях можно прочитать первые три главы из книги Лафоре "Алгоритмы и структуры данных Java". Там про массивы и простые алгоритмы сортировки. Обязательно нужно решать проекты в конце глав. Эти проекты являются отличным примером правильных задач на усвоение материала. В отличии от HeadFirst, где задачи плохие. Также одновременно с курсом и даже опережая его желательно прочитать "Изучаем Java" Кэти Сьерры и Берта Бейтса из серии HeadFirst. Это даст хорошее общее представление о языке.
Учиться лучше "помидорами". Эта методика позволяет лучше сосредотачиваться, учитывать время затраченное на учебу, мотивировать себя, привлекать подсознание к решению задач.
Именно "помидоры" позволяют реализовать принцип: лучше увеличить количество попыток сделать что-то, чем продолжительность одной попытки.
Это основные принципы "как?". В книге "Думай как математик" есть еще много полезного.
Коммунизм — это Советская власть плюс электрификация всей страны
Курс JR хорош, но глубина раскрытия тем мелка. Желающим нырнуть помогут 10 основных книг для изучения Java. Подробнее читаем здесь. Описывать эти книжки подробно не буду, кроме Блоха «Java. Эффективное программирование». На rutracker.org есть электронная версия второго издания с дополнительной редактурой Linneris. Лучше читать это издание.
Метод норвежских лыжников-астматиков
Некоторым джаварашевцам и джаварашатессам 50 лет, или за 50 лет, или около 50 лет. Возраст создает дополнительные, естественные сложности, снижая способности к учебе. Уменьшаются когнитивные способности, быстрее настает утомление, снижается общий тонус организма. Гормональная перестройка организма вносит коррективы в настроение, самоконтроль, ослабляет волевое поведение.
Люди в возрасте могут обратиться к врачам за фармакологической поддержкой с целью ослабить описанные возрастные эффекты. Усилить когнитивные способности и память можно с помощью так называемых ноотропов. За назначением соответствующих препаратов необходимо обращаться к неврологу, если есть жалобы на ухудшения запоминания и снижение когнитивных способностей. Ноотропы помогают, но чудес от них как и от остальных препаратов ждать не стоит. Для борьбы с возрастной гормональной перестройкой существует ГЗТ (гормоно-замещающая терапия). Для мужчин это в основном сводится к приему тестостерона. Но в качестве побочки есть большой шанс получить онкологическое заболевание и умереть в мучениях. Женщинам назначают свои гормоны. И последствия там не такие разрушающие. В любом случае, сказанное касается исключительно возрастных учащихся. Вся фармакология принимается строго по назначению врача и под его надзором.
Важнейшими из искусств на данном этапе для нас являются цирк и кино
Java. Библиотека профессионала. Том 1. Основы. — Кей С.Хорстманн, Гари Корнелл
Книга Хорстманна не продается нигде, чем можно заменить? Java SE 9. Базовый курс - Кей С.Хорстманн?
На вопрос, что значит знать язык Java? Можно дать три ответа:
Знать синтаксис языка;
уметь написать что-нибудь работающее на Java, что подразумевает знание возможностей языка, а также целей и случаев их использования;
уметь писать Java-программы.
Вот с этим можно грубо поспорить. ))) Но не буду развеивать ваши мечты.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ