Работаю с такими, но не в режиме обычной школы: две группы "избранных" из 9-11 кл. плюс индивидуалы 5-8 кл. Обычно имею 2 урока в неделю (группа) или 2 астрономических часа (индвид.) с октября по апрель.
По моим многолетним наблюдениям, настоящему программированию реально (на)учить от 5 до 15 % всей массы школьников.  Остальным сия наука просто не под силу, одна профанация.
Самое сложное - научить алгоритмизации, то есть глубокому анализу задач и грамотному конструированию алгоритмов, опираясь на математику и достижения классиков программирования.
Учить обучаемых можно почти в любой последовательности подачи материала, главное, чтобы было "от простого к сложному" и "нового - в меру, повторяя старое". Последние 3,5 года учил только на КП, был "белой вороной" не только в своем городке, но и в целой области.

Считаю очень важным нарешивать множество разнообразных задач, развивая сообразительность, наращивая мелкую технику и т.п., т.е. давать деткам "каторжную интеллектуальную тренировку" (с) Ершов А.П.

Работа с графическими пакетами не есть программирование, хотя помогает поддерживать интерес к пользованию компьютером. Графическим примерам на программирование стараюсь уделять достаточно внимания, поскольку визуальные результаты работы программы легко воспринимаются и алгоритмы с удовольствием отлаживаются. Хотя средний уровень знаний по геометрии нередко вызывает досаду.

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