Many current novice programming environments offer a “sprite”- based microworld, in which cartoon-like actor objects interact with each other and the user by way of events triggering the execution of stacks of “blocks” representing programming statements. While such “sprites” can be seen as something akin to “objects” in professional programming languages they are for the most part lacking features that are widely considered essential for learning about “real” OOP, in particular the concepts of classes, inheritance and polymorphism. We have tried to address this void by extending our Snap! programming language with prototypical inheritance for sprites. In this talk we will demonstrate how learners can explore traditional OOP concepts for abstraction beginning from concrete sprites, clones and prototypes. We will also share some preliminary thoughts and experiments on a revised curriculum pathway for introducing OOP in schools.
Sun 4 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
16:15 - 17:00
|Rethinking OOP in Snap!
|Custom Blocks in StarLogo Nova: A Template-Based Approach to Abstraction for Improved Ease of Use and Expressive Power
Hyeonsu Kang MIT Scheller Teacher Education Program, David Wu MIT, Daniel Wendel MIT Scheller Teacher Education ProgramPre-print
|Two New Block Features in GP
|JSON Interoperability in MIT App Inventor
Evan W Patton Massachusetts Institute of Technology, Danny Tang Massachusetts Institute of TechnologyPre-print
|Scratch 3.0 Design Notes
|Implementers’ Campfire: Whole group discussions