Programming a computer /- system is much more different than 'programming the digital video recorder to record a TV show today at 8 PM'. The latter is just a configuration of an existing system.
General aspects of programming are conditions, loops, and lists. It's impossible to command a computer /- system to react (instruction) without waiting (loop) for something (conditions) to happen.
Most languages I know have relatively easy constructs for loops and conditions and combinations of both concepts. Working with lists to calculate or filter or find is a typical use case for what programming novices can implement.