Изучите ошибки сейчас, чтобы избежать их самостоятельно

У меня для вас хорошие новости, друзья! Сейчас лучшее время, чтобы научиться программировать, и это своего рода рай для самообучений. Сегодня это намного проще, чем 10 или 20 лет назад. Сегодня у нас есть практически неограниченный доступ к различной информации о языках и библиотеках. Существуют тысячи онлайн-курсов, видеоуроков и форумов, где мы можем найти ответы и попросить помощи или совета.

И все же студенты продолжают совершать ошибки, как 10 или 20 лет назад. Это естественно для людей, и этого нельзя избежать. Однако количество «ошибок новичков» можно свести к минимуму, если делать это с самого начала.

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

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

1. Новички не пишут достаточно кода

Следующая мысль чрезвычайно важна: программирование - это практическая деятельность. Каждая практическая деятельность требует, ну… практики!

Невозможно стать скрипачом (даже самым худшим), не играя на музыкальном инструменте. Вы не сможете стать пловцом, просто прочитав книгу «Как плавать: 1000 и 1 советы». Та же история связана с нашей темой: невозможно стать программистом, изучив много теории и написав немного кода.

Если бы мы научились ходить так же, как и программировать, мы бы рискнули не встать на ноги. Шутки в сторону.

Что может быть логичнее? Лучший способ научиться программировать - это писать код!

Однако не для всех это очевидно. Студенты забывают, что программирование - это практика, и воспринимают это как изучение академической дисциплины. Они копаются в теоретических дебрях, ничего не понимают, теряют мотивацию и, наконец, бросают учебу.

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

Что делать вместо

Пишите код с самого первого дня изучения Java. Много-много кода! Лучший способ - найти сборник простых задач или хороших практических курсов, которые содержат их, и взять их в руки. Вы должны писать программы не после прочтения основ, а одновременно с этим. Делайте это снова и снова. Это правило номер один.

2. Некоторые новички учатся хаотично и непоследовательно.

За время своей педагогической карьеры я встретил самых разных студентов. Некоторые из них увлекались программированием. Они могли понять суть темы почти сразу. Вау ... Во время учебы я совсем не был похож на них!

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

Время от времени происходила и другая ситуация: жемчужина ученика перестала появляться в классе, перестала отправлять домашние задания, а затем просто исчезла.

Я проанализировал все случаи «внезапных исчезновений учеников» и понял, что самой распространенной проблемой для бросивших учебу был не «низкий уровень естественных способностей», а нерегулярное обучение.

Причины у всех были разные, но вот основные:

  1. Очень занят на работе
  2. Семейные обязанности
  3. Лень
  4. Потерянная мотивация
  5. Не зная, что делать дальше

Что делать вместо

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

Вот несколько примеров моих учеников:

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

«Я бросил свой любимый хор, когда начал изучать Java. Хор занимал четыре часа в неделю плюс разучивал новые партии и пел сам. Если честно, я очень скучал. Но теперь я Java-разработчик и вернулся в свой хор! Я невероятно рад этому! "

«Я решил разработать свою собственную игру для Android, поэтому я временно перестал убивать время в чужих играх».

«Я сократил часы, просматривая меньше телешоу, и делегировал прогулки с собакой жене и детям».

«Я начал использовать метро вместо машины для поездок на работу. Так что у меня было 40 минут утром и вечером на программирование ».

«Я начал просыпаться раньше, взял свой ноутбук и пошел в кафе на завтрак, чтобы изучать там Java. Какое было прекрасное время! »

Гораздо проще разобраться с причинами от трех до четырех. Особенно важно составить адекватный график и регулярно учиться. По моим наблюдениям, наиболее успешные студенты учились от двух до четырех часов в день, каждый день, с одним выходным днем ​​в неделю. Сложно, но все же приемлемо: по часу через день.

Постарайтесь не бросать учебу больше недели. Это как в «Алисе в Зазеркалье». Если ты останешься, ты медленно отступишь. Нужно приложить все усилия, чтобы оставаться на одном и том же месте. Если вы хотите получить больше, вы должны учиться как минимум в два раза быстрее!

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

3. У некоторых новичков нет четкой цели или расписания. Они учатся просто для обучения

Помните, что в предыдущем разделе одной из причин, по которой учащиеся бросили обучение, была фраза: «Я не знаю, что делать дальше». Это очень часто бывает с людьми-самоучками, которые учатся в основном по видео и статьям. Естественно, они еще не знают, какое видео откроют дальше.

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

Что делать вместо

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

Если вы занимаетесь самостоятельно, очень важно понимать последовательность действий. Решите, что и в каком порядке вы будете изучать. Где взять учебный план?

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

4. Некоторые новички хотят узнать все сразу.

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

Например, эта заметная строка кода:

System.out.println (“hello world!”);

