Итак, вы хотите погрузиться в мир программирования и не знаете, как это сделать? Старый способ изучения темы за темой не работал для меня (*после одной темы, которая показывает мне огонь, я всегда отказываюсь от нее*). В конце концов, я прибегнул к тому, что некоторые назвали бы проектным обучением.

Подумайте, что бы вы предпочли? Изучайте, казалось бы, разрозненные темы, прежде чем объединять их в один значимый проект или иметь мини-проект, который вы со временем разработаете и продемонстрируете за свои усилия, постижение новых концепций и знакомство с их реализацией. Я бы выбрал последнее и всегда следую следующим этапам
1) Определите мини-проблему и спланируйте решение
2) Выберите язык и изучите связанные с ним понятия
3) Тестируйте и улучшайте

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

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

Выполнив все шаги, можно получить черновой проект («Необработанный алмаз», как назвал бы его Джафар из Aladin*), что-то, что работает, но требует некоторой доработки. На этом этапе теперь можно посмотреть на альтернативные методы или концепции, которые они могли бы использовать (возможно, цикл for мог бы работать лучше, если бы кто-то использовал do-while) и работать над тем, как лучше всего они могут обеспечить, чтобы их проект продолжал работать. даже когда пользователь вводит неверный ввод. Обычно я начинаю этот этап с перечисления того, что может пойти не так в моей программе из-за кода, а затем смотрю на внешние факторы, такие как ошибки пользователя и отсутствующие входные данные. Обычно это мой первый опыт тестирования. Затем пришло время позволить другу использовать мой проект, чтобы оценить реальный пользовательский опыт. Я бы обратился к профессионалу за предложениями и рекомендациями, прежде чем переделывать свой проект или переходить к следующему.