プログラムの知識と言うかプログラム言語の知識は必要ない
要するに"条件分岐"と"繰り返し(ループ)"の使い方さえわかってれば
あとはマニュアル首っ引きでなんとかなる

ただ、プログラムを組むに当たって必要な論理的思考能力は要ると思う
作りたいものを条件文で表現するという能力
あと、条件文と繰り返しを使って連続した処理を一般式にできる能力があるといい