"Computer programming (often simply programming) is the craft of
implementing one or more interrelated abstract algorithms using a
particular programming language to produce a concrete computer program.
Programming has elements of art, science, mathematics, and engineering"
(from Wikipedia)
The process
Understand the problem and requirements
Design or select an algorithm to solve it
Express (code) the algorithm in a programming language (e.g., C)
Test and debug the program until it works and meets the requirements
Write documentation as appropriate for users and/or future programmers
Maintain the program as the requirements or computing environment changes