1119 2023 Snap!Con 2023 2023-07-19 2023-07-21 3 00:05 2023-07-19T12:10:00+02:00 10:10 00:20 Auditorium (Online) Talk 650-welcome-to-snap-con Welcome to Snap!Con **This session will not be on Zoom. We will have an ["online" welcome later today](https://www.snapcon.org/conferences/2023/program/proposals/695).** A welcome message from the organization. For three days we’ll be coming back to the Citilab to share our passion, projects and pedagogy around blocks based programming and computing education. We’re looking forward to getting together at this awesome location in person. You’ll also be able to participate online. This edition will come with a bunch of surprises, including a hybrid escape room experience and a Snap! arcade machine for which you can submit games for others to play during the conference. **This session will not be on Zoom. We will have an ["online" welcome later today](https://www.snapcon.org/conferences/2023/program/proposals/695).** A welcome message from the organization. For three days we’ll be coming back to the Citilab to share our passion, projects and pedagogy around blocks based programming and computing education. We’re looking forward to getting together at this awesome location in person. You’ll also be able to participate online. This edition will come with a bunch of surprises, including a hybrid escape room experience and a Snap! arcade machine for which you can submit games for others to play during the conference. false Jadga Hügle 2023-07-19T13:55:00+02:00 11:55 00:05 Auditorium (Online) Lightning Talk 695-welcome-to-the-online-part-of-the-conference Welcome to the Online Part of the Conference Welcome to the Snap!Con 2023 online participants! 10 minutes where we'll explain all about the conference to you, if you're joining us online. Get to know how to join the sessions, how to get in contact with other participants and how to be a part of the hybrid escape room. Welcome to the Snap!Con 2023 online participants! 10 minutes where we'll explain all about the conference to you, if you're joining us online. Get to know how to join the sessions, how to get in contact with other participants and how to be a part of the hybrid escape room. false Jadga Hügle Bernat Romagosa Michael Ball 2023-07-19T14:00:00+02:00 12:00 00:20 Auditorium (Online) Talk 617-designing-with-geometry-blocks Designing with Geometry Blocks A Snap! Way of Turtle Art Geometry blocks library is an extension of TurtleStitch. It consists of a set of blocks used to draw shapes and patterns. Each block has a lambda input named "style" which enables them to be combined with each other to make more complicated and interesting designs. In this talk I am going to give usages and examples of geometry blocks and also talk about how I use this library to bridge students from imperative coding to functional coding in a playful way. The most important part of my talk is to demonstrate how to generate custom stitching patterns for embroidery with geometry library. Although TurtleStitch platform gives enough primitive stitching pattern blocks TurtleStitchers will feel free to make new patterns with this library. Some references are listed below: [https://www.turtlestitch.org/run#cloud:Username=SimonMong&ProjectName=maskcoat1](https://www.turtlestitch.org/run#cloud:Username=SimonMong&ProjectName=maskcoat1) [https://turtlestitch.snapontop.org/turtlestitch-coded-embroidery/get-started-with-geometry-blocks](https://turtlestitch.snapontop.org/turtlestitch-coded-embroidery/get-started-with-geometry-blocks) Geometry blocks library is an extension of TurtleStitch. It consists of a set of blocks used to draw shapes and patterns. Each block has a lambda input named "style" which enables them to be combined with each other to make more complicated and interesting designs. In this talk I am going to give usages and examples of geometry blocks and also talk about how I use this library to bridge students from imperative coding to functional coding in a playful way. The most important part of my talk is to demonstrate how to generate custom stitching patterns for embroidery with geometry library. Although TurtleStitch platform gives enough primitive stitching pattern blocks TurtleStitchers will feel free to make new patterns with this library. Some references are listed below: [https://www.turtlestitch.org/run#cloud:Username=SimonMong&ProjectName=maskcoat1](https://www.turtlestitch.org/run#cloud:Username=SimonMong&ProjectName=maskcoat1) [https://turtlestitch.snapontop.org/turtlestitch-coded-embroidery/get-started-with-geometry-blocks](https://turtlestitch.snapontop.org/turtlestitch-coded-embroidery/get-started-with-geometry-blocks) false Simon Mong 2023-07-19T14:20:00+02:00 12:20 00:20 Auditorium (Online) Talk 596-snap-ionicvue-a-cloud-ide-with-no-code-wisiwyg-gui-and-single-codebase-technologies-for-developing-cross-mobile-phones-and-web-sites Snap!IonicVue: A Cloud IDE with no-code, WISIWYG GUI and single codebase technologies for developing cross mobile phones and web sites **Industry pain points:** Today's application development mostly includes at least three platforms: iOS, Android, and Web. The pain points faced by the industry are as follows: 1. The development cost of multiple teams is high; 2. Different technologies must be familiar with different programming languages and APIs, resulting in higher barriers to development, longer time to market, and difficult talent cultivation; 3. Multi-platform maintenance and upgrades are complicated and high costs. **Solution:** Snap!IonicVue is a set of cloud-based, cross-platform development tools adopting the technologies of "no code", WYSIWYG and "single codebase". It helps your organization develop enterprise products faster, enter the market quickly and reduce the development cost by at least half. It also realizes a short learning curve and an integrated development environment where a single code is developed for cross multiple mobile platforms and both full stack web development, which may save about 60% of the development time and 80% of the maintenance time compared to native code development. **Features of the product:** - Snap!IonicVue is a cloud platform development tool that does not require any installation. To run it, just enter the URL (Figure 1). - Single codebase for simultaneous development of multi-platforms, such as Android, iOS, Web, PWA. - No syntax errors due to no code visual blocks, coders don't worry about (Figure 2). - Provide WYSIWYG GUI editor for fast App and Web development (Figure 3). - Supports multiple languages that can be marketed all over the world. - Scan QR Code with your mobile phone to quickly preview the results (as shown in Figure 4). - Support cloud packaging of Apps and uploading to Google and Apple stores. Also uploading source code to the backend servers, the web server is created (Figure 5). - Provide self-built block libraries, which can be reused for future projects. - Provide application building block library, such as registration, login, password reset, database function, AI integration, third-party payment Building blocks and platforms to quickly develop application systems. - Support total AIoT solutions (Figure 6). ![Figure 1. Snap!IonicVue IDE](https://www.aiot.com.tw/img/ionicinfo1.jpg) Figure 1. Snap!IonicVue IDE ![Figure 2 Use no code technology to develop news apps](https://www.aiot.com.tw/img/ionicinfo2.png) Figure 2 Use no code technology to develop news apps ![Figure 3 What You See Is What You Get (WYSIWYG) GUI Editor](https://www.aiot.com.tw/img/ionicinfo3.png) Figure 3 What You See Is What You Get (WYSIWYG) GUI Editor ![Figure 4 Scan QR Codes to preview Android and iOS news apps](https://www.aiot.com.tw/img/ionicinfo4-en.png "Figure 4 Scan QR Codes to preview Android and iOS news apps") Figure 4 Scan QR Codes to preview Android and iOS news apps ![Figure 5 Package Apk and Ipa in our cloud and upload them to Google and Apple stores, respectively and upload the source code to a backend server for web site](https://www.aiot.com.tw/img/ionicinfo5-en.png "Figure 5 Package Apk and Ipa in our cloud and upload them to Google and Apple stores, respectively and upload the source code to a backend server for web site") Figure 5 Package Apk and Ipa in our cloud and upload them to Google and Apple stores, respectively and upload the source code to a backend server for web site ![Figure 6 Snap! tool sets provide total AIoT solution.](https://www.aiot.com.tw/img/ionicinfo8.png "Figure 6 Snap! tool sets provide total AIoT solution.") Figure 6 Snap! tool sets provide total AIoT solution. **Industry pain points:** Today's application development mostly includes at least three platforms: iOS, Android, and Web. The pain points faced by the industry are as follows: 1. The development cost of multiple teams is high; 2. Different technologies must be familiar with different programming languages and APIs, resulting in higher barriers to development, longer time to market, and difficult talent cultivation; 3. Multi-platform maintenance and upgrades are complicated and high costs. **Solution:** Snap!IonicVue is a set of cloud-based, cross-platform development tools adopting the technologies of "no code", WYSIWYG and "single codebase". It helps your organization develop enterprise products faster, enter the market quickly and reduce the development cost by at least half. It also realizes a short learning curve and an integrated development environment where a single code is developed for cross multiple mobile platforms and both full stack web development, which may save about 60% of the development time and 80% of the maintenance time compared to native code development. **Features of the product:** - Snap!IonicVue is a cloud platform development tool that does not require any installation. To run it, just enter the URL (Figure 1). - Single codebase for simultaneous development of multi-platforms, such as Android, iOS, Web, PWA. - No syntax errors due to no code visual blocks, coders don't worry about (Figure 2). - Provide WYSIWYG GUI editor for fast App and Web development (Figure 3). - Supports multiple languages that can be marketed all over the world. - Scan QR Code with your mobile phone to quickly preview the results (as shown in Figure 4). - Support cloud packaging of Apps and uploading to Google and Apple stores. Also uploading source code to the backend servers, the web server is created (Figure 5). - Provide self-built block libraries, which can be reused for future projects. - Provide application building block library, such as registration, login, password reset, database function, AI integration, third-party payment Building blocks and platforms to quickly develop application systems. - Support total AIoT solutions (Figure 6). ![Figure 1. Snap!IonicVue IDE](https://www.aiot.com.tw/img/ionicinfo1.jpg) Figure 1. Snap!IonicVue IDE ![Figure 2 Use no code technology to develop news apps](https://www.aiot.com.tw/img/ionicinfo2.png) Figure 2 Use no code technology to develop news apps ![Figure 3 What You See Is What You Get (WYSIWYG) GUI Editor](https://www.aiot.com.tw/img/ionicinfo3.png) Figure 3 What You See Is What You Get (WYSIWYG) GUI Editor ![Figure 4 Scan QR Codes to preview Android and iOS news apps](https://www.aiot.com.tw/img/ionicinfo4-en.png "Figure 4 Scan QR Codes to preview Android and iOS news apps") Figure 4 Scan QR Codes to preview Android and iOS news apps ![Figure 5 Package Apk and Ipa in our cloud and upload them to Google and Apple stores, respectively and upload the source code to a backend server for web site](https://www.aiot.com.tw/img/ionicinfo5-en.png "Figure 5 Package Apk and Ipa in our cloud and upload them to Google and Apple stores, respectively and upload the source code to a backend server for web site") Figure 5 Package Apk and Ipa in our cloud and upload them to Google and Apple stores, respectively and upload the source code to a backend server for web site ![Figure 6 Snap! tool sets provide total AIoT solution.](https://www.aiot.com.tw/img/ionicinfo8.png "Figure 6 Snap! tool sets provide total AIoT solution.") Figure 6 Snap! tool sets provide total AIoT solution. false 鄭福烱 2023-07-19T14:40:00+02:00 12:40 00:20 Auditorium (Online) Talk 627-using-snap-on-iot-vertebrae Using Snap! on IoT Vertebrae Bridging OT, IT and makers and the educational community using IoT Vertebrae IoT Vertebrae is Open Source Hardware ( [www.iotvertebrae.com](https://github.com/iot-vertebrae/iotvertebrae/) ). It is a protyping hardware platform to be compatible with industrial signal levels. Bridging OT, IT, and makers and the educational community is possible using IoT Vertebrae. In this talk we will use Snap! controlling analog and digital outputs, and reading analog and digital inputs from the physical world. Using MicroBlocks on Iot-Vertebrae is also explored. IoT Vertebrae is Open Source Hardware ( [www.iotvertebrae.com](https://github.com/iot-vertebrae/iotvertebrae/) ). It is a protyping hardware platform to be compatible with industrial signal levels. Bridging OT, IT, and makers and the educational community is possible using IoT Vertebrae. In this talk we will use Snap! controlling analog and digital outputs, and reading analog and digital inputs from the physical world. Using MicroBlocks on Iot-Vertebrae is also explored. false Jordi Binefa Xavier Pi 2023-07-19T15:00:00+02:00 13:00 00:20 Auditorium (Online) Talk 605-learningml-reach-snap LearningML reach Snap! Artificial Intelligence made easy with LearningML and Snap! In 2019 I started developing [LearningML](https://learningml.org), an educational platform intended to facilitate the teaching of Machine Learning fundamentals through hands-on activities. With this tool, students can generate ML models for text, image and numerical set recognition and make software applications that incorporate these models. The platform consists of an ML model editor, where the student performs the 3 main phases of supervised ML: 1 - collects example data (training), 2 - runs an algorithm to build the ML model (learning) and 3 - evaluates the resulting model (evaluation). The ML editor allows to build a model without programming. It is therefore very suitable, as demonstrated in [1], for students from 10 to 16 years old. Afterwards, and optionally, the student can code an application that incorporates the ML model thanks to some ML blocks added to a modified Scratch instance. As a continuation of the project, and with the same objective of teaching the basics of Machine Learning, but focusing on coding, I have developed [lml-Snap!](https://snap.learningml.org) a modification of Snap! that incorporates new blocks designed to carry out all the phases of supervised ML from the coding editor itself. In other words, both the construction of text, image and numerical set recognition models, and the programming of applications that incorporate these projects, are carried out programmatically. In short, the ML model editor is dispensed with and the student is left to program his or her own model building strategy. This approach favours computer programming practice, especially the use and manipulation of lists and file handling, as training data often comes from external structured files (JSON, CSV) that are loaded into variables and converted into lists. At the moment the capabilities of lml-Snap! and LearningML are identical. In both cases the ML algorithms, although configurable, are predefined. The only difference is that the construction of the ML model is done programmatically in lml-Snap! However, the next step in the development of lml-Snap! provides the possibility for the student to build their own ML algorithms, further extending the expressiveness and control over the whole supervised ML process. 1. Rodríguez-García, J. D., Moreno-León, J., Román-González, M., & Robles, G. (2021, March). Evaluation of an online intervention to teach artificial intelligence with learningml to 10-16-year-old students. In Proceedings of the 52nd ACM technical symposium on computer science education (pp. 177-183). In 2019 I started developing [LearningML](https://learningml.org), an educational platform intended to facilitate the teaching of Machine Learning fundamentals through hands-on activities. With this tool, students can generate ML models for text, image and numerical set recognition and make software applications that incorporate these models. The platform consists of an ML model editor, where the student performs the 3 main phases of supervised ML: 1 - collects example data (training), 2 - runs an algorithm to build the ML model (learning) and 3 - evaluates the resulting model (evaluation). The ML editor allows to build a model without programming. It is therefore very suitable, as demonstrated in [1], for students from 10 to 16 years old. Afterwards, and optionally, the student can code an application that incorporates the ML model thanks to some ML blocks added to a modified Scratch instance. As a continuation of the project, and with the same objective of teaching the basics of Machine Learning, but focusing on coding, I have developed [lml-Snap!](https://snap.learningml.org) a modification of Snap! that incorporates new blocks designed to carry out all the phases of supervised ML from the coding editor itself. In other words, both the construction of text, image and numerical set recognition models, and the programming of applications that incorporate these projects, are carried out programmatically. In short, the ML model editor is dispensed with and the student is left to program his or her own model building strategy. This approach favours computer programming practice, especially the use and manipulation of lists and file handling, as training data often comes from external structured files (JSON, CSV) that are loaded into variables and converted into lists. At the moment the capabilities of lml-Snap! and LearningML are identical. In both cases the ML algorithms, although configurable, are predefined. The only difference is that the construction of the ML model is done programmatically in lml-Snap! However, the next step in the development of lml-Snap! provides the possibility for the student to build their own ML algorithms, further extending the expressiveness and control over the whole supervised ML process. 1. Rodríguez-García, J. D., Moreno-León, J., Román-González, M., & Robles, G. (2021, March). Evaluation of an online intervention to teach artificial intelligence with learningml to 10-16-year-old students. In Proceedings of the 52nd ACM technical symposium on computer science education (pp. 177-183). false Juan David Rodríguez García 2023-07-19T15:20:00+02:00 13:20 00:20 Auditorium (Online) Talk 633-pose2blocks-body-interactivity-in-snap-programming Pose2Blocks - Body Interactivity in Snap! Programming You Can Dance If You Want To Pose2Blocks is software that changes the way we interact with Snap! programming by incorporating body movements, gestures, and even dancing(!) as control inputs. Building on Kinect2Scratch(1), Pose2Blocks utilizes machine learning models to estimate skeletal joint positions from a simple consumer webcam, making the technology more accessible and compatible with Windows, Mac, and Linux operating systems. Kinect2Scratch was first developed and released in 2011, and was used by students, teachers, and researchers to develop games and applications. Some surprising uses included ehealth games for children with cerebral palsy(2), therapy for chronic stroke patients(3), and games to teach independent living skills (4). This talk will include a demo of Pose2Blocks, demonstrating how sprites can react to gestures and follow the movement of your hand. We will then explore the possibilities of making your Snap! games and apps respond to unique 'dance' moves, by building a app that draws your 'skeleton' that responds as you move. ### References 1. Howell, S. (2012). Install Scratch and Kinect2Scratch. In J. St. Jean (Ed.), Kinect Hacks: Tips and Tools for Motion and Pattern Detection (1st ed., pp. 184 - 206). Sebastopol, CA: O'Reilly. 1. Hung, J.-W., Chang, Y.-J., Chou, C.-X., Wu, W.-C., Howell, S. and Lu, W.-P. (2018) ‘Developing a Suite of Motion-Controlled Games for Upper Extremity Training in Children with Cerebral Palsy: A Proof-of-Concept Study’, Games for Health Journal. Mary Ann Liebert, Inc., publishers, 7(5), pp. 327–334. doi: 10.1089/g4h.2017.0141. 1. Hung, J.-W., Chou, C.-X., Chang, Y.-J., Wu, C.-Y., Chang, K.-C., Wu, W.-C. and Howell, S. (2019) ‘Comparison of Kinect2Scratch game-based training and therapist-based training for the improvement of upper extremity functions of patients with chronic stroke: a randomized controlled single-blinded trial’, European Journal of Physical and Rehabilitation Medicine, 55(5), pp. 542–550. doi: 10.23736/S1973-9087.19.05598-9. 1. Kang, Y.-S., Chang, Y.-J. and Howell, S. R. (2020) ‘Using a kinect-based game to teach oral hygiene in four elementary students with intellectual disabilities’, Journal of applied research in intellectual disabilities: JARID. doi: 10.1111/jar.12828. Pose2Blocks is software that changes the way we interact with Snap! programming by incorporating body movements, gestures, and even dancing(!) as control inputs. Building on Kinect2Scratch(1), Pose2Blocks utilizes machine learning models to estimate skeletal joint positions from a simple consumer webcam, making the technology more accessible and compatible with Windows, Mac, and Linux operating systems. Kinect2Scratch was first developed and released in 2011, and was used by students, teachers, and researchers to develop games and applications. Some surprising uses included ehealth games for children with cerebral palsy(2), therapy for chronic stroke patients(3), and games to teach independent living skills (4). This talk will include a demo of Pose2Blocks, demonstrating how sprites can react to gestures and follow the movement of your hand. We will then explore the possibilities of making your Snap! games and apps respond to unique 'dance' moves, by building a app that draws your 'skeleton' that responds as you move. ### References 1. Howell, S. (2012). Install Scratch and Kinect2Scratch. In J. St. Jean (Ed.), Kinect Hacks: Tips and Tools for Motion and Pattern Detection (1st ed., pp. 184 - 206). Sebastopol, CA: O'Reilly. 1. Hung, J.-W., Chang, Y.-J., Chou, C.-X., Wu, W.-C., Howell, S. and Lu, W.-P. (2018) ‘Developing a Suite of Motion-Controlled Games for Upper Extremity Training in Children with Cerebral Palsy: A Proof-of-Concept Study’, Games for Health Journal. Mary Ann Liebert, Inc., publishers, 7(5), pp. 327–334. doi: 10.1089/g4h.2017.0141. 1. Hung, J.-W., Chou, C.-X., Chang, Y.-J., Wu, C.-Y., Chang, K.-C., Wu, W.-C. and Howell, S. (2019) ‘Comparison of Kinect2Scratch game-based training and therapist-based training for the improvement of upper extremity functions of patients with chronic stroke: a randomized controlled single-blinded trial’, European Journal of Physical and Rehabilitation Medicine, 55(5), pp. 542–550. doi: 10.23736/S1973-9087.19.05598-9. 1. Kang, Y.-S., Chang, Y.-J. and Howell, S. R. (2020) ‘Using a kinect-based game to teach oral hygiene in four elementary students with intellectual disabilities’, Journal of applied research in intellectual disabilities: JARID. doi: 10.1111/jar.12828. false StephenHowell 2023-07-19T15:40:00+02:00 13:40 00:20 Auditorium (Online) Talk 594-creative-uses-of-snap-blocks-using-large-language-models-like-gpt Creative uses of Snap! blocks using large language models like GPT Using GPT (and the like) as a subroutine in your Snap! projects Using the web services library one can create blocks that send prompts to GPT-3, GPT-4, Cohere, Jurrassic 1, and other large language models. These blocks report the "completions" returned by these API calls. I'll present five sample projects using these blocks: [Conversations with and between personas using language models](https://docs.google.com/document/d/1Ec9wgoFVy5nkFFG26TvcTByXDpHZBOdUEnsPpnFW1Ws/edit?usp=sharing) [Using Large Language Models to simulate debates](https://docs.google.com/document/d/1je5Aqlx5vzF-Sob_R91JB5xX82dx18ePMhysNhRUVIM/edit?usp=sharing) [The Automated Generation of Illustrated Stories](https://docs.google.com/document/d/1qZgT8GleQ2keOFxPNYXAFsZ8RPL3ob0M_FnVtQ7jWZ4/edit?usp=sharing) [Using large language models to control a Logo turtle](https://docs.google.com/document/d/1RbFQlIQGxYCDAxjtMDJ5LUmoxmqlCQregS1W6aVvGgU/edit?usp=sharing) [Demonstrating that GPT-3 can play Tic Tac Toe](https://docs.google.com/document/d/1EjWI-bW5o9Htpwo7YX6aC30LVb-Cwp8PMKt1pde5skk/edit?usp=sharing) Unlike using a large language model "playground" where you can enter text and receive completions, a programmatic use of large language models enables one to integrate the completions into a larger task. For example, the language model can be asked to generate a story and then asked to generate suggestions for illustration prompts for each paragraph and then contact a text-to-image model to receive costumes to use in an illustrated version of the story. And the story and illustrations can be co-developed by the user and the model. For example, the model can be prompted to suggest changes to a story, the user can approve or reject, and then the changes are implemented by another request to the model. Here is a [Snap! project for working with language including large language models](https://snap.berkeley.edu/snap/snap.html#present:Username=toontalk&ProjectName=words). This abstract is an [abbreviated version of this brief introduction to using large language models in Snap!](https://docs.google.com/document/d/1nB7TwTEgqogtjYjJ-HXZoEz3z6fcL-Ud-_OiqYqVIYM/edit?usp=sharing). Using the web services library one can create blocks that send prompts to GPT-3, GPT-4, Cohere, Jurrassic 1, and other large language models. These blocks report the "completions" returned by these API calls. I'll present five sample projects using these blocks: [Conversations with and between personas using language models](https://docs.google.com/document/d/1Ec9wgoFVy5nkFFG26TvcTByXDpHZBOdUEnsPpnFW1Ws/edit?usp=sharing) [Using Large Language Models to simulate debates](https://docs.google.com/document/d/1je5Aqlx5vzF-Sob_R91JB5xX82dx18ePMhysNhRUVIM/edit?usp=sharing) [The Automated Generation of Illustrated Stories](https://docs.google.com/document/d/1qZgT8GleQ2keOFxPNYXAFsZ8RPL3ob0M_FnVtQ7jWZ4/edit?usp=sharing) [Using large language models to control a Logo turtle](https://docs.google.com/document/d/1RbFQlIQGxYCDAxjtMDJ5LUmoxmqlCQregS1W6aVvGgU/edit?usp=sharing) [Demonstrating that GPT-3 can play Tic Tac Toe](https://docs.google.com/document/d/1EjWI-bW5o9Htpwo7YX6aC30LVb-Cwp8PMKt1pde5skk/edit?usp=sharing) Unlike using a large language model "playground" where you can enter text and receive completions, a programmatic use of large language models enables one to integrate the completions into a larger task. For example, the language model can be asked to generate a story and then asked to generate suggestions for illustration prompts for each paragraph and then contact a text-to-image model to receive costumes to use in an illustrated version of the story. And the story and illustrations can be co-developed by the user and the model. For example, the model can be prompted to suggest changes to a story, the user can approve or reject, and then the changes are implemented by another request to the model. Here is a [Snap! project for working with language including large language models](https://snap.berkeley.edu/snap/snap.html#present:Username=toontalk&ProjectName=words). This abstract is an [abbreviated version of this brief introduction to using large language models in Snap!](https://docs.google.com/document/d/1nB7TwTEgqogtjYjJ-HXZoEz3z6fcL-Ud-_OiqYqVIYM/edit?usp=sharing). false Ken Kahn 2023-07-19T18:00:00+02:00 16:00 01:00 Auditorium (Online) Keynotes 639-what-s-new-in-snap What's New In Snap! Jens will demo some awesome new features in Snap! 9. Jens will demo some awesome new features in Snap! 9. false Jens Mönig 2023-07-19T19:00:00+02:00 17:00 00:20 Auditorium (Online) Talk 606-micro-bridge-using-snap-to-interact-with-the-physical-world Micro:Bridge – Using Snap! to Interact with the Physical World A microcontroller enables a computer to interact with the physical world. MicroBlocks (https://microblocks.fun) is an educational programming language designed for microcontrollers. Micro:Bridge enables Snap! to interact with a microcontroller via MicroBlocks. This requires: 1. A library of blocks, Micro:Bridge, that is loaded into Snap! and 2. A library of blocks, Snap!Bridge, that is loaded into MicroBlocks. This establishes a messaging protocol that enables Snap! to interact with the selected microcontroller via MicroBlocks. The types of blocks enabled in Snap! through this message protocol include commands such as [Set Digital Pin 3 to True] and [Read Analog Pin 2]. Examples of projects using the BBC micro:bit, the Raspberry Pi Pico, and the Adafruit Express Metro M0 microcontrollers will be demonstrated. A microcontroller enables a computer to interact with the physical world. MicroBlocks (https://microblocks.fun) is an educational programming language designed for microcontrollers. Micro:Bridge enables Snap! to interact with a microcontroller via MicroBlocks. This requires: 1. A library of blocks, Micro:Bridge, that is loaded into Snap! and 2. A library of blocks, Snap!Bridge, that is loaded into MicroBlocks. This establishes a messaging protocol that enables Snap! to interact with the selected microcontroller via MicroBlocks. The types of blocks enabled in Snap! through this message protocol include commands such as [Set Digital Pin 3 to True] and [Read Analog Pin 2]. Examples of projects using the BBC micro:bit, the Raspberry Pi Pico, and the Adafruit Express Metro M0 microcontrollers will be demonstrated. false Glen Bull John Maloney Maketolearn 2023-07-19T19:20:00+02:00 17:20 00:20 Auditorium (Online) Talk 603-countdown-to-code-context-challenge-creativity Countdown to Code: Context, challenge, creativity. A model for any challenge-based coding activity for engaging young people. Countdown to code: challenge, context, creativity. STOP! Before you write the first line of code, what should you do? What would you ask your students to do? This talk is not about physical computing – this is about an engaging model for any code-based activity with young people. There are some students whose eyes light up when they see components, cables, and code. There are others who freeze or groan. WMG Outreach aim to work with all students and create engaging activities for everyone. We want to bring code out of the digital and into the physical world, and inspire those students who would normally freeze to engage and thrive in a coding environment. WMG is a department at the University of Warwick in the UK. Alongside teaching engineers, the department is well-known for research into batteries for transport electrification, intelligent and connected vehicles, and materials science. Our outreach team take that research knowledge and experience out to local schools and the wider public and aim to inspire the next generation of engineers. To do this we use a combination of activities that cover a range of topics. When working on technology or vehicle-based projects we rely on block-based coding. The intuitive, barrier-free entry to coding that blocks provide makes the activities more accessible, but there is a lot of work to do to really engage students – especially those who are technophobic, lack confidence with computing, or simply don’t imagine themselves as computer scientists, software developers, or engineers. WMG Outreach have developed a creative challenge-based approach that inspires students to work in teams to design, build, and test products. Instead of every student in the room working on the same problem – often with a single viable solution – our students are working in teams, each chasing a different idea. Our approach provides opportunities for students to take on different roles within a team: the thinker, the planner, the tinkerer, the tester. First, students choose a challenge from a set of challenge cards. These cards provide a starting point and an overall challenge: create a product that can control traffic. They also contain some context – where might you find these in the real world? What are engineers trying to do to improve these systems? And then the students are free to solve that challenge in whatever way they choose. Our team are in the room to help students when they run in to issues. Students typically find a way to solve the problems that we did not anticipate or want to add features that we have never thought of. Having a well-stocked box of additional components and cables means that we can often accommodate these new ideas. Additionally, the challenges can be listed with a difficulty rating. This way the students who are not confident can work on the lower rated challenges. At the end of the session the teams of students can bring together their creations into a ‘micro city’ which is equipped with high-tech, futuristic ideas from the students – built out of kits and boxes of components. In this way, the students are all part of a bigger process, and even those who tackled simpler contributions are well represented in the final project. The journey for the students from having those loose components into a full city is inspiring and helps them build that confidence and identity as engineers. They are not competing, they are collaborating. We believe that this approach is empowering for students and practitioners and we will share this model here. This talk could also work as a lightning talk but has been proposed in this category as it represents a mature corpus of knowledge from projects dating back to 2019. Margaret Low is the Director of Widening Participation at WMG and is therefore associated with this talk, but it will be led and delivered by Phil Jemmett. Countdown to code: challenge, context, creativity. STOP! Before you write the first line of code, what should you do? What would you ask your students to do? This talk is not about physical computing – this is about an engaging model for any code-based activity with young people. There are some students whose eyes light up when they see components, cables, and code. There are others who freeze or groan. WMG Outreach aim to work with all students and create engaging activities for everyone. We want to bring code out of the digital and into the physical world, and inspire those students who would normally freeze to engage and thrive in a coding environment. WMG is a department at the University of Warwick in the UK. Alongside teaching engineers, the department is well-known for research into batteries for transport electrification, intelligent and connected vehicles, and materials science. Our outreach team take that research knowledge and experience out to local schools and the wider public and aim to inspire the next generation of engineers. To do this we use a combination of activities that cover a range of topics. When working on technology or vehicle-based projects we rely on block-based coding. The intuitive, barrier-free entry to coding that blocks provide makes the activities more accessible, but there is a lot of work to do to really engage students – especially those who are technophobic, lack confidence with computing, or simply don’t imagine themselves as computer scientists, software developers, or engineers. WMG Outreach have developed a creative challenge-based approach that inspires students to work in teams to design, build, and test products. Instead of every student in the room working on the same problem – often with a single viable solution – our students are working in teams, each chasing a different idea. Our approach provides opportunities for students to take on different roles within a team: the thinker, the planner, the tinkerer, the tester. First, students choose a challenge from a set of challenge cards. These cards provide a starting point and an overall challenge: create a product that can control traffic. They also contain some context – where might you find these in the real world? What are engineers trying to do to improve these systems? And then the students are free to solve that challenge in whatever way they choose. Our team are in the room to help students when they run in to issues. Students typically find a way to solve the problems that we did not anticipate or want to add features that we have never thought of. Having a well-stocked box of additional components and cables means that we can often accommodate these new ideas. Additionally, the challenges can be listed with a difficulty rating. This way the students who are not confident can work on the lower rated challenges. At the end of the session the teams of students can bring together their creations into a ‘micro city’ which is equipped with high-tech, futuristic ideas from the students – built out of kits and boxes of components. In this way, the students are all part of a bigger process, and even those who tackled simpler contributions are well represented in the final project. The journey for the students from having those loose components into a full city is inspiring and helps them build that confidence and identity as engineers. They are not competing, they are collaborating. We believe that this approach is empowering for students and practitioners and we will share this model here. This talk could also work as a lightning talk but has been proposed in this category as it represents a mature corpus of knowledge from projects dating back to 2019. Margaret Low is the Director of Widening Participation at WMG and is therefore associated with this talk, but it will be led and delivered by Phil Jemmett. false Margaret Low Phil Jemmett 2023-07-19T19:40:00+02:00 17:40 00:20 Auditorium (Online) Talk 612-beyond-black-boxes-teaching-complex-machine-learning-ideas-through-hands-on-exercises-in-netsblox Beyond Black-Boxes: Teaching Complex Machine Learning Ideas through Hands-on Exercises in NetsBlox Existing approaches to teaching machine learning often use existing pre-trained, black-box models. Given the appropriate support, we believe fundamental concepts like optimization and adversarial examples can be accessible in a hands-on way to high school students. In this talk, we present some of our recent work in developing a curriculum to teach machine learning concepts in a hands-on way to high school students. Our approach focuses on teaching ML ideas by enabling students to develop deep intuition about these complex concepts by first making them accessible to novices through interactive tools, pre-programmed games, and carefully designed programming activities. These activities also are designed to have a high ceiling; motivated students can always dig deeper into any part of the activities as they are all entirely implemented in blocks. Activities include decision tree building, gradient descent, adversarial examples, GANs, and more! Existing approaches to teaching machine learning often use existing pre-trained, black-box models. Given the appropriate support, we believe fundamental concepts like optimization and adversarial examples can be accessible in a hands-on way to high school students. In this talk, we present some of our recent work in developing a curriculum to teach machine learning concepts in a hands-on way to high school students. Our approach focuses on teaching ML ideas by enabling students to develop deep intuition about these complex concepts by first making them accessible to novices through interactive tools, pre-programmed games, and carefully designed programming activities. These activities also are designed to have a high ceiling; motivated students can always dig deeper into any part of the activities as they are all entirely implemented in blocks. Activities include decision tree building, gradient descent, adversarial examples, GANs, and more! false Brian Broll 2023-07-19T20:00:00+02:00 18:00 01:00 Auditorium (Online) Keynotes 599-programming-as-a-tool-for-everyone-to-learn-across-the-arts-and-sciences Programming as a tool for everyone to learn across the arts and sciences “Computer science” was invented as something that should be taught to everyone in order to facilitate learning other subjects and to reduce the danger of having this powerful new technology controlled by only a few. Computing education has not become the democratizing force that early computer scientists imagined. Only a privileged class understands and creates a critical part of our world. To achieve the original democratic goal, we have to change how we teach computing, change what we mean by programming, and support alternative end-points for computing education. In this talk, I introduce the University of Michigan’s Program in Computing for the Arts and Sciences and our first classes which use teaspoon languages and Snap! to broaden access and participation in computing to include students in arts, humanities, science sciences, and natural sciences. The talk includes demonstrations and links to resources for other computing teachers who want to teach computing for all, not just for software development. **[View slides for this presentation.](https://www.dropbox.com/scl/fi/49gkp6ghfnxgqex64zvzd/Guzdial-SnapCon23.pdf?rlkey=ecwvmcmfscqtwfq21l3kzqcul&dl=0)** “Computer science” was invented as something that should be taught to everyone in order to facilitate learning other subjects and to reduce the danger of having this powerful new technology controlled by only a few. Computing education has not become the democratizing force that early computer scientists imagined. Only a privileged class understands and creates a critical part of our world. To achieve the original democratic goal, we have to change how we teach computing, change what we mean by programming, and support alternative end-points for computing education. In this talk, I introduce the University of Michigan’s Program in Computing for the Arts and Sciences and our first classes which use teaspoon languages and Snap! to broaden access and participation in computing to include students in arts, humanities, science sciences, and natural sciences. The talk includes demonstrations and links to resources for other computing teachers who want to teach computing for all, not just for software development. **[View slides for this presentation.](https://www.dropbox.com/scl/fi/49gkp6ghfnxgqex64zvzd/Guzdial-SnapCon23.pdf?rlkey=ecwvmcmfscqtwfq21l3kzqcul&dl=0)** false Mark Guzdial 2023-07-19T12:30:00+02:00 10:30 08:30 Virtual Hallway Hallway Track 696-wednesday-virtual-hallway Wednesday Virtual Hallway Hang out in an open Zoom room and meet with some new friends. Hang out in an open Zoom room and meet with some new friends. false 2023-07-19T13:30:00+02:00 11:30 00:30 Virtual Hallway Coffee Break 645-coffee-break Coffee Break Grab a coffee, have a snack, talk to others :) Grab a coffee, have a snack, talk to others :) false 2023-07-19T16:00:00+02:00 14:00 02:00 Virtual Hallway Lunch Break 649-lunch Lunch Grab some lunch! We have looong lunch breaks not only because we're in the Mediterranean, but also to give space to self-organized sessions. Lunch break is also when you'll be able to go to the escape room and try out the Snap! Arcade machine. Grab some lunch! We have looong lunch breaks not only because we're in the Mediterranean, but also to give space to self-organized sessions. Lunch break is also when you'll be able to go to the escape room and try out the Snap! Arcade machine. false 2023-07-19T12:30:00+02:00 10:30 01:00 Classroom Zero Workshop 602-how-turtlestitch-makes-maths-matter How Turtlestitch Makes Maths Matter This workshop session will consider the valuable mathematical concepts that children ages 9 – 11 encounter when creating patterns with TurtleStitch. TurtleStitch is a useful way of teaching mathematics in the classroom, or a means to highlight its application and improving school students fluency. Students are able to create any pattern they wish, provided they can work out how to describe it in TurtleStitch. TurtleStitch is based on turtle geometry as developed by Papert. It is described in detail in his book Mindstorms (1981, Chapter 3 Turtle Geometry: A mathematics made for learning). He saw the value in having a physical object to move and turn, leaving a trail behind. TurtleStitch builds on this legacy, and provides a means by which embroidery machines can be controlled to stitch onto fabric the patterns drawn by the turtle on the screen. Its an alternative way to introduce programming to young people, from code which only produces an output to the screen, as it enables them to design and manufacture physical products in the classroom. They also an insight into some of the physical constraints involved in implementing a design. For example, too many stitches too close together will create a hole in fabric. The WMG outreach team at the University of Warwick regularly runs workshops using TurtleStitch as part of their programme of activities with local schools, which includes the Stitch in Time project, linking TurtleStitch to local culture and history. ([www.warwick.ac.uk/stitchintime](https://www.warwick.ac.uk/stitchintime)) To support the use of TurtleStitch in local schools and classrooms, WMG outreach has created a number of resource cards and video tutorials to support its use by teachers, parents and students, which include maths task cards suitable for upper key stage 2 (school years 5 and 6, ages 9 - 11). Children work out the answers to maths questions and check them using Turtlestitch. These are freely available on the Warwick website: [www.warwick.ac.uk/turtlestitch](https://www.warwick.ac.uk/turtlestitch) This workshop session will consider the valuable mathematical concepts that children ages 9 – 11 encounter when creating patterns with TurtleStitch. TurtleStitch is a useful way of teaching mathematics in the classroom, or a means to highlight its application and improving school students fluency. Students are able to create any pattern they wish, provided they can work out how to describe it in TurtleStitch. TurtleStitch is based on turtle geometry as developed by Papert. It is described in detail in his book Mindstorms (1981, Chapter 3 Turtle Geometry: A mathematics made for learning). He saw the value in having a physical object to move and turn, leaving a trail behind. TurtleStitch builds on this legacy, and provides a means by which embroidery machines can be controlled to stitch onto fabric the patterns drawn by the turtle on the screen. Its an alternative way to introduce programming to young people, from code which only produces an output to the screen, as it enables them to design and manufacture physical products in the classroom. They also an insight into some of the physical constraints involved in implementing a design. For example, too many stitches too close together will create a hole in fabric. The WMG outreach team at the University of Warwick regularly runs workshops using TurtleStitch as part of their programme of activities with local schools, which includes the Stitch in Time project, linking TurtleStitch to local culture and history. ([www.warwick.ac.uk/stitchintime](https://www.warwick.ac.uk/stitchintime)) To support the use of TurtleStitch in local schools and classrooms, WMG outreach has created a number of resource cards and video tutorials to support its use by teachers, parents and students, which include maths task cards suitable for upper key stage 2 (school years 5 and 6, ages 9 - 11). Children work out the answers to maths questions and check them using Turtlestitch. These are freely available on the Warwick website: [www.warwick.ac.uk/turtlestitch](https://www.warwick.ac.uk/turtlestitch) false Margaret Low Phil Jemmett RobJLow 2023-07-19T12:30:00+02:00 10:30 01:00 Plaça Workshop 636-farmlands-plagues-and-robots-workshop Farmlands, plagues and robots Workshop During this workshop we will work on the contents of our workshop **Farmlands, plagues and robots**. To do that, we’ll see how we can use a Huskylens, an **AI camera** compatible with electronic boards, and our **Citilab ED1 Robot**, to recognize images of seven different kinds of plagues. Also, the robot will have to move across a grid that represents a farmland, with different kinds of trees and plants. The participants will have to put every plague in the corresponding square and **program the movement of the robot with Snap!**, after connecting the robot to the computer through a Wi-Fi connection. Apart from the movement, they will also have to program the script that matches the ID assigned to a plague with its corresponding image, in order to make it appear at the stage of Snap! when the robot detects it. Finally, when the robot has detected all the plagues, the program can also call a (virtual) drone that will go after every plague and remove it. During this workshop we will work on the contents of our workshop **Farmlands, plagues and robots**. To do that, we’ll see how we can use a Huskylens, an **AI camera** compatible with electronic boards, and our **Citilab ED1 Robot**, to recognize images of seven different kinds of plagues. Also, the robot will have to move across a grid that represents a farmland, with different kinds of trees and plants. The participants will have to put every plague in the corresponding square and **program the movement of the robot with Snap!**, after connecting the robot to the computer through a Wi-Fi connection. Apart from the movement, they will also have to program the script that matches the ID assigned to a plague with its corresponding image, in order to make it appear at the stage of Snap! when the robot detects it. Finally, when the robot has detected all the plagues, the program can also call a (virtual) drone that will go after every plague and remove it. false Nina Coll Victor Casado José García 2023-07-19T16:45:00+02:00 14:45 00:30 Plaça Escape Room 690-escape-room Escape Room Get ready to fly onboard spaceship Alonsza23 on mission to Pluto at this year's hybrid escape room experience at the Citilab (or online). The ship's AI, entirely powered by Snap! and MicroBlocks, has gone rogue because of how untidy the ship is, and is threatening to crash into an asteroid unless we do something about it. Both the onboard (in-person) crew and mission control (online) will have to collaborate to bring the mission back on track. Get ready to fly onboard spaceship Alonsza23 on mission to Pluto at this year's hybrid escape room experience at the Citilab (or online). The ship's AI, entirely powered by Snap! and MicroBlocks, has gone rogue because of how untidy the ship is, and is threatening to crash into an asteroid unless we do something about it. Both the onboard (in-person) crew and mission control (online) will have to collaborate to bring the mission back on track. false 2023-07-19T17:30:00+02:00 15:30 00:30 Plaça Escape Room 691-escape-room Escape Room Get ready to fly onboard spaceship Alonsza23 on mission to Pluto at this year's hybrid escape room experience at the Citilab (or online). The ship's AI, entirely powered by Snap! and MicroBlocks, has gone rogue because of how untidy the ship is, and is threatening to crash into an asteroid unless we do something about it. Both the onboard (in-person) crew and mission control (online) will have to collaborate to bring the mission back on track. Get ready to fly onboard spaceship Alonsza23 on mission to Pluto at this year's hybrid escape room experience at the Citilab (or online). The ship's AI, entirely powered by Snap! and MicroBlocks, has gone rogue because of how untidy the ship is, and is threatening to crash into an asteroid unless we do something about it. Both the onboard (in-person) crew and mission control (online) will have to collaborate to bring the mission back on track. false 2023-07-20T12:30:00+02:00 10:30 08:30 Virtual Hallway Hallway Track 697-thursday-virtual-hallway Thursday Virtual Hallway Hang out in an open Zoom room and meet with some new friends. Hang out in an open Zoom room and meet with some new friends. false 2023-07-20T13:30:00+02:00 11:30 00:30 Virtual Hallway Coffee Break 646-coffee-break Coffee Break Grab a coffee, have a snack, talk to others :) Grab a coffee, have a snack, talk to others :) false 2023-07-20T16:00:00+02:00 14:00 02:00 Virtual Hallway Lunch Break 647-lunch Lunch Grab some lunch! We have looong lunch breaks not only because we're in the Mediterranean, but also to give space to self-organized sessions. Lunch break is also when you'll be able to go to the escape room and try out the Snap! Arcade machine. Grab some lunch! We have looong lunch breaks not only because we're in the Mediterranean, but also to give space to self-organized sessions. Lunch break is also when you'll be able to go to the escape room and try out the Snap! Arcade machine. false 2023-07-20T12:30:00+02:00 10:30 01:00 Classroom Zero Workshop 618-teaching-turtlestitch-for-groups Teaching TurtleStitch for Groups From preparation to inspired participants We will show how to efficiently run a [TurtleStitch](http://www.turtlestitch.org) workshop in a school or extracurricular setting. Necessary preparation steps to bring together coding, design and making will be covered and lessons learned from experience of conducting a larger number of TS workshops will be shared. To go through the steps hands-on, we will select two outstanding new coding projects from the TurtleStitch community environment, we cover coding, producing with embroidery machines and turning into finished pieces for prospective participants. If possible, various product ideas will be shown afterwards. We will show how to efficiently run a [TurtleStitch](http://www.turtlestitch.org) workshop in a school or extracurricular setting. Necessary preparation steps to bring together coding, design and making will be covered and lessons learned from experience of conducting a larger number of TS workshops will be shared. To go through the steps hands-on, we will select two outstanding new coding projects from the TurtleStitch community environment, we cover coding, producing with embroidery machines and turning into finished pieces for prospective participants. If possible, various product ideas will be shown afterwards. false Andrea Mayr-Stalder 2023-07-20T12:30:00+02:00 10:30 01:00 Plaça Workshop 632-pose2blocks-workshop-for-body-interactivity-in-snap-programming Pose2Blocks Workshop for Body Interactivity in Snap! Programming You Can Dance If You Want To We invite you to join our interactive workshop on Pose2Blocks, software that changes the way we interact with Snap! programming by incorporating body movements, gestures, and even dancing(!) as control inputs. Building on Kinect2Scratch(1), Pose2Blocks utilizes machine learning models to estimate skeletal joint positions from a simple consumer webcam, making the technology more accessible and compatible with Windows, Mac, and Linux operating systems. Kinect2Scratch was first developed and released in 2011, and was used by students, teachers, and researchers to develop games and applications. Some surprising uses included ehealth games for children with cerebral palsy(2), therapy for chronic stroke patients(3), and games to teach independent living skills (4). This beginner-level workshop will kick off with a brief presentation on how to use Pose2Blocks, demonstrating how sprites can react to gestures and follow the movement of your hand. We will then explore the possibilities of making your Snap! games and apps respond to unique 'dance' moves, by building a app that draws your 'skeleton' that responds as you move. The session will culminate in an exercise where participants modify an existing Snap! program that relies on keyboard and mouse inputs, transforming it into one that responds to head and hand movements. This workshop is tailored for anyone interested in adding dynamic movement to their Snap! programs, especially teachers seeking to add movement to their coding classes. Join us in taking a (dance)step towards an engaging and interactive programming experience with Pose2Blocks. ### References 1. Howell, S. (2012). Install Scratch and Kinect2Scratch. In J. St. Jean (Ed.), Kinect Hacks: Tips and Tools for Motion and Pattern Detection (1st ed., pp. 184 - 206). Sebastopol, CA: O'Reilly. 1. Hung, J.-W., Chang, Y.-J., Chou, C.-X., Wu, W.-C., Howell, S. and Lu, W.-P. (2018) ‘Developing a Suite of Motion-Controlled Games for Upper Extremity Training in Children with Cerebral Palsy: A Proof-of-Concept Study’, Games for Health Journal. Mary Ann Liebert, Inc., publishers, 7(5), pp. 327–334. doi: 10.1089/g4h.2017.0141. 1. Hung, J.-W., Chou, C.-X., Chang, Y.-J., Wu, C.-Y., Chang, K.-C., Wu, W.-C. and Howell, S. (2019) ‘Comparison of Kinect2Scratch game-based training and therapist-based training for the improvement of upper extremity functions of patients with chronic stroke: a randomized controlled single-blinded trial’, European Journal of Physical and Rehabilitation Medicine, 55(5), pp. 542–550. doi: 10.23736/S1973-9087.19.05598-9. 1. Kang, Y.-S., Chang, Y.-J. and Howell, S. R. (2020) ‘Using a kinect-based game to teach oral hygiene in four elementary students with intellectual disabilities’, Journal of applied research in intellectual disabilities: JARID. doi: 10.1111/jar.12828. We invite you to join our interactive workshop on Pose2Blocks, software that changes the way we interact with Snap! programming by incorporating body movements, gestures, and even dancing(!) as control inputs. Building on Kinect2Scratch(1), Pose2Blocks utilizes machine learning models to estimate skeletal joint positions from a simple consumer webcam, making the technology more accessible and compatible with Windows, Mac, and Linux operating systems. Kinect2Scratch was first developed and released in 2011, and was used by students, teachers, and researchers to develop games and applications. Some surprising uses included ehealth games for children with cerebral palsy(2), therapy for chronic stroke patients(3), and games to teach independent living skills (4). This beginner-level workshop will kick off with a brief presentation on how to use Pose2Blocks, demonstrating how sprites can react to gestures and follow the movement of your hand. We will then explore the possibilities of making your Snap! games and apps respond to unique 'dance' moves, by building a app that draws your 'skeleton' that responds as you move. The session will culminate in an exercise where participants modify an existing Snap! program that relies on keyboard and mouse inputs, transforming it into one that responds to head and hand movements. This workshop is tailored for anyone interested in adding dynamic movement to their Snap! programs, especially teachers seeking to add movement to their coding classes. Join us in taking a (dance)step towards an engaging and interactive programming experience with Pose2Blocks. ### References 1. Howell, S. (2012). Install Scratch and Kinect2Scratch. In J. St. Jean (Ed.), Kinect Hacks: Tips and Tools for Motion and Pattern Detection (1st ed., pp. 184 - 206). Sebastopol, CA: O'Reilly. 1. Hung, J.-W., Chang, Y.-J., Chou, C.-X., Wu, W.-C., Howell, S. and Lu, W.-P. (2018) ‘Developing a Suite of Motion-Controlled Games for Upper Extremity Training in Children with Cerebral Palsy: A Proof-of-Concept Study’, Games for Health Journal. Mary Ann Liebert, Inc., publishers, 7(5), pp. 327–334. doi: 10.1089/g4h.2017.0141. 1. Hung, J.-W., Chou, C.-X., Chang, Y.-J., Wu, C.-Y., Chang, K.-C., Wu, W.-C. and Howell, S. (2019) ‘Comparison of Kinect2Scratch game-based training and therapist-based training for the improvement of upper extremity functions of patients with chronic stroke: a randomized controlled single-blinded trial’, European Journal of Physical and Rehabilitation Medicine, 55(5), pp. 542–550. doi: 10.23736/S1973-9087.19.05598-9. 1. Kang, Y.-S., Chang, Y.-J. and Howell, S. R. (2020) ‘Using a kinect-based game to teach oral hygiene in four elementary students with intellectual disabilities’, Journal of applied research in intellectual disabilities: JARID. doi: 10.1111/jar.12828. false StephenHowell 2023-07-20T16:45:00+02:00 14:45 00:30 Plaça Escape Room 692-escape-room Escape Room Get ready to fly onboard spaceship Alonsza23 on mission to Pluto at this year's hybrid escape room experience at the Citilab (or online). The ship's AI, entirely powered by Snap! and MicroBlocks, has gone rogue because of how untidy the ship is, and is threatening to crash into an asteroid unless we do something about it. Both the onboard (in-person) crew and mission control (online) will have to collaborate to bring the mission back on track. Get ready to fly onboard spaceship Alonsza23 on mission to Pluto at this year's hybrid escape room experience at the Citilab (or online). The ship's AI, entirely powered by Snap! and MicroBlocks, has gone rogue because of how untidy the ship is, and is threatening to crash into an asteroid unless we do something about it. Both the onboard (in-person) crew and mission control (online) will have to collaborate to bring the mission back on track. false 2023-07-20T17:30:00+02:00 15:30 00:30 Plaça Escape Room 693-escape-room Escape Room Get ready to fly onboard spaceship Alonsza23 on mission to Pluto at this year's hybrid escape room experience at the Citilab (or online). The ship's AI, entirely powered by Snap! and MicroBlocks, has gone rogue because of how untidy the ship is, and is threatening to crash into an asteroid unless we do something about it. Both the onboard (in-person) crew and mission control (online) will have to collaborate to bring the mission back on track. Get ready to fly onboard spaceship Alonsza23 on mission to Pluto at this year's hybrid escape room experience at the Citilab (or online). The ship's AI, entirely powered by Snap! and MicroBlocks, has gone rogue because of how untidy the ship is, and is threatening to crash into an asteroid unless we do something about it. Both the onboard (in-person) crew and mission control (online) will have to collaborate to bring the mission back on track. false 2023-07-20T12:30:00+02:00 10:30 01:00 SeniorLab Workshop 621-when-speed-matters When speed matters New solutions for cryptology in high school Higher order functions have not been part of the school curriculum so far. Nor does the speed of programs play a role in the classroom, with the exception of smaller games. This changed in our classes when, in the last third of a two-year course, we started doing practical cryptanalysis, i.e., studying ciphertexts with unknown keys. The literature usually refers to frequency analysis as a suitable tool for this, e.g., to decode an arbitrary permutation of the alphabet (not just a simple shift as in CAESAR). In practice, it turns out that letters, bigrams and trigrams of a concrete text are not distributed exactly as the frequency distribution of the language in question dictates. One needs other tools like pattern recognition and contact data of a letter. The computational effort required for this, however, very quickly exceeds the time frame of a school lesson. In the search for possibilities for acceleration, which go beyond the turbo mode, one lands in Snap! very soon with higher order functions. They can significantly reduce the time required for cryptography and cryptoanalysis. At the same time, this results in an internal differentiation of the course: The weakest part of the students will continue programming with FOR loops and case distinctions. Another part will use higher order functions like a recipe for specific tasks and the most advanced part will dive into the functional programming paradigm, write their programs completely new with higher order functions and use this knowledge also in the Abitur (high exam in Germany). In the workshop, I will present the tools we have adopted and refined for cryptography and cryptanalysis and report preliminary results. Script here: https://www.dropbox.com/s/rszp7gi2pupcd02/KryptologieENv0.1%5B8966%5D.pdf?dl=0 Presentation here: https://www.dropbox.com/s/c06xyu214qicy9j/WhenSpeedMatters.pdf?dl=0 Link to Snap!Project: https://snap.berkeley.edu/project?username=fhasselhorn&projectname=SnapCon2023Cryptology Higher order functions have not been part of the school curriculum so far. Nor does the speed of programs play a role in the classroom, with the exception of smaller games. This changed in our classes when, in the last third of a two-year course, we started doing practical cryptanalysis, i.e., studying ciphertexts with unknown keys. The literature usually refers to frequency analysis as a suitable tool for this, e.g., to decode an arbitrary permutation of the alphabet (not just a simple shift as in CAESAR). In practice, it turns out that letters, bigrams and trigrams of a concrete text are not distributed exactly as the frequency distribution of the language in question dictates. One needs other tools like pattern recognition and contact data of a letter. The computational effort required for this, however, very quickly exceeds the time frame of a school lesson. In the search for possibilities for acceleration, which go beyond the turbo mode, one lands in Snap! very soon with higher order functions. They can significantly reduce the time required for cryptography and cryptoanalysis. At the same time, this results in an internal differentiation of the course: The weakest part of the students will continue programming with FOR loops and case distinctions. Another part will use higher order functions like a recipe for specific tasks and the most advanced part will dive into the functional programming paradigm, write their programs completely new with higher order functions and use this knowledge also in the Abitur (high exam in Germany). In the workshop, I will present the tools we have adopted and refined for cryptography and cryptanalysis and report preliminary results. Script here: https://www.dropbox.com/s/rszp7gi2pupcd02/KryptologieENv0.1%5B8966%5D.pdf?dl=0 Presentation here: https://www.dropbox.com/s/c06xyu214qicy9j/WhenSpeedMatters.pdf?dl=0 Link to Snap!Project: https://snap.berkeley.edu/project?username=fhasselhorn&projectname=SnapCon2023Cryptology false Fhasselhorn 2023-07-20T12:30:00+02:00 10:30 01:00 Online-only track 1 Workshop 623-kgsnap-querying-knowledge-graphs-via-snap KGSnap! - querying Knowledge Graphs via Snap! An increasing interest is manifested in Knowledge Graph (KG) publication: the LOD Cloud (a KG that collects most of the published KGs by academia and industry) counted 12 datasets in 2007 and currently contains 1,255 datasets. Because of the extensive range of heterogeneous information stored in KGs, for their easy navigation, thanks to their quantitative and qualitative properties, they could behave as a critical resource to master. However, KG exploitation is mainly affected by required technical competencies in generic query languages, such as SPARQL, and in understanding the semantics of the supported operators, which is too challenging for lay users, as widely demonstrated by the literature. As the block programming paradigm has been successfully used to teach programming skills, this workshop proposes **KGSnap!**, an extension of the block-based programming environment Snap!, which allows lay users to build and run queries on a SPARQL endpoint without previous knowledge of the syntax of SPARQL and the queried data model. KGSnap! is freely available online at [https://isislab-unisa.github.io/Snap/snap.html](https://isislab-unisa.github.io/Snap/snap.html). During this workshop, we aim to show you how to exploit the proposed Snap! extension to familiarise yourself and teach KG querying. It would be extremely useful to collect your feedback in terms of engagement and usability. An increasing interest is manifested in Knowledge Graph (KG) publication: the LOD Cloud (a KG that collects most of the published KGs by academia and industry) counted 12 datasets in 2007 and currently contains 1,255 datasets. Because of the extensive range of heterogeneous information stored in KGs, for their easy navigation, thanks to their quantitative and qualitative properties, they could behave as a critical resource to master. However, KG exploitation is mainly affected by required technical competencies in generic query languages, such as SPARQL, and in understanding the semantics of the supported operators, which is too challenging for lay users, as widely demonstrated by the literature. As the block programming paradigm has been successfully used to teach programming skills, this workshop proposes **KGSnap!**, an extension of the block-based programming environment Snap!, which allows lay users to build and run queries on a SPARQL endpoint without previous knowledge of the syntax of SPARQL and the queried data model. KGSnap! is freely available online at [https://isislab-unisa.github.io/Snap/snap.html](https://isislab-unisa.github.io/Snap/snap.html). During this workshop, we aim to show you how to exploit the proposed Snap! extension to familiarise yourself and teach KG querying. It would be extremely useful to collect your feedback in terms of engagement and usability. false Maria Angela Pellegrino 2023-07-20T18:00:00+02:00 16:00 01:00 Online-only track 1 Workshop 598-the-joy-of-turtlestitching-curves-and-quotes The Joy of TurtleStitching: Curves and Quotes Turtlestitch is a great introduction to art, math and technology. TurtleStitch novices and experts are welcome! TurtleStitch and its arc blocks (which, like a few other primitives, are not included in Snap!) will be used to make a plaque with your favorite SHORT quote. You will be coached in breakout rooms by volunteers from the TurtleStitch community, including youth teachers from Learn 2 Teach, Teach 2 Learn. If you do not have access to a computerized embroidery machine, volunteers will print out your design and mail it to you. Since time is short, please make your TurtleStitch account before the session and bring along a 10/12-word quote to decorate and machine embroider. We will have some quote ideas at the workshop! ![Example of what will be made](https://drive.google.com/file/d/10EuyKaFFDXLpbtMvk3auehVsrzlpJxJH/view?usp=sharing "enter image title here") Turtlestitch is a great introduction to art, math and technology. TurtleStitch novices and experts are welcome! TurtleStitch and its arc blocks (which, like a few other primitives, are not included in Snap!) will be used to make a plaque with your favorite SHORT quote. You will be coached in breakout rooms by volunteers from the TurtleStitch community, including youth teachers from Learn 2 Teach, Teach 2 Learn. If you do not have access to a computerized embroidery machine, volunteers will print out your design and mail it to you. Since time is short, please make your TurtleStitch account before the session and bring along a 10/12-word quote to decorate and machine embroider. We will have some quote ideas at the workshop! ![Example of what will be made](https://drive.google.com/file/d/10EuyKaFFDXLpbtMvk3auehVsrzlpJxJH/view?usp=sharing "enter image title here") false Zackboston Cynthia Solomon 2023-07-20T14:00:00+02:00 12:00 00:05 Auditorium (Online) Lightning Talk 628-programming-concepts-have-we-got-our-curricula-right Programming concepts - have we got our curricula right? The Irish curriculum describes algorithmic core concepts as: "construct algorithms using appropriate sequences, selections/conditionals, loops and operators to solve a range of problems, to fulfil a specific requirement" and the English expect learners to "use sequence, selection, and repetition in programs". This Lightning Talk challenges these requirements, when parallelism and sub-programs are readily used in order to provoke further discussion on the importance of computing concepts. The Irish curriculum describes algorithmic core concepts as: "construct algorithms using appropriate sequences, selections/conditionals, loops and operators to solve a range of problems, to fulfil a specific requirement" and the English expect learners to "use sequence, selection, and repetition in programs". This Lightning Talk challenges these requirements, when parallelism and sub-programs are readily used in order to provoke further discussion on the importance of computing concepts. false Richard Millwood 2023-07-20T14:00:00+02:00 12:00 00:20 Auditorium (Online) Talk 699-lightning-talks-round-1 Lightning Talks Round 1 Round 1 of lightning talks! Round 1 of lightning talks! false 2023-07-20T14:05:00+02:00 12:05 00:05 Auditorium (Online) Lightning Talk 591-hardware-driven-metaprogramming-in-microblocks Hardware-driven metaprogramming in MicroBlocks Instructing a microcontroller to write programs by and for itself By a rather cheeky stretch of the word "metaprogramming", I will be demonstrating how to get a microcontroller to self-program itself. But in case that isn't cheeky enough, and by twisting the meaning of yet another word, I will also boldly and loudly claim that MicroBlocks now has support for macros. By a rather cheeky stretch of the word "metaprogramming", I will be demonstrating how to get a microcontroller to self-program itself. But in case that isn't cheeky enough, and by twisting the meaning of yet another word, I will also boldly and loudly claim that MicroBlocks now has support for macros. false Bernat Romagosa 2023-07-20T14:10:00+02:00 12:10 00:05 Auditorium (Online) Lightning Talk 622-coding-instructions-for-hand-embroideries Coding Instructions for Hand Embroideries This is a [TurtleStitch](http://www.turtlestitch.org) related talk, addressing one of its major hurdles. Users who don’t own an embroidery machine cannot fully use it. As we love the idea of digital work and handcrafting combined, we want to make this accessible to everybody. In the talk we will describe our ideas for using TurtleStitch without an embroidery machine and will present our approach to using TurtleStitch as a tool for generating instructions for handcrafting embroideries. This is a [TurtleStitch](http://www.turtlestitch.org) related talk, addressing one of its major hurdles. Users who don’t own an embroidery machine cannot fully use it. As we love the idea of digital work and handcrafting combined, we want to make this accessible to everybody. In the talk we will describe our ideas for using TurtleStitch without an embroidery machine and will present our approach to using TurtleStitch as a tool for generating instructions for handcrafting embroideries. false Meret Stalder Amelia Blankenhorn 2023-07-20T14:15:00+02:00 12:15 00:05 Auditorium (Online) Lightning Talk 644-can-ai-be-used-for-social-justice-and-sustainability Can AI be used for Social Justice and Sustainability? We often hear and read in the media on how technologies like Artificial Intelligence and Big Data can perpetuate bias, inequality and social injustice. But what if this type of technology was used to actually achieve the opposite? Join this lightning talk to learn, how SAP solutions help companies and organizations around the world run businesses beyond bias!” We often hear and read in the media on how technologies like Artificial Intelligence and Big Data can perpetuate bias, inequality and social injustice. But what if this type of technology was used to actually achieve the opposite? Join this lightning talk to learn, how SAP solutions help companies and organizations around the world run businesses beyond bias!” false Miguel Castro 2023-07-20T14:20:00+02:00 12:20 00:20 Auditorium (Online) Talk 635-farmlands-plagues-and-robots Farmlands, plagues and robots At this talk we will share the experience with our workshop **Farmlands, plagues and robots** that we designed last summer and which we have been teaching since then, both with **schools and families**. In this workshop we introduce the children to the concept of Agriculture 4.0, specifically how robots and AI can be useful to farmers and other workers for the land in order to improve the production of food and also to attract new workers to this sector. For this purpose we use our **Citilab ED1 Robot**, already programmed with **MicroBlocks**, with a **Huskylens AI camera** attached to recognize several kinds of plagues and prepared to be controlled with **Snap!** through a Websockets connection. At this talk we will share the experience with our workshop **Farmlands, plagues and robots** that we designed last summer and which we have been teaching since then, both with **schools and families**. In this workshop we introduce the children to the concept of Agriculture 4.0, specifically how robots and AI can be useful to farmers and other workers for the land in order to improve the production of food and also to attract new workers to this sector. For this purpose we use our **Citilab ED1 Robot**, already programmed with **MicroBlocks**, with a **Huskylens AI camera** attached to recognize several kinds of plagues and prepared to be controlled with **Snap!** through a Websockets connection. false Nina Coll Victor Casado José García 2023-07-20T14:40:00+02:00 12:40 00:20 Auditorium (Online) Talk 593-hiding-and-showing-in-snap-pedagogy Hiding and Showing in Snap! Pedagogy I think that in recent years there has been a change in how we think about the pedagogic role of Snap_!,_ perhaps not intentionally. It has to do with what is hidden and what is shown, broadly speaking. I don't know whether the shift is good or bad; this is not a Policy Proposal, just an invitation to discussion. The talk will be most interesting to teachers and curriculum developers who have considered new models for using Snap_!._ I think that in recent years there has been a change in how we think about the pedagogic role of Snap_!,_ perhaps not intentionally. It has to do with what is hidden and what is shown, broadly speaking. I don't know whether the shift is good or bad; this is not a Policy Proposal, just an invitation to discussion. The talk will be most interesting to teachers and curriculum developers who have considered new models for using Snap_!._ false Brian Harvey 2023-07-20T15:00:00+02:00 13:00 00:20 Auditorium (Online) Talk 597-os-simulators OS Simulators A new way to view Snap! There is a new niche on Snap! that was popularized by one project, SnipOS. Created by sladescar in mid-2022, it was not the first OS Simulator on Snap!, and wasn't the most popular. SnipOS2 started changing things, instead of only 1 project, there was multiple project for the major updates, instead of all the updates staying on 1 project. It started attracting more and more people, with a bunch of forum topics on it every week. There was multiple other OS simulators after multiple updates. There are 3 major OS Simulators, SnipOS 8, Taskr OS and FramesOS. There is a new niche on Snap! that was popularized by one project, SnipOS. Created by sladescar in mid-2022, it was not the first OS Simulator on Snap!, and wasn't the most popular. SnipOS2 started changing things, instead of only 1 project, there was multiple project for the major updates, instead of all the updates staying on 1 project. It started attracting more and more people, with a bunch of forum topics on it every week. There was multiple other OS simulators after multiple updates. There are 3 major OS Simulators, SnipOS 8, Taskr OS and FramesOS. false sladescar 2023-07-20T15:20:00+02:00 13:20 00:20 Auditorium (Online) Talk 614-bringing-the-full-power-of-snap-to-embedded-programming Bringing the Full Power of Snap! to Embedded Programming Snap! is an extremely powerful general programming language, but has historically been trapped running in the browser. There are some existing extensions like Snapp! that allow projects to run as standalone executables, but they are still running on a conventional computer. Even the micro:bit extension for Snap! communicates only over bluetooth, rather than running on the actual hardware. Because of this, we have extracted the underlying runtime of Snap! into a virtual machine written exclusively in no-std Rust, which allows it to run anywhere, be it a browser, computer, or embedded microcontroller. Specifically, this tool is a virtual machine for NetsBlox, a fork of Snap! that adds several networking utilities like querying web APIs and databases, as well as passing messages between projects over the internet. Thus, NetsBloxVM offers users the full power of Snap!, including sprites, cloning, watchers, multiple scripts, broadcasting, custom blocks, rings, etc., as well as the networking abilities of NetsBlox. NetsBloxVM is architected so that the core runtime is identical on any machine and only the device-specific features (like networking) need to be added. In this talk, we will cover some of the basic design principles relevant to users and showcase a version of NetsBloxVM that runs directly on ESP32 microcontrollers. Already implemented is support for a completely over-air experience (i.e., no need for flashing the device over and over) including a debugger window conveniently built right into the NetsBlox IDE and the ability to configure the device wirelessly on the fly. This gives users a similar plug-and-play convenience they have come to love in Snap! while also opening the door for Snap! and NetsBlox to extend further into the space of embedded programming and makers projects. [Slideshow](https://docs.google.com/presentation/d/1qBOUTc7oNy-0AL8gjmE26qwAnmLaUXFMk5kabkAo0ho/edit?usp=sharing) Snap! is an extremely powerful general programming language, but has historically been trapped running in the browser. There are some existing extensions like Snapp! that allow projects to run as standalone executables, but they are still running on a conventional computer. Even the micro:bit extension for Snap! communicates only over bluetooth, rather than running on the actual hardware. Because of this, we have extracted the underlying runtime of Snap! into a virtual machine written exclusively in no-std Rust, which allows it to run anywhere, be it a browser, computer, or embedded microcontroller. Specifically, this tool is a virtual machine for NetsBlox, a fork of Snap! that adds several networking utilities like querying web APIs and databases, as well as passing messages between projects over the internet. Thus, NetsBloxVM offers users the full power of Snap!, including sprites, cloning, watchers, multiple scripts, broadcasting, custom blocks, rings, etc., as well as the networking abilities of NetsBlox. NetsBloxVM is architected so that the core runtime is identical on any machine and only the device-specific features (like networking) need to be added. In this talk, we will cover some of the basic design principles relevant to users and showcase a version of NetsBloxVM that runs directly on ESP32 microcontrollers. Already implemented is support for a completely over-air experience (i.e., no need for flashing the device over and over) including a debugger window conveniently built right into the NetsBlox IDE and the ability to configure the device wirelessly on the fly. This gives users a similar plug-and-play convenience they have come to love in Snap! while also opening the door for Snap! and NetsBlox to extend further into the space of embedded programming and makers projects. [Slideshow](https://docs.google.com/presentation/d/1qBOUTc7oNy-0AL8gjmE26qwAnmLaUXFMk5kabkAo0ho/edit?usp=sharing) false Devin Jean 2023-07-20T19:00:00+02:00 17:00 00:20 Auditorium (Online) Talk 700-lightning-talks-round-2 Lightning Talks Round 2 Round 2 of lightning talks! Round 2 of lightning talks! false 2023-07-20T19:00:00+02:00 17:00 00:05 Auditorium (Online) Lightning Talk 619-the-pedagogy-conundrum The Pedagogy Conundrum Block languages make programming accessible. What next? A lot of focus on block language is how to transition to python or some language that the teacher themselves learned. Thus we get a lot of people trying to make snap to *language converters. The punchline is, you've got blocks, you've got the key already, relying on text is the exact wrong answer to the wrong question. If kids start at Scratch Jr and then migrate to Scratch and then Snap, based on the estimated age ranges, by the time they've graduated high school they've been coding for nearly ten years... That's an expertise that can dwarf the experience of paid professionals. So why then do we insist on "real" and stop where we are and decide that we're at the right place, keep running but make no progress. University Level concepts are now at high-school level, so what do we teach at University level now? In my opinion, building a compiler is now CS 101, because now we've exposed the building blocks at a higher level than we've ever seen and we no longer have to cut corners like we have been doing for the entirety of computing history. We don't have to assume the "computer knows what it's doing" because we can hypothetically*, in real time, using a visual language and a visual compiler, with visual assembly, see that computation doesn't do ANY of that. It just follows impulses and converts them into instructions that it then looks up to see what those instructions do, and not even that. Computers don't decide anything they just DO. *Strictly speaking, nobody has done that yet, not even me... but think of it this way. Unicode has been extended to emoji so :-) becomes an image that is indexed on the service that recieves it, so instead of sending a multi kilobyte image, it sends three bytes and then a handful more for lookup. So why not code? Snap! is Scheme disguised as scratch, so what's the difference between :-) and (For $var) thanks to the concept of blocks? Blocks changed the game. The problem is, with the game changed, the rules that govern the game have also changed. A lot of focus on block language is how to transition to python or some language that the teacher themselves learned. Thus we get a lot of people trying to make snap to *language converters. The punchline is, you've got blocks, you've got the key already, relying on text is the exact wrong answer to the wrong question. If kids start at Scratch Jr and then migrate to Scratch and then Snap, based on the estimated age ranges, by the time they've graduated high school they've been coding for nearly ten years... That's an expertise that can dwarf the experience of paid professionals. So why then do we insist on "real" and stop where we are and decide that we're at the right place, keep running but make no progress. University Level concepts are now at high-school level, so what do we teach at University level now? In my opinion, building a compiler is now CS 101, because now we've exposed the building blocks at a higher level than we've ever seen and we no longer have to cut corners like we have been doing for the entirety of computing history. We don't have to assume the "computer knows what it's doing" because we can hypothetically*, in real time, using a visual language and a visual compiler, with visual assembly, see that computation doesn't do ANY of that. It just follows impulses and converts them into instructions that it then looks up to see what those instructions do, and not even that. Computers don't decide anything they just DO. *Strictly speaking, nobody has done that yet, not even me... but think of it this way. Unicode has been extended to emoji so :-) becomes an image that is indexed on the service that recieves it, so instead of sending a multi kilobyte image, it sends three bytes and then a handful more for lookup. So why not code? Snap! is Scheme disguised as scratch, so what's the difference between :-) and (For $var) thanks to the concept of blocks? Blocks changed the game. The problem is, with the game changed, the rules that govern the game have also changed. false Callietastrophic 2023-07-20T19:05:00+02:00 17:05 00:05 Auditorium (Online) Lightning Talk 616-generative-ai-in-netsblox Generative AI in NetsBlox Generative AI models, such as Stable Diffusion and ChatGPT have gained significant popularity recently. In this lightning talk, we will demonstrate how we are working to add the ability to use these to NetsBlox, a distributed computing-focused variation of Snap!, to make them accessible for even novice programmers to work with. We're hoping to make them available in a way that enables new creative projects instead of the AI taking the fun of coding away. Generative AI models, such as Stable Diffusion and ChatGPT have gained significant popularity recently. In this lightning talk, we will demonstrate how we are working to add the ability to use these to NetsBlox, a distributed computing-focused variation of Snap!, to make them accessible for even novice programmers to work with. We're hoping to make them available in a way that enables new creative projects instead of the AI taking the fun of coding away. false Gordon Stein 2023-07-20T19:10:00+02:00 17:10 00:05 Auditorium (Online) Lightning Talk 642-play-games-perfectly-through-gamesman Play games perfectly through GAMESMAN The GAMESMAN system is a piece of software 35 years in the making -- it solves board games (2-person abstract strategy games of no chance), builds a database of the value (win, tie, or lose) for every position, and provides users with a GUI to play and analyze them. We recently opened up the API to allow any external client to access our database, so this is a demo of a Snap! program that plays Tic-Tac-Toe perfectly using our back-end as the "brains". The GAMESMAN system is a piece of software 35 years in the making -- it solves board games (2-person abstract strategy games of no chance), builds a database of the value (win, tie, or lose) for every position, and provides users with a GUI to play and analyze them. We recently opened up the API to allow any external client to access our database, so this is a demo of a Snap! program that plays Tic-Tac-Toe perfectly using our back-end as the "brains". false Dan Garcia 2023-07-20T19:15:00+02:00 17:15 00:05 Auditorium (Online) Lightning Talk 615-ready-set-go Ready, Set, Go! Synchronizing projects on multiple computers When making distributed projects with NetsBlox (a fork of Snap which adds networking features), such as a multi-computer orchestra or animation with each computer playing different parts, we sometimes need a way to synchronize all the projects in time. With a small number of computers in close proximity, it is tempting to invite a friend and manually do a countdown before pressing all the green flag buttons. However, even this has too high of variance for the millisecond-precision needed for many time-sensitive tasks. Because of this, we have created a new extension for NetsBlox that allows users to get the time difference between your computer and the NetsBlox server. This gives all NetsBlox projects a single ground truth for the current time, allowing for high-precision synchronized scheduling. For instance, one primary project could get the NetsBlox server’s time, add 3 seconds, and send that start time to all the other projects. The other projects then simply wait until that server time before continuing with the rest of their code. This allows users to have high-precision multi-computer time synchronization over the internet, all with only two new blocks (one to calculate the clock difference and another to predict the server time using the pre-computed difference). [Slideshow](https://docs.google.com/presentation/d/1KOoP-GveKEFev7cuwkkuzz8LJUBYi6feWnmu02uTCfc/edit?usp=sharing) When making distributed projects with NetsBlox (a fork of Snap which adds networking features), such as a multi-computer orchestra or animation with each computer playing different parts, we sometimes need a way to synchronize all the projects in time. With a small number of computers in close proximity, it is tempting to invite a friend and manually do a countdown before pressing all the green flag buttons. However, even this has too high of variance for the millisecond-precision needed for many time-sensitive tasks. Because of this, we have created a new extension for NetsBlox that allows users to get the time difference between your computer and the NetsBlox server. This gives all NetsBlox projects a single ground truth for the current time, allowing for high-precision synchronized scheduling. For instance, one primary project could get the NetsBlox server’s time, add 3 seconds, and send that start time to all the other projects. The other projects then simply wait until that server time before continuing with the rest of their code. This allows users to have high-precision multi-computer time synchronization over the internet, all with only two new blocks (one to calculate the clock difference and another to predict the server time using the pre-computed difference). [Slideshow](https://docs.google.com/presentation/d/1KOoP-GveKEFev7cuwkkuzz8LJUBYi6feWnmu02uTCfc/edit?usp=sharing) false Devin Jean 2023-07-20T19:20:00+02:00 17:20 00:20 Auditorium (Online) Talk 601-coding-is-in-the-bag Coding is in the Bag Introducing Activities that merge Coding and Fiber Arts Introducing a set of activities aligned with TurtleStitch and Snap! that support the development of the mental muscle models used in developing computer code. This work is the most recent version of "Code Crafting" (http://codecrafting-rs.net/) that brings together the essential skills to relate textile crafting and fiber arts to computer programming. The online resource will launched at SnapCon providing both on and off computer activities aligned with core mental and physical muscle memory for both domains. A slew of projects based on the notion of creating physical bags ranging from small purses to grocery bags supports novice textile artist and/or coders in building sustainable skills and concepts. This approach to the teaching of coding as been almost 40 years in the making, and has finally converged as hands on textile craft (sewing, quilting, embroidery, knitting) and project planning in Snap! and Turtlestitch. Introducing a set of activities aligned with TurtleStitch and Snap! that support the development of the mental muscle models used in developing computer code. This work is the most recent version of "Code Crafting" (http://codecrafting-rs.net/) that brings together the essential skills to relate textile crafting and fiber arts to computer programming. The online resource will launched at SnapCon providing both on and off computer activities aligned with core mental and physical muscle memory for both domains. A slew of projects based on the notion of creating physical bags ranging from small purses to grocery bags supports novice textile artist and/or coders in building sustainable skills and concepts. This approach to the teaching of coding as been almost 40 years in the making, and has finally converged as hands on textile craft (sewing, quilting, embroidery, knitting) and project planning in Snap! and Turtlestitch. false Ursula Wolz 2023-07-20T19:40:00+02:00 17:40 00:20 Auditorium (Online) Talk 640-making-hide-blocks-even-better Making “Hide Blocks” even better! “Hide Blocks” is a transformative new feature that gives Snap! educators and curriculum developers the ability to make a “microworld” project in which only a few blocks are displayed to the user. If a user wishes to use a block that has been hidden, they can simply “unhide” it. We have utilized it extensively in UC Berkeley’s Beauty and Joy of Computing (BJC) course with our projects and exams, to limit the blocks students are allowed to use, and we will give a brief demonstration of these projects. As heavy users (and huge fans) of the feature, we have collected ideas for improvements: Right now, there are hidden menu options to hide “all” or “none” of the blocks; could there be a feature to allow a user to show or hide all of the blocks of a particular category, perhaps viewed hierarchically? Could “hide/show” feature be more explicit so that a user could much more easily toggle the “hidden” (microworld) and “shown” (full Snap!) states? Could this option be then disabled for high-stakes exams (maybe unlocked with a password)? Is the “choose the blocks to hide” the right metaphor, or would “choose the blocks to show” be better? “Check to show” may be more intuitive, and currently, if a project has blocks that are hidden, and Snap! adds a brand new default block (e.g., combinations), it shows up in every microworld in the world, requiring lots of busywork to correct. Could we also selectively (and just as easily) hide elements of the user interface? We’d love to be able to remove the stage and corral for functional programming projects, where the goal is to have students work with and edit reporters (only). “Hide Blocks” is a transformative new feature that gives Snap! educators and curriculum developers the ability to make a “microworld” project in which only a few blocks are displayed to the user. If a user wishes to use a block that has been hidden, they can simply “unhide” it. We have utilized it extensively in UC Berkeley’s Beauty and Joy of Computing (BJC) course with our projects and exams, to limit the blocks students are allowed to use, and we will give a brief demonstration of these projects. As heavy users (and huge fans) of the feature, we have collected ideas for improvements: Right now, there are hidden menu options to hide “all” or “none” of the blocks; could there be a feature to allow a user to show or hide all of the blocks of a particular category, perhaps viewed hierarchically? Could “hide/show” feature be more explicit so that a user could much more easily toggle the “hidden” (microworld) and “shown” (full Snap!) states? Could this option be then disabled for high-stakes exams (maybe unlocked with a password)? Is the “choose the blocks to hide” the right metaphor, or would “choose the blocks to show” be better? “Check to show” may be more intuitive, and currently, if a project has blocks that are hidden, and Snap! adds a brand new default block (e.g., combinations), it shows up in every microworld in the world, requiring lots of busywork to correct. Could we also selectively (and just as easily) hide elements of the user interface? We’d love to be able to remove the stage and corral for functional programming projects, where the goal is to have students work with and edit reporters (only). false Dan Garcia Victoria Phelps Mary Fries 2023-07-20T20:00:00+02:00 18:00 01:00 Auditorium (Online) Keynotes 638-navigating-the-intersection-of-art-students-and-algorithms-with-snap Navigating the intersection of art students and algorithms with Snap! - - false Mónica Rikić 2023-07-20T18:00:00+02:00 16:00 01:00 Online-only track 2 Workshop 620-netsblox-exercises-for-leveling-up-your-programming-skills NetsBlox Exercises for Leveling Up Your Programming Skills There are many resources for practicing text-based programming languages through simple exercises (or "katas") complete with automated tests to ensure the solution is correct. Exercism.io, CodeKata, and CodeWars are a few popular examples. In this workshop, we present a collection of exercises for leveling up skills in NetsBlox, an extension of Snap_!_. Exercises are designed to cover a variety of CS topics such as lists, higher-order functions, and loops as well as a variety of themes including cybersecurity, games, and AI/ML. After presenting the exercises, we will show how we can make our own autograded exercises and contribute back to the official collection! There are many resources for practicing text-based programming languages through simple exercises (or "katas") complete with automated tests to ensure the solution is correct. Exercism.io, CodeKata, and CodeWars are a few popular examples. In this workshop, we present a collection of exercises for leveling up skills in NetsBlox, an extension of Snap_!_. Exercises are designed to cover a variety of CS topics such as lists, higher-order functions, and loops as well as a variety of themes including cybersecurity, games, and AI/ML. After presenting the exercises, we will show how we can make our own autograded exercises and contribute back to the official collection! false Brian Broll 2023-07-20T18:00:00+02:00 16:00 01:00 Online-only track 3 Workshop 630-building-a-microworld Building a Microworld Over the last 6+ years, EDC, with funding from the (US) National Science Foundation, has designed and built a set of microworlds in which children use programming as a language to express and explore the mathematics they are learning. Our prior presentations at SnapCon and elsewhere have primarily been about the nature of these worlds, the principles and ideas behind them, and the exciting results we've seen. In this workshop, we will share the Microworld Base that we designed for building these microworlds and will illustrate its use by examining one of our microworlds. The base allows microworld designers to add and remove certain elements from the Snap! UI, manage the flow of puzzles users solve, and otherwise tweak Snap! to be more conducive to their pedagogical intents. Our aim, within the one-hour workshop, is to help participants build and save a simple microworld of their own so that they understand the underlying structure and can later elaborate and extend it independently. Participants could focus their microworld on music or linguistics or art or mathematics or whatever exploration they would like. We have written full documentation of our Microworld Base, roughly 5000 words and accompanying images of scripts in Snap! and will make that available to participants beforehand. Over the last 6+ years, EDC, with funding from the (US) National Science Foundation, has designed and built a set of microworlds in which children use programming as a language to express and explore the mathematics they are learning. Our prior presentations at SnapCon and elsewhere have primarily been about the nature of these worlds, the principles and ideas behind them, and the exciting results we've seen. In this workshop, we will share the Microworld Base that we designed for building these microworlds and will illustrate its use by examining one of our microworlds. The base allows microworld designers to add and remove certain elements from the Snap! UI, manage the flow of puzzles users solve, and otherwise tweak Snap! to be more conducive to their pedagogical intents. Our aim, within the one-hour workshop, is to help participants build and save a simple microworld of their own so that they understand the underlying structure and can later elaborate and extend it independently. Participants could focus their microworld on music or linguistics or art or mathematics or whatever exploration they would like. We have written full documentation of our Microworld Base, roughly 5000 words and accompanying images of scripts in Snap! and will make that available to participants beforehand. false Paul Goldenberg Zak Kolar 2023-07-21T12:30:00+02:00 10:30 08:30 Virtual Hallway Hallway Track 698-friday-virtual-hallway Friday Virtual Hallway Hang out in an open Zoom room and meet with some new friends. Hang out in an open Zoom room and meet with some new friends. false 2023-07-21T13:30:00+02:00 11:30 00:30 Virtual Hallway Coffee Break 651-coffee-break Coffee Break Grab a coffee, have a snack, talk to others :) Grab a coffee, have a snack, talk to others :) false 2023-07-21T16:00:00+02:00 14:00 02:00 Virtual Hallway Lunch Break 648-lunch Lunch Grab some lunch! We have looong lunch breaks not only because we're in the Mediterranean, but also to give space to self-organized sessions. Lunch break is also when you'll be able to go to the escape room and try out the Snap! Arcade machine. Grab some lunch! We have looong lunch breaks not only because we're in the Mediterranean, but also to give space to self-organized sessions. Lunch break is also when you'll be able to go to the escape room and try out the Snap! Arcade machine. false 2023-07-21T12:30:00+02:00 10:30 00:20 Auditorium (Online) Talk 625-a-simple-extension-to-make-teacher-interactions-with-snap-projects-visible A simple extension to make teacher interactions with Snap projects visible When using Snap in the classroom, students can find it challenging to follow along when a teacher is presenting an interactive project on an overhead projector. This can be especially true when it's unclear whether the behavior of the project is due to an interaction activated by the teacher or an animation block sequence. To address this issue, we developed a new extension that allows teachers and other users to easily activate, position, time, and adjust the transparency of key icons and mouse pointer icons on the stage when interacting with the project. The icons make it clear which key has been pressed and how long, if the mouse button has been pressed and released, and if the mouse pointer has been simply clicked or it is used to drag an element on the Stage. This feature helps students better understand how the project responds to different actions taken by the teacher, which makes it easier for them to follow along during the explanation. This extension is particularly helpful for teachers when interacting with projects in real-time. By activating the icons that show up on the stage during interactions with the project, students can follow along more easily and avoid misunderstandings. The extension also allows teachers to adjust the position of the icons, to time their fade in/out effects, and to set the transparency of the icons to suit their needs, the structure of the project, and the needs of their students. This level of flexibility is essential for effective teaching and enables teachers to adapt to different situations. Overall, the new extension is a valuable addition to Snap for use in the classroom. It provides teachers with a simple yet powerful tool to present interactive projects more effectively to their students. Not only does this feature make it easier for students to follow along, but it also enhances the learning experience and improves their understanding of the programming concepts. By using this extension, teachers can create a more engaging and less frustrating learning environment for their students. To test the extension, unpack the [zip file of the extension](https://www.dropbox.com/scl/fi/jt8xcgo9z0s7yr7rsi6bq/Snap-9.0.2-keys-and-mouse-feedback-extension.zip?rlkey=gubdb3hq6qocuohjkyud287kl&dl=0) into your Snap! 9.0.2 folder. The zip contains the original snap.html file (called snap-ORIG.html) as it must be overwritten in order for the extension to work. If you have feedback, plese send it to sfederici@unica.it. When using Snap in the classroom, students can find it challenging to follow along when a teacher is presenting an interactive project on an overhead projector. This can be especially true when it's unclear whether the behavior of the project is due to an interaction activated by the teacher or an animation block sequence. To address this issue, we developed a new extension that allows teachers and other users to easily activate, position, time, and adjust the transparency of key icons and mouse pointer icons on the stage when interacting with the project. The icons make it clear which key has been pressed and how long, if the mouse button has been pressed and released, and if the mouse pointer has been simply clicked or it is used to drag an element on the Stage. This feature helps students better understand how the project responds to different actions taken by the teacher, which makes it easier for them to follow along during the explanation. This extension is particularly helpful for teachers when interacting with projects in real-time. By activating the icons that show up on the stage during interactions with the project, students can follow along more easily and avoid misunderstandings. The extension also allows teachers to adjust the position of the icons, to time their fade in/out effects, and to set the transparency of the icons to suit their needs, the structure of the project, and the needs of their students. This level of flexibility is essential for effective teaching and enables teachers to adapt to different situations. Overall, the new extension is a valuable addition to Snap for use in the classroom. It provides teachers with a simple yet powerful tool to present interactive projects more effectively to their students. Not only does this feature make it easier for students to follow along, but it also enhances the learning experience and improves their understanding of the programming concepts. By using this extension, teachers can create a more engaging and less frustrating learning environment for their students. To test the extension, unpack the [zip file of the extension](https://www.dropbox.com/scl/fi/jt8xcgo9z0s7yr7rsi6bq/Snap-9.0.2-keys-and-mouse-feedback-extension.zip?rlkey=gubdb3hq6qocuohjkyud287kl&dl=0) into your Snap! 9.0.2 folder. The zip contains the original snap.html file (called snap-ORIG.html) as it must be overwritten in order for the extension to work. If you have feedback, plese send it to sfederici@unica.it. false Stefano Federici 2023-07-21T12:50:00+02:00 10:50 00:20 Auditorium (Online) Talk 595-using-snap-codification-to-produce-openscad-3d-models Using Snap! codification to produce OpenSCAD 3D models This talk will show how Snap! can be used to produce OpenSCAD scripts to produce 3D models. The project came about as I was experimenting with BeetleBlocks and TinkerCAD Codeblocks to produce parametric models - specifically the [gridFinity](https://gridfinity.xyz) storage bins. However, I couldn't come up with an easy method of producing shapes other than cuboids and cylinders in BeetleBlocks and I ran into a limit of 200 parts per TinkerCAD Codeblocks script I'd heard about OpenSCAD as a method of scripting 3D models and a light bulb went off in my head that I could maybe use Snap! codification to create these scripts. And during the early stages of the project, I found that OpenSCAD had a great feature - once a script was open in preview mode - if the file was updated - the preview would update itself :) This made the workflow much faster and practically as good as using TinkerCAD CodeBlocks This talk will show how Snap! can be used to produce OpenSCAD scripts to produce 3D models. The project came about as I was experimenting with BeetleBlocks and TinkerCAD Codeblocks to produce parametric models - specifically the [gridFinity](https://gridfinity.xyz) storage bins. However, I couldn't come up with an easy method of producing shapes other than cuboids and cylinders in BeetleBlocks and I ran into a limit of 200 parts per TinkerCAD Codeblocks script I'd heard about OpenSCAD as a method of scripting 3D models and a light bulb went off in my head that I could maybe use Snap! codification to create these scripts. And during the early stages of the project, I found that OpenSCAD had a great feature - once a script was open in preview mode - if the file was updated - the preview would update itself :) This made the workflow much faster and practically as good as using TinkerCAD CodeBlocks false Simon Walters 2023-07-21T13:10:00+02:00 11:10 00:20 Auditorium (Online) Talk 629-microworlds-for-industry-4-0 Microworlds for Industry 4.0 Digital Twins and IoT for learning purposes The current version of Snap offers two ways to build Microworlds views, one based on iframes and the other based on its own Snap canvas. Microworlds have been used for educational purposes and management. We present the application of Snap!-based Microworlds to illustrate the Industry 4.0 foundations for comprehension purposes using Digital Twins. At the same time, the proposed Microworlds follow the Industry 4.0 Reference Architecture. Slides available [here](http://www.sinetric.com/snap/SnapCon2023_xpi.pdf) The current version of Snap offers two ways to build Microworlds views, one based on iframes and the other based on its own Snap canvas. Microworlds have been used for educational purposes and management. We present the application of Snap!-based Microworlds to illustrate the Industry 4.0 foundations for comprehension purposes using Digital Twins. At the same time, the proposed Microworlds follow the Industry 4.0 Reference Architecture. Slides available [here](http://www.sinetric.com/snap/SnapCon2023_xpi.pdf) false Xavier Pi 2023-07-21T14:00:00+02:00 12:00 00:05 Auditorium (Online) Lightning Talk 687-quantum-education-with-snap-and-bjc Quantum Education with Snap! and BJC An early exploration of the possibilities Quantum Computing is poised to revolutionize computing within the next decade. How can Snap_!_ and the Beauty and Joy of Computing curriculum that uses it help inform and prepare high schoolers for this exciting time? Join two UMass Boston physics graduate students–one of whom is a lead writer on BJC–for a quick conversation on how we could use Snap_!_ for quantum education. Quantum Computing is poised to revolutionize computing within the next decade. How can Snap_!_ and the Beauty and Joy of Computing curriculum that uses it help inform and prepare high schoolers for this exciting time? Join two UMass Boston physics graduate students–one of whom is a lead writer on BJC–for a quick conversation on how we could use Snap_!_ for quantum education. false Sachin Gupta Mary Fries 2023-07-21T14:00:00+02:00 12:00 00:20 Auditorium (Online) Talk 701-lightning-talks-round-3 Lightning Talks Round 3 Round 3 of lightning talks! Round 3 of lightning talks! false 2023-07-21T14:05:00+02:00 12:05 00:05 Auditorium (Online) Lightning Talk 653-programming-for-a-networked-world Programming for a Networked World This lightning talk introduces a new programming course on the Coursera platform: Programming for a Networked World. This course teaches the basics of computer programming using NetsBlox, emphasizing remote procedure calls and peer-to-peer networking. The authors will succinctly discuss the origins of the course, its thematic organization, its use of Parson's problems for formative assessment, and the community its aims to serve. This lightning talk introduces a new programming course on the Coursera platform: Programming for a Networked World. This course teaches the basics of computer programming using NetsBlox, emphasizing remote procedure calls and peer-to-peer networking. The authors will succinctly discuss the origins of the course, its thematic organization, its use of Parson's problems for formative assessment, and the community its aims to serve. false Clifford Anderson 2023-07-21T14:10:00+02:00 12:10 00:05 Auditorium (Online) Lightning Talk 643-snap-gpt Snap!GPT Large Language Models integrated into Snap! (This is a "show your project" submission) Large Language Models are the future, there's no way around that. Companies such as OpenAI and Google have released incredible artificial intelligence models that can do amazing feats, even more incredibly, they can code in Snap_!_. My project uses the web services access library to get real-time responses from the latest in artificial intelligence, chatGPT version 3.5. The implications of having an AI accessible through Snap_!_ are astounding, and Snap_!_GPT has a lot to offer. (This is a "show your project" submission) Large Language Models are the future, there's no way around that. Companies such as OpenAI and Google have released incredible artificial intelligence models that can do amazing feats, even more incredibly, they can code in Snap_!_. My project uses the web services access library to get real-time responses from the latest in artificial intelligence, chatGPT version 3.5. The implications of having an AI accessible through Snap_!_ are astounding, and Snap_!_GPT has a lot to offer. false Yuan Garcia 2023-07-21T14:15:00+02:00 12:15 00:05 Auditorium (Online) Lightning Talk 689-curriculum-updates-to-beauty-and-joy-of-computing-csp-and-sparks Curriculum Updates to Beauty and Joy of Computing CSP and Sparks New Content to Support Equity in CSP and to Complete BJC Sparks Join for a quick rundown of exciting updates across two Beauty and Joy of Computing (BJC) courses: BJC CSP—An AP Computer Science Principles course for ages 14-18; and BJC Sparks a functions-first course for ages 10-16. We've built a new Computer Scientists @ Work feature to highlight diverse individuals in CS, we're in the process of translating BJC CSP into Spanish, and we're writing new labs in BJC Sparks. This lightning talk will offer quick updates and a behind-the-scenes perspective on what it takes to develop and translate a curriculum. Join for a quick rundown of exciting updates across two Beauty and Joy of Computing (BJC) courses: BJC CSP—An AP Computer Science Principles course for ages 14-18; and BJC Sparks a functions-first course for ages 10-16. We've built a new Computer Scientists @ Work feature to highlight diverse individuals in CS, we're in the process of translating BJC CSP into Spanish, and we're writing new labs in BJC Sparks. This lightning talk will offer quick updates and a behind-the-scenes perspective on what it takes to develop and translate a curriculum. false Mary Fries 2023-07-21T15:00:00+02:00 13:00 01:00 Auditorium (Online) Panel 592-microblocks-experiences-around-the-world MicroBlocks Experiences Around the World Many of today's youth were born playing with electronic toys from the time they could hold a rattle. If given the opportunity, they learn to navigate tablets and cellphones easily (before they even go to school). Once children can use a laptop, we want to inspire them to be creators of technology, not just consumers. The goal of this track is to expose the audience to the successful workshop and training experiences a number of us have had using [MicroBlocks](http://microblocks.fun) to teach physical computing. MicroBlocks enables even young learners to become creators and thus, to appreciate the power of technology and the importance and value of becoming STEM/STEAM savvy to boost their contributions in any career path. We especially want to inspire educators with our stories about how teaching physical computing with MicroBlocks is so gratifying! Many of today's youth were born playing with electronic toys from the time they could hold a rattle. If given the opportunity, they learn to navigate tablets and cellphones easily (before they even go to school). Once children can use a laptop, we want to inspire them to be creators of technology, not just consumers. The goal of this track is to expose the audience to the successful workshop and training experiences a number of us have had using [MicroBlocks](http://microblocks.fun) to teach physical computing. MicroBlocks enables even young learners to become creators and thus, to appreciate the power of technology and the importance and value of becoming STEM/STEAM savvy to boost their contributions in any career path. We especially want to inspire educators with our stories about how teaching physical computing with MicroBlocks is so gratifying! false Kathy Giori John Maloney José García Peter Mathijssen 2023-07-21T16:00:00+02:00 14:00 00:20 Auditorium (Online) Talk 609-discover-the-new-scratch-jr-tactile-diy-inclusive-coding Discover the new 'Scratch Jr Tactile': DIY inclusive coding Include diverse learners with this new printable resource ‘Scratch Jr Tactile’ is a new resource designed to include all the students in creative tangible coding experiences. In this talk, you’ll discover the research supporting it and experiences from schools in New York (USA) and Barcelona (Spain). Intended for students with visual impairment but designed for all the students to play and learn together, ‘Scratch Jr Tactile’ is creating a community of educators who want to incorporate better equity practices in the classroom. ‘Scratch Jr Tactile’ has been developed by Sistema THEAD with the collaboration of Scratch Foundation. ‘Scratch Jr Tactile’ is free to print in 3D or 2D, and is joining diverse learners educators around the CS education for all. ‘Scratch Jr Tactile’ is a new resource designed to include all the students in creative tangible coding experiences. In this talk, you’ll discover the research supporting it and experiences from schools in New York (USA) and Barcelona (Spain). Intended for students with visual impairment but designed for all the students to play and learn together, ‘Scratch Jr Tactile’ is creating a community of educators who want to incorporate better equity practices in the classroom. ‘Scratch Jr Tactile’ has been developed by Sistema THEAD with the collaboration of Scratch Foundation. ‘Scratch Jr Tactile’ is free to print in 3D or 2D, and is joining diverse learners educators around the CS education for all. false Roger Olivella 2023-07-21T18:00:00+02:00 16:00 01:00 Auditorium (Online) Panel 641-the-joys-and-challenges-of-autograding-snap-in-bjc-with-no-late-penalties The Joys and Challenges of Autograding Snap! in BJC with No Late Penalties “A’s for All (as time and interest allow)” is an initiative we are evangelizing – part of the larger “Grading for Equity” movement [1] – whose mantra is “fixed learning variable time”. It encourages educators to refactor their courses to allow students as much time as they need to demonstrate proficiency, whether it be multiple-chance exams, or extended deadlines to complete their programming projects. We piloted this in the Fall 2022 and Spring 2023 offerings of CS10, UC Berkeley’s Beauty and Joy of Computing curriculum through several new auto-graded Snap! projects and exam problems (with infinite resubmissions and no hidden tests) and a “no lateness penalties” policy. In this panel, we will share our experience report – what we did and how it all went (qualitatively and quantitatively) in terms of student perception, assignment completion rates, staff workload, and grades. We will also share early results from our analysis of the differential effect this initiative had on underrepresented student groups. References: https://doi.org/10.1145/3545945.3569847 “A’s for All (as time and interest allow)” is an initiative we are evangelizing – part of the larger “Grading for Equity” movement [1] – whose mantra is “fixed learning variable time”. It encourages educators to refactor their courses to allow students as much time as they need to demonstrate proficiency, whether it be multiple-chance exams, or extended deadlines to complete their programming projects. We piloted this in the Fall 2022 and Spring 2023 offerings of CS10, UC Berkeley’s Beauty and Joy of Computing curriculum through several new auto-graded Snap! projects and exam problems (with infinite resubmissions and no hidden tests) and a “no lateness penalties” policy. In this panel, we will share our experience report – what we did and how it all went (qualitatively and quantitatively) in terms of student perception, assignment completion rates, staff workload, and grades. We will also share early results from our analysis of the differential effect this initiative had on underrepresented student groups. References: https://doi.org/10.1145/3545945.3569847 false Dan Garcia Victoria Phelps Vedansh Malhotra Lam Pham 2023-07-21T19:00:00+02:00 17:00 00:20 Auditorium (Online) Talk 607-snap-arcade Snap! Arcade The Snap! Arcade combines arcade games developed in Snap! with a joystick and arcade controls housed in a physical enclosure. The hardware consists of a single-board computer such as a Raspberry Pi and a microcontroller. The MicroBlocks “Key and Mouse” library developed by Bernat Romagosa was used to communicate with the microcontroller. The basic proof-of-concept format developed has served as a framework for implementation in a number of different settings, including a high school engineering course and in a summer engineering academy for middle school girls. Different examples of arcades will be shared and demonstrated. The Snap! Arcade combines arcade games developed in Snap! with a joystick and arcade controls housed in a physical enclosure. The hardware consists of a single-board computer such as a Raspberry Pi and a microcontroller. The MicroBlocks “Key and Mouse” library developed by Bernat Romagosa was used to communicate with the microcontroller. The basic proof-of-concept format developed has served as a framework for implementation in a number of different settings, including a high school engineering course and in a summer engineering academy for middle school girls. Different examples of arcades will be shared and demonstrated. false Glen Bull Rachel Gibson Maketolearn 2023-07-21T19:20:00+02:00 17:20 00:20 Auditorium (Online) Talk 634-the-beauty-of-coding-snowflakes-in-turtlestitch The Beauty of Coding Snowflakes in TurtleStitch The ideas for coding in TurtleStitch come from the nature around us. In this multidisciplinary talk, I will explore the science and mathematics of snowflakes and the different methods of coding snowflakes in TurtleStitch. Here is the slideshow of my presentation on The Beauty of Coding Snowflakes in TurtleStitch https://docs.google.com/presentation/d/1FAIOe9VB6JXlV2k2Znh_s6X-2fnk-jqGbBGfsa1-L-M/edit#slide=id.p The ideas for coding in TurtleStitch come from the nature around us. In this multidisciplinary talk, I will explore the science and mathematics of snowflakes and the different methods of coding snowflakes in TurtleStitch. Here is the slideshow of my presentation on The Beauty of Coding Snowflakes in TurtleStitch https://docs.google.com/presentation/d/1FAIOe9VB6JXlV2k2Znh_s6X-2fnk-jqGbBGfsa1-L-M/edit#slide=id.p false Elaine Wolfe Surferwolf 2023-07-21T19:40:00+02:00 17:40 00:20 Auditorium (Online) Talk 613-integrated-data-science-activities-developed-from-bjc-ap-csp-and-sparks Integrated Data Science Activities Developed from BJC AP CSP and Sparks Given growing interest in data science education, state and district Computer Science for All efforts are seeking ways to incorporate data science into computer science courses as well as in other courses at the secondary level. In partnership with the New York City Department of Education’s Computer Science Education Team, Education Development Center developed sample data science activities for integration into middle and high school classes from a range of subject areas including mathematics, history, science, and traditional computer science classes. During this talk we’ll share three activities we adapted for integration from the Beauty and Joy of Computing (BJC) AP Computer Science Principles and Sparks Middle School/Early High School Curriculum. Through these activities students collect and use digital data in a computational artifact, refine and visualize data sets, and tell stories with the data sets. A variety of data sets are introduced including world health and squirrel census data. Activities and the associated lesson plans will be available as resources for the audience. Furthermore, we will discuss our development process including our goals for the integration model, the process through which we chose and adapted the activities, and how Snap! prompts student learning of computer science and data science topics. Lessons learned will be shared, including feedback from teachers who implemented the lessons in their classrooms. At the end, we will invite discussion about ways to integrate data science into existing secondary courses, and ways that Snap! can support data science exploration. Given growing interest in data science education, state and district Computer Science for All efforts are seeking ways to incorporate data science into computer science courses as well as in other courses at the secondary level. In partnership with the New York City Department of Education’s Computer Science Education Team, Education Development Center developed sample data science activities for integration into middle and high school classes from a range of subject areas including mathematics, history, science, and traditional computer science classes. During this talk we’ll share three activities we adapted for integration from the Beauty and Joy of Computing (BJC) AP Computer Science Principles and Sparks Middle School/Early High School Curriculum. Through these activities students collect and use digital data in a computational artifact, refine and visualize data sets, and tell stories with the data sets. A variety of data sets are introduced including world health and squirrel census data. Activities and the associated lesson plans will be available as resources for the audience. Furthermore, we will discuss our development process including our goals for the integration model, the process through which we chose and adapted the activities, and how Snap! prompts student learning of computer science and data science topics. Lessons learned will be shared, including feedback from teachers who implemented the lessons in their classrooms. At the end, we will invite discussion about ways to integrate data science into existing secondary courses, and ways that Snap! can support data science exploration. false Michelle Kennedy 2023-07-21T20:00:00+02:00 18:00 01:00 Auditorium (Online) Keynotes 637-increasing-access-to-complex-robots Increasing Access to Complex Robots Case Studies with Snap! Industrial robots are extremely complex, often resulting from the efforts of numerous software and hardware engineers. While these systems seem far removed from programming languages designed for education, block-based languages like Snap! provide highly relevant paradigms for understanding how non-experts can easily and intuitively use robotics systems. This talk will discuss a series of case studies using Snap! with a Digit, a human-centric, bipedal robot designed for work in warehouses. Snap! blocks have enabled people without previous expertise to experience what is possible with a state-of-the-art robot, leading to more engaging outreach efforts and providing crucial lessons about how to make complex systems easy for anyone to use. Industrial robots are extremely complex, often resulting from the efforts of numerous software and hardware engineers. While these systems seem far removed from programming languages designed for education, block-based languages like Snap! provide highly relevant paradigms for understanding how non-experts can easily and intuitively use robotics systems. This talk will discuss a series of case studies using Snap! with a Digit, a human-centric, bipedal robot designed for work in warehouses. Snap! blocks have enabled people without previous expertise to experience what is possible with a state-of-the-art robot, leading to more engaging outreach efforts and providing crucial lessons about how to make complex systems easy for anyone to use. false Bambi Brewer 2023-07-21T21:00:00+02:00 19:00 00:05 Auditorium (Online) Lightning Talk 652-goodbye-message Goodbye message A goodbye message from the conference organizers. For three days we’ve come back to the Citilab to share our passion, projects and pedagogy around blocks based programming and computing education. It's been a blast getting together at this awesome location in person, where you’ve also been able to participate online. A goodbye message from the conference organizers. For three days we’ve come back to the Citilab to share our passion, projects and pedagogy around blocks based programming and computing education. It's been a blast getting together at this awesome location in person, where you’ve also been able to participate online. false Jadga Hügle 2023-07-21T14:25:00+02:00 12:25 00:30 Classroom Zero Birds of a Feather 626-programming-and-embroidery Programming and embroidery A Turtlestitch community of practice This Birds-of-a-Feather session is to continue to connect existing Turtlestitch enthusiasts in an international community context, sustained by Scratch and Snap conferences over the years and to invite newcomers to discover our mutual interests and pehaps join us. Participants will be invited to share their experiences, projects and new ideas and discuss how Turtlestitch is inspiring learners, mathematicians and artists throughout the world. This Birds-of-a-Feather session is to continue to connect existing Turtlestitch enthusiasts in an international community context, sustained by Scratch and Snap conferences over the years and to invite newcomers to discover our mutual interests and pehaps join us. Participants will be invited to share their experiences, projects and new ideas and discuss how Turtlestitch is inspiring learners, mathematicians and artists throughout the world. false Richard Millwood 2023-07-21T14:25:00+02:00 12:25 00:30 SeniorLab Birds of a Feather 624-data-ethics-using-biometrics Data ethics using biometrics we need to have a chat An open collaborative discussion on the use of biometrics and ballet to promote awareness of data ethics among trainee computing secondary teachers. The discussion will begin with a presentation of the methods used, and the results obtained, followed by an exploration of what data ethics means for our current and future computing classrooms. The very short presentation will describe how biometric data was collected from the trainee teachers during a ballet session, and how this data was used to demonstrate the potential ethical implications of data collection and usage. The goal of this BoF is to encourage an interactive discussion on the topic of data ethics and its relevance to computing education. Participants will be invited to share their experiences and ideas on how to incorporate data ethics into the classroom, and how to engage students in discussions about the ethical implications of data collection and usage. Keywords: Data Ethics, Biometrics, Ballet, Computing Education, Curriculum Integration. An open collaborative discussion on the use of biometrics and ballet to promote awareness of data ethics among trainee computing secondary teachers. The discussion will begin with a presentation of the methods used, and the results obtained, followed by an exploration of what data ethics means for our current and future computing classrooms. The very short presentation will describe how biometric data was collected from the trainee teachers during a ballet session, and how this data was used to demonstrate the potential ethical implications of data collection and usage. The goal of this BoF is to encourage an interactive discussion on the topic of data ethics and its relevance to computing education. Participants will be invited to share their experiences and ideas on how to incorporate data ethics into the classroom, and how to engage students in discussions about the ethical implications of data collection and usage. Keywords: Data Ethics, Biometrics, Ballet, Computing Education, Curriculum Integration. false Genevieve Smith-Nunes 2023-07-21T14:25:00+02:00 12:25 00:30 Online-only track 1 Birds of a Feather 610-physical-computing Physical Computing During the past year, new microcontrollers and new software developments have made it easier than ever to interact with the physical world using Snap! This “Birds of a Feather” session will provide opportunities to discuss different techniques and methods that have emerged during the past year, and the different types of projects made possible by these new capabilities. During the past year, new microcontrollers and new software developments have made it easier than ever to interact with the physical world using Snap! This “Birds of a Feather” session will provide opportunities to discuss different techniques and methods that have emerged during the past year, and the different types of projects made possible by these new capabilities. false Glen Bull John Maloney 2023-07-21T14:25:00+02:00 12:25 00:30 Online-only track 2 Birds of a Feather 604-chatgpt-and-the-future-of-block-based-programming ChatGPT and the future of block-based programming ChatGPT can function well as a programming collaborator for textual languages but not block-based ones When constructing JavaScript or Python programs (or others), ChatGPT can generate code, help in debugging, read documentation, explain how some code works, and answer questions about the code. AI-assisted programming is likely the future of programming. It is very empowering. See [my post on my experiments generating apps with LLMs](https://docs.google.com/document/d/19KWL8t3G1igp7t-QE9GYPGRsmg080Z_uoBF-WC_eSxo/edit?usp=sharing). Pedagogically it is a very different experience than current practice with many pros and cons. Here's [my recent talk at Stanford about all this](https://www.youtube.com/watch?v=YlKXux1r_tw&list=PLoROMvodv4rMWw6rRoeSpkiseTHzWj6vu&index=4&t=1s). But now programming languages that are not text-based are at a disadvantage. While ChatGPT can help a Snap! programmer it clearly can be much more helpful when programming in a textual language. See my [post about using ChatGPT to create simple Snap! programs](https://docs.google.com/document/d/1QJ98QwC2ubsTNKOFAzUAw6ZySPoVRENoJXw2mXAHeVk/edit?usp=sharing). Let's have a lively discussion about what this means for Snap! When constructing JavaScript or Python programs (or others), ChatGPT can generate code, help in debugging, read documentation, explain how some code works, and answer questions about the code. AI-assisted programming is likely the future of programming. It is very empowering. See [my post on my experiments generating apps with LLMs](https://docs.google.com/document/d/19KWL8t3G1igp7t-QE9GYPGRsmg080Z_uoBF-WC_eSxo/edit?usp=sharing). Pedagogically it is a very different experience than current practice with many pros and cons. Here's [my recent talk at Stanford about all this](https://www.youtube.com/watch?v=YlKXux1r_tw&list=PLoROMvodv4rMWw6rRoeSpkiseTHzWj6vu&index=4&t=1s). But now programming languages that are not text-based are at a disadvantage. While ChatGPT can help a Snap! programmer it clearly can be much more helpful when programming in a textual language. See my [post about using ChatGPT to create simple Snap! programs](https://docs.google.com/document/d/1QJ98QwC2ubsTNKOFAzUAw6ZySPoVRENoJXw2mXAHeVk/edit?usp=sharing). Let's have a lively discussion about what this means for Snap! false Ken Kahn 2023-07-21T16:45:00+02:00 14:45 00:30 Plaça Escape Room 694-escape-room Escape Room Get ready to fly onboard spaceship Alonsza23 on mission to Pluto at this year's hybrid escape room experience at the Citilab (or online). The ship's AI, entirely powered by Snap! and MicroBlocks, has gone rogue because of how untidy the ship is, and is threatening to crash into an asteroid unless we do something about it. Both the onboard (in-person) crew and mission control (online) will have to collaborate to bring the mission back on track. Get ready to fly onboard spaceship Alonsza23 on mission to Pluto at this year's hybrid escape room experience at the Citilab (or online). The ship's AI, entirely powered by Snap! and MicroBlocks, has gone rogue because of how untidy the ship is, and is threatening to crash into an asteroid unless we do something about it. Both the onboard (in-person) crew and mission control (online) will have to collaborate to bring the mission back on track. false 2023-07-21T17:30:00+02:00 15:30 00:30 Plaça Escape Room 654-escape-room Escape Room Get ready to fly onboard spaceship Alonsza23 on mission to Pluto at this year's hybrid escape room experience at the Citilab (or online). The ship's AI, entirely powered by Snap_!_ and MicroBlocks, has gone rogue because of how untidy the ship is, and is threatening to crash into an asteroid unless we do something about it. Both the onboard (in-person) crew and mission control (online) will have to collaborate to bring the mission back on track. **NOTE** _This event is going to be repeated a bunch of times during the conference. Please register if you would want to participate and we'll get back to you with different scheduling options._ Get ready to fly onboard spaceship Alonsza23 on mission to Pluto at this year's hybrid escape room experience at the Citilab (or online). The ship's AI, entirely powered by Snap_!_ and MicroBlocks, has gone rogue because of how untidy the ship is, and is threatening to crash into an asteroid unless we do something about it. Both the onboard (in-person) crew and mission control (online) will have to collaborate to bring the mission back on track. **NOTE** _This event is going to be repeated a bunch of times during the conference. Please register if you would want to participate and we'll get back to you with different scheduling options._ false