Teaching of Programming with a Programmer's Theory of Programming

We review the introductory programming courses of the widely accepted Curricula ’68, ’78, ‘1991 and ‘2001. We note that a one-language, imperative-paradigm approach still prevails, although multi-language programming systems are already available. We discuss the Kernel Language Approach, which provides a programmer’s theory of programming that permits a widening of introductory courses to multi-language, multi-thread programming without loss of depth. We suggest two broad outlines for the removal of the one-language constriction from introductory programming courses. We observe that because of the introduction of dotNET and because of student exposure to net-centric multimedia applications, text-based “Hello World !” examples disappoint the expectations of today’s students.