Keynote address - data abstraction and hierarchy
OOPSLA '87 Addendum to the proceedings on Object-oriented programming systems, languages and applications (Addendum)
Interfaces for strongly-typed object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Signatures: a language extension for improving type abstraction and subtype polymorphism in C++
Software—Practice & Experience
The Essence of Object-Oriented Programming with Java and Uml with Cdrom
The Essence of Object-Oriented Programming with Java and Uml with Cdrom
Object-Oriented Software Development in Java
Object-Oriented Software Development in Java
Java Gently for Engineers and Scientists: Programming Principles Explained
Java Gently for Engineers and Scientists: Programming Principles Explained
Computing Concepts with Java Essentials
Computing Concepts with Java Essentials
Towards the systematic use of interfaces in JAVA programming
PPPJ '03 Proceedings of the 2nd international conference on Principles and practice of programming in Java
An investigation of potential success factors for an introductory model-driven programming course
Proceedings of the first international workshop on Computing education research
Teaching inheritance concepts with Java
PPPJ '06 Proceedings of the 4th international symposium on Principles and practice of programming in Java
Interface-based programming assignments and automatic grading of java programs
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Interfaces first (and foremost) with Java
Proceedings of the 41st ACM technical symposium on Computer science education
Hi-index | 0.00 |
Objects first is a pedagogy that tries to introduce the core concepts of object-oriented programming - classes, objects, and methods - as early as possible in a programming course, even before variables, types, assignments and control structures are explicitly introduced. The concept of a named interface is typically introduced at a much later stage, usually in connection with inheritance, polymorphism, and abstract classes. In this paper we point out that interfaces as a language mechanism can be introduced much earlier, even before inheritance. This way the concept of an explicit class interface can be decoupled from the more complicated issues of inheritance and subtype-polymorphism.