Изучите ошибки сейчас, чтобы вы могли избежать их самостоятельно
У меня для вас хорошие новости, друзья! Сейчас самое лучшее время научиться программировать, и это своего рода рай для самообучающихся. Сегодня это гораздо проще, чем 10 или 20 лет назад. Сегодня у нас есть практически неограниченный доступ к различной информации о языках и библиотеках. Существуют тысячи онлайн-курсов, видеоуроков и форумов, где мы можем найти ответы и обратиться за помощью или советом.
И все же студенты все еще совершают ошибки, как и 10 или 20 лет назад. Это естественно только для людей, и избежать этого невозможно. Однако количество “ошибок новичка” можно свести к минимуму, если вы сделаете это правильно с самого начала.
В этой статье я опишу наиболее распространенные ошибки, которые совершает каждый студент-программист. Совершая эти ошибки снова и снова, потенциальные программисты часто теряют мотивацию к обучению, считают себя неспособными и в лучшем случае откладывают учебу. При правильном подходе они найдут лучший способ научиться программировать и стать разработчиком программного обеспечения за год, если не быстрее. Правильная начальная техника поможет вам купить самое ценное: время.
Я собираюсь объяснить, как использовать эти методы, чтобы уменьшить боль от неудач, которую испытывают некоторые начинающие программисты. Коллекция этих ошибок основана на моем личном опыте, а также на опыте моих учеников (я не только практикующий разработчик программного обеспечения, но и преподаватель Java). Давайте начнем.
1. Новички Недостаточно Кодируют
Следующая мысль чрезвычайно важна: программирование – это практическая деятельность. Каждая практическая деятельность нуждается, хорошо… тренируйся!
Вы не можете стать скрипачом (даже самым плохим), не играя на инструменте. Вы не можете стать пловцом, просто прочитав книгу “Как плавать: 1000 и 1 совет”. Та же история и с вашей темой: вы не можете стать программистом, изучив много теории и написав немного кода.
Если бы мы научились ходить так же, как программируем, мы бы рисковали не встать на ноги. Серьезно.
Что может быть более логичным? Лучший способ научиться программировать – это писать код! Однако это не очевидно для всех. Студенты забывают, что программирование – это практика, и воспринимают его как изучение академической дисциплины. Они зарываются в теоретические дебри, ничего не понимают, теряют мотивацию и, наконец, бросают учебу.
Конечно, теоретические знания важны. Вам также нужно изучить теорию программирования. Однако доля знаний, особенно на самых первых шагах, не должна превышать 20%.
Что делать вместо этого
Пишите код с самого первого дня изучения Java. Много-много кода! Лучший способ – найти набор простых задач или хороших практических курсов, которые их содержат, и взять их в руки. Вы должны писать программы не после прочтения основ, а одновременно. Делайте это снова и снова. Это правило номер один.
2. Некоторые Новички Учатся Хаотично и Непоследовательно
За время моей преподавательской карьеры я познакомился с самыми разными студентами. Некоторые из них увлекались программированием. Они могли схватывать темы почти сразу. Вау… Я совсем не был похож на них во время учебы!
С другой стороны, некоторые люди не так быстро усваивали знания. Некоторые из них казались настоящими тугодумами. Но иногда, должен сказать, довольно часто, люди из второй категории постепенно догоняли первую, а иногда даже обгоняли их.
Время от времени случалась и другая ситуация: драгоценный камень ученика перестал появляться в классе, перестал отправлять домашнее задание, а затем просто исчез.
Я проанализировал все случаи “внезапного исчезновения студентов” и понял, что наиболее распространенной проблемой для тех, кто бросил учебу, был не “низкий уровень природных способностей”, а нерегулярное обучение.
Причины у всех были разные, но вот основные из них:
- Очень занят на работе
- Семейные обязанности
- Лень
- Утраченная мотивация
- Не зная, что делать дальше
Что делать вместо этого
С первыми двумя причинами сложно что-то сделать, но если вы серьезно относитесь к тому, чтобы стать программистом, чрезвычайно важно регулярно интегрировать программирование в свою жизнь. Подумайте о том, чем вы можете пожертвовать ради своей мечты, чтобы она стала реальностью.
Вот несколько примеров от моих учеников:
” Во время учебы я бросил ходить по магазинам, воспользовался службой доставки и освободил пару часов в неделю, в которых я нуждался”.
“Я бросил свой любимый хор, когда начал изучать Java. Хор занимал четыре часа в неделю плюс разучивание новых партий и пение самостоятельно. Честно говоря, мне этого очень не хватало. Но теперь я разработчик Java и вернулся в свой хор! Я невероятно рад этому!”
“Я решил разработать свою собственную игру для Android, поэтому временно перестал убивать время в чужих играх”.
“Я сократил часы просмотра меньшего количества телешоу и делегировал прогулки со своей собакой жене и детям”.
“Я начал пользоваться метро вместо машины для поездок на работу. Так что у меня было 40 минут утром и вечером для программирования”.
“Я начал просыпаться раньше, взял свой ноутбук и пошел в кафе позавтракать, чтобы выучить там Java. Какое это было замечательное время!”
Гораздо легче разобраться с тремя-четырьмя причинами. Особенно важно составить адекватный график и регулярно учиться. По моим наблюдениям, наиболее успешные студенты учились от двух до четырех часов в день, каждый день, с одним выходным днем в неделю . Сложно, но все же приемлемо: один час через день.
Старайтесь не бросать учебу больше чем на неделю. Это как в “Алисе в зазеркалье”. “Если ты останешься, ты медленно отступишь назад. Требуется весь бег, на который вы способны, только для того, чтобы оставаться на одном и том же месте. Если вы хотите получить больше, вы должны учиться как минимум в два раза быстрее!
Учтите, что если вы не занимались программированием в течение недели, то сделали большой шаг назад. Проходит месяц — два месяца — и вдруг вам приходится начинать все сначала.
3. У некоторых Новичков нет Четкой Цели или Графика. Они Учатся Просто для того, чтобы Учиться
Помните, в предыдущем разделе среди причин, по которым студенты бросают учебу, было: “Я не знаю, что делать дальше. ” Это очень часто встречается у людей-самоучек, которые учатся в основном на видео и статьях. Естественно, они еще не знают, какое видео они откроют следующим.
Некоторым людям просто нравится процесс обучения. Конечно, это хороший способ расширить свои возможности, и это может быть хорошим хобби, но часто такие люди просто тратят свое время, перескакивая с одного хобби на другое.
Что делать вместо этого
Если вы хотите стать разработчиком программного обеспечения, вам нужно пересмотреть свое отношение к обучению и сделать его не целью, а путем к цели.
Если вы учитесь самостоятельно, очень важно осознать последовательность действий. Решите, что и в каком порядке вы будете изучать. Где вы можете получить учебный план?
Лучше всего, конечно, найти подходящий онлайн Курсы Java, которые вам подходят, и следуйте им. Если это невозможно, зайдите на форум и посмотрите, какие открытые курсы, книги и учебные пособия рекомендуются чаще всего. Перейдите к оглавлению таких книг, учебных пособий и курсов и используйте их для составления своего учебного плана. Лучшая тактика – записать его или скопировать основные темы и разобраться с ними в первую очередь.
4. Некоторые Новички Хотят научиться Всему сразу
Очень часто студенты пытаются понять каждую строку кода или то, как работает язык, когда для этого еще слишком рано. Например, эта заметная строка кода:
System.out.println (“привет, мир!”);
Здесь вы можете увидеть одну из первых строк, которую должен ввести каждый будущий разработчик Java. Он отвечает за отображение фразы “привет, мир!” на консоли. Если студент, который только что написал свою первую программу, начнет беспокоиться о том, что такое “Система” и почему “вне”, он, скорее всего, ничего не поймет и потратит впустую много времени. Однако, если они доберутся до этого после изучения основ Java и опыта работы с ООП, организацию потоков ввода-вывода будет намного легче понять.
Что делать вместо этого
Конечно, это очень трудный момент для самостоятельного студента – определить, что непонятно, потому что еще слишком рано, а что непонятно, потому что вы не приложили достаточно усилий. Все хорошие курсы и учебники построены на принципах “повторения с углублением”. ” Сначала тема изучается поверхностно, а затем вы возвращаетесь к ней несколько раз, учитывая новые знания студента.
Задайте себе вопрос:
- Важно ли получить эти знания прямо сейчас?
- Можете ли вы использовать непонятный предмет, не понимая его природы?
Если это действительно важно, задайте вопрос на форуме. Четко сформулируйте вопрос и опишите свой предыдущий опыт в простых выражениях. Например: “Я изучаю Java уже месяц, я знаю базовые конструкции и ООП, я не могу этого понять”.
5. Некоторые Новички Задыхаются Потому Что У Них Есть 1 000 000 Различных Ресурсов
Бесплатный доступ к любой информации – это здорово. Но помимо пользы, это также создает проблему. Всегда есть студенты, которые просто не знают, на чем остановиться, поэтому они постоянно ищут лучший ресурс, более подробную и понятную статью, более интересное видео по теме и т.д. Оказывается, новички тратят свое время не на учебу, а на сбор ресурсов, статей и видео. В результате у них не остается времени на их обработку, и они теряют мотивацию. Или, наоборот, они начинают углубляться в ту или иную тему так, что не могут из нее выбраться, превращаясь в проблему номер четыре.
Что делать вместо этого
Если у вас есть друг, который изучал Java или преподает ее, или кто-нибудь, у кого можно попросить рекомендации по хорошим ресурсам Java, спросите их. Если вы этого не сделаете, все равно спросите… на онлайн-форуме!
Или, по крайней мере, прочитайте рекомендации и выберите ресурсы, чтобы попробовать. Выберите один или два основных источника и от одного до трех вспомогательных ресурсов, на которых нужно сосредоточиться.
Например:
- Один курс с заданиями
- Один или два учебных пособия или книга
- Документация
Если вам приходится слишком часто заходить в Google, смените свой ресурс. Если вы чувствуете, что поиск интересной статьи или видео привлекает вас, как бесцельное пролистывание страницы социальной сети, отбросьте его.
Поскольку я являюсь преподавателем Java, я дам свои рекомендации. Вот ресурсы, которые я рекомендую своим студентам, особенно тем, кто изучает Java самостоятельно.
Курсы
- CodeGym — Очень хороший веб-сайт с курсом Java, который помогает новичкам избежать множества ошибок, описанных здесь. Самое ценное в этом – огромное количество задач, валидатор, который проверяет правильность вашего кода, и “автоматический советник”, который помогает вам понять, что вы делаете неправильно. Курс охватывает почти все разделы Java Core и имеет хороший учебный план.
- GeeksforGeeks — веб-портал, на котором также есть отличные курсы, множество заданий разного уровня и статей. Постарайтесь не перегружаться — она довольно обширна. Когда вы изучите основы Java, я рекомендую попрактиковаться в алгоритмах и структурах данных. Это очень полезно для каждого будущего программиста.
- Coursera — курс алгоритмов Принстонского университета Кевина Уэйна и профессора Роберта Седжвика.
Книги
Начиная с нуля:
- “Head First Java” Кэти Сьерра и Берт Бейтс — Отличная книга для новичков с приятными схемами и графикой. Очень подходит для начинающих.
- “Core Java Volume I — Основы” — Очень понятная и подробная книга. Не пугайтесь большого объема. Все написано четко, и в нем мало ненужной информации. Однако примеров иногда не хватает.” Ядро Java для нетерпеливых” Кэя С. Хорстманна — Я рекомендую эту книгу всем, кто знает другой язык программирования, но начинает Java с нуля.
На следующем уровне, когда вы уже написали много кода и решили большое количество проблем, и вы хотите глубже понять, как все работает, я рекомендую следующие две классические книги:
- “Мышление на Java” Брюса Экеля и “Эффективная Java” Джошуа Блоха. Эти авторы знают Java изнутри и поделятся с вами этими секретными знаниями.
Ресурсы со статьями
- Конечно, здесь особенно полезен Medium.
- Журнал Java — Не для компа
Оригинал: “https://dev.to/selawsky/the-common-java-learning-mistakes-all-newbie-programmers-make-4e9h”