Centralized mindset: a student problem with object-oriented programming
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
Avoiding object misconceptions
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
Development and application of an automated source code maintainability index
Journal of Software Maintenance: Research and Practice
A survey of software inspection checklists
ACM SIGSOFT Software Engineering Notes
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Programming in Java: student-constructed rules
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
A content analysis of programming examples in high school computer textbooks in Taiwan
Journal of Computers in Mathematics and Science Teaching
Technical opinion: Hello, world considered harmful
Communications of the ACM
Object-Oriented Design Heuristics
Object-Oriented Design Heuristics
Primitive types in Java considered harmful
Communications of the ACM - Evolving data mining into solutions for insights
Object-Oriented Program Comprehension: Effect of Expertise, Task and Phase
Empirical Software Engineering
Product metrics for object-oriented systems
ACM Computing Surveys (CSUR)
A theory of small program complexity
ACM SIGPLAN Notices
Examples that can do harm in learning programming
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Dataless objects considered harmful
Communications of the ACM - Medical image modeling
A study of the difficulties of novice programmers
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
Java interfaces in CS 1 textbooks
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Suggestions for content selection and presentation in high school computer textbooks
Computers & Education
Checklists for grading object-oriented CS1 programs: concepts and misconceptions
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
IEEE Transactions on Software Engineering
Evaluating OO example programs for CS1
Proceedings of the 13th annual conference on Innovation and technology in computer science education
Java Programming
Java Programming: From The Ground Up
Java Programming: From The Ground Up
Introduction to Programming and Object-Oriented Design Using Java
Introduction to Programming and Object-Oriented Design Using Java
Java Programming: Guided Learning with Early Objects
Java Programming: Guided Learning with Early Objects
Big Java
Hi-index | 0.00 |
Example programs play an important role in the teaching and learning of programming. Students as well as teachers rank examples as the most important resources for learning to program. Example programs work as role models and must therefore always be consistent with the principles and rules we are teaching. However, it is difficult to find or develop examples that are fully faithful to all principles and guidelines of the object-oriented paradigm and also follow general pedagogical principles and practices. Unless students are able to engage with good examples, they will not be able to tell desirable from undesirable properties in their own and others’ programs. In this article we report on a study in which experienced educators evaluated the quality of object-oriented example programs for novices from popular Java textbooks. The evaluation was accomplished using an online checklist that elicited responses on the technical, object-oriented, and didactic quality of examples. In total 25 reviewers contributed 215 reviews to our dataset, based on 38 example programs from 13 common introductory programming textbooks. Results show that the evaluation instrument is reliable in terms of inter-rater agreement. Overall, example quality was not as good as one might expect from common textbooks, in particular regarding certain object-oriented properties. We conclude that educators should be careful when taking examples straight out of a textbook.