2010-12-02 2 views
15

Итак, здесь есть много сообщений о том, какие лучшие способы научить детей программировать. Я заинтересован в следующем шаге, обучая детей тому, как отлаживать код, который не делает то, что он хочет, или не всегда работает в 100% случаев (я считаю, что это отдельные проблемы, но это может быть субъективным).Обучение детей отладке кода?

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

Что мы видим, так это то, что, поскольку эти скрипты становятся более сложными, они страдают от красных случаев, которые дети не рассматривали, - в конечном счете, ограничивая объем того, что они могут делать. Часть решения - это образование, и часть решения - это лучшие инструменты для отладки. Таким образом, я прошу две частей вопроса:

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

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

Наша целевая демографическая характеристика - это мотивированные дети, в основном 12-15 лет.

+4

Зачем ограничивать это для детей? Учиться отлаживать - это часть искусства, часть умения, способность части, но получение приемлемости/хорошее/лучшее/отличное в этом было бы тем, что почти все нас интересовали. – KevinDTimm 2010-12-02 00:47:30

+0

В настоящее время существует небольшое количество вопросов, отмеченных тегами Lua, которые относятся к ROBLOX. Одной стороной для вашей организации может быть задача заставить кого-то контролировать тег Lua (и roblox?), Чтобы предоставить «экспертные» ответы на вопросы. Остальные из нас знают много Lua, но не имеют игрового контекста, чтобы помочь более ориентированным на игры вопросам. Конечно же, это предложение будет применено и к WoW. – RBerteig 2010-12-03 19:36:17

+0

Мы попытались создать собственный ROBLOX Overflow через Area51, но правила запуска все, но мы гарантируем, что нам не удастся, так как все наши пользователи новы к SO и имеют 0 rep. С тех пор некоторые члены сообщества ROBLOX создали встроенные решения, поэтому я думаю, что сейчас это не проблема. – 2013-01-08 00:12:38

ответ

3

Ну для отладки части, мое предположение было бы три вещи:

  • избежать ошибок в первую очередь, обучая их good programming practice
  • Тест каждой части с, например. Блок-тестирование (Lunit)
  • использование print() достаточно посмотреть, что происходит
  • вы можете быть заинтересованы в debugger.lua или Remdebug
  • Используйте достойный редактор с подсветкой синтаксиса, согласование скобок, ...

Для общей информации:

Вот так я узнал, используя Lua в любом случае :).

8

ИМХО: Не обращайте внимания на инструменты. Расскажите им об этом. Научите навыки решения проблем. И так же важно, преподайте тестирование.

+0

Вы когда-нибудь видели, как это хорошо сделано в контексте игры? – 2010-12-02 22:57:10

0

Я бы использовал Netbeans после того, как он немного удалил его. В нем есть очень приятная подсказка кода и понятная проверка ошибок и намек.

1

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

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

0

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

1

Если у вас iPad, теперь есть приложение, которое позволяет писать программы/игры/симуляции и запускать его прямо с вашего iPad. Язык - Lua.

http://twolivesleft.com/Codea/

Смежные вопросы