Learning to program and learning to think: what's the connection?
Communications of the ACM
A case for, and an instance of, objects in CS1
OOPSLA '92 Addendum to the proceedings on Object-oriented programming systems, languages, and applications (Addendum)
Towards an object-oriented curriculum
TOOLS '93 Proceedings of the eleventh international conference on Technology of object-oriented languages and systems
The top 10 reasons why object-oriented programming can't be taught in CS 1
SIGCSE '94 Proceedings of the twenty-fifth SIGCSE symposium on Computer science education
Requirements for a first year object-oriented teaching language
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
Modula-2 versus C++ as a first programming language—some empirical results
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
Toward a first course based on object-oriented patterns
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
An empirical study of novice program comprehension in the imperative and object-oriented styles
ESP '97 Papers presented at the seventh workshop on Empirical studies of programmers
Java as first programming language: a critical evaluation
ACM SIGCSE Bulletin
ACM SIGCSE Bulletin
A constructivist approach to object-oriented design and programming
ITiCSE '99 Proceedings of the 4th annual SIGCSE/SIGCUE ITiCSE conference on Innovation and technology in computer science education
Learning standard C++ as a new language
C/C++ Users Journal
Selecting the “right” programming language
SIGCSE '82 Proceedings of the thirteenth SIGCSE technical symposium on Computer science education
Seven Deadly Sins of Introductory Programming Language Design
SEEP '96 Proceedings of the 1996 International Conference on Software Engineering: Education and Practice (SE:EP '96)
Journal of Computing Sciences in Colleges
Mindstorms: children, computers, and powerful ideas
Mindstorms: children, computers, and powerful ideas
Empirical comparison of objects-first and objects-later
ICER '09 Proceedings of the fifth international workshop on Computing education research workshop
Analysis of research into the teaching and learning of programming
ICER '09 Proceedings of the fifth international workshop on Computing education research workshop
Using python and QuickDraw to foster student engagement in CS1
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
On the implementation of self-assessment in an introductory programming course
ACM SIGCSE Bulletin
BLAKE: A language designed for Programming I
Education and Information Technologies
Selecting software tools for IS/IT curricula
Education and Information Technologies
SAICSIT '10 Proceedings of the 2010 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists
CodeSpells: embodying the metaphor of wizardry for programming
Proceedings of the 18th ACM conference on Innovation and technology in computer science education
Hi-index | 0.00 |
The question of which language to use in introductory programming has been cause for protracted debate, often based on emotive opinions. Several studies on the benefits of individual languages or comparisons between two languages have been conducted, but there is still a lack of objective data used to inform these comparisons. This paper presents a list of criteria based on design decisions used by prominent teaching-language creators. The criteria, once justified, are then used to compare eleven languages which are currently used in introductory programming courses. Recommendations are made on how these criteria can be used or adapted for different situations.