воскресенье, 31 июля 2022 г.

Почему ребенок вроде бы изучает программирование успешно, а потом забрасывает?

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

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

Еще могут быть особенности баланса технического/гумманитарного мышления. То есть, например, техническую часть осваивает хорошо или даже отлично, но сердце больше лежит к художественной самореализации. Тогда можно поискать что-то на стыке тех/гум: 3d движки, дизайн, видео, аудио, сторрителлинг. Гуманитарное тоже может быть разным: у кого-то отличное визуальное мышление, кто-то фанатеет по звуку, а кто-то "весь в тексте" и пишет прекрасные истории, нарративный писатель.

Главное – в отношении ребенка не проецировать свои ожидания, а задавать себе вопрос: "Мне ужасно интересно, а кто ты, какой ты?". Мы склонны достраивать ожидания исходя из своих ценностей, опыта, привычек. 

А у детей – сильнейшая потребность самореализоваться именно такими, какими они хотят и могут быть. А самореализация – это 1) самостоятельная 2) реализация 3) своих  самых сильных сторон.

И здесь часто родители упускают первый пункт про "самостоятельность". Я тут могу завернуть длинный спич про нейрофизиологию и особенности дофамино/серотонино/кортизольного "обмена". Этот базис важно знать, чтобы помогать выстраивать автономную мотивацию у ребенка.

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

По окружению – вы все верно заметили. Окружение – одно из сильнейших подкреплений. И совместная туса со сверстниками в любимом деле – крутая штука, которую сложно переоценить. Но оно также может и сбивать с собственной волны, так что не является чем-то безусловно необходимым. 


(Полный дейли-блог по написанию и изданию книги "Программирование на Python для детей" веду в Телеграм: https://t.me/p4kids)

воскресенье, 3 апреля 2022 г.

Опрос: прорабатываем новую книжку для детей по программированию на Python

Вот хочет родитель купить книгу по программированию для своего ребенка и думает: "новый комп в текущей ситуации покупать дорого, а свой рабочий не могу дать ребенку". "А вот смартфон у него и так есть, куплю книжку и пусть учится программировать".

🧑‍💻 Компов много, но смартфонов несравненно больше. Сейчас почти у каждого ребенка 10+ есть свой смартфон. 

🛏 Прям картинку вижу, как сидит ребенок в кресле/на стуле/лежит на диване: в одной руке цветная красивая книжка, в другой – смартфон.

📖 Открывает книжку, перелистывает страницу, читает, улыбается.

📱Берет телефон и наводит камеру на страницу. На телефоне автоматически открывается код из примера.

🎲 Тыкает пальцем в смартфон, проверяет, как работает код, экспериментирует.

📖 Откладывает смартфон. Снова берет книгу, читает дальше. Следующий шаг, следующую главу.

📱Снова наводит камеру смартфона на qr-код на странице. Бах, пример из книги "волшебным" образом оказался на смартфоне и сам запустился. Это какая-то простая самописная игра или просто анимированная картинка. Тамагочи, графический редактор, стрелялка или что-то другое.

📱Ребенок меняет цвета, правит алгоритм. Меняет последовательность действий, изучает команды языка Питон. Добавляет циклы, условные выражения. Может списки (массивы) или функции.

📱Сохраняет код и отправляет ссылку себе в соц. сеть.

📖 Когда не получилось, находит в книге подсказки.

📖 Открывает книгу дальше, чтобы сделать следующий интересный проект.

🐶 Берет книгу и телефон в школу, собирая вокруг себя заинтересованных друзей.

🐞 Берет на прогулку. Кодит в путешествии и поездках. Берет "в гости" к бабушке. Кодит вместо прополки огорода – "я работаю на будущее, не отвлекайте!" 

👉 Это мы планируем написание новой книги для детей.
Я думаю о том, чтобы читая книгу для детей по программированию можно было бы кодить на мобильном! Без стационарного компа или ноутбука!

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

А вы что думаете?

(Дубль блога в Телеграм: https://t.me/p4kids)

понедельник, 12 сентября 2016 г.

Курс по основам программирования на Java для новичков

Новый интерактивный курс по Легкой Java с поддержкой преподавателя онлайн!

От автора книжки "Яша учится программировать"!

Как проходит обучение?
  1. Вы регистрируетесь на курс здесь.
  2. Слушаете лекцию.
  3. Нажимаете кнопку "Я СДЕЛАЛ".
  4. Переходите к следующей лекции или к программированию.
  5. Программируете прямо в браузере! Без установки дополнительных программ!
  6. Сохраняете код – пересылаете его вашему преподавателю.
  7. Он смотрит и вам отвечает – общаетесь с преподавателем, задаете вопросы, спрашиваете, что не понятно было.
  8. Проходите бесплатный курс и можете продолжить обучение на самую современную профессию Java-разработчика на последующих курсах.


Заходите: khasang.io/courses/tryjava  


 khasang.io/courses/tryjavaintro

вторник, 5 апреля 2016 г.

Как исправить русские буквы в Процессинге

Нам пишут:

"Интик, в новой версии процессинга 3.0.1, когда вводишь текст "русскими буквами" вместо текста отображаются крокозяблы.
Хотя когда Создатель Планет ее запускает то все отображается отлично.

Так вот что бы русские буквы корректно отображались в коде программы можно в File -> Preferences -> Editor and console font поставить шрифт к примеру Courier New.

И тогда все становится супер!

Малыши могут запутаться, наверное им надо об этом рассказать!"
(спасибо автору: ddinamit ddd)

вторник, 19 января 2016 г.

Какой язык программирования изучать детям?

Что изучать детям:

-- 1. Скретч

позиционируется от 8 до 16 лет
https://scratch.mit.edu/about/

Однако пик возраста изучающих 10 - 15 лет
https://scratch.mit.edu/statistics/

Есть хорошие интерактивные обучающие онлайн-уроки по Scratch.
Чем могла бы быть интересна книга по Скретч?
а) Предположим, она описывает, как им пользоваться.
Но 1. это будет неконкурентно онлайн-туториалу. Все равно, что писать книгу, как играть в Angry Birds или Plant vs Zombies. Современные онлайн-туториалы уже заточены под интерактивное обучение.
И 2. Чтобы объяснить как играть в скретч придется делать сотни скриншотов экрана. И, раз для детей, то цветных. Объем книги получится несколько сотен страниц.
Получается, что дорого издать, а большой объем скорее всего отпугнет детей, дети в этом возрасте не любят толстые книжки, насыщенные информацией.
б) Следовательно, книга могла бы быть полезна, как маркетинговый, завлекающий материал. Чтобы заинтересовать Скретчем.
Тогда она должна быть маленькой, страниц на 30 - 50, и больше рассказывающей про программистов, а не обучающей.


