Presented By: Dan Garcia
Having spent a year and a half teaching BJC and Snap! to middle school first-time-programmers, I was able to witness some errors that I'd not seen before. Students learning keep, for example, and still fuzzy about domain and range, were dragging the predicate into the wrong slot for keep. It dropped happily, but it made me wonder why it did -- keep ONLY works over lists, so why would Snap! allow it to be dropped? Commands can't be dropped into input slots, so wouldn't Snap! be more user-friendly if it didn't even allow a drop for a block that would NEVER make semantic sense? This short talk is a proposal (and followup discussion) for Snap!'s behavior when this mode is turned on.