A two-week short course sounds pretty silly. 2 semesters sounds better. And a well-structured programming course for non-majors should focus less on the particulars of a certain language and more on how to think logically and break a problem down into parts. These are skills that many people lack and which will serve people well even if they never do more programming in their life. It just happens that programming is an ideal structure to teach this in. This is also why geometry is a good thing to teach, even if most people don't use it - it's the only exposure many people get to the concept of a logical proof.
Programming also helps with communication - I can write a set of instructions for another human to follow, and think of every detail and break it down step by step. This is a skill I got from programming. Most people can't do it.
Plus there is a need for everyone to have a well rounded education to understand the things in the world around them. This includes the humanities, physics, chemistry, biology, and technology.