Работать в консоли и писать для консоли — это разные вещи. Работать в консоли, безусловно, полезнее — это позволяет понять некоторые «подкапотные» вещи. Знающий консоль, гуи освоит, обратное не всегда верно. А вот писать под консоль, на мой взгляд, детей учить не обязательно.
Графика и дорогие роботы — это же всегда «круто», на них куда проще объяснять свои достижения сторонним людям. Вот небольшой пример, пусть мы учим алгоритмы на графах, делаем простой поиск пути по заранее заданной карте. Его можно сделать в виде:
- консольного рогалика где буковка @ бегает по клеточному полю.
- графического 2д, где картинка героя бегает по тайлам травки.
- графического 3д, с трёхмерным персонажем и т.д.
- программы для крутого робота, который ходит по квартире (с заранее заданным планом).
Алгоритм поиска пути будет почти одинаковый (везде может быть двухмерное клеточное поле). Сил и времени от ребёнка каждый вариант тоже требует примерно одинаковое количество. Пара вопросов:
1. Какой из вариантов будет выглядеть круче для мамы/друга/девушки?
2. Какой из вариантов ребёнок (да и взрослый) захочет дорабатывать?
3. Какой из вариантов даёт больший простор для оригинальной доработки и изучения технологий/алгоритмов?
Я бы сказал, что вариант с роботом (и далее в обратном порядке). Я учился программировать именно на консольных примерах, поэтому по своему опыту скажу, что даже если ты понимаешь «крутость» проделанной работы, другим это проще объяснить на роботах и графике.
По поводу программирования непосредственно GUI… Это то, чем занимается большая часть программистов, поэтому для среднего программиста эти навыки потребуются с бОльшей вероятность. Вопрос в том, готовите ли Вы средних программистов.