Even if high-shool and college kids do not go directly into a programming related career, the ability to understand the basic functionality of programming can help them in many facets of life. The option to at least get a basic understanding should be at least one required credit for high-school kids and should be an option on the college level regardless of major or pursuit.
High school and college-aged students (and possibly even younger children) should absolutely learn to write computer code. Technology is moving forward so quickly that this most basic of computer skills should, at the very least, be offered as an elective in all schools to enable the students to keep up with where our society is headed technologically. It's akin to us 30 to 40-somethings learning typing in high school in the 1980's and early 1990's. It will become a necessary skill in order to be marketable to employers in the near future.