Custom Blocks in StarLogo Nova: A Template-Based Approach to Abstraction for Improved Ease of Use and Expressive Power
Many blocks-based programming environments allow the creation of custom blocks, either as the primary means of creating procedural abstractions, or in addition to a procedure/function definition feature. Custom blocks in these systems are intended to be used like procedures, and creating a custom block has similar conceptual challenges; abstracting away local context, and choosing and using parameters, can be difficult for novice programmers. Additionally, we have identified certain types of custom blocks, dealing with scope and context, that cannot be created using a procedure-based abstraction. To address the difficulties inherent to the processes of abstraction and parameterization, and to expand the expressive power of custom blocks for the creation of domain-specific language extensions, we have designed a method of creating custom blocks that is based on a “template” or “macro” metaphor rather than a procedure metaphor. We present this design for consideration and discussion.
Sun 4 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
16:15 - 17:00 | |||
16:15 5mTalk | Rethinking OOP in Snap! BLOCKS+ Pre-print | ||
16:20 5mTalk | Custom Blocks in StarLogo Nova: A Template-Based Approach to Abstraction for Improved Ease of Use and Expressive Power BLOCKS+ Hyeonsu Kang MIT Scheller Teacher Education Program, David Wu MIT, Daniel Wendel MIT Scheller Teacher Education Program Pre-print | ||
16:25 5mTalk | Two New Block Features in GP BLOCKS+ | ||
16:30 5mTalk | JSON Interoperability in MIT App Inventor BLOCKS+ Evan W Patton Massachusetts Institute of Technology, Danny Tang Massachusetts Institute of Technology Pre-print | ||
16:35 5mTalk | Scratch 3.0 Design Notes BLOCKS+ | ||
16:40 20mOther | Implementers’ Campfire: Whole group discussions BLOCKS+ |