-- 2. Детская Java (aka Processing)

возраст целевой аудитории тот же: около 10 лет и старше

Плюсы:
1. Опыт преподавания показывает, что эту книгу будут гарантировано читать не только дети, но и взрослые, особенно гуманитарии, которые хотят узнать что-то про программирование, но обычные материалы для них скучны. (Собственно, Яшу так читают и рекомендуют)
Ее можно распространять на обучающих курсах.

2. Позиционирование: это серьезный язык.
Не просто какой-то непонятный язык, а базируется на Java, которая уже двадцать лет на 1-2 месте среди всех языков программирования.

3. Пути развития намного шире: после изучения Детской Java легко программировать роботов на самой известной платформе: Ардуино. Так как там используется тот же самый язык.
В перспективе можно двигаться в сторону программирования под Андроид. Под Андроид программируют тоже на Java. А количество запросов на программистов под Андроид в разы растет каждый год.
Java-программисты по прежнему имеют самый высокий оклад на рынке. Это связано с тем, что Java масштабно используется в банковском и фин. секторе.

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

4. Легкость освоения. Он не сложнее скретча. Но за счет необходимости изучать синтаксис (есть свои правила, как в русском или иностранном языке) требует от детей, чтобы они были где-то на год старше.
По сравнению с взрослыми языками Детская Java ориентирована на визуальную составляющую, что детям очень нравится.

5. Можно легко сделать версию с русским языком в виде команд, тогда изучать его еще проще
См. http://www.programmingforkids.ru/2013/10/detskaya-java-priklyuchenie-pervoe.html

Соответственно есть вариант написания мини книги на основе http://www.programmingforkids.ru/2013/10/detskaya-java-priklyuchenie-pervoe.html

-- 3. Языки: Ruby, python, javascript и другие

Тоже прекрасный и современный выбор. Но из-за еще большей абстрактности требования к возрасту целевой аудитории еще на пару лет выше.
Или же требует детальной проработки тем с упором на визуальную составляющую

суббота, 16 января 2016 г.

Интервью с автором книги Игорем Грессусом для ELLE




Если коротко и на пальцах. Программирование — это вид общения через набор команд.

Сначала планирование, затем исполнение. Это способ взаимодействия.
«Когда ребенок просит: «Налей мне сока, пожалуйста», это не что иное, как адресное обращение к кому-либо, чтобы получить что-либо.

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

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

Полный текст статьи здесь:
http://www.elle.ru/elle-kids/chto-takoe-detskoe-programmirovanie-i-zachem-ono-nujno/

четверг, 1 октября 2015 г.

Новый Processing 3 (Детская Java)!

Детская Java — Processing теперь в версии 3!

Легкая Java для начинающих, попробуйте!
1. Теперь ищет и подсказывает, где ошибки

2. Автодополнение (Code Completion)! Wow

3. Можно запустить программу, она будет работать и одновременно можно менять цвета в коде или значения переменных -- и это сразу будет видно, без перезапуска! Wow

4. Теперь есть деббагер! Можно выполнять код построчно! Wow

5. Можно запускать fullscreen -- на инсталяциях, больших мониторах!

6. Поддержка ретины! (можно указывать pixelDensity)

7. Добавили новый рендеринг на основе JavaFX! (экспериментально)


Welcome to Processing 3 from Processing Foundation on Vimeo.

четверг, 25 июня 2015 г.

Зарплатные перспективы для начинающих программистов

HeadHunter: самые выгодные профессии — у юристов, банковских служащих и программистов. 

По информации от Минобразования: Самая высокая зарплата в начале карьеры ожидает программистов, им московские компании предлагают 44 тысячи рублей в месяц. Юристы получат 38 тысяч. Работники сферы продаж, сотрудники банков и рекламисты могут устроиться на зарплату в 35 тысяч рублей.

http://megamozg.ru/post/16724/

среда, 10 декабря 2014 г.

Час кода. Программирование для начинающих

На этой неделе проходит акция «Час Кода» от code.org, которую мы поддерживаем и предлагаем вам принять участие в открытом бесплатном вебинаре по обучению программированию.

Для детей и их родителей, а так же для всех начинающих. Один час интерактивного обучения основам программирования. Все что вам нужно для программирования - это просто браузер!

Язык программирования мы будем использовать или Scratch, или Детскую Java (Processing).

Присоединяйтесь, будет весело и полезно!

В ближайшее воскресенье 14 декабря 2014 с 11:00 по 12:00 (по Москве)

ССЫЛКА ДЛЯ ПОДКЛЮЧЕНИЯ ССЫЛКА ДЛЯ ПОДКЛЮЧЕНИЯ

Регистрация

пятница, 21 ноября 2014 г.

Программирование на процессинге и разработка игр для начинающих



Илюха открыл свой канал на youtube и показывает, какие игры написал на Детской Java / Processing!
http://www.youtube.com/channel/UCTkbyz3TOCb_iVqGX9IuZog

Круто для шестого класса, как вы считаете?
Кстати, большая часть этих программ была написана Ильей когда он учился в пятом или даже в четвертом классе.

среда, 19 ноября 2014 г.

Красота программирования

"Не знаю, как описать мою любовь к программированию, но я попробую.

Если этим занимаешься, кажется, что в мире нет ничего интереснее. 

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

Линус Торвальдс

вторник, 3 июня 2014 г.

Язык Swift. Урок 1.2: переменные


Переменные. Основа

В языке Swift переменные объявлять проще простого:


Достаточно указать var и все. Сам тип переменной компилятор определит в зависимости от того, что вы этой переменной присвоите.
Неизменяемые переменные мы объявляем чуть по другому. Вместо var пишем let. Вот так все просто.
В примере выше раз вы присваиваете переменной число, то сама переменная будет числовая. И в дальнейшем ей тоже можно будет присваивать только числа.



Язык Swift от Apple. Первая программа “Hello world”

Новый язык Swift очень прост, и отлично подойдет для обучения программированию.
Посмотрите, как просто написать программу “Привет, мир!”:

println("Привет, Мир!")

Даже не нужно ставить точку с запятой в конце строки!

среда, 21 мая 2014 г.

Сайты по программированию: Час кода от code.org, computer science, обучающие материалы по программированию для детей



Update: В ближайшее воскресенье 14 декабря 2014 года в 11:00 (по Москве) пройдет бесплатный открытый часовой вебинар по обучению программированию для начинающих.
Подробности здесь: http://www.programmingforkids.ru/2014/12/hour-of-code.html

Есть потрясающий глобальный сайт по обучению детей программировать.
Как думаете, сколько человек уже попробовало на нем научится программировать?
Ответ: около 36 000 000 человек!

Большая часть информации на нем на английском языке, но кое-что встречается и на русском. Посмотрите, попробуйте!

И, кстати, наш проект наконец-то появился там в поиске:

Если зайти по ссылке: искать локальные проекты по программированию в вашей области http://csedweek.org/learn/local

то как раз можно найти и наш проект: http://csedweek.org/learn/local#www.ProgrammingForKids.ru---KidsJava

воскресенье, 6 апреля 2014 г.

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

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

Но это совершенно не верно! В корне ошибочный подход!

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

Например, ребенок придумал переменную number, и присвоил ей 100:
number = 100;
А затем где-то дальше попытался эту переменную использовать, но опечатался и стал использовать переменную nunber.

Что произойдет?
Компьютер сразу создаст переменную nunber, и присвоит ей значение 0. Найти ошибку будет крайне сложно.

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

Поэтому мы для обучения программированию используем язык Детская Java (Processing), в котором с объявлением переменных все в полном порядке!

Присоединяйтесь к изучению! Успехов!

суббота, 5 апреля 2014 г.

Примеры программ в книгах по программированию для начинающих


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

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

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

Всем ни пуха, ни пера! Ни бага, ни лага!

четверг, 20 февраля 2014 г.

Функция cursor(); Справочная информация по Процессингу



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

понедельник, 17 февраля 2014 г.

Программирование для детей. Елочка. Команды vertex(); beginShape(); endShape();



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

понедельник, 10 февраля 2014 г.

Я такой! Мне хорошо! Бернский зенненхунд



Этот пост совсем не про программирование, просто в эти выходные наша команда побывала на встрече владельцев собак породы Бернский зенненхунд. Собаки очень понравились, добрые, ласковые. Когда искал видео на ютюбе не смог найти съемок в неформально-душевной обстановке, поэтому смонтировал свое.
| О книге для детей | Почему Процессинг? | Консультации по Skype | Онлайн-кружок |