Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
A cookbook for using the model-view controller user interface paradigm in Smalltalk-80
Journal of Object-Oriented Programming
Designing object-oriented software
Designing object-oriented software
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Designing object systems: object-oriented modelling with Syntropy
Designing object systems: object-oriented modelling with Syntropy
The LearningWorks development and delivery frameworks
Communications of the ACM
Avoiding object misconceptions
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
The design patterns Smalltalk companion
The design patterns Smalltalk companion
Exploiting Smalltalk modules in a customizable programming environment
Proceedings of the 21st international conference on Software engineering
Smalltalk Developer's Guide to VisualWorks
Smalltalk Developer's Guide to VisualWorks
Recording User Actions in a Smalltalk Programming Environment
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
Hi-index | 0.00 |
This paper concerns the critical role of separable user interface design in teaching object-oriented systems. M206 "Computing: An Object-Oriented Approach" is a large-scale university-level introduction to software development designed from scratch for distance learning, using an objects-first approach with Smalltalk. The course is degree-level, counting as one sixth of a degree, and is being offered in the UK, Western Europe and Singapore. To address the needs of industry we have developed a radical syllabus that adheres to the principle of designing complex systems by separating view and model, and have developed a programming and learning environment to support these ideas. In the paper we examine how separable user interface architectures have guided our teaching of object technology and the design of powerful microworlds that are both usable and extendible by neophytes. The course and relevant teaching with software is outlined and the technical design and pedagogic use of the microworlds and GUI builder tool are described.