Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
SP/k: a system for teaching computer programming
Communications of the ACM
DrJava: a lightweight pedagogic environment for Java
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
ProfessorJ: a gradual introduction to Java through language levels
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Green: a pedagogically customizable round-tripping UML class diagram Eclipse plug-in
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
Design of class hierarchies: an introduction to OO program design
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Safe instantiation in generic Java
Science of Computer Programming - Special issue: Principles and practices of programming in Java (PPPJ 2004)
Ucigame, a java library for games
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Experience report: growing programming languages for beginning students
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
DrHJ: a lightweight pedagogic IDE for Habanero Java
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Hi-index | 0.00 |
Java is the canonical language for teaching introductory programming, but its complex syntax and abundance of constructs are difficult for beginners to learn. This paper shows how object-oriented programming in Java can be made more accessible to beginners through the use of "language levels", a hierarchy of progressively richer subsets of Java. This hierarchy is implemented as an extension of the DrJava pedagogic programming environment.