Blocks programming environments represent program syntax trees as compositions of visual blocks. They are an increasingly popular way to introduce programming and computational thinking; tens of millions of people have used tools like Scratch, Blockly, App Inventor, Snap!, Pencil Code, Alice/Looking Glass, AgentSheets/AgentCubes, and Code.org's curricula. But blocks programming is not just for beginners; environments like GP and domain-specific blocks languages are targeted at hobbyists, scientists. and other casual programmers.
Capitalizing on the energy and enthusiasm from the 1st Blocks and Beyond Workshop in Atlanta in 2015, this workshop aims to continue studying the usability, effectiveness, and generalizability of affordances of these environments and their associated pedagogies. The workshop will bring together educators and researchers with experience in blocks languages, as well as members of the broader VL/HCC community who wish to examine this area more deeply. We seek participants with diverse expertise, including, but not limited to: design of programming environments, instruction with these environments, the learning sciences, data analytics, usability, and more.
The workshop will be a generative discussion that sets the stage for future work and collaboration. It will include participant presentations and demonstrations that frame the discussion, followed by reflection on the state of the field and smaller working-group discussion and brainstorming sessions.
Suggested Topics for Discussion
Who uses blocks programming environments and why? What do they create in these environments, and how satisfied are they with their creations?
Which features of blocks environments help or hinder users? How do we know? Which of these features are worth incorporating into more traditional IDEs? What helpful features are missing?
How can blocks environments and associated curricular materials be made more accessible to everyone, especially those with disabilities?
Can blocks programming appeal to a wider range of interests (e.g., by allowing connections to different types of devices, web services, data sources, etc.)?
What are the best ways to introduce programming to novices and to support their progression towards mastery? Do these approaches differ for for learners of computing basics and for makers?
What are the conceptual and practical hurdles encountered by novice users of blocks languages when they face the transition to text languages and traditional programming communities? What can be done to reduce these hurdles?
How can we best harness online communities to support growth through teaching, motivating, and providing inspiration and feedback?
What roles should collaboration play in blocks programming? How can environments support that collaboration?
In these environments, what data can be collected, and how can that data be analyzed to determine answers to questions like those above? How can we use data to answer larger scale questions about early experiences with programming?
What are the lessons learned (both positive and negative) from creating first programming environments that can be shared with future environment designers?
10月09日
2017
10月10日
2017
初稿截稿日期
注册截止日期
留言