Вы не застрянете, если будете следовать этим шагам

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

Шаги:

  1. Выберите часто используемый язык программирования, например Python, C++ или Java. Выбор зависит от того, какое поле вы имеете в виду, поэтому вам также нужно будет использовать поиск Google, чтобы узнать, какой язык где используется. Вы также можете посмотреть Индекс Tiobe, чтобы узнать, какие языки наиболее распространены в данный момент. Вы не должны ограничивать себя только одним языком в долгосрочной перспективе, но изначально выбор одного языка поможет вам сосредоточиться.
  2. Воспользуйтесь несколькими ресурсами, которые помогут вам быстро учиться:

    Coursera содержит множество высококачественных курсов, созданных лучшими университетами и используются настоящими профессионалами для улучшения навыков программирования. Курсы обычно интерактивны и поддерживаются, поэтому они не будут падать и вызывать ошибки. Выбирайте ту, у которой высокая оценка (4,6 и выше) и большое количество отзывов. Если стоимость в 50 долларов или около того слишком высока для вас, то проведите аудит курсов, прежде чем брать их (обычно я рекомендую вам прослушать несколько курсов, прежде чем переходить к конкретному). В качестве бонуса, если вы действительно заплатите и закончите курс, вы обычно получите поддающийся проверке сертификат, который вы можете указать в своем резюме. На этом этапе пройдите один курс от Coursera.

    Конкурентные сайты по кодированию, такие как HackerRank, содержат тысячи самостоятельных задач кодирования, которые нужно решить, со сценариями, которые проверяют правильность ваших решения. Они доступны на всех уровнях сложности, от простого до экспертного. Это хорошо, потому что вы можете практиковать полезные навыки, не задумываясь, с чего начать и над чем работать. Существует также аспект геймификации, позволяющий зарабатывать очки, участвовать в конкурсах и т. д., которые вы можете использовать для мотивации себя. Есть много статей, в которых перечислены эти веб-сайты, например, этот. Ключевое слово для поиска — конкурентное кодирование. На этом шаге выполните несколько, не менее 5 задач на таком сайте, стараясь быть разнообразными и подстраивая сложность под свой уровень.
  3. Попробуйте реализовать небольшой проект самостоятельно. Это может быть так же просто, как создание pdf-файла из таблицы Excel в Python, или отправка вам электронного письма каждый раз, когда кто-то входит в ваш дом, или создание коллажа из папки с изображениями. Если вы не знаете, что делать, выполните поиск по запросу «‹lang› проектные идеи для начинающих», где ‹lang› — выбранный вами язык программирования. Цель состоит в том, чтобы быстро познакомить вас с трудностями проектирования чего-то с нуля и его завершения, что сильно отличается от простого изучения синтаксиса языка или решения заранее определенной проблемы. Не бойтесь проводить много времени в Google в поисках всего, чего вам не хватает. Сосредоточьтесь на завершении программы, а не на ее совершенствовании.
  4. Расширьте свои знания в конкретной теме, которая вам нравится, в первую очередь придерживаясь основ информатики. Цель состоит в том, чтобы дать вам некоторые базовые знания, чтобы вы могли легче разрабатывать любые будущие проекты и с большим удовлетворением от прикладных знаний. Вам также будет что почитать или посмотреть, что будет приятно отвлекать от фактического кодирования. Примеры основных тем включают алгоритмы и структуры данных, архитектуру компьютера, абстракции программирования (языки, парадигмы, шаблоны), математику (дискретная математика, непрерывная математика, вероятность или математика для информатики), операционные системы и компьютерные сети (также известный как сеть). Если вы хотите иметь больший выбор или не верите мне, взгляните на учебные планы некоторых актуальных университетских курсов информатики, таких как этот или этот, и выберите темы, которые вас интересуют с первого курса. . Сосредоточьтесь на CS и математических темах, пропустите физику и электронику, поскольку они бесполезны для программистов, если только вы не хотите иметь дело с оборудованием, например, с проектированием микросхем или робототехникой. По каждой теме будет множество онлайн-ресурсов, таких как курсы на Coursera, которые вы можете использовать для быстрого обучения.

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

Удачи!