Передача опыта: Путь Джедая

Автор: admin от 4-08-2015, 11:01, посмотрело: 372

Передача опыта: Путь Джедая

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

Пора!… Кони уже неслись над крышами… (с) Михаил Булгаков


Я, как радеющий папаша, решил передать опыт программирования сыну 14 лет. К этому моменту у него был неплохой опыт разработки собственных программ для роботов типо Лего-MindStorms и летний клуб Id-tech чего там на С писали.

Сам день, когда все же взялся за обучение, помню довольно смутно. Проснулся с утра и решил: «Пора!» — как по Булгакову. Сел за компьютер и подошел к этому делу кондово по принципу «делай как я». Подход не отличался новизной. Сначала обсуждаешь, что предполагается делать, затем проговариваешь наиболее интересные моменты, чего предстоит сделать и дальше уже делаешь в меру оговоренного и прочих соображений походу разработки. Первое, что обсудили и решили, что проект будет какая-нибудь хорошо известная игрушка. Особо не мудрили взяли с потолка — крестики-нолики.

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

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

Начали с наскока — стали тупо решать задачки как свернуть-развренуть, факториал или фибонначи подсчитать. Но ожидаемого для меня результата это не давало. Стало понятно, что сыну надо серьезно изучать Java.

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

Но, слава богу, довел крестики нолики до логического конца.

Передача опыта: Путь Джедая

Сколько веры и лесу повалено! (с) Владимир Высоцкий


Встал вопрос как закрепить результат и оформить его в технологическом тренде. Здесь в общем-то сомнений не было:

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

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

Когда первый этап освоения нового для нас фреймворка был пройден, дело для меня пошло веселее — я уже больше давал советы и делал общее руководство, как лучше там чего зарефакторить и общие соображения из best practice.

Фундаментальное исследование стратегии в игре крестики-нолики


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

Треугольник
Передача опыта: Путь Джедая

Стрела
Передача опыта: Путь Джедая

Окружение
Передача опыта: Путь Джедая

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

После чего мы ударно стали латать код закрывая обнаруженные стратегические дыры.

Передача опыта: Путь Джедая

Результат


Последний месяц сын провозился с дизайном и оформлением:

Передача опыта: Путь Джедая

Крестики-нолики были модифицированны в «Коты против Собак». Добавлены вменяемые сообщения и кой-какой общий интерфейс.

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

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

Удачи.

Источник: Хабрахабр

Категория: Веб-разработка / Android

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent