@Dmitry Ovchinnikov, Прежде всего, о "синтаксическом сахаре". Не могу принять это определение, хотя оно и широко используется сейчас. Я ещё помню те времена, когда программировали в машинных кодах даже без ассемблера. Мой научный руководитель Борис Залманович хвастал, что напишет любую задачу за две недели. Когда появился Алгол-60, про него говорили примерно то же самое - что главное - алгоритм, реально существует только машииный язык, ошибки времени выполнения не привязаны к исходному коду и т.п.
Когда в Паскале появилось ООП - тоже говорили, что "сахар", а реально - подпрограммы и данные в динамически выделяемой памяти (куче). Тем не менее, ООП стало общепризнанной технологией.
Ваше утверждение о том, что класс в Java со статическими членами - это структурное программирование, думаю, не верно. Структурное программирование появилось, когда об ООП и не слышали. Структурное программирование - концепция о том, чтобы писать код без goto, используя только три базовые конструкции: ветвления, циклы и подпрограммы. Это можно посмотреть и в Википедии.
И последнее - не слишком ли много Вы хотите от ученика, который только знакомится с программированием и, может быть, никогда в жизни не будет писать код? Он должен понять одновременно несколько вещей: файл, код, данные, класс и среду разработки.