Хорошие задачи. Конечно нужно и читать, и самое главное - _думать_. Программирование это в большой степени творчество. Умение решать типовые задачи - хорошо, но это придется освоить всем. А вот умение изобретать нестандартные решения для нестандартных задач, изобретать то, до чего еще никто не додумался - отличает настоящих мастеров своего дела... Успехов