Mio: A Block-Based Environment for Program Design
summary
Mio is a block-based environment that lets learners build block-based design artifacts (data definitions, examples, purpose, template), checks well-formedness and cross-step consistency, and generates Scala code including a half-completed program ready to copy to a text editor. A preliminary classroom experiment reports that novices find design easier and more motivating and that students more often follow the design recipe, but the tool is early-stage: no in-editor text coding or runnable templates yet.
AI-written summary · about
chapters (22)
- 0:00Start
- 0:13Programming = Designing + Coding
- 1:55Program Design Recipe (Felleisen+ '18)
- 3:36Lack of motivation
- 4:17Need for learning syntax
- 4:55Lack of feedback
- 5:17Consequence: Fail to acquire design process
- 5:59Mio: A Block Environment for Design
- 7:51a: Data Definition
- 8:43Step 1b: Data Examples
- 9:36Purpose, Signature, Header
- 10:34Input-Output Examples
- 11:19Template
- 12:196: Coding and Testing
- 12:55Feedback on Design Artifacts
- 14:30Preliminary Experiment
- 14:51Positive Comments from Students
- 15:46Negative Comments from Students
- 16:22Recursion
- 16:55Code Generation
- 17:12Mixed Use of Blocks & Text
- 17:49Takeaway
related talks
28mDaisy: An Exercise Environment for Learning Information Modeling
07mWeaving Schematics and Code: Interactive Visual Editing for Hardware Description Languages
10mDesigning a Programming Environment Based on the Program Design Recipe (Lightning Talk)
32mCan Guided Decomposition Help End-Users Write Larger Block-Based Programs? A Mobile Robot E
49mA live-coding introduction to Mill: finally a build tool we can all understand!
47mInteractive development with Dotty
13mGetting Grammars into Shape for Block-based Editors
57mDealing with Medusas in your Codebase.
