Программи́рование — процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций (программ) на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи). Соответственно, люди, которые этим занимаются, называются программистами (на профессиональном жаргоне — кодерами), а те, кто разрабатывают алгоритмы — алгоритмистами, специалистами предметной области, математиками. © Wikipedia
Подразумевает быстрое решение задач, которые невозможно выполнить вручную. Обычно это сетевой обмен с минимальными задержками, расчет математических уравнений, прохождение игр с огромным количеством ходов, написание парсеров и прочее. Также имеется ввиду экспертное знание большинства языков программирования.
Статьи:
http://habrahabr.ru/post/90942/
http://www.alleng.ru/d/comp/comp167.htm
http://www.spoj.com/problems/classical/
http://cppstudio.com/dlya-nachinayushhix/rekomendovannaya-literatura/c-dlya-chajnikov/
http://habrahabr.ru/post/61905/
Примеры тасков:
Инструменты:
http://www.microsoft.com/visualstudio/rus