Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
An introduction to Trellis/Owl
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Object structure in the Emerald system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Lisp and Symbolic Computation
Eiffel: the language
Equal rights for functional objects or, the more things change, the more they are the same
ACM SIGPLAN OOPS Messenger
Requirements for a first year object-oriented teaching language
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
Delegation versus concatenation or cloning is inheritance too
ACM SIGPLAN OOPS Messenger
Blue—a language for teaching object-oriented programming
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Classes versus prototypes in object-oriented languages
ACM '86 Proceedings of 1986 ACM Fall joint computer conference
Object-Oriented Software Construction
Object-Oriented Software Construction
Prototype-Based Object-Oriented Programming: Concepts, Languages, and Applications
Prototype-Based Object-Oriented Programming: Concepts, Languages, and Applications
Teaching objects-first in introductory computer science
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
The roots of object orientation: the Simula language
Software pioneers
DrScheme: a programming environment for Scheme
Journal of Functional Programming
C5 '04 Proceedings of the Second International Conference on Creating, Connecting and Collaborating through Computing
Scalable component abstractions
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Union types for object-oriented programming
Proceedings of the 2006 ACM symposium on Applied computing
The development of the SIMULA languages
History of programming languages I
Logo for the Macintosh: An Introduction through Object Logo
Logo for the Macintosh: An Introduction through Object Logo
Lost in translation: formalizing proposed extensions to c#
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Touch of Class: Learning to Program Well with Objects and Contracts
Touch of Class: Learning to Program Well with Objects and Contracts
Panel: designing the next educational programming language
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 8th symposium on Dynamic languages
Modules as gradually-typed objects
Proceedings of the 7th Workshop on Dynamic Languages and Applications
What shall we tell the children (about inheritance)?
Proceedings of the 5th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance
Object-oriented programming: Some history, and challenges for the next fifty years
Information and Computation
Hi-index | 0.00 |
We are engaged in the design of a small, simple programming language for teaching novices object-oriented programming. This turns out to be far from a small, simple task. We focus on three of the problems that we encountered, and how we believe we have solved them. The problems are (1) gracefully combining object initialization, inheritance, and immutable objects, (2) reconciling apparently irreconcilable views on type-checking, and (3) providing a family of languages, each suitable for students at different levels of mastery, while ensuring conceptual integrity of their designs. In each case our solutions are based on existing research; our contribution is, by design, consolidation rather than innovation.