In 2007, one of the authors visited several Computer Science departments in Western Canada in an attempt to understand some of the challenges that are facing in the teaching of introductory programming. This investigation culminated in a presentation at WCCCE08 in Victoria. A certain ever-present challenge is the moving pedagogical models from the "imperative-programming first" to the "objects first" approach. Some departments kept Pascal as their CS1 course with Java kept for CS2, and this was an attempt to address challenges students (and instructors) had learning newer paradigms. An example of such a challenge is inheritance, and the authors found many students find it a challenge to understand, effectively design and implement inheritance in their programs. This paper offers several contributions. We introduce a notation called a Composite Inheritance Diagram or CID that can enable a student to understand inheritance in a way that is closer to their own intuition. An enhanced box-diagramming methodology will be demonstrated which makes clear the difference between a procedure method and a functional method, of how a method transfers control and returns to a calling location, and of how memory overhead is present in recursive programs. Finally we revisit the role played by natural language in creating identifiers, comments and program documentation in a way that can suggest to students their importance in guiding software designers and developers.
[1]
Frank M. Carrano,et al.
Data Abstraction and Problem Solving with Java (2nd Edition)
,
2005
.
[2]
G. Deutscher,et al.
Through the language glass: how words colour your world
,
2010
.
[3]
Jeffrey L. Whitten,et al.
Systems Analysis and Design Methods
,
1986
.
[4]
Michael L. Scott.
Programming Language Pragmatics, Third Edition
,
2009
.
[5]
Peter DePasquale.
Addison-Wesley's Java Backpack Reference Guide Value Package: includes Starting Out with Java: From Control Structures through Objects
,
2007
.
[6]
Frank M. Carrano,et al.
Data abstraction and problem solving with Java
,
2000
.
[7]
Malcolm Gladwell.
First Impressions: A Review Blink: The Power of Thinking Without Thinking
,
2005
.
[8]
Spike Cramphorn.
Blink: The Power of Thinking without Thinking / Strangers to Ourselves: Discovering the Adaptive Unconscious
,
2006,
Journal of Advertising Research.