Здесь вы можете увидеть одну из первых строк, которую набирает каждый будущий разработчик Java. Он отвечает за отображение фразы «hello world!» к консоли. Если студент, который только что написал свою первую программу, начинает беспокоиться о том, что такое «Система» и почему «выходит», он, скорее всего, ничего не поймет и потратит много времени. Однако, если они дойдут до этого после изучения основ Java и ООП, организация потоков ввода-вывода станет намного проще для понимания.

Что делать вместо

Конечно, это очень сложный момент для самостоятельного ученика - определить, что непонятно, потому что еще слишком рано, а что непонятно, потому что вы не приложили достаточно усилий. Все хорошие курсы и учебники построены по принципу «повторение с углублением». Сначала тема изучается поверхностно, а потом к ней несколько раз возвращаешься с учетом новых знаний ученика.

Задайте себе вопрос:

  • Важно ли получить эти знания прямо сейчас?
  • Можете ли вы использовать непонятный объект, не понимая его природы?

Если это действительно важно, задайте вопрос на форуме. Четко сформулируйте вопрос и просто опишите свой предыдущий опыт. Например: «Я уже месяц изучаю Java, знаю базовые конструкции и ООП, не могу этого понять».

5. Некоторые новички задыхаются, потому что у них есть 1 000 000 различных ресурсов.

Свободный доступ к любой информации - это здорово. Но, помимо пользы, это также создает проблему. Всегда есть студенты, которые просто не знают, где остановиться, поэтому постоянно ищут более качественный ресурс, более подробную и понятную статью, более интересное видео по теме и т. Д. Оказывается, новички проводят время, не занимаясь. но собирая ресурсы, статьи и видео. В результате они не успевают их обработать и теряют мотивацию. Или, наоборот, они начинают вникать в ту или иную тему так, что никак не могут выйти из нее, превращаясь в проблему номер четыре.

Что делать вместо

Если у вас есть друг, который изучил Java или преподает ей, или кто-то еще может попросить совета по хорошим ресурсам Java, спросите его. Если нет, все равно спрашивайте… на онлайн-форуме!

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

Например:

  • Один курс с заданиями
  • Один или два учебных пособия или книга
  • Документация

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

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

Курсы

  • CodeGym - очень хороший сайт с курсом Java, который помогает новичкам избежать множества ошибок, описанных здесь. Самыми ценными в нем являются огромное количество задач, валидатор, который проверяет правильность вашего кода, и автоматический советник, который помогает вам понять, что вы делаете не так. Курс охватывает практически все разделы Java Core и имеет хороший учебный план.

  • GeeksForGeeks - Интернет-портал, на котором также есть отличные курсы, множество заданий разного уровня и статьи. Постарайтесь не перегружаться - это довольно обширно. Когда вы изучаете основы Java, я рекомендую попрактиковаться в алгоритмах и структурах данных. Это очень полезно для каждого будущего программиста.

  • Coursera - курс алгоритмов Принстонского университета Кевина Уэйна и профессора Роберта Седжвика.

Книги

Начиная с нуля:

  • Head First Java » Кэти Сьерра и Берта Бейтса - отличная книга для новичков с красивыми схемами и графикой. Очень удобен для новичков.
  • «Core Java Volume I - Fundamentals» - очень ясная и подробная книга. Не пугайтесь большого объема. Все написано четко и мало лишней информации. Однако примеров иногда не хватает.
  • «Ядро Java для нетерпеливых» Кей С. Хорстманн. Я рекомендую эту книгу всем, кто знает другой язык программирования, но начинает Java с нуля.

На следующем уровне, когда вы уже написали много кода и решили большое количество проблем и хотите глубже понять, как все работает, я рекомендую следующие две классические книги:

  • «Мышление на Java» Брюса Экеля и «Эффективная Java» Джошуа Блоха. Эти авторы знают Java изнутри и поделятся с вами этими секретными знаниями.

Ресурсы со статьями

  • Конечно, Medium здесь особенно полезен.
  • Java Magazine - Не для новичков, но из этого вы многое узнаете.

Документация

Альфа и омега любого Java-разработчика. Обязательно прочтите Документацию Oracle с того момента, как начнете изучать ООП и Коллекции. Это очень полезно.

Три хороших руководства по теории Java для всех, от абсолютного новичка до продвинутых студентов: Tutorialspoint, w3schools и javaTpoint.

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

6. Некоторые новички зацикливаются на сложных задачах

По сути, это продолжение проблемы номер четыре. Человек не может решить проблему и пытается снова и снова вместо того, чтобы продвигаться вперед. Очень часто они теряют мотивацию и бросают учебу. Хорошо поставить себе планку чуть выше своего уровня. Ключевые слова здесь - немного. Те, кто учится самостоятельно, не всегда могут определить эту планку.

Что делать вместо

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