Предложения по запуску детского программирования [закрыто]

Какие языки и инструменты вы считаете юношей, начинающих программирование, использовать в современную эпоху?

Многие из нас начали с запатентованных Основ, и они не принесли всем нам долгосрочного вреда :), но учитывая опыт, который вы имели с тех пор, и ваши знания в области сейчас, есть ли лучшие варианты?

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

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

21.08.2008 14:23:53
30 ОТВЕТОВ
РЕШЕНИЕ

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

43
21.08.2008 14:43:13
+1: так я начал, когда мне было 10.
Callum Rogers 15.08.2009 16:24:48
Эти вещи также помогают вам начать работу с оборудованием - вы не просто печатаете что-то на экране ... вы перемещаете вещи в физическом пространстве, и это здорово!
Utkarsh Sinha 17.11.2010 14:02:30

Недавно я увидел презентацию о GreenFoot (учебная среда для детей на основе Java). Это выглядело потрясающе. Если бы у меня были дети, я бы попробовал

Ссылка на презентацию

Это очень игривая среда, где вы можете начать с самых простых методов. Дети учатся мыслить объектно-ориентированным образом (вы не можете создать экземпляр животного, но вы можете создать экземпляр кошки). И чем лучше они становятся, тем больше Java вы можете найти для них.

7
21.08.2008 14:25:51

Я думаю, что Java может быть хорошим выбором просто потому, что вы можете легко создавать графические интерфейсы и видеть, как происходят «классные вещи». По той же причине, может быть, любой из языков .NET. Я также слышал много хорошего о языках сценариев (особенно Ruby и Python), чтобы дети научились программировать.

1
21.08.2008 14:26:29

Проверьте Фрограмму (ранее KPL) и Алису

6
21.08.2008 14:27:00

Для ребенка я бы пошел с Алисой . Любому ребенку понравится взаимодействие перетаскивания, которое Алиса использует лучше, чем попытка вспомнить, как пишется и подчеркивает любой язык программирования. Он / она изучит основные структуры программирования (условные выражения, циклы и т. Д.) И получит удовольствие от создания анимационной программы, которую они могут показать другим членам семьи или друзьям.

Класс CS для начинающих в местном колледже фактически использует Алису для обучения программированию независимо от языка. Это обеспечивает хорошую основу для перехода к программированию на определенном языке (или нескольких языках) в будущем.

8
21.08.2008 14:28:23

Сколько? В какой-то момент многие из нас смотрели на BASIC, но до этого я изучил концепции объединения команд, переменных и циклических операций с LOGO. Изучение того, как нарисовать круг с треугольником, который может идти только по прямой линии и повороту, было моим первым достижением в программировании.

Изменить: Этот вопрос и его ответы заставляют меня чувствовать себя старым.

3
21.08.2008 14:44:42

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

5
17.01.2009 16:29:19

Хотя _Why не дал ему много любви в прошлом году или около того, какое-то время я был действительно взволнован по поводу Hackety Hack . Я думаю, что ключом для большинства новых программистов, особенно для детей, которые более чем склонны терять интерес, является мгновенная обратная связь. Это было действительно замечательно в Hackety Hack: несколько строк кода, и вдруг перед вами что-то происходит, что-то делает. Есть несколько похожих приложений, нацеленных на рисование графики (одно из которых я кратко помог Натану Вейзенбауму в « Scribble!»).). Детям просто нужен положительный отзыв о том, что они регулярно что-то делают, иначе ничто не может заинтересовать их задачей. Я думаю, что будущее обучения детей программированию - это своего рода DSL, построенный на основе языка с дружественным синтаксисом (например, Ruby, Python и Scheme), целью которого является создание интуитивно понятной среды для создания простых игры (скажем, крестики-нолики или палач).

2
21.08.2008 14:30:52

Для ребенка я бы пошел с Алисой.

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

5
21.08.2008 14:32:34

Я думаю, что вы должны начать их в C. Чем раньше они смогут освоить указатели, тем лучше.

См Понимание указателей и я должен научиться C .

2
23.05.2017 11:48:37

Я поддержу предложения Джеффа о Фрограмме (раньше это был KPL) и Алисе .

