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

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

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

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

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

Ответ 3

Я добавлю предложения Джеффа из Phrogram (раньше KPL) и Alice.

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

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

Ответ 5

Полное раскрытие: я один из парней, которые изобрели Kid Programming Language, который теперь http://www.Phrogram.com, который другие рекомендовали Вот. Позвольте мне добавить некоторую информацию, ориентированную на программиста.

Это код IDE, а не drag-and-drop или дизайнер. Это было намеренно с нашей стороны - мы хотели облегчить и увлекать реальное текстовое программирование, особенно программирование игр и графики. Это фундаментальное различие между нами и Алисой и Царапом. То, что вы выбираете, - это вопрос ребенка, его возраст и склонность, ваши цели. Использование их серийно с одним и тем же новичком может быть отличным способом - если вы это сделаете, я бы рекомендовал Scratch, Alice, Phrogram в качестве заказа. Phrogram работал лучше всего 12 лет и старше, но я знаю пап с 6-летними детьми, которые обучили своих детей этому, и я знаю 10-летних, которые обучили себя этому.

Язык такой же, как и английский, как мы могли бы это сделать, и настолько минимален, насколько мы могли бы это сделать. Секретный соус находится в классовой иерархической иерархии, что опять же просто, интуитивно и по-английски, как мы могли бы это сделать. Гирархия объекта оптимизирована для игр и графики. 3D-модели доступны и 2D спрайты. Поддерживается абсолютное движение с использованием экранных координат или относительное перемещение ala LOGO черепах - вперед (x), TurnLeft (y).

В IDE представлено более 100 примеров, некоторые примеры языка (циклы), некоторые примеры обучения (массивы), некоторые полнофункциональные игры и симы (Pong, Missile Command, Game of Life).

Чтобы дать вам представление о том, насколько сильно мы использовали язык, мы создали язык и IDE: с 27 инструкциями вы можете управлять 3D-моделью космического корабля вокруг 3D-skybox, используя клавиатуру. То же самое с 2D спрайтом составляет от 12 до 15 инструкций.

Мы работаем над Blade-совместимой версией Phrogram, которая позволит программам работать на XBox 360. Да, XBox, на вашем большом телевизоре. Хороший мотиватор для того, чтобы завести ребенка?:)

Phrogram включает поддержку программирования на основе классов, методов и свойств, но это только инкапсуляция, а не наследование или полиморфизм.

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

Моя собственная книга доступна в Amazon и других местах в Интернете, "Научитесь программировать с помощью Phrogram!," и начинаешь начинать с программирования классического понга.

Программирование Phrogram для Absolute Beginner, Джерри Ли Форд-младший, также доступно в мягкой обложке в Amazon и в других местах.

Ответ 6

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

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

Ответ 7

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

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

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

Ответ 8

Я бы пошел с Scratch, некоторые точки относительно него.

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

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

Ответ 10

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

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

Ответ 11

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

Ответ 12

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

Ответ 13

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

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

Ответ 14

Game Maker может быть другим. Вы можете начать просто с легкой разработки перетаскивания, а затем ввести более продвинутое программирование, когда идете. Книга Ученик Game Maker: Game Development for Beginners содержит несколько примеров игр и проведет вас по шагам, необходимым для их создания.

Ответ 15

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

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

Ответ 16

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

Ответ 17

Оформить заказ Squeak, разработанный Alan Kay кто думает, что программирование должно преподаваться в раннем возрасте.

Ответ 18

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

Ответ 20

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

Ближе всего я недавно увидел такую ​​простоту: pygame library для python и Processing, набор java-библиотек с IDE.

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

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

Ответ 21

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

Ответ 22

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

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

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

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

Ответ 23

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

Ответ 24

Хорошо, если они молоды и не узнали свою ABC, вы можете попробовать их на BF - не из тех надоедливых букв и цифр, с которыми нужно иметь дело.

Я получу "пальто".

Skizz

Ответ 25

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

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

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

Ответ 28

Попробуйте [Guido van Robot] [1]. Это отличное введение в робототехнику, и это отличный способ познакомить детей с частью программирования (против "создания роботов" ).

Ответ 29

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

Ответ 30

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