Programming –as Programming Fundamentals– has been and still is a basic part of most Computing Curricula including all of the Computing Disciplines –we use here the terminology introduced in [1]. It is also considered by many a problem solving teaching methodology. There are several facets or issues of Teaching Programming that we think are very interesting and must be taken into account and that are answers to the questions of why, what, how and even when to teach programming. But even those questions receive different answers. We consider some in this paper.