Если вам это нравится, прочитайте другую статью Робби: Замена фонда колледжа моего ребенка на фонд« Начни что-то »

Мы с женой читаем моей 10-летней дочери каждый вечер перед сном, с тех пор как она была младенческой. Я говорю «моя жена и я», когда на самом деле имею в виду «мою жену в 90% случаев». С нашим последним пополнением в семье (теперь это двухлетний мальчик), моя жена не так много читает моей дочери. Это означает, что у меня появилась возможность делать это еще раз. Ее старый папаша любит освежить вещи, поэтому мы не всегда читаем (я могу читать «Дневник слабака» лишь определенное количество раз). Иногда мы играем в карты. Иногда мы просто разговариваем.

С самых ранних дней я рассказывала о своей работе и о том, чем занимаюсь. Управление стартапом не всегда гламурно, и я привлекал ее при любой возможности. Иногда она помогала украсить мой офис к мероприятию или помогла мне переставить мебель. Я даже взял ее с собой, чтобы посмотреть, как я выступаю на местной конференции разработчиков программного обеспечения. Летом она два года проработала стажером в Automated Insights. Она приходила ко мне раз в неделю, и мы давали ей случайную работу по офису - наполнять закуски, чистить доски и т. Д. Она даже посещала некоторые встречи.

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

Как выглядит учебная программа по программированию 101 для человека, который только знакомится с разделением и проводит свободное время, делая слизь? Все происходило на лету, и я попытался связать это с вещами, которые нравятся 10-летней девочке (в частности, American Girl Dolls).

После того, как мы ознакомились со всеми концепциями высокого уровня (например, что такое программа?), Мы перешли к ноутбуку.

Это была первая ночь в записной книжке - переменные и константы:

Я считаю Ruby одним из самых читаемых языков, поэтому решил использовать его в качестве основы. Но я не зацикливался на строгой синтаксической структуре - я использовал много псевдокода. Только основы. На этом этапе все дело в концепциях. Каждую ночь мы тратили около 30 минут - 10 минут на обзор и 20 минут на новый материал.

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

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

После этого мы рассмотрели некоторые основные типы данных, а затем условные выражения и (простую) логическую логику. Все прошло хорошо.

Со всем этим мы были готовы написать настоящую программу! Я вспоминаю первые несколько раз, когда я писал программу в раннем подростковом возрасте. Когда вы впервые видите результаты написанной вами программы, это как-то волшебно. Вы дали компьютеру несколько инструкций, и он выполнил код!

Мы создали простую программу на Ruby под названием haircomment.rb. Учитывая, что она все еще не умеет хорошо печатать, ввод кода был немного болезненным, но она справилась с этим. Ей нравилось запускать его из командной строки (к тому же это новая концепция).

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