5 лучших подходов к изучению программирования

Перевод статьи «5 Great Strategies for Learning to Code».

Что нужно для изучения программирования

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

1. Вступите в сообщество программистов

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

Лично я читаю твиты с хэштегами #CodeNewbie и #100DaysOfCode в Twitter, а также Dev.to, но подобных источников вы можете найти очень много. Например, я знаю, что среди разработчиков популярна платформа для блогов Medium, а также FreeCodeCamp, где теперь есть даже собственное блоггинг-сообщество.

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

Честно говоря, лично у меня со всем этим плохо, потому что я фокусируюсь, главным образом, на создании контента, а не на его потреблении. Поэтому я не могу поделиться списком своих любимых авторов, но вы можете указать своих в комментариях.

2. Решайте задачи по программированию

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

Хотя я не являюсь фанатом подобных игр, я испытал несколько сайтов, просто ради интереса. Например, мне очень понравился HackerRank — один из тех сайтов, где вы решаете какие-то практические задачи и одновременно показываете себя с лучшей стороны потенциальным работодателям. На этом сайте предлагаются задачи по разным языкам, включая C, C++, Java, Python и Ruby.

Если вас больше интересует веб-разработка, я рекомендую FreeCodeCamp (опять). Я пользовался этим сайтом, чтобы освежить свои знания JavaScript. Таким образом я изучил несколько полезных библиотек, например, WebGL для 3D-графики и D3 для визуализации данных.

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

Кроме того, быстрый поиск в Google выдал еще несколько полезных ресурсов:

  • CodeWars: достижение мастерства путем решения головоломок
  • Exercism: хорошая практика и наставничество для каждого
  • HackerEarth: туториалы по программированию и задачи
  • Coderbyte: улучшение навыков программирования.

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

Сайты для изучения программирования

3. Используйте форумы с вопросами и ответами

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

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

Конечно, есть и другие платформы вопросов и ответов, например, Quora, но они менее ориентированы на программирование. Зато там можно найти ответы на вопросы более философского плана, которые не пользуются любовью на StackOverflow (например, «Каковы лучшие практики и стандарты написания кода, не зависящие от языка программирования?»).

Еще есть Reddit. К сожалению, сам я этой платформой не пользовался, поскольку она имеет дурную репутацию. Насколько я знаю, там не слишком доброжелательная атмосфера. Но, несмотря на это, можно воспользоваться какими-то сервисами этой платформы.

4. Изучайте open source проекты

Многие люди, изучающие программирование, не обращают особого внимания на проекты с открытым кодом, и очень зря. Open source это доступ к практически неограниченному количеству готового, качественного, работающего кода.

Многие платформы требуют определенного знания систем контроля версий и это может быть небольшим препятствием для непосредственного участия в open source. Но, к счастью, это совершенно не нужно для просмотра кода.

Вы можете прямо сейчас зайти на GitHub и заглянуть в самые популярные репозитории по каким-то темам. То есть, если вы интересуетесь Python, вы можете найти список активных проектов, написанных на этом языке, например, Flask или Django. Таким образом вы сможете изучить настоящий код и прочувствовать, как пишутся и поддерживаются реальные проекты. При желании вы даже сможете сделать форк какого-нибудь проекта и внести изменения в свою версию.

Пока я писал эту статью, я обнаружил, что на GitHub уже есть коллекция «Научись программировать» («Learn to Code»), которая загружается с прекрасными ресурсами, такими как «Обучение на основе проектов» («Project Based Learning») и Задачи по программированию на Python («Python Programming Challenges»).

Естественно, GitHub это далеко не единственный хаб open source проектов в интернете. Вы можете также оценить BitBucket и GitLab. Из этих двух я пользовался только BitBucket, поскольку это был единственный способ получить бесплатный репозиторий. А GitLab существенно нарастил обороты после того как Microsoft приобрел GitHub, так что на него тоже стоит обратить внимание.

Хейтерство в сети

5. Никогда не сдавайтесь

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

Некоторое (небольшое) количество людей в тех-сообществе считает себя вправе решать, кто может, а кто не может быть частью этого сообщества. При этом они руководствуются какими-то своими критериями. Например, кто-то может сказать начинающему программисту, что он не настоящий кодер, потому что пользуется HTML и CSS, и это может подтолкнуть человека сдаться.

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

Фокусируясь на своем росте, вы постепенно изучите все, что вам нужно. А если нет, надеюсь, вы сможете найти сообщество людей, которые вас поддержат. Удачи в учебе!

[customscript]techrocks_custom_after_post_html[/customscript]

[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх