LINUX.ORG.RU
ФорумTalks

дети и программирование. в поисках howto

 , ,


1

3

Сыну на ДР друх задарил книжку по Visual C++. И ребенок загорелся вдруг чего-нибудь сразу программировать. Книжка причем даже не учебник, а какой-то справочник с примерами. Но там есть всякое «вау» с графикой, игрушечками и т.д. С моей же стороны кажется, что c++ тем более сразу с визуал оболочкой для начала это как-то не правильно - слишком сложно, слишком далеко от базовых понятий, слишком привязано к одной реализации.

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

Мальчик 12 лет, по математике 4-5, ранее компы его интересовали только как запускалка для игрушек, а что у них там еще есть было фиолетово.

Линукс-виндоус пофиг :)

★★★★★

как оно там называется, танки, две башни, стреляют друг в друга.

вот, пусть пишет. чтоб рельеф генерить, чтоб танки пушками шевелили, чтоб от взрывов все осыпалось. помню классе в 8-ом было очень круто.

посмотри демки (4к интро, например) из демосцены, всех их, разве что чуть примитивнее, можно нашлепать. вау полные штаны будет.

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

Rastafarra ★★★★
()

у кого вдруг есть дети,

Детей у меня нет, но (ты не поверишь) я сам когда-то был ребёнком. И я тебе вот что скажу: детям пофиг на правильность, оболочки, «вау» и базовые понятия.
Нет ничего плохого в ошибках пусть даже принципиальных — сегфолт в программе это не заземление на себя фазы. Безопасно и многому учит.
Если уж С++, то убедись, что в книге есть хотя бы краткое описание STL-контейнеров, а остальное придёт с опытом.

Какой язык?

В моём случае получился ассемблер-паскаль-Си. Но это были времена когда Z80 не вызывал смех, а паскаль считался перспективным. Сейчас ассемблер можно выбросить, вместо паскаля потыкать ПХП и всё равно прийти к Си и потом к Си++.
Ну или можно пойти путём зла и страданий и ковырять Си-шарп и жаву.

Stahl ★★☆
()

Мне кажется интерпретатор и скрипты.

sin_a ★★★★★
()

Пистон если нужны абстракции, паскаль если конкретика.

Tark ★★
()

Можешь, не как программу обучения конечно, но как приколюху-заинтересовалку, показать cookie clicker и предложить/показать как читерить с ним из JS-консоли ^__^

http://orteil.dashnet.org/cookieclicker/

Y ★★
()

Пусть пробует. Я тоже C++ пытался изучить первым делом (в возрасте младше этого мальчика), вышло, естественно, не сразу, а с энной попытки. По пути до C++ много всего узнал. Вывод: планку надо ставить повыше. Со всякими динамическими языками потом c головой проблемы на всю жизнь могут остаться. По поводу среды не важно, он пока не на работу идёт.

xaizek ★★★★★
()
Ответ на: комментарий от sin_a

Из песни слова не выкинешь! Жопа есть, а слова нету?!

Xellos ★★★★★
()
Ответ на: комментарий от Rastafarra

сделать сапера, чтоб человек сам осознал как надо обходить минное поле,

...а поделать ничего не мог

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

а то!

Anonymous ★★★★★
()

Я бы в его возрасте очень хотел что-то вроде C# и Unity3D. Но у меня был лишь паскаль с бэйсиком.

Sadler ★★★
()

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

Во-вторых, всё, что тут несут про stl-контейнеры и прочий лисп - в топку. В таком возрасте, как правило, абстрактное мышление не настолько развито, алгоритмическое тоже. (И оценки по математике - не показатель, там программа более-менее адаптирована под возрастные особенности.) Хотя, бывают и уникумы, конечно.

Вообще, кнопочки-формочки, на мой взгляд - самое то для начала. Взаимодействие наглядно, и результат своих действий виден сразу. Контейнеры и прочее такое надо вводить уже по ходу. Ну там, если понадобилось 20 одинаковых кнопок на форме - подсказать, что не стоит их копипастить с именами Button1..Button20, если задача позволяет генерить их процедурно, например.

alegz ★★★★
()

Несколько раз заводил речь с сыном (10 лет) о программировании - без толку. Стал догадываться о различиях линукса от винды:). Шарится по инету, пробует массу игорь, мучает стим. Из творческих намеков - «хочу создать канал на юутбе». Но это скорее от друзей. Впрочем, чаще стал спрашивать что-то о системе, но в контексте «почему у нас не винда?». У друзей поголовно офтопик. Радует, что хоть не подсаживается на игори конкретно. Вопщем, время еще не пришло:). Жду момента. Но цели как таковой делать из ребенка программиста не стоит.

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

conalex ★★★
()
Ответ на: комментарий от conalex

Да, кстати, смотрел скратч, имхо вполне годно для детей.

conalex ★★★
()
Ответ на: комментарий от Xellos

А что, эту штуку еще не переписали под браузеры?

Deleted
()

Какой язык?

Немецкий. Читала как-то статью какого-то института о различии в подходе изучения иностранного языка между детьми и взрослыми. Взрослые учат базу, грамматику, слова, переводят их с родного, в итоге всё выходит коряво(примеров миллион). А дети сразу начинают говорить на языке, как итог – перфектное знание и отсутствие акцента.

Если вау, то пусть и делает то, что нравится, остальное само приложится по ходу пьесы.

sudo
()

Моим первым ЯП был JavaScript. С переходом на нативные языки у меня не было проблем. Однако, после всяких PHP, Python, JS и прочих действительно, как xaizek сказал выше, могет остаться мусор в голове.

Deleted
()
Ответ на: комментарий от exhu

«вау» — это по-русски «ух-ты!» ?

питон

«вау» тут не в смысле «какое же говно», а в смысле «круто, хочу еще».

ТС-у: у лего, кстати, есть серия конструкторов про роботов, к слову. датчики там всякие, модули, блоки управления... по отзывам крутая штука, не сказать чтоб запредельно дорогая.

Rastafarra ★★★★
()

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

umren ★★★★★
()

bash ему дай. И книжку Немет.

DeadEye ★★★★★
()

1)азы преподать на написании какой-нибудь игрушки

2)возьмите любой опенсорс проект, можно тоже игру, главное чтобы с графикой и поковыряйтесь вместе с ребёнком, добавьте какой-нибудь функционал, исправьте очевидные баги.

было бы неплохо на этом этапе взять какой-нибудь гуишный будильник: глядишь и первый нормальный опенсорсный будильник напишет ваш ребёнок.

next_time ★★★★★
()

а вообще, С++ — лучший язык качестве первого. паскаль протух, сишка убога (в ней нет классов и прочих фич, роднящих её с ООП или функциональщиной), ассемблер — нудный и убивает творчество, из языков, позволяющих лучше понимать работу программ ближе к низкому уровню остаётся только С++, а без этого человек навечно останется быдлокодером.

next_time ★★★★★
()
Ответ на: комментарий от next_time

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

Ассемблер.

Deleted
()

Выкинь эту книжку и сожги в топке, вместо этого распечатай мануал к GCC и последний стандарт C++ :) Пусть с детства привыкает к правильным вещам :P

Harald ★★★★★
()
Ответ на: комментарий от next_time

ассемблер — нудный и убивает творчество

Для кого как. «Когда ты пишешь на ассемблере, ты разговариваешь с процессорами на их языке, и они могут поведать тебе много интересного» (с) кто-то с wasm.ru

Harald ★★★★★
()
Ответ на: комментарий от Xellos

В жопу язык, не порть ребёнка

А нет ли тут пропаганды?

CYB3R ★★★★★
()
Ответ на: комментарий от Harald

именно, что для кого как. ассемблер не так плох для написания кода для всяких там железок, но для игрушек и гуя (что может быть интересно ребёнку), это БДСМ.

next_time ★★★★★
()
Ответ на: комментарий от Deleted

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

next_time ★★★★★
()
Ответ на: комментарий от conalex

Радует, что хоть не подсаживается на игори конкретно.

что мешает втолковать что это просто пиксели на экране? какую-то пользу и применение им добыть непостижимо сложно и бессмысленно.

n_play
()
Ответ на: комментарий от Xellos

просмотр спортивных мероприятий должен осуждаться сильнее просмотра прона.

либо участуешь, либо др^W^W, либо ненужно

n_play
()

Очевидные Паскаль и Бейсик, с чем-то для рисования графики.

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

Ake
()
Ответ на: комментарий от n_play

Если никто не будет смотреть, футбола не будет. Нахрен оно надо само по себе, уровнем выше дворовой сходочки?

Xellos ★★★★★
()
Ответ на: комментарий от Rastafarra

Да запросто, только вот ничего еще не знает он. Или ты про то, что главное что делать, а не с помощью чего?

petrosha ★★★★★
() автор топика
Ответ на: комментарий от exhu

«вау» — это по-русски «ух-ты!» ?

Ну да... :)) Пелевин все дела.

питон.

А есть какая-нибудь книга по питону, где объясняется не только питон, но и что такое программирование вообще?

petrosha ★★★★★
() автор топика
Ответ на: комментарий от Xellos

В жопу язык, не порть ребёнка. КуМир (http://www.niisi.ru/kumir/).

Идея понятна. Но может оказаться «не круто» и тогда вся задача пойдет на смарку. Мы же типа «взрослые», а тут какие-то детские картинки.

petrosha ★★★★★
() автор топика
Ответ на: комментарий от Sadler

Я бы в его возрасте очень хотел что-то вроде C# и Unity3D. Но у меня был лишь паскаль с бэйсиком.

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

petrosha ★★★★★
() автор топика
Ответ на: комментарий от alpha

Вообще в Python-сообществе немало всего сделано для детей и их обучения. Можно покопать и найти.

Спасибо, погляжу :) Пока эта фраза звучит для меня удивительно.

petrosha ★★★★★
() автор топика
Ответ на: комментарий от conalex

Несколько раз заводил речь с сыном (10 лет) о программировании - без толку. Стал догадываться о различиях линукса от винды:). Шарится по инету, пробует массу игорь, мучает стим. Из творческих намеков - «хочу создать канал на юутбе». Но это скорее от друзей. Впрочем, чаще стал спрашивать что-то о системе, но в контексте «почему у нас не винда?». У друзей поголовно офтопик. Радует, что хоть не подсаживается на игори конкретно. Вопщем, время еще не пришло:). Жду момента. Но цели как таковой делать из ребенка программиста не стоит.

Ыыы... как все это знакомо :)

petrosha ★★★★★
() автор топика
Ответ на: комментарий от aiqu6Ait

Ардуину попробуй.

Обязательно, когда появится еще и тяга к паяльнику. Ну я в хорошем смысле :)

petrosha ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Пусть учит Pure C. Заодно научится пользоваться дебаггером.

Как предлагаешь на пуреСи рисовать графику, чтобы было красиво и интересно?

petrosha ★★★★★
() автор топика

Программирование состоит из:

  • алгоритмического мышления;
  • умения пользоваться справочными материалами;
  • минимального представления об устройстве ЭВМ, компиляции, устройстве самого проекта (в зависимости от IDE), сборки программ;
  • умения планировать свою деятельность.

Язык не имеет значения. А книжка с примерами опасна тем, что сужает мышление. Хорошо, если книжка дешёвая и примеры без бубна не собираются, а то потом будет засирать форумы темами «Пачиму пишет [Linker error] undefined reference to, если на кнопку нажат?77».

ziemin ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.