Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

CuisUniversity

312 vues

Publié le

Presentation about CuisUniversity at Smalltalk 2017

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

CuisUniversity

  1. 1. CuisUniversity Hernán A. Wilkinson @hernanwilkinson agile software development & services
  2. 2. Teaching OO/Smalltalk Challenges Class or Instance? To subclass or not to subclass Where is the code? How do I share it? “The image crashed!! I lost everything!!” What class should I use? There are so many!
  3. 3. Cuis • Advantages: • Small  Easier to learn • Fast  UI response is immediate • Stable  Very important for non-Smalltalkers! • Simple code sharing  File in/out or packages with Git • Navigation from UI Tools to model (Halos)  Helps inspection and learning • 32/64 bits, Mac/Win/Linux support and RaspberryPi • Appropriable
  4. 4. CuisUniversity (https://sites.google.com/view/cuis-university/cuisuniversity?authuser=0) • Customized Cuis distribution created to teach OO at Universities • Dedicated Web Site • Support in Spanish • Simpler Installation (different files for 32/64 & win/mac/linux) • Pre-installed packages • Aconcagua • Chalten • Refactorings • DenotativeObjects
  5. 5. Aconcagua
  6. 6. https://github.com/hernanwilkinson/Cuis-Smalltalk-Aconcagua
  7. 7. Chalten
  8. 8. https://github.com/hernanwilkinson/Cuis-Smalltalk-Chalten
  9. 9. Refactoring https://github.com/hernanwilkinson/Cuis-Smalltalk-Refactoring (more are coming… Implemented with TDD)
  10. 10. Improved TDD tool support
  11. 11. Recover lost changes
  12. 12. DenotativeObjects https://github.com/hernanwilkinson/Cuis-Smalltalk-DenotativeObject • Objectives: • To help learning OO with direct object manipulation • Avoid class-instance differentiation at the beginning • Reinforce representation (modeling) • Reinforce encapsulation and cohesion • Similar tools to facilitate transition (similar browser, inspector, debugger, etc.) • Be able to debug and inspect from the beginning • Denotative: The denotation of a word is its explicit definition as listed in a dictionary • Connotative: Association or set of associations that a word usually brings to mind • Implementation: Use classes as DenotativeObjects © Name & Ideas by Máximo Prieto, Implementation & Ideas by Hernán Wilkinson, Ideas by Juan Vuletich and Sponsored by 10Pines
  13. 13. only objects auto created Direct object reference Embedded workspace Simplified and applied only to denotative objects
  14. 14. Special menus Immediate send, inspect and debug Simple code & object sharing
  15. 15. Object creation Object definition Object using sharing
  16. 16. Delegation to parent (no super  ) Delegation without special keyword… Delegation sending different message
  17. 17. Direct send or execution of test
  18. 18. Assert (implemented using TDD with itself!)
  19. 19. Denotative object contexts only Steps only into denotative objects Behaves as Through
  20. 20. Clones & Replicants
  21. 21. Achievements • Concrete manipulation of Objects • Immediate feedback of computation • Better understanding of Objects • Easy migration from DenotativeObject’s tools to Smalltalk’s tools • Inspection from day one • Debugging from day one • 49 hrs implementation investment!  Cuis showed to be simple & powerful enough
  22. 22. agile software development & services ¡Gracias!

×