На днях мой папа задал мне вопрос, который я бы никогда не ожидал от него.
"Как я могу выучить C ++?"
Моему отцу в этом году исполняется 56 лет, и компьютеры для него - далекая концепция. Он не знает, как правильно пользоваться телефоном, кроме телефонных номеров (без быстрого набора или контактов); хотя он начал изучать компьютеры немного лучше - до такой степени, что он знает, как открыть Интернет (в Windows) и просматривать информацию (и он успешно выполнил несколько заявлений о приеме на работу полностью в своем собственном режиме онлайн, из которых ему также предлагали должности ). Но все же, это слишком узкий опыт, чтобы на самом деле много значить.
Хотя он может не иметь фона, мой папа умеет читать. И я имею в виду чтение как навык, а не просто умение. У него практически нет образования в колледже (финансовые проблемы, семья и т. Д.), И ему посчастливилось закончить среднюю школу, но он все еще учился, чтобы стать мастером-электриком, и был таковым почти 30 лет. Он сделал то же самое с гитарой, научился играть на очень профессиональном уровне и получил высокую оценку за свое мастерство. В старших классах он взял книгу по тяжелой атлетике - и был единственным человеком в своей средней школе в то время, который официально квалифицировался как «спортсмен» по национальным стандартам.
Во всех случаях ему просто нужно было что-то прочитать. Чему его научить. Он впитывает информацию, как губка.
Я не сомневаюсь в мотивации моего отца или в способности делать это, поэтому моя общая цель просто:
Погрузи моего отца в мир компьютеров и приведи его на путь программирования.
Я твердо верю, что как только я проясню его основы, его навыки вождения и чтения заставят его продолжать в том же духе.
Поэтому я вас всех спрашиваю: с чего мне все это начинать? И каковы лучшие ресурсы там? Должен ли я заставить его запустить Linux вместо Windows? С ++ плохая идея?
Помните, ему нужно (ИМО) сначала изучить компьютеры, а затем получить первое понимание (опыт "Hello world") программирования.
Ради денег и, в первую очередь, я хотел бы получить бесплатные онлайн-ресурсы, которые он может читать, но, безусловно, приветствуются любые хорошие предложения в печатном или платном виде (которые я мог бы изучить позже, чтобы купить).
А также, я намерен начать его с C ++ (без Python, Java и т. Д.), Потому что я знаю это лучше всего и смогу помочь ему на протяжении всего пути с кодом. (У меня сейчас минимальные знания на других языках).
Изменить: я получаю много постоянных предложений по использованию Python. Единственная причина, по которой я хотел сделать C ++, заключается в том, что я ЗНАЮ это и могу быть ТАМ, когда моему отцу нужна помощь. Моим ОЧЕНЬ ПЕРВЫМ знакомством с программированием была Java. Я выучил Java, и у меня это получилось. Я открыт для других предложений, но, пожалуйста, обеспечьте эффективное применение ваших предложений.
РЕДАКТИРОВАТЬ № 2: Я понимаю, что мой подход / мышление / знания могут отсутствовать здесь. Я студент второго уровня бакалавриата CS. Если вы не согласны с чем-либо в моем посте, скажите мне, почему - дайте мне идеи, информацию - вот почему я спрашиваю в первую очередь. Сузить мою общую цель до конкретных достижимых целей.