Мое единственное другое предложение - это Lego Mindstorms NXT . Язык программирования NXT - это перетаскивание, он очень прост в использовании и может выполнять некоторые очень сложные задачи, как только вы его изучите. Также молодым мальчикам обычно нравится наблюдать, как все движется. :)

Я использовал Алису и NXT с некоторыми маленькими детьми, и они очень хорошо к этому относятся.

13
21.08.2008 14:33:45

Я думаю, что Python - хорошая альтернатива; это очень мощный язык, и вы можете легко сделать много вещей (совсем не скучно).

3
21.08.2008 14:37:51

Checkout Squeak, разработанный Аланом Кей, который считает, что программированию нужно учить в раннем возрасте.

3
21.08.2008 14:42:15

Ну, если они молоды и не выучили азбуку, вы можете попробовать их на BF - без этих надоедливых букв и цифр, с которыми нужно иметь дело.

Я принесу мне пальто.

Skizz

1
21.08.2008 14:42:57
Не хочешь объяснить, что такое BF?
Axarydax 14.01.2010 12:50:16
Это язык программирования, который использует восемь символов "[] + -> <,". - без букв или цифр. Хорошо, это имя не особенно подходит для детей - держите его как BF.
Skizz 18.01.2010 10:27:40

Сначала я хотел бы использовать то, что хотел бы знать: простую коробку MS-DOS и встроенный ассемблер (отладка). Здорово по-настоящему выучить и понять основы общения с компьютером.

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

Тем не менее, я не совсем уверен, куда идти дальше. Сделайте большой переход к языкам Lisp, Haskell или подобным абстрагированным, или нужно добавить какие-то простые объектно-ориентированные языки (возможно, даже C ++), или это скорее навредит, чем поможет?

1
21.08.2008 14:58:59

Я думаю, что первый вопрос: какую программу было бы интересно создать? Одна из вещей, которая заставила меня начать программирование в детстве (на базовом BBC, а затем на QBasic), была простота написания графических программ. Я мог бы написать пару строк кода и увидеть, как моя программа сразу рисует линию на экране.

Самым близким к такой простоте в последнее время я видел библиотеку pygame для python и Processing , набор библиотек java с IDE.

Я полагаю, что взлом на веб-страницах был бы еще одним хорошим способом начать: это повлекло бы за собой HTML, Javascript (с использованием библиотеки, такой как jQuery), возможно, PHP или что-то в этом роде.

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

2
21.08.2008 15:01:07

Две возможности:

Scratch - разработано в MIT - http://scratch.mit.edu/

и

EToys из известности «Один ноутбук на ребенка» - http://wiki.laptop.org/go/Squeak

10
21.08.2008 15:19:59
Просто добавим, что теперь у нас есть две целые группы, использующие Scratch, и это работает очень хорошо - они знакомятся с циклами, подпрограммами, полной работой.
David Hicks 22.05.2009 14:14:38

Я бы сказал: дай ребенку настоящий C64, потому что так я начал. Но сегодня ... я бы сказал, Руби, но Руби слишком хаотично. Бейсик будет лучше в долгосрочной перспективе. Обработка проста в освоении, и это в основном Java.

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

6
21.08.2008 15:26:28
В Великобритании есть по крайней мере одна школа, которая сделала это - уехала, купила кучу C64 и продала их на уроках программирования. Надежные старые микрофоны BBC все еще используются в нескольких местах.
David Hicks 22.05.2009 14:16:32

Разве Smalltalk не был разработан для такой цели? Я думаю, что Ruby был бы хорошим выбором, как потомок Smalltalk.

0
21.08.2008 15:34:05

Здесь уже есть много хороших предложений. Я действительно согласен с Kronikarz. Получите ретро-компьютер (или эмулятор), который вас интересует, и научите этому. Почему ретро компьютер? Basic встроен. Создание звуков и примитивной графики - тривиальная задача. Реальная сделка может быть лучше, чем эмулятор, потому что это будет немного более увлекательным для ребенка, который привык видеть только современные устройства.

2
21.08.2008 15:47:25

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

4
21.08.2008 15:56:02

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

6
21.08.2008 17:22:48

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

Алиса Скачать страницу

1
21.08.2008 17:40:52

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

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

