Blocks programming, in which program syntax trees are represented as visual blocks, is popular in programming environments targeted at beginner programmers and casual programmers. The goal of this workshop is to bring together language designers, educators, and researchers to (1) discuss the state of the art of these environments, (2) assess the usability and effectiveness of these environments and their associated pedagogies, and (3) brainstorm about future directions. This workshop will not be a mini-conference. The focus will instead be on engaging participants in discussions. There will be three kinds of sessions:

  • Discussion sessions organized around a keynote and some short talks/panels.
  • Demo/poster sessions in which participants describe recent work related to blocks languages or other introductory programming environments.
  • A “campfire talk” in which developers of blocks environments share stories about their current systems and future plans, with feedback from all workshop participants.

Anyone who wants to join the discussions is welcome to participate in the workshop.

Call for Participation

Blocks programming, in which program syntax trees are represented as visual blocks, has become popular in programming environments targeted at beginner programmers as well as casual programmers (artists, scientists, hobbyists, etc.). Tens of millions of people have used blocks programming environments like Scratch, App Inventor, Blockly, Snap!, StarLogo Nova, Pencil Code, Alice/Looking Glass, AgentSheets/AgentCubes, and Code.org’s curricula.

The goal of this workshop is to bring together language designers, educators, and researchers to (1) discuss the state of the art of these environments, (2) assess the usability and effectiveness of these environments and their associated pedagogies, and (3) brainstorm about future directions for these environments. We seek participants with diverse expertise, including, but not limited to: design of programming environments, instruction with these environments, human factors, the learning sciences, and learning analytics.

This workshop will not be a mini-conference. The focus will be on engaging participants to discuss the current state and future directions of blocks languages and other programming environments targeted at beginners and casual programmers.

Call for Proposals

Anyone who wants to join the discussions is welcome to participate in the workshop. But we encourage more active participation in the form of (1) giving shorts talks that spark discussion; (2) participating in panel discussions of a relevant topic; and (3) presenting demos and/or posters. These forms of participation require proposal submissions by the submission deadline (Friday 17th of August, 2018) that will be reviewed by the program committee:

  • Talk proposals (max 2 pages) should describe a position, open problem, exciting feature/system, promising line of work, or impactful research result. Talks will be chosen based on relevance, clarity, and their likelihood for generating good discussions. Talk proposals not chosen for presentation will automatically be considered for demos/posters.

  • Panel proposals (max 2 pages) should involve at least three people who wish to present perspectives on a topic related to blocks languages. Panels will be chosen based on relevance, clarity, and their likelihood for generating good discussions.

  • Demo/poster proposals (max 2 pages) should describe a system, design, pedagogy, analysis, experiment, result, etc. involving recent work related to blocks languages or other introductory programming environments.

There will be an opportunity to revise accepted proposals to address feedback from the PC.

Publication

All revised accepted proposals will be linked from the BLOCKS+ web page on the SPLASH website. There will be no other form of publication.

Presenters will also have the option to link slides, posters, and other materials relevant to their presentations from the BLOCKS+ web page.

Topics

Suggested topics include (but are not limited to):

  • How usable and effective are blocks environments for teaching programming? For democratizing programming and enabling computational makers? How do we know?

  • In what ways have blocks languages succeeded or failed at fulfilling the promise of visual languages to enhance the ability of humans to express computation?

  • What tools are there for creating new blocks languages, especially domain-specific ones? What tools allow users to extend existing blocks languages?

  • How does the two-dimensional nature of blocks programming workspaces affect the way people create, modify, navigate, and search through their code?

  • How can blocks languages better support dynamic semantics and pragmatics, particularly with features for liveness, debugging, and understanding the dynamic execution of programs?

  • What are effective mechanisms for multiple people to collaborate on a single blocks program when they (1) are co-located or (2) are working together remotely?

  • What are effective pedagogical strategies to use with blocks languages, both in traditional classroom settings and in informal and open-ended learning environments?

  • What are the most effective ways to provide help to blocks programmers, especially in settings outside the classroom?

  • How can online communities associated with these environments be leveraged to support users?

  • How can blocks environments and associated curricular materials be made more accessible to everyone, especially those with visual and motor impairments?

  • In what ways do blocks environments help or hinder those who use them as a stepping stone to traditional text-based languages? What are good ways to support the transition between blocks languages and text-based languages? How important is this?

  • What lessons from the blocks programming community are worth sharing with other language designers? Are there features of blocks languages that should be incorporated into IDEs for traditional programming environments? What features of modern IDEs are lacking in blocks languages?

  • For 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 such data to answer larger scale questions about early experiences with programming?

Submission Instructions

Even though BLOCKS+ proceedings will not be published by the ACM, for consistency with other SPLASH workshops, BLOCKS+ proposal submissions should use the double-column SIGPLAN acmart style: http://www.sigplan.org/Resources/Author/. The provided double-column template is available for Latex and Word. Some notes:

  • proposal authors should not be anonymous
  • Do include an abstract
  • You do not need to include CCS concepts. But do include appopriate keywords.
  • For the main content of your proposal, use whatever sectioning makes sense.
  • References/citations/acknowledgments are only necessary if they make sense in the context of your proposal.
  • change the \acmConference definition to \acmConference[BLOCKS+]{ACM SPLASH BLOCKS+ 2018 Workshop}{November 04, 2018}{Boston, MA, USA}
  • proposals should be no more than 2 pages.

A PDF of the proposal should be submitted to the BLOCKS+ hotcrp site: https://blocksplus18.hotcrp.com/.

The submission deadline is the end of day on Fri. Aug. 17, Anywhere on Earth time (= 8am EDT on Sat. Aug. 18). But this is not a hard deadline. If you are interested in submitting a proposal, but will have trouble making the deadline (or have missed the deadline), please email the BLOCKS+ chairs.