Найти тему
CIDEY

Как правильно научиться программировать

Оглавление

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

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

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

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

Научитесь сначала решать проблемы логически

-2

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

Чтобы развить интуицию в программировании, вам нужно попрактиковаться в:

  1. Научитесь внимательно читать задачи. Прочтите задачу, чтобы найти подробную информацию о том, что именно вам нужно делать, каковы ваши входные данные и каковы должны быть ваши ожидаемые результаты.
  2. Решите проблему, не думая сначала о коде. Я ставлю этот шаг первым, потому что, если вы уже знаете, как кодировать, вы, скорее всего, сразу перейдете к нему. Стоп! Сначала решите проблему, используя общеупотребительные слова.
  3. Проверьте свое решение на различных примерах ввода. Как только вы придумаете решение, попробуйте разные сценарии и посмотрите, подходит ли ваше решение им всем.
  4. Практикуйтесь в решении проблем каждый день. Ежедневное решение новых задач поможет вам развить интуицию в программировании и отработать навыки решения проблем. Проблема ежедневно кодирования является хорошим ресурсом для этого.

Изучите алгоритмы и структуры данных

-3

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

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

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

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

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

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

Прочтите о теории сложности

-4

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

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

Когда вы работаете над реальными приложениями, пытаясь решить множество проблем, вам всегда нужно помнить о сложности ваших ответов. Например, если я дал вам книгу и попросил открыть страницу номер 5, вы можете просто просмотреть страницы 1–5. Поскольку 5 - это довольно близко к началу, переход через предыдущие годы не занял много времени. Но скажем, я хотел, чтобы вы открыли страницу 489. Это, вероятно, займет у вас немного больше времени.

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

Последние мысли

Независимо от вашего целевого карьерного роста, если вы хотите построить карьеру в сфере ИТ, вам нужно будет учиться и хорошо программировать. Хотя есть много путей, по которым вы можете научиться программировать, правильный путь, на мой взгляд, таков:

  1. Развивайте хорошую интуицию в программировании (работайте над навыками решения проблем).
  2. Изучите алгоритмы и структуры данных.
  3. Изучите хотя бы основы теории сложности.
  4. Изучите синтаксис любого вам понравившегося языка программирования.
-5