LEGO Mindstorms определенно находится наверху списка. В большинстве школ сейчас склеивают кирпичи вместе, чтобы создать готовые модели, у которых не должно быть кусочков, но это не должно быть проблемой дома. На сайте Times Educational Supplement (веб-сайт британской еженедельной обучающей газеты), "какой язык программирования лучше для детей?" тема поднимается довольно регулярно. Там много рекомендаций для Scratch как альтернативы Mindstorms - немного больше свободы, чем Mindstorms, опять же, вероятно, лучше для более яркого ученика, которому также можно было бы дать паяльник.

Я обнаружил, что у более медленных учеников все еще могут быть проблемы с Mindstorms, даже несмотря на то, что среда программирования "графическая" - на экране все еще много чего происходит, и есть немало моментов, которые нужно помнить (это была более старая версия, разум - убежище) еще не попробовал шикарный новый). По моему опыту, лучшим всесторонним введением в программирование, вероятно, все еще является LOGO - на самом деле значительно более мощный язык, чем большинство людей считают. Оригинальная книга Mindstorms от Сеймура Пейперта (не имеющая ничего общего с LEGO - они назвали название книги для своего продукта), одного из создателей LOGO, является каноническим справочником для обучения программированию для детей как «навыка мышления» и для Концепция конструкционизма в обучении.

У нас были занятия по программированию LOGO 7 или 8 лет. Обратите внимание, что мы не стремимся сделать их «разработчиками программного обеспечения», это путь карьеры, который они могут выбрать в какой-то момент после 16. В молодом возрасте мы пытаемся заставить их думать о «компьютерном программировании» как о еще одном инструменте - как определить проблему, которую должен решить компьютер, так же, как они могли бы использовать интеллектуальную карту, чтобы помочь им организовать и запомни вещи для экзамена. Ни один бедный ребенок не должен садиться и тренироваться в мелочах и пользоваться определенным языком, его следует оставлять для изучения и выяснения того, что им нравится.

25
17.01.2009 13:40:54

Я бы пошел с нуля , некоторые моменты относительно этого.

  • Это графический язык программирования. Это не на основе текста (это может быть положительным или отрицательным). Это делает его более интуитивным и легким для детей (от 7 и выше).
  • Это на самом деле очень объект. К объектам, которые вы пишете эти графические скрипты, прикреплен код, который можно использовать повторно и перемещать.
  • Очень важно : быстрые и впечатляющие результаты. Детям нужно быстро двигаться и получать результаты, чтобы их зацепили.

Я хотел бы отметить, что, хотя многие из нас начали программировать в раннем возрасте на базовом уровне или логотипе и потому, что программист в более позднем возрасте не означает, что это хорошие языки для начала. Я думаю, что у детей сегодня есть намного лучшие варианты, такие как скретч или Алиса. Текстовые языки (python, ruby, basic, c # или даже c) зависят от внешних библиотек и инструментов (редакторов, компиляторов), в то время как что-то вроде Alice или scratch все включено и научит детей (не нацеленных на подростков) концепции программирования. Позже они могут двигаться дальше и расширять свое обучение.

7
1.09.2008 11:35:15

Как я уже говорил здесь , я бы на Squeakland и знаменитый водить автомобиль , например , (питание от Squeak ).

Синтаксис Smalltalk прост, что отлично подходит для детей.

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

И, как сказали @cpuguru и @Rotem, Scratch (также основанный на Squeak) тоже великолепен.

2
23.05.2017 11:48:36

Я знаю, что в первые годы старшей школы нас «учили» Logo и, как ни странно, HTML. После этого прогресс перешел к макросам в MS Office, затем к базовому VBA, а затем к Visual Basic.

0
1.09.2008 14:03:49

Есть хорошая статья об этом на familyinternet.about.com .

0
3.09.2008 03:01:55

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

1
3.09.2008 03:25:32

Хотя в прошлом я возился с LEGO Mindstorms (и мне это нравилось), я бы настоятельно рекомендовал XNA Game Studio по следующим причинам:

  • Он включает в себя создание того, что будет интересно многим детям (игры).
  • Это бесплатно.
  • Это настоящий язык (C #) и настоящая IDE (Visual Studio).
  • Вы получаете учиться ООП.
  • Это то, что родители найдут таким же забавным, как и дети.
0
4.09.2008 20:54:36