Задачи для обучения программированию?
=======================================

 Я решил организовать в лицее, в котором преподаю, небольшой кружок по программированию. В первую очередь я планировал готовить команды к участию в соревнованиях по спортивному программированию (ACM), соответственно и программу составил подходящую для этого — основы программирования, структуры данных и алгоритмы от простых к сложному и прочие тонкости спортивного программирования. Но так вышло, что большинство из тех, кто посещает занятия, не особо интересуются именно спортивным программированием, они хотят писать какие-нибудь прикладные программы, некоторые особенно жаждут, когда же начнется визуальное программирование (пока что ограничиваемся консольными программами, так как даже С/С++ не разобрали до приемлемого уровня).  
  

В связи с этим и вопрос. **Что можете посоветовать в качестве прикладных задач для начинающих программистов без специального образования**?  
  

Мы работаем на языке С (чуть позже хочу перейти к С++, но не хочется им раньше времени голову забивать объектной парадигмой, им бы императивное программирование осилить для начала), в среде Visual Studio. При необходимости можно установить, например, среду Qt или виртуальные машины с Linux. Какие-то базовые знания из Computer Science при необходимости я могу дать, но их объем ограничен знаниями учащихся из математики, т.е. разрабатывать экспертные системы вряд ли получится. 

**Пусть игрушки программируют**. Притом все разные. Это повышает вероятность того, что у них не пропадет интерес к программированию. К тому-же и математику подтянут, когда захотят что-то поинтересней сделать. 

 Если свербит прикладное изучать, то лучше бы, на мой взгляд, перейти сразу к Java или C#.  

  

2D-игры наверняка воспримут с энтузиазмом, особенно после консоли — попробуйте коллективно писать несложную 2D игру типа каких-нибудь танков или двумерных стрелялок. Позволит отработать очень многие аспекты, включая и командную разработку. 

 А может быть имеет смысл провести опрос среди предполагаемых участников кружка? Что то вроде- какую программу вы хотели бы написать и привести список или категорий (игры, системные, бизнес) или что нить более конкретное (to-do list, календарь, танчики и т.д.). И конечно оставить поле «что то другое». Возможно у кого-то уже давно лелеется мечта о программе… 

 Я вот уже не лицеист, а одна из самых интересных для меня тем прикладного программирования - именно игры. Наверное со мной что-то не так.