JavaRush/Java блог/Архив info.javarush/Каким образом вы осваиваете сложный материал?
artur-ant
30 уровень

Каким образом вы осваиваете сложный материал?

Статья из группы Архив info.javarush
участников
Доброго времени суток, друзья джаварашовцы. Пару слов о себе. На Javarush почти 2 месяца, добрался до финала 17 уровня. С переменным успехом решаю задачи. С программированием сталкивался раньше не особо. Во многих лекциях идет отсылка на хорошую книгу "Thinking in Java 4th edition". Книга является материалом более сложным к пониманию, чем ресурс Javarush. Кстати, создателям Javarush.ru спасибо, сумели преподнести сложные темы доступней. В книге "Thinking in Java 4th edition" подробно расписываются аспекты Java, со сложными, как мне показалось, для легкого понимания примерами. В общем усваивается трудновато. Лично у меня нет особой методики освоения сложных тем и источников. Начинаю читать материал, сталкиваюсь с обилием незнакомых понятий и "грустнею". Может у кого-то иначе, а у меня так. Боюсь, что если сейчас изучать поверхностно, то дальше накопиться объем пробелов, и будет очень сложно. И на фоне всего этого я хотел бы задать вопрос вам, участники проекта Javarush.ru, кто понимает всю эту информацию лучше. Тем, у кого есть методики того, как необходимо постигать новые знания. Вопросы:
  • Как правильно учить сложный ( да и не только) материал по Java?
  • Какая методика освоения?
  • Как вы лично подходите к изучению сложных тем и разделов?
  • Зубрите ли вы, или, быть может, составляете много примеров, пишете конспект, рассказываете друзьям?
Поделитесь своим опытом. Думаю, что ответы на эти вопросы помогут не только мне, но и многим многим участникам этого проекта. Спасибо всем, кто решил поделиться своим опытом.
Комментарии (24)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
artur-ant
Уровень 30
9 ноября 2015, 21:36
Тема развивается, становится видно, что у разных людей, разные подходы. Но при этом есть нечто, с чем согласны многие, в чем схожи взгляды.

У кого какой еще личный подход к изучению?
Cayman
Уровень 32
9 ноября 2015, 19:06
Мне кажется зубрить надо только основы. А вот понимать суть происходящего все-таки надо. Например, на одной практике ты никогда не поймешь, как работает HashMap или что быстрее и в каких случаях ArrayList или LinkedList. Тут или понимать как они работают или зазубрить что в каких ситуация лучше применять.

Или вот алгоритмы. Можно, конечно, не знать, как работают Collections.sort и Arrays.sort. Работают и работают. Быстро и быстро.
Но зато когда надо будет склеить два сортированных массива, тут пригодятся знания алгоритма MergeSort
mrserfr
Уровень 33
9 ноября 2015, 19:09
а разве понимать и разбираться == зубрить? я полностью согласен с тобой насчет понимания
Cayman
Уровень 32
9 ноября 2015, 19:12
я думаю, это уже зависит от человека. кто-то схватывает налету. а кому-то нужно десяток раз перечитать.
например, мне кажется, проще зазубрить какие классы адаптеры использовать при работе с IO, чем каждый раз придумывать велосипед.
mrserfr
Уровень 33
9 ноября 2015, 19:18
Именно, написал об этом же чуть выше в комментарии :) Что каждому свое
mrserfr
Уровень 33
9 ноября 2015, 19:20
Ну и… не обязательно же изобретать велосипед. Можно прочитать тему — но не зубрить ее, а разобрать на практике, используя нужные интерфейсы\методы\классы :)
AndreGold
Уровень 28
9 ноября 2015, 19:22
хорошо, тогда несложный казалось бы вопрос, чем отличается JDK от JRE?
Тут вы либо знаете, либо нет. Другого не дано. Я не думаю, что собеседователя будет волновать ваше понимание, я думаю он будет ждать четкий ответ, в 2-3 предложения.
или еще например, чем отличается модификатор доступа protected от package. Вы в своем коде можете и не использовать их делая маленькие тестовые проекты, но не исключено что Вас не могут о них спросить.
AndreGold
Уровень 28
9 ноября 2015, 19:24
Вот тут как раз, я думаю нужно понимание. Не зря от джуниора требуют Core, а не знание библиотек или фрейворков(это в идеале), потому что если не знаешь основ хороший код не напишешь.
mrserfr
Уровень 33
9 ноября 2015, 19:26
Не могу не согласиться:)
Cayman
Уровень 32
9 ноября 2015, 19:26
или принципы ООП ) тут только знать нужно. как, впрочем, и любую теорию
AndreGold
Уровень 28
9 ноября 2015, 19:41
честно говоря, все нужно знать и понимать одновременно)
mrserfr
Уровень 33
9 ноября 2015, 18:55
не зубри… ни к чему хорошему это не приведет. делай маленькие тестовые проекты на темы, которые сложно понять сходу
google тебе в помощь
stackoverflow — там есть ответы на 146%, которые возникает у начинающих разработчиков
AndreGold
Уровень 28
9 ноября 2015, 19:08
Такой подход будет работать только, если вы будете делать их постоянно, или с цикличностью, в других случаях вы забудете, то что делали год назад. Если это не повторять.
mrserfr
Уровень 33
9 ноября 2015, 19:16
ну. люди разные :) зря я посоветовал не зубрить, для кого-то это реально вариант.
просто у меня совсем наоборот, если я что-то просто учу… вылетает сразу:) а так я надолго запоминаю.
artur-ant
Уровень 30
9 ноября 2015, 21:33
В данном вопросе важно именно Ваше мнение и Ваш способ :)

Я тоже не зубрю)
Cayman
Уровень 32
9 ноября 2015, 16:49
Я пытаюсь параллельно все делать. Основа — это JavaRush
Когда есть время (в основном, в транспорте) — читаю Thinking in Java 4th edition. После прохождения каждой лекции тут, читаю аналогичную тему у Хорстманна и ищу статьи в инете. В планах, после прохождения курса, прочитать Хорстманна от начала и до конца. Сейчас это довольно-таки тяжело, многих вещей просто не понимаю.
А перед сном смотрю лекции Головача. Времени, конечно, это занимает много, но он много интересных вещей рассказывает. Да и воспринимается материал, когда кто-то раскладывает все по полочкам, лучше.
abbath0767
Уровень 36
9 ноября 2015, 16:47
Учитывая мой совсем не спешный путь изучения java поздравляю за достижение 17 уровня за два месяца, но стоит ли так спешить? Возможно стоит заниматься созданием свои проектов из того что уже умеете, читать все досконально и размеренно воспринимая каждую главу. До сих пор помню как с упоением создавал десятки нано-проектов когда знакомился с понятием классов-методов, читая Шильдта. Дочитав до конца правда взялся за Экельза, которого таки читать и воспринимать немного труднее, но зато тот способ, количество и манера подачи информации на мой взгляд превосходна. Читайте книги! Не зацикливайтесь на javarush и делайте свои открытия сами

Зубрите ли вы, или, быть может, составляете много примеров, пишете конспект, рассказываете друзьям?
Практика практика практика!!! Попробуйте определить какая реализация массивов более выгодна в тех или иных ситуациях с учетом ресурсов, времени и сложности кода! Вы не поверите сколько интересного узнаете про тот же ArrayList что врятле вы знали следуя лишь курсу javarush
IgorBrest
Уровень 33
9 ноября 2015, 11:39
по поводу Thinking in Java 4th edition».
Сами лекции там — шикарные,
а вот «грустнеть» от примеров кода в «Thinking in Java 4th edition» — это нормально.
когда пытаешься освоить новый материал, то код Эккеля выглядит довольно запутанным и сложным для освоения материала сходу,… но
когда уже сам пытаешься писать — код его становится уже интересным и полезным, некоторые приемы хочется в рамочку вставить и на стенах вешать.
Похоже -это такая идея автора -выкладывать код, приближенный к практике, использующий возможности языка… а не просто пример для иллюстрации к лекции.
AndreGold
Уровень 28
9 ноября 2015, 13:11
По моему мнению Еккель придает сильно много значения откровенно говоря «шлаку» из второстепенного кода, какие-то специальные методы которые создают массивы, списки, карты, и куча всякого хлама, которая не нужна новичку, да и более продвинутім пользователям тоже. Да теория шикарна, но примеры кода…

Тот же Хорстман обьясняет тоже самое,
НО
там только соль, все что нужно.

Вы конечно если внимательно читали Еккеля и Хорстмана, наверное читали за их взаимное подкалывание друг друга, один утверждает что все передается по значению, второй, что по ссылке.
IgorBrest
Уровень 33
10 ноября 2015, 15:33
Наверное, всетаки я не внимательно читал, и хто эта утверждал, что все передается по ссылке?
… вроде Эккель там философствовал насчет ссылок… типа — смотря с какой стороны посмотреть… но утверждать такое ?!
AndreGold
Уровень 28
10 ноября 2015, 16:24
В пылу писал, и пропустил слово идентификаторы на обьект.
И вы правы, тут Еккель ничего не утверждает, а лишь немного скажем так, обсуждает, смысл слов «передача ссылки(идентификатора на обьект) по значению»


Спасибо что поправили)
AndreGold
Уровень 28
10 ноября 2015, 16:42
а вообще если говорить, о передачи всего в Java, то
Обьекты передаются по ссылке, а примитивы по значению.
AndreGold
Уровень 28
8 ноября 2015, 22:24
Я сейчас отвечу, как человек не являющийся программистом.
1) Как правильно учить сложный ( да и не только) материал по Java?
Учить, другого пути нет. Больше практики — больше знаний.
2) Какая методика освоения?
Тут мне помагает цитата Конфуция, у меня в ВУЗе она на стенке в кабинете физики висела
I hear and I forget, 
I see and I remember. 
I do and I understand.

3) Как вы лично подходите к изучению сложных тем и разделов?
Сначала в изучаю лоб, потом, через день примерно методика такая
подгуглил->ничего не нашел->походил, поработал, погулял-> подгуглил -> понял, что гуглить на русском, можно, но еще долго придется гулять и ходить-> вбил запрос на английском -> попал на stackoverflow, или на любой английский сайт -> profit

4) Зубрите ли вы, или, быть может, составляете много примеров, пишете конспект, рассказываете друзьям?
Сначала пишу конспект, по книге например, вкратце. Потом учу и повторяю, где-то через 3-4 повторение приходит осознание и понимание.
ledokol
Уровень 24
8 ноября 2015, 22:16
Но в лекциях рекомендуют же с 4 по 20 уровень «Head First Java» читать, а потом уже «Thinking in Java».
А если по какой-то конкретной теме что-то непонятно, ищи другой источник — видео, статьи с других ресурсов, разделы по этой теме из других книг. В разных источниках информацию по-разному преподносят, а у каждого разное восприятие: где-то больше понятно, где-то меньше.
Лично я не зубрю, а стараюсь искать в случае чего практические примеры, обсуждаю с друзьями/знакомыми тему, это всё помогает.