Ещё такая мысль.

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

Отсюда идея: может быть, ООП - в два присеста?
Достаточно рано - "как пользоваться объектами". Кем-то уже сделанными. Давать как разновидность типов данных. Вот, типа, с переменной такого типа вот такие операции бывают
Тогда куча возможностей методических сразу открывается.

А потом позже гораздо - уже ООП как концепция. И как самому создавать свои типы данных.

Вроде здравая мысля?