An analysis of widely used introductory programming textbooks shows that: (1) their size is inordinate; (2) their structure lacks conceptual foundations; (3) their content is a decorated reference manual; (4) their supplementary material (slides and others provided by the publisher) is dictating what we teach and how we teach; (5) they present material that is irrelevant to programming foundations.
And yet, we keep on requiring them in our introductory courses. Have we abdicated our responsibilities?