Подтвердить что ты не робот

Подходящая среда для 7-летнего

Мой 7-летний учился, как программировать? (его идея не моя, и он делает вещи во внешнем мире.Таким образом, я не слишком волнуюсь с этой точки зрения. Он уже зашел так далеко, чтобы выпустить книгу программирования игр из моего кабинета, чтобы читать в постели. ) На днях мы сели и написали очень простое угадывание номера (вы выбираете 8, и это правильно, что-то еще не так).

Все прошло хорошо, но было несколько вопросов, которые он основывал на синтаксисе языка. (Я случайно выбрал Java, поскольку в то время был открыт IDE.) Я преподаю послесредние вступительные курсы программирования, так что это было немного для меня открытием (большинство учеников из средней школы не хотят задавать вопросы), поскольку Мне действительно нужно было выяснить, как объяснить синтаксис 7-летнему человеку?

Очевидно, что любой язык C-типа будет иметь те же проблемы, что и большинство "языков". Я посмотрел на писк, но решил не использовать его еще. Я посмотрел на среду Алисы, но мне это тоже не понравилось.

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

В идеале я бы хотел, чтобы опыт помог ему создать уверенность в математике и логике (если у 7-летнего есть логика: -).

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

Изменить 1:

Логотип работает хорошо. Мне нужно научить его концепции углов (90 градусов, 180 градусов). К сожалению, на самом деле они не занимаются делением в школе, но поэтому углы могут быть забавными...

Сначала вычеркните квадрат:

FORWARD 50
RIGHT 90
FORWARD 50
RIGHT 90
FORWARD 50
RIGHT 90
FORWARD 50
RIGHT 90

В какой-то момент я перейду в циклы:

REPEAT 4 
[
    FORWARD 50
    RIGHT 90
]

А затем переменные:

make "length 50

REPEAT 4 
[
    FORWARD :length
    RIGHT 90
]

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

Изменить 2:

Ну, это был успех, потому что он смог написать простую программу (пока еще не петли), пока я был вне комнаты. Это на самом деле работает очень хорошо - мы вышли и получили графическую бумагу и транспортир, мы угадали 90 градусов, и он сделал кучу квадратов, превратил квадрат в прямоугольник и увидел, где он поступил не так, как отладить его. Я бы рекомендовал этот подход для всех, у кого есть 7-летний возраст, который заинтересован в программировании. Я думаю, что я порекомендую его и моим ученикам после окончания средней школы (!)

4b9b3361

Ответ 1

В Javascript на самом деле есть интерпретатор Logo на основе браузера.

http://logo.twentygototen.org/

Ответ 2

Я категорически не согласен с тем, кто говорит, что семилетним детям будет сложно узнать новый синтаксис. Это полностью назад. Попробуйте обучить свинца латину семилетнему ребенку и до тридцати чего-то неродного английского говорящего. Или попробуйте путешествовать в чужой стране со своими детьми. Посмотрите, кто может свободно разговаривать с аборигенами через месяц (подсказка: вероятно, это не вы).

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

Ответ 3

Я научился программировать, когда мне было 10 в точно, как вы учили своего сына. Мой папа использовал интерпретатор GW-Basic, который пришел с нашим AT & T PC6300, и мы написали игру, где компьютер задал вам вопрос, и вам пришлось ответить A/B/C. Большим преимуществом синтаксиса в GW-Basic было то, что у вас не было многострочных операторов. Возможно, вы захотите попробовать что-то подобное. Java, с ней фигурные скобки, может быть немного жесткой.

Пример кода:

10 PRINT "What color is Big Bird?"
20 PRINT "A. Blue"
30 PRINT "B. Green"
40 PRINT "C. Yellow"
50 INPUT$ ANSWER$
60 IF ANSWER$ = "C" THEN PRINT "Good Job!" ELSE PRINT "Oops, wrong answer!"

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

Ответ 4

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

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

Ответ 5

Я думаю, что Python может соответствовать вашим потребностям. Это хорошо известно, потому что его легче освоить, чем многие другие языки, и интерактивный интерпретатор позволяет программистам сразу видеть, что происходит, когда выполняется кусок кода. IDLE gui, который поставляется с ним, прост в использовании. Он также имеет модуль черепахи через TKinter.

https://docs.python.org/library/turtle.html

Ответ 6

Scratch - еще один. Разработано в MIT специально для обучения детей программированию.

Ответ 7

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

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

Ответ 8

У Microsoft есть несколько интересных усилий, которые кажутся приятными:

  • popfly: http://msdn.microsoft.com/en-us/devlabs/cc950523.aspx --- "Popfly включает простой способ создания и совместного использования игр с друзьями. из множества встроенных шаблонов или начинать с нуля, чтобы создать игру с прокруткой, 2D-съемку или множество других. И самое главное, вы можете начать работу без написания строки кода"... Я думаю, что это может действительно помочь мотивировать:)

    • smallbasic: http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx --- должно быть упрощено, но с поддержкой инфраструктуры intellisense +.net(краткое описание слишком похоже на маркетинг, поэтому я не вставлял его: P)

Ответ 9

Попробуйте Small Basic, который имеет мини-BASIC язык и упрощен для более молодой толпы.

Ответ 10

Бегите с Явы! Попробуйте что-то, предназначенное для обучения, например scratch, LOGO или Схема PLT.

Ответ 11

Почему бы не вернуться ко времени QBasic? Это первый язык, который я узнал (на самом деле это был GW-BASIC, но это не так).

Синтаксис намного легче получить вокруг одной (хотя и непостоянной, а иногда и просто расстраивающей). Он ничего не учит OO, но, вероятно, над его головой, так как это было бы мое.

Этот сайт также может представлять интерес.

Ответ 12

Я бы сказал, что использовать визуальный базовый или нечто подобное, где вам не нужно беспокоиться о синтаксисе, фигурных скобках и т.д. Я программировал на 7, но это было в LOGO и C64 Basic. Я ненавидел ЛОГОС... мне было так неприятно, что одним из "больших" вещей, которые вы могли бы сделать, было перемещение по глупой черепахе. Тем не менее, C64 Basic (для меня) был отличным... как только у меня было это (пару лет), я был в курсе, чтобы узнать C и даже ассемблер C64.

Ответ 13

Приходят на ум две мысли:

  • Мой 3-летний сын любит играть со мной World of Goo. Он еще не может решить проблемы, но я вижу, что он впитывает массу информации.
  • Пойдите с Alice. Мой сын слишком молод, чтобы попробовать это, но как только он станет старше, мы уступим ему, если он увлечен. FWIW Я узнал об этой программе после просмотра Последний фрагмент Рэнди Пауша (R.I.P)

Ответ 14

Попросите его проверить http://scratch.mit.edu. Мой семилетний учится этому, когда мы печатаем...

Ответ 15

Etoys - это, возможно, то, что вы ищете. Это отчасти графический аромат smalltalk, созданный только для детей. Это используется проектом olpc.

Ответ 16

Я участвовал в компьютерном курсе начального уровня, используя Stagecast. Это графический язык программирования, предназначенный для детей. Я нашел его идеальным вводным языком, потому что он графический и интерактивный. Он не требует чтения или математики, он работает на Windows и Mac OS, и идеально подходит для простых игр, поэтому дети мотивированы, чтобы учиться.

Ответ 17

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

Ответ 18

Я немного порван о Алисе.

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

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

Ответ 19

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

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

Ответ 20

Я бы искал один из многих аркадных игровых движков и позволил ему играть с этим. Выберите тот, где ему нужно будет использовать циклы и условия, а также некоторые процедуры.

Ответ 21

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

Он использует Ruby, который может быть очень легко для новых людей.

Ответ 22

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

Ответ 23

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

Тьюринг - это язык программирования, подобный Паскалю, разработанный в 1982 году Риком Холтом и Джеймсом Корди, затем Университетом Торонто, Канада. Тьюринг является потомком Euclid, Pascal и SP/k, который имеет чистый синтаксис и точную независимую от машины семантику.

Названный в честь британского компьютерного ученого Алана Тьюринга, Тьюринг в основном используется в качестве учебного языка на уровне средней школы и университета. Существуют две другие версии, объектно-ориентированные модели Turing и Turing Plus, варианты системного программирования. В сентябре 2001 года "Объектно-ориентированный Тьюринг" был переименован в "Тьюринга", а оригинальный Тьюринг был переименован в "Классический Тьюринг". Тьюринг доступен у Holt Software Associates в Торонто.

Доступны версии для Microsoft Windows, Linux и Apple Macintosh. Тьюринг все еще широко используется в старших классах Онтарио в качестве введения в программирование.

В ноябре 2007 года Turing, ранее являвшийся коммерческим языком программирования, стал бесплатным. По состоянию на 28 ноября 2007 года он был доступен для бесплатного скачивания с веб-сайта Holt Software для личного, коммерческого и образовательного использования. 1

Ответ 24

Вы также можете использовать эмулятор Commodore 64. Он начинается с BASIC.

Ответ 25

Можно также выбросить Lego ™ Mindstorms ™ как возможность. Он использует графический язык программирования на основе LabView.

Ответ 26

Я прочитал это сообщение ранее сегодня, а затем случайно случайно отправился на YUP.com и обнаружил

Обучение детей взлому (программе) с Hackety Hack

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

Ответ 27

Недавно я ответил на аналогичный вопрос SO с указателем на kidbasic, который является программным обеспечением с открытым исходным кодом и кросс-платформой.

Ответ 28

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

UCB Scheme также предлагает множество встроенных функций для манипулирования предложениями, что может иметь больше смысла для 7-летнего возраста, чем создание многоугольников и решение головоломок (не говоря уже о том, что предел неба!).

Ответ 29

Я печатал программы из книги "BASIC Fun", когда я был в 2-м классе.

Я отчетливо помню, что понятия бесконечных циклов и INPUT A $были похожи на обнаружение силы тяжести. Головокружение.

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

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

В BASIC существовал целый жанр книг для программирования в 80-х годах. Этот материал является отличным источником идей программирования. Однако я бы не рекомендовал использовать BASIC даже для 7-летнего - lua имеет простое чувство BASIC, но это не сломанное дерьмо.

Ответ 30

Не смотрите дальше, на самом деле есть целая обучающая платформа/ОС, предназначенная для этой цели: Сахар.

Операционная система OLPC (один ноутбук на ребенка) называется Sugar теперь доступен для широкой публики, и вы можете запускать его как виртуальную машину во всех основных операционных системах, таких как Mac, Windows и Linux.

Скачайте копию на Sugar Labs.

Одна интересная деятельность включает в себя TurtleArt, выпущенную в 21 веке версию логотипа. Также есть дружественная к ребенку версия Python IDE под названием Pippy. На самом деле он учит детей Python!

См. TurtleArt и Pippy и другие действия, найденные в Sugar.

Алан Кей был за некоторыми из новых концепций в Sugar OS, который на самом деле является современным воплощением его дальновидного DynaBook. Даже будучи взрослым (кто инженер), я с удовольствием играю.

И если вы любите Sugar как VM, вы даже можете купить оборудование и в то же время помочь бедному ребенку в другом месте в мире.

Engadget объясняет: Программа OLPC XO Buy-One, программа Give-One

OLPC OX

В качестве бонуса для нас, взрослых, сахар получается из Fedora. Так что это настоящая и полная ОС на базе Linux. Должно быть весело взломать.; -)