Sciweavers

SIGCSE
2010
ACM

Interfaces first (and foremost) with Java

13 years 11 months ago
Interfaces first (and foremost) with Java
ion is a critical concept that underlies many topics in computing science. For example, in software engineering, the distinction between a component’s behavior and its implementation is fundamental. Java provides two constructs that correspond to precisely this distinction: A Java interface is a client’s abstract view of a component’s behavior, while a class is a concrete implementation of that same component. We have developed a course that introduces Java while following a discipline of diligently decomposing every component into these two separate linguistic elements. In this course, interfaces are given the same prominence as classes since both are needed for a complete component. This approach is helpful to students by providing: (i) a clear ation of the role of abstraction in software systems, and (ii) a framework that naturally motivates many good coding practices adopted by professional programmers. Categories and Subject Descriptors K.3.2 [Computers and Education]: Comp...
Paolo A. G. Sivilotti, Matthew Lang
Added 18 May 2010
Updated 18 May 2010
Type Conference
Year 2010
Where SIGCSE
Authors Paolo A. G. Sivilotti, Matthew Lang
Comments (0)