679 2021 Snap!Con 2021 2021-07-29 2021-08-01 4 00:05 2021-07-29T01:00:00-07:00 08:00 01:00 Room 1 Workshop 240-the-secrets-surprises-in-coding-spirals The Secrets & Surprises in Coding Spirals TurtleStitch Tur-torial In this workshop, we will focus on building blocks that allow you to play with polygons and spirals with TurtleStitch. If you create a design you love and do not have access to a computerized embroidery machine, global TurtleStitch community friends will embroider & mail you your design! TurtleStitch is an activity and a coding environment. TurtleStitching is a mix of art, design and technology. It affords a rich area of exploration for beginners and experts. The struggle of thinking up a design, making it and productizing it, provides an environment of ups and downs and ups, capturing what Seymour Papert referred to as hard fun leading to a love and engagement for the activities. Love for an activity is often disregarded and de-emphasized in the teaching / learning experience in schools with both teachers and learners. We want to remind teachers that it is OK to show this love and to encourage learners to also show their love playfully. As a coding environment, TurtleStitch is written in Snap! and offers many Snap! tools to TurtleStitch users. TurtleStitch as its name implies focuses on instructing Seymour Papert’s turtle to draw patterns on a computer screen. These patterns are saved in a file format understood by computerized embroidery machines which then produce the embroidery on assorted fabrics. Prerequisite: Create a username and sign up for a free account at the [TurtleStitch website](https://www.turtlestitch.org/). Be able to work in split screen so you can see examples from remote screen sharing as you code in your own TurtleStitch pane. **Workshop Leaders** Susan Klimczak has been the Education Organizer of the Learn 2 Teach, Teach 2 Learn STEAM maker education & jobs program for teens of color in Boston, MA for 20 years. She loves organizing maker activities that include social justice, high + low technology & art. Cynthia Solomon’s focus has been on creating thoughtful, personally expressive, and aesthetically pleasing learning environments for children. Her collaboration with Seymour Papert resulted in Logo, the first programming language designed specifically for children. Her paper with Papert, “Twenty Things to do with a Computer” is a classic in the field. Recently she co-edited a book of education essays, _Inventive Minds: Marvin Minsky on Education_. Sarah Magner teaches in the Innovation Lab at Flint Hill School in Oakton, Virginia. She loves introducing students to coding and robotics through tinkering, and some of her favorite lessons involve TurtleStitch, Hummingbird Robots, Snap!, Automata, and Cranky Contraptions. She loves the intersection of computer science, math, and art. Access to a computerized embroidery machine is optional, and we have global TurtleStitch community volunteers willing to embroider and mail TurtleStitch designs created in the workshop to participants. In this workshop, we will focus on building blocks that allow you to play with polygons and spirals with TurtleStitch. If you create a design you love and do not have access to a computerized embroidery machine, global TurtleStitch community friends will embroider & mail you your design! TurtleStitch is an activity and a coding environment. TurtleStitching is a mix of art, design and technology. It affords a rich area of exploration for beginners and experts. The struggle of thinking up a design, making it and productizing it, provides an environment of ups and downs and ups, capturing what Seymour Papert referred to as hard fun leading to a love and engagement for the activities. Love for an activity is often disregarded and de-emphasized in the teaching / learning experience in schools with both teachers and learners. We want to remind teachers that it is OK to show this love and to encourage learners to also show their love playfully. As a coding environment, TurtleStitch is written in Snap! and offers many Snap! tools to TurtleStitch users. TurtleStitch as its name implies focuses on instructing Seymour Papert’s turtle to draw patterns on a computer screen. These patterns are saved in a file format understood by computerized embroidery machines which then produce the embroidery on assorted fabrics. Prerequisite: Create a username and sign up for a free account at the [TurtleStitch website](https://www.turtlestitch.org/). Be able to work in split screen so you can see examples from remote screen sharing as you code in your own TurtleStitch pane. **Workshop Leaders** Susan Klimczak has been the Education Organizer of the Learn 2 Teach, Teach 2 Learn STEAM maker education & jobs program for teens of color in Boston, MA for 20 years. She loves organizing maker activities that include social justice, high + low technology & art. Cynthia Solomon’s focus has been on creating thoughtful, personally expressive, and aesthetically pleasing learning environments for children. Her collaboration with Seymour Papert resulted in Logo, the first programming language designed specifically for children. Her paper with Papert, “Twenty Things to do with a Computer” is a classic in the field. Recently she co-edited a book of education essays, _Inventive Minds: Marvin Minsky on Education_. Sarah Magner teaches in the Innovation Lab at Flint Hill School in Oakton, Virginia. She loves introducing students to coding and robotics through tinkering, and some of her favorite lessons involve TurtleStitch, Hummingbird Robots, Snap!, Automata, and Cranky Contraptions. She loves the intersection of computer science, math, and art. Access to a computerized embroidery machine is optional, and we have global TurtleStitch community volunteers willing to embroider and mail TurtleStitch designs created in the workshop to participants. false Susan Klimczak Cynthia Solomon Sarah Magner 2021-07-29T05:00:00-07:00 12:00 00:20 Room 1 Talk 233-math-and-coding-learning-corners Math and Coding Learning Corners José García, Nina Coll & Victor Casado Citilab Cornellà in collaboration with of Mathematics Museum of Catalonia (MMACA) have created several materials, addressed to primary schools to learn mathematics and programming language simultaneously. Our aim is to awake student’s curiosity for these two subjects, by proposing funny challenges with Learning Corners methodology. It involves all students playing and working on various tasks in the same classroom and also gives children the freedom to choose what to do. Snap! is the program that we used to create digital activities and we have differentiated three types of them: - Play mathematical games that we programmed with Snap! - Solve the mathematical challenges through proposal programming blocks, using MicroWorld system. - Complete levels by programming challenges directly by Snap!. With all of these activities, we want to encourage different students profiles to enjoy while they are learning. José García, Nina Coll & Victor Casado Citilab Cornellà in collaboration with of Mathematics Museum of Catalonia (MMACA) have created several materials, addressed to primary schools to learn mathematics and programming language simultaneously. Our aim is to awake student’s curiosity for these two subjects, by proposing funny challenges with Learning Corners methodology. It involves all students playing and working on various tasks in the same classroom and also gives children the freedom to choose what to do. Snap! is the program that we used to create digital activities and we have differentiated three types of them: - Play mathematical games that we programmed with Snap! - Solve the mathematical challenges through proposal programming blocks, using MicroWorld system. - Complete levels by programming challenges directly by Snap!. With all of these activities, we want to encourage different students profiles to enjoy while they are learning. false José García 2021-07-29T05:20:00-07:00 12:20 00:20 Room 1 Talk 256-from-netsblox-to-spark-and-back-again From NetsBlox to Spark (and Back Again) This paper presents a case study of an ongoing experiment at Vanderbilt University to teach the fundamental concepts of text mining to undergraduates in an accessible and equitable way. During the Fall 2020 and Spring 2021 semesters, the authors instructed two cohorts of students from a variety of backgrounds, ranging from computer science to English, in a range of text mining techniques. After providing students with a whirlwind introduction to NetsBlox, we introduced concepts like applying transformation pipelines and natural language processing within a block-based environment. We then translated those procedures into ‘big data’ contexts using code notebooks with Apache Spark. As we introduced new concepts, we regularly and iteratively returned to NetsBlox to introduce the main ideas before applying them in a production setting. A key strategy of this project has been to introduce text-mining concepts and techniques in NetsBlox, using a sample of the larger corpus that was much smaller but featured the same data structures. Once learners had worked through a focal technique, availing themselves of the visual feedback and direct manipulation characteristic of Snap!, we transitioned them to a text-based notebook environment where they could apply their knowledge in ways that engaged with the entire corpus of texts. NetsBlox provided an ideal ‘test bed’ for these experiments for several reasons. NetsBlox leveled the playing field for students with different levels of prior programming experience. The block-based environment enabled students with little to no background in programming to learn effectively alongside peers with significant expertise in text-based languages. NetsBlox’s remote procedure calls also made it possible to integrate industrial tools like CoreNLP into our block-based pipelines, permitting us to mimic production environments more closely. And, finally, the functional programming operators in Snap! allowed us to model ‘big data’ operations like map/reduce in a straightforward manner. As we look to develop best practices for teaching large-scale textual analysis with NetsBlox, we invite the broad Snap! community to provide feedback about our next steps. For instance, does it make sense to connect NetsBlox directly with Spark, creating a block-based interface to a big data platform? How might our methodology foster a CS+X (or X+CS) approach, especially for students of the digital humanities? Finally, we will also showcase “hidden gems” of NetsBlox as we proceed through our presentation, including the use of cloud variables, integration with a BaseX database, and the implementation of an auto-grader. This paper presents a case study of an ongoing experiment at Vanderbilt University to teach the fundamental concepts of text mining to undergraduates in an accessible and equitable way. During the Fall 2020 and Spring 2021 semesters, the authors instructed two cohorts of students from a variety of backgrounds, ranging from computer science to English, in a range of text mining techniques. After providing students with a whirlwind introduction to NetsBlox, we introduced concepts like applying transformation pipelines and natural language processing within a block-based environment. We then translated those procedures into ‘big data’ contexts using code notebooks with Apache Spark. As we introduced new concepts, we regularly and iteratively returned to NetsBlox to introduce the main ideas before applying them in a production setting. A key strategy of this project has been to introduce text-mining concepts and techniques in NetsBlox, using a sample of the larger corpus that was much smaller but featured the same data structures. Once learners had worked through a focal technique, availing themselves of the visual feedback and direct manipulation characteristic of Snap!, we transitioned them to a text-based notebook environment where they could apply their knowledge in ways that engaged with the entire corpus of texts. NetsBlox provided an ideal ‘test bed’ for these experiments for several reasons. NetsBlox leveled the playing field for students with different levels of prior programming experience. The block-based environment enabled students with little to no background in programming to learn effectively alongside peers with significant expertise in text-based languages. NetsBlox’s remote procedure calls also made it possible to integrate industrial tools like CoreNLP into our block-based pipelines, permitting us to mimic production environments more closely. And, finally, the functional programming operators in Snap! allowed us to model ‘big data’ operations like map/reduce in a straightforward manner. As we look to develop best practices for teaching large-scale textual analysis with NetsBlox, we invite the broad Snap! community to provide feedback about our next steps. For instance, does it make sense to connect NetsBlox directly with Spark, creating a block-based interface to a big data platform? How might our methodology foster a CS+X (or X+CS) approach, especially for students of the digital humanities? Finally, we will also showcase “hidden gems” of NetsBlox as we proceed through our presentation, including the use of cloud variables, integration with a BaseX database, and the implementation of an auto-grader. false Brian Broll Mark Schoenfield Corey Brady Clifford Anderson 2021-07-29T05:40:00-07:00 12:40 00:20 Room 1 Talk 241-la-magie-de-la-vee-a-simple-recursive-algorithm-that-explains-how-plants-magically-grow `La Magie de la Vee`, a Simple Recursive Algorithm That Explains How Plants Magically Grow Vee is a simple recursive algorithm that explains how plants magically grow. Vee sounds like the french world `Vie` that means Life. This is exactly what it is about. Fractal objects will be defined and described with two simple examples: the Von Koch fractal and the Sierpinski triangle. We will illustrate how recursiveness combined with randomness can explain the real world, as Benoît Mandelbrot says in his book *Fractal objects*. Vee is a fractal tree algorithm that can be modelized with an L-system, and this will be detailed. The coding of the Vee algorithm will be illustrated with part of a Snap*!* project detailing how we play with list objects to do this. We hope by this work to make feel the fractal geometry of Nature, then that of Life. Moreover, this job is supposed to make people want to try to grow beautiful virtual plants using their imagination and creativity. **Summary** We will first explain what recursiveness is, necessary to create fractal objects, and then how to create beautiful fractal trees. > Part I - Fractal objects: What is it? What is it for? > Two very simple fractal objects to draw: the Von Koch fractal and the Sierpinski triangle > It will be explained how those two fractals grow > A variant of the Von Koch curve initiated with a circle arc will be shown > Introducing randomness into fractals is necessary to simulate the real world > > Part II - Principle of a fractal tree > Coding the skeleton of a fractal tree with L-systems > Let's code now a fractal tree > > Part III - Let's code a beautiful fractal plant with Snap*!* > Let’s explain the construction outline with Snap*!* > `La magie de la Vie`, the magic of the Vee algorithm revealed: > - Let’s play with the lists of objects > - What if Vee himself could be a leaf? > - Inserting several Vee in the list of possible leaves increases the probability of having a tree growing with multiple branches… The first part of this work is largely due to Benoît Mandelbrot, with his book *Fractal objects*. The second part is based on the [Wikipedia description of L-Systems](https://en.wikipedia.org/wiki/L-system). All constructions and illustrations are done or explained with Snap*!*. You can see a very pretty plant generated by this algorithm in [this tweet](https://twitter.com/nathrune/status/1385185682365235201?s=20). Vee is a simple recursive algorithm that explains how plants magically grow. Vee sounds like the french world `Vie` that means Life. This is exactly what it is about. Fractal objects will be defined and described with two simple examples: the Von Koch fractal and the Sierpinski triangle. We will illustrate how recursiveness combined with randomness can explain the real world, as Benoît Mandelbrot says in his book *Fractal objects*. Vee is a fractal tree algorithm that can be modelized with an L-system, and this will be detailed. The coding of the Vee algorithm will be illustrated with part of a Snap*!* project detailing how we play with list objects to do this. We hope by this work to make feel the fractal geometry of Nature, then that of Life. Moreover, this job is supposed to make people want to try to grow beautiful virtual plants using their imagination and creativity. **Summary** We will first explain what recursiveness is, necessary to create fractal objects, and then how to create beautiful fractal trees. > Part I - Fractal objects: What is it? What is it for? > Two very simple fractal objects to draw: the Von Koch fractal and the Sierpinski triangle > It will be explained how those two fractals grow > A variant of the Von Koch curve initiated with a circle arc will be shown > Introducing randomness into fractals is necessary to simulate the real world > > Part II - Principle of a fractal tree > Coding the skeleton of a fractal tree with L-systems > Let's code now a fractal tree > > Part III - Let's code a beautiful fractal plant with Snap*!* > Let’s explain the construction outline with Snap*!* > `La magie de la Vie`, the magic of the Vee algorithm revealed: > - Let’s play with the lists of objects > - What if Vee himself could be a leaf? > - Inserting several Vee in the list of possible leaves increases the probability of having a tree growing with multiple branches… The first part of this work is largely due to Benoît Mandelbrot, with his book *Fractal objects*. The second part is based on the [Wikipedia description of L-Systems](https://en.wikipedia.org/wiki/L-system). All constructions and illustrations are done or explained with Snap*!*. You can see a very pretty plant generated by this algorithm in [this tweet](https://twitter.com/nathrune/status/1385185682365235201?s=20). false Nathalie Carrié 2021-07-29T01:00:00-07:00 08:00 01:00 Room 2 Workshop 284-grand-gestures Grand Gestures Storytelling with AI In this workshop, we'll share a curriculum around AI that we're currently working on. We try to show how to use machine learning in the classroom by implementing a gesture recognizer (based on the $1 gesture recognizer) in Snap!. We start by creating a single-stroke gesture drawing program. By building an "animate" control structure based on the pen trails, we are able to animate our drawn gestures. To recognize the drawn gestures, we extend the drawing program to record paths. We then discuss why it's difficult to just compare two paths to recognize a gesture, and introduce the "resample" block that normalizes all paths to a specific number of points. The actual recognition happens in a nearest neighbour block that will find the smallest difference between the current resampled path and the paths stored in an examples list. Finally, we can use this identified gesture for storytelling by broadcasting the name of the gesture and animating it accordingly. We will also share our pedagogical approaches, lesson plans, and discussion ideas as well as further AI education resources in this workshop. In this workshop, we'll share a curriculum around AI that we're currently working on. We try to show how to use machine learning in the classroom by implementing a gesture recognizer (based on the $1 gesture recognizer) in Snap!. We start by creating a single-stroke gesture drawing program. By building an "animate" control structure based on the pen trails, we are able to animate our drawn gestures. To recognize the drawn gestures, we extend the drawing program to record paths. We then discuss why it's difficult to just compare two paths to recognize a gesture, and introduce the "resample" block that normalizes all paths to a specific number of points. The actual recognition happens in a nearest neighbour block that will find the smallest difference between the current resampled path and the paths stored in an examples list. Finally, we can use this identified gesture for storytelling by broadcasting the name of the gesture and animating it accordingly. We will also share our pedagogical approaches, lesson plans, and discussion ideas as well as further AI education resources in this workshop. false Jadga Hügle Jens Mönig 2021-07-29T05:00:00-07:00 12:00 00:20 Room 2 Talk 249-minecraft-game-programming Minecraft Game Programming Want to learn coding concepts by creating multiplayer games in Minecraft? On the DiamondFire server, students can create their own games directly within Minecraft using a drag-and-drop style coding language. Students can collaborate and build games in real time, and they can also play each other's games together. In this demo, we'll create a game on DiamondFire together and take a closer at look at how programming constructs such as events, conditions, and parameters are represented within Minecraft. If you want to follow along on the server, the address is mcdiamondfire.com and you will need Minecraft: Java Edition. Want to learn coding concepts by creating multiplayer games in Minecraft? On the DiamondFire server, students can create their own games directly within Minecraft using a drag-and-drop style coding language. Students can collaborate and build games in real time, and they can also play each other's games together. In this demo, we'll create a game on DiamondFire together and take a closer at look at how programming constructs such as events, conditions, and parameters are represented within Minecraft. If you want to follow along on the server, the address is mcdiamondfire.com and you will need Minecraft: Java Edition. false Jeremy Millard 2021-07-29T05:20:00-07:00 12:20 00:20 Room 2 Talk 274-a-minecraft-nerd-s-take-on-what-snap-can-learn-from-minecraft A Minecraft Nerd's Take on What Snap! Can Learn From Minecraft Snap is an amazing piece of work, but like every masterpiece, it can always be improved. Here’s what Snap! can learn from the popular video game Minecraft. **Social**: The reason that I spent the last 5 years playing Minecraft was because my friends were playing along with me. I would have quit ages ago if it weren’t for that social element. It wasn’t just synchronously creating and exploring the same 3D world together, most of the time we were in the same room so we could talk easily, and when we weren’t together, we used Minecraft’s chat (more recently we also use Discord). Snap! could allow programmers to code together on the same project (like Google Docs), talk through a chat window, and then even play in the same project together. Imagine a game of Poker coded by and played with many people together. **Competition**: A second reason why I played Minecraft so long was the competitions, I got really into “PvP” (player versus player combat), and it was a lot of fun playing on big minecraft servers against other players from all around the world. There's also big “hackathon” competitions hosted by the game and not the fanbase, such as https://www.competitionsciences.org/2020/10/27/you-wont-want-to-miss-the-2021-rube-goldberg-machine-minecraft-contest-heres-why/. Snap could host competitions where they have to solve a problem given to them, an example would be re-creating the scrolling T-Rex no-wifi game on chrome, the first five people to solve it get their name on a leaderboard, creating a drive within the Snap! community and having it push each other forward to become better computer scientists. **Gamification**: Minecraft has achievements for doing different things: https://minecraft.fandom.com/wiki/Achievement. There becomes a sense of competition (see above) between friends as everybody can see achievements in the group chat box. Snap! could give people achievements for creating their first 5, 10, 25, 50, 100 blocks, or using particular sets of blocks, or recursion for the first time. Snap is an amazing piece of work, but like every masterpiece, it can always be improved. Here’s what Snap! can learn from the popular video game Minecraft. **Social**: The reason that I spent the last 5 years playing Minecraft was because my friends were playing along with me. I would have quit ages ago if it weren’t for that social element. It wasn’t just synchronously creating and exploring the same 3D world together, most of the time we were in the same room so we could talk easily, and when we weren’t together, we used Minecraft’s chat (more recently we also use Discord). Snap! could allow programmers to code together on the same project (like Google Docs), talk through a chat window, and then even play in the same project together. Imagine a game of Poker coded by and played with many people together. **Competition**: A second reason why I played Minecraft so long was the competitions, I got really into “PvP” (player versus player combat), and it was a lot of fun playing on big minecraft servers against other players from all around the world. There's also big “hackathon” competitions hosted by the game and not the fanbase, such as https://www.competitionsciences.org/2020/10/27/you-wont-want-to-miss-the-2021-rube-goldberg-machine-minecraft-contest-heres-why/. Snap could host competitions where they have to solve a problem given to them, an example would be re-creating the scrolling T-Rex no-wifi game on chrome, the first five people to solve it get their name on a leaderboard, creating a drive within the Snap! community and having it push each other forward to become better computer scientists. **Gamification**: Minecraft has achievements for doing different things: https://minecraft.fandom.com/wiki/Achievement. There becomes a sense of competition (see above) between friends as everybody can see achievements in the group chat box. Snap! could give people achievements for creating their first 5, 10, 25, 50, 100 blocks, or using particular sets of blocks, or recursion for the first time. false Yuan Garcia 2021-07-29T05:40:00-07:00 12:40 00:20 Room 2 Talk 319-progkids-an-online-coding-platform-for-kids-parents-and-schools ProgKids - an Online Coding Platform for Kids, Parents, and Schools We teach kids coding in Snap! and Python, while playing in Minecraft at the same time. Our online learning environment is pre-integrated with Minecraft, hence we offer smooth and easy installation to start both learning and teaching in a matter of minutes. We provide both self-learning online courses for students as well as one-to-one teacher led curriculum. The platform provides comprehensive learning content for students for self-studies and starter-packs for teachers who would like to start working and earning with us. During the presentation we will be glad to show how the platform works, how to make first steps in programming and share some insights about future edtech development. We teach kids coding in Snap! and Python, while playing in Minecraft at the same time. Our online learning environment is pre-integrated with Minecraft, hence we offer smooth and easy installation to start both learning and teaching in a matter of minutes. We provide both self-learning online courses for students as well as one-to-one teacher led curriculum. The platform provides comprehensive learning content for students for self-studies and starter-packs for teachers who would like to start working and earning with us. During the presentation we will be glad to show how the platform works, how to make first steps in programming and share some insights about future edtech development. false Vasiliy Birulin Sergei Zhuchkov 2021-07-29T01:00:00-07:00 08:00 01:00 Room 3 Workshop 270-codification-transformation-of-gui-elements-and-database-structures-from-snap-to-python Codification (Transformation) of GUI Elements and Database Structures from Snap! to Python From Blocks Language to Typing Language by Snap! Code Conversion Codification means to create Python code directly out of Snap! code via a mapping Snap! blocks to Python code. The created Python code via codification in Snap! is downloaded and runs immediately in Python. This has been useful in supporting the steps from Snap! development in a blocks language to a typing language. I will demonstrate how we enhanced codification with GUI elements. There are now 2 elements of an application to codify and transfer Snap! code to Python: 1. GUI Elements in SNAP (Button, Listbox) to Python tkinter 2. Data store and Application logic to Python Now, students can study GUI elements, their design, and the logic of an application in Snap!. We transfer then the full application to Python. This gives a better understanding on how GUIs and the logic of an application are built and related. The workshop will start with a presentation, and then participants will be guided to transform a Snap! project into Python code. Participants will be provided with a Snap! project to codify it themselves. A Python installation will be needed on local installation to execute the transfer of the Snap! code to Python code. Presentation is here: https://drive.google.com/file/d/1ra-P3CkJNTJzktuEYDEKO4uwzcUhXSjX/view?usp=sharing Codification means to create Python code directly out of Snap! code via a mapping Snap! blocks to Python code. The created Python code via codification in Snap! is downloaded and runs immediately in Python. This has been useful in supporting the steps from Snap! development in a blocks language to a typing language. I will demonstrate how we enhanced codification with GUI elements. There are now 2 elements of an application to codify and transfer Snap! code to Python: 1. GUI Elements in SNAP (Button, Listbox) to Python tkinter 2. Data store and Application logic to Python Now, students can study GUI elements, their design, and the logic of an application in Snap!. We transfer then the full application to Python. This gives a better understanding on how GUIs and the logic of an application are built and related. The workshop will start with a presentation, and then participants will be guided to transform a Snap! project into Python code. Participants will be provided with a Snap! project to codify it themselves. A Python installation will be needed on local installation to execute the transfer of the Snap! code to Python code. Presentation is here: https://drive.google.com/file/d/1ra-P3CkJNTJzktuEYDEKO4uwzcUhXSjX/view?usp=sharing false Matthias Kim 2021-07-29T01:00:00-07:00 08:00 01:00 Room 4 Workshop 229-how-to-turn-your-phone-into-a-remote-sprite-controller-and-other-cool-ideas How to Turn Your Phone Into a Remote Sprite Controller (And Other Cool Ideas) Using Your Phone as a Sensor Many schools offer makerspaces and other opportunities for students to get their hands on simple embedded computers, sensors, and educational robots. However, most do not. The kind of sensors and devices available are limited by cost, and these kinds of activities are restricted to schools where the lab is located, making remote education difficult. But mobile devices that most students already own contain a rich collection of sensors that are connected to the internet out of the box. This presents an opportunity to teach concepts related to IoT, networking, and distributed computing that is not only accessible to novices, but also highly engaging and motivating. To make this approach a reality, we have created PhoneIoT, a mobile app for Android and iOS, which allows the built-in sensors of the device to be accessed remotely from NetsBlox, a Snap! extension. Since these devices have touchscreens as well, PhoneIoT makes it possible to configure a GUI on the phone from the same NetsBlox program that processes the sensor data and handles events from the mobile device. Hence, students can build truly distributed applications that run on two or more computers connected via the internet and that interact with the physical world via sensors. In this workshop, participants will build two applications. The first is similar to the popular handheld non-electronic maze game, where the player tries to move a ball through a maze while avoiding holes where the ball can fall in. In the PhoneIoT version, the stage contains many hole sprites that the ball must avoid to go from the lower left corner to the top right. But the ball moves based on streaming accelerometer data from the phone. That is, depending on how the user tilts their phone, the ball on the stage running on a laptop responds accordingly. In other words, you can turn your phone into a game controller. We will provide the game template that initializes the stage with hole clones and includes the code that detects the ball falling into them. Participants will work together with the instructors to access the phone’s sensors and write the code that controls the movement of the ball to get to a functional game. [Starter Hole Maze Project](https://editor.netsblox.org/?action=present&Username=devinjean&ProjectName=drop-game-skeleton&editMode&noRun) [Completed Hole Maze Project](https://editor.netsblox.org/?action=present&Username=devinjean&ProjectName=drop-game&editMode&noRun) The second application is an exercise tracker. It will display a Google Maps background both on the stage and the phone’s screen showing the user’s current location and their animated track as they move around. The phone will have a start and stop button, and a text display area showing the total distance covered. Again, a template will be provided and participants will work to finish the application. [Completed Exercise Tracker Project](https://editor.netsblox.org/?action=present&Username=devinjean&ProjectName=fitness%20tracker&editMode&noRun) The introductory slides shown at the beginning of the presentation are available [here](https://docs.google.com/presentation/d/1XlVQ4-YQczP0R48rgpWA58AGIjCxAkN1nm4Yvbv8kcY/edit?usp=sharing). [Completed Accelerometer Plotter Project](https://editor.netsblox.org/?action=present&Username=devinjean&ProjectName=accel-plotter-stage&editMode&noRun) Many schools offer makerspaces and other opportunities for students to get their hands on simple embedded computers, sensors, and educational robots. However, most do not. The kind of sensors and devices available are limited by cost, and these kinds of activities are restricted to schools where the lab is located, making remote education difficult. But mobile devices that most students already own contain a rich collection of sensors that are connected to the internet out of the box. This presents an opportunity to teach concepts related to IoT, networking, and distributed computing that is not only accessible to novices, but also highly engaging and motivating. To make this approach a reality, we have created PhoneIoT, a mobile app for Android and iOS, which allows the built-in sensors of the device to be accessed remotely from NetsBlox, a Snap! extension. Since these devices have touchscreens as well, PhoneIoT makes it possible to configure a GUI on the phone from the same NetsBlox program that processes the sensor data and handles events from the mobile device. Hence, students can build truly distributed applications that run on two or more computers connected via the internet and that interact with the physical world via sensors. In this workshop, participants will build two applications. The first is similar to the popular handheld non-electronic maze game, where the player tries to move a ball through a maze while avoiding holes where the ball can fall in. In the PhoneIoT version, the stage contains many hole sprites that the ball must avoid to go from the lower left corner to the top right. But the ball moves based on streaming accelerometer data from the phone. That is, depending on how the user tilts their phone, the ball on the stage running on a laptop responds accordingly. In other words, you can turn your phone into a game controller. We will provide the game template that initializes the stage with hole clones and includes the code that detects the ball falling into them. Participants will work together with the instructors to access the phone’s sensors and write the code that controls the movement of the ball to get to a functional game. [Starter Hole Maze Project](https://editor.netsblox.org/?action=present&Username=devinjean&ProjectName=drop-game-skeleton&editMode&noRun) [Completed Hole Maze Project](https://editor.netsblox.org/?action=present&Username=devinjean&ProjectName=drop-game&editMode&noRun) The second application is an exercise tracker. It will display a Google Maps background both on the stage and the phone’s screen showing the user’s current location and their animated track as they move around. The phone will have a start and stop button, and a text display area showing the total distance covered. Again, a template will be provided and participants will work to finish the application. [Completed Exercise Tracker Project](https://editor.netsblox.org/?action=present&Username=devinjean&ProjectName=fitness%20tracker&editMode&noRun) The introductory slides shown at the beginning of the presentation are available [here](https://docs.google.com/presentation/d/1XlVQ4-YQczP0R48rgpWA58AGIjCxAkN1nm4Yvbv8kcY/edit?usp=sharing). [Completed Accelerometer Plotter Project](https://editor.netsblox.org/?action=present&Username=devinjean&ProjectName=accel-plotter-stage&editMode&noRun) false Akos Ledeczi Devin Jean 2021-07-29T05:00:00-07:00 12:00 01:00 Room 4 Panel 266-snap-in-high-school Snap! in High School We asked a group of teachers from around the country to share: (1) What students are doing creatively in high school with Snap!, (2) What students are struggling with in high school in learning Snap!, (3) How teachers can support the learners who need more time to process coding in Snap! or need more foundational structure?, (4) How can teachers keep more advanced students engaged? Whether students are learning to program using Snap! in the context of AP CSP or in a general programming course, there are consistent issues across classrooms and challenges that together we can explore and work to improve and address. Procedures, parameters, arguments, inputs, outputs, oh my! How do we use and make comfortable the vocabulary of text based programming languages when teaching Snap! Students need to feel comfortable both on the AP CSP exam and in college CS courses. It’s great to talk about snapping blocks together, but when our students face a conversation with traditional vocabulary, they tend to feel more excluded than knowledgeable and included. In Snap! - how are we teaching the difference between calls to a procedure and different paths that can be taken in a program? Are students understanding and owning the power of procedures with inputs. We take a square to a more generalized polygon and build a contact list but students are still challenged in building personal programs that use generalized procedures with ease and purpose. It’s just too easy to stay with ask and answer. We need stronger bridges to entice them to cross the valley of ask and answer. Sure Snap! may make flow charts and code tracing seem obvious and unnecessary but when faced with flow charts and text code tracing problems, our students are not successful. Do we need to adjust how we are teaching in Snap! or better articulate the big picture? In the BJC curriculum, lists are introduced and used in a number of labs from a shopping list to a quiz app to a contact list, but are students able to integrate the power of lists into personal projects and ideas and use them in dynamic ways that take advantage of lists as holders of data? Are we making use of data sets and API calls and libraries enough as we teach and learn to use Snap! - where does it fit in and why? In the midst of these challenges, students are building amazing projects in Snap! They are connecting computer science to cross curricular areas of study as never before. From anime games to health issue challenges, from simulated card games to math explorations AP CSP is exploding thanks to the BJC curriculum and engaging students from diverse backgrounds who never saw CS as a course of study that was possible or open for them. Students who were unsure about their future interests in general are falling in love with CS and deciding that they have found an academic home and a real life connection because of Snap! How can we blend this creative energy to make our students even more creative and engaged CS students in college and beyond? We asked a group of teachers from around the country to share: (1) What students are doing creatively in high school with Snap!, (2) What students are struggling with in high school in learning Snap!, (3) How teachers can support the learners who need more time to process coding in Snap! or need more foundational structure?, (4) How can teachers keep more advanced students engaged? Whether students are learning to program using Snap! in the context of AP CSP or in a general programming course, there are consistent issues across classrooms and challenges that together we can explore and work to improve and address. Procedures, parameters, arguments, inputs, outputs, oh my! How do we use and make comfortable the vocabulary of text based programming languages when teaching Snap! Students need to feel comfortable both on the AP CSP exam and in college CS courses. It’s great to talk about snapping blocks together, but when our students face a conversation with traditional vocabulary, they tend to feel more excluded than knowledgeable and included. In Snap! - how are we teaching the difference between calls to a procedure and different paths that can be taken in a program? Are students understanding and owning the power of procedures with inputs. We take a square to a more generalized polygon and build a contact list but students are still challenged in building personal programs that use generalized procedures with ease and purpose. It’s just too easy to stay with ask and answer. We need stronger bridges to entice them to cross the valley of ask and answer. Sure Snap! may make flow charts and code tracing seem obvious and unnecessary but when faced with flow charts and text code tracing problems, our students are not successful. Do we need to adjust how we are teaching in Snap! or better articulate the big picture? In the BJC curriculum, lists are introduced and used in a number of labs from a shopping list to a quiz app to a contact list, but are students able to integrate the power of lists into personal projects and ideas and use them in dynamic ways that take advantage of lists as holders of data? Are we making use of data sets and API calls and libraries enough as we teach and learn to use Snap! - where does it fit in and why? In the midst of these challenges, students are building amazing projects in Snap! They are connecting computer science to cross curricular areas of study as never before. From anime games to health issue challenges, from simulated card games to math explorations AP CSP is exploding thanks to the BJC curriculum and engaging students from diverse backgrounds who never saw CS as a course of study that was possible or open for them. Students who were unsure about their future interests in general are falling in love with CS and deciding that they have found an academic home and a real life connection because of Snap! How can we blend this creative energy to make our students even more creative and engaged CS students in college and beyond? false Susan Ettenheim Audrey Coats Tsee Lee Ellen Falk Shoufen Jacobson 2021-07-29T01:00:00-07:00 08:00 05:00 Hallway Hallway Track 303-hallway-track Hallway Track Join us in Ohyay! Join us in Ohyay! false 2021-07-29T02:00:00-07:00 09:00 00:15 Hallway Short Break 306-break Break Social Events Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. false 2021-07-29T03:15:00-07:00 10:15 00:30 Hallway Food Break 299-food-break Food Break Take a break and step away from screens. Take a break and step away from screens. false 2021-07-29T04:45:00-07:00 11:45 00:15 Hallway Short Break 317-break Break Social Events Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. false 2021-07-29T06:00:00-07:00 13:00 00:15 Hallway Short Break 311-break Break Social Events Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. false 2021-07-29T06:15:00-07:00 13:15 00:45 Hallway Social 320-speed-dating Speed Dating Come, meet your other Snap!Con 2021 attendees in a casual, "Speed Dating"-style gathering using the Ohyay platform. We'll drop small random groups of attendees in a room for a few minutes, encouraging everyone to introduce themselves and meet each other. Here are some starter questions: - What's your name? - Where are you from? - How much Snap_!_ programming experience do you have? - What's your connection to the Snap_!_ community? - What's your favorite Snap_!_ project? - What are you looking for from this conference? - What talents do you have that you'd like to share? - What's a random, fun fact about yourself? Rinse, lather, and repeat with a new random group of attendees until the end of the session. Join us! Come, meet your other Snap!Con 2021 attendees in a casual, "Speed Dating"-style gathering using the Ohyay platform. We'll drop small random groups of attendees in a room for a few minutes, encouraging everyone to introduce themselves and meet each other. Here are some starter questions: - What's your name? - Where are you from? - How much Snap_!_ programming experience do you have? - What's your connection to the Snap_!_ community? - What's your favorite Snap_!_ project? - What are you looking for from this conference? - What talents do you have that you'd like to share? - What's a random, fun fact about yourself? Rinse, lather, and repeat with a new random group of attendees until the end of the session. Join us! false Michael Ball 2021-07-29T02:15:00-07:00 09:15 01:00 Plenary Plenary 292-what-s-new-in-snap What's New In Snap! After more than a year of pandemic-induced isolation, now is the time for "wide-walls". We have begun to open up Snap! to other forms of collaboration and to a wider variety of project domains. This in itself is an ongoing common effort in which many from around the world participate with their ideas, designs and contributions. A new major Snap! release planned for later this year revolves around the three themes Scenes, Extensions and Robots. In this talk we will offer a sneak preview of the already public in-development version and explain about its guiding pedagogical concept concept we like to call "Monte-soy-ry". After more than a year of pandemic-induced isolation, now is the time for "wide-walls". We have begun to open up Snap! to other forms of collaboration and to a wider variety of project domains. This in itself is an ongoing common effort in which many from around the world participate with their ideas, designs and contributions. A new major Snap! release planned for later this year revolves around the three themes Scenes, Extensions and Robots. In this talk we will offer a sneak preview of the already public in-development version and explain about its guiding pedagogical concept concept we like to call "Monte-soy-ry". false Jens Mönig Jadga Hügle 2021-07-29T03:45:00-07:00 10:45 01:00 Plenary Plenary 296-lightning-talks-round-1 Lightning Talks Round 1 The first of two lightning (five-minute) talk sessions. **Lightning talks are listed in the order they are scheduled, but do no count on each talk starting exactly as scheduled.** Each speaker will have 5 minutes, with the remaining time at the end to be used for Q&A. 1. [Three new blocks. A world of possibilities. NetsBlox.](/conferences/2021/program/proposals/286) 2. [microBlocks meets physics](/conferences/2021/program/proposals/279) 3. [Creating Art through Coding](/conferences/2021/program/proposals/288) 4. [Minecraft Multiplayer Hackathons](/conferences/2021/program/proposals/247) 5. [CS Frontiers: Engaging Curricula for Teachers and Students](/conferences/2021/program/proposals/265) 6. [Vera Molnar, programming and embroidery](/conferences/2021/program/proposals/280) 7. [Encryption using simple arithmetic in base 65536 or higher](/conferences/2021/program/proposals/223#2) 8. [Driving virtual robots together with blocks](/conferences/2021/program/proposals/268) 9. [A simple result in linear algebra found thanks to Snap*!* and its APL Library](/conferences/2021/program/proposals/243) The first of two lightning (five-minute) talk sessions. **Lightning talks are listed in the order they are scheduled, but do no count on each talk starting exactly as scheduled.** Each speaker will have 5 minutes, with the remaining time at the end to be used for Q&A. 1. [Three new blocks. A world of possibilities. NetsBlox.](/conferences/2021/program/proposals/286) 2. [microBlocks meets physics](/conferences/2021/program/proposals/279) 3. [Creating Art through Coding](/conferences/2021/program/proposals/288) 4. [Minecraft Multiplayer Hackathons](/conferences/2021/program/proposals/247) 5. [CS Frontiers: Engaging Curricula for Teachers and Students](/conferences/2021/program/proposals/265) 6. [Vera Molnar, programming and embroidery](/conferences/2021/program/proposals/280) 7. [Encryption using simple arithmetic in base 65536 or higher](/conferences/2021/program/proposals/223#2) 8. [Driving virtual robots together with blocks](/conferences/2021/program/proposals/268) 9. [A simple result in linear algebra found thanks to Snap*!* and its APL Library](/conferences/2021/program/proposals/243) false Jeremy Millard Ken Kahn Nathalie Carrié Akos Ledeczi Richard Millwood Gordon Stein Glen Bull Marnie Hill Andreas Gräfl 2021-07-29T03:50:00-07:00 10:50 00:05 Plenary Lightning Talk 286-three-new-blocks-a-world-of-possibilities-netsblox Three new blocks. A world of possibilities. NetsBlox. Lightning Talks In this lightning talk, we’ll show how three new blocks: **call**, **send msg** and **when I receive msg** open up students’ programs to the internet and enable a wide array of possibilities for engaging projects. NetsBlox, a Snap! extension, was designed to teach advanced concepts to novice programmers. Distributed programming, computer networking, cybersecurity, machine learning and the Internet of Things are all within grasp in students’ first programming class with NetsBlox. Example applications students can create are superimposing science data on an interactive Google Maps background, plotting up-to-date data related to climate change or the COVID-19 pandemic, distributed multi-player games, a shared whiteboard or a chatroom for the entire class. NetsBlox also supports Google Docs-like collaboration out of the box. However, in this talk, we’ll highlight the newest features of NetsBlox: 1. Accessing your phone’s sensors from your project and placing interactive GUI elements on the screen. This enables applications like 1) an exercise tracker showing your route on a map and displaying the distance covered and your speed or 2) turning your phone into a remote sprite controller. 2. A Virtual Reality environment where students get virtual robots that they can control with their NetsBlox programs. They can collaborate on tasks in this shared world or compete against each other. 3. Create and deploy your own Alexa skill by writing it entirely in NetsBlox. 4. Create a suite of auto-graded assignments within NetxBlox itself. 5. Make your own data available to any other user of NetsBlox anywhere in the world instantly. Throughout the conference, there will be workshops and talks covering these new features as well as other uses of NetsBlox. Then Sunday’s keynote will take a deeper dive into the plethora of novel domains and projects teachers and students can explore with NetsBlox. In this lightning talk, we’ll show how three new blocks: **call**, **send msg** and **when I receive msg** open up students’ programs to the internet and enable a wide array of possibilities for engaging projects. NetsBlox, a Snap! extension, was designed to teach advanced concepts to novice programmers. Distributed programming, computer networking, cybersecurity, machine learning and the Internet of Things are all within grasp in students’ first programming class with NetsBlox. Example applications students can create are superimposing science data on an interactive Google Maps background, plotting up-to-date data related to climate change or the COVID-19 pandemic, distributed multi-player games, a shared whiteboard or a chatroom for the entire class. NetsBlox also supports Google Docs-like collaboration out of the box. However, in this talk, we’ll highlight the newest features of NetsBlox: 1. Accessing your phone’s sensors from your project and placing interactive GUI elements on the screen. This enables applications like 1) an exercise tracker showing your route on a map and displaying the distance covered and your speed or 2) turning your phone into a remote sprite controller. 2. A Virtual Reality environment where students get virtual robots that they can control with their NetsBlox programs. They can collaborate on tasks in this shared world or compete against each other. 3. Create and deploy your own Alexa skill by writing it entirely in NetsBlox. 4. Create a suite of auto-graded assignments within NetxBlox itself. 5. Make your own data available to any other user of NetsBlox anywhere in the world instantly. Throughout the conference, there will be workshops and talks covering these new features as well as other uses of NetsBlox. Then Sunday’s keynote will take a deeper dive into the plethora of novel domains and projects teachers and students can explore with NetsBlox. false Akos Ledeczi 2021-07-29T03:55:00-07:00 10:55 00:05 Plenary Lightning Talk 279-microblocks-meets-physics microBlocks meets physics Lightning Talks In the past semesters, we have conducted several courses on the topic of microcontrollers with students as well as pupils. On the one hand, we would like to share our experiences that we have gained in teaching under the given conditions. On the other hand, we would also like to present you selected works of the students and pupils, which were created under the topic of "microBlocks meets physics". In the past semesters, we have conducted several courses on the topic of microcontrollers with students as well as pupils. On the one hand, we would like to share our experiences that we have gained in teaching under the given conditions. On the other hand, we would also like to present you selected works of the students and pupils, which were created under the topic of "microBlocks meets physics". false Andreas Gräfl 2021-07-29T04:00:00-07:00 11:00 00:05 Plenary Lightning Talk 288-creating-art-through-coding Creating Art through Coding Lightning Talks Creation of art offers an engaging way to introduce coding to novices. Participants in this workshop will have the opportunity to explore creation of art in different styles, including the sculptors Alexander Calder and Bathsheba Grossman, the nineteenth century post-impressionist artist, Georges Seurat, the twentieth century artists Mark Rothco and Jackson Pollock, and the contemporary illustrator, Peter Reynolds. Each of these artists works in a different style and in different mediums. These styles provide opportunities to emulate these artistic approaches through the medium of digital technologies. The art activities that will be explored during the workshop are drawn from a course, EDIS 2200: Creating Art, Animations & Music through Coding, taught in the School of Education and Human Development at the University of Virginia. The course has also been approved by the Department of Computer Science as an elective in the Bachelor of Arts in Computer Science (BACS) degree program. The workshop will be supported by instructional videos and resources designed to support the course. Participants in the workshop will have the opportunity to see art created by students using these tools. Participants will also have the opportunity to share their creations with one another. Reference Bull, G., Watts, J. & Nguyen, N.R. (Eds.) (2020). Creating art, animation & music through coding. Association for Advancement of Computers in Education. Creation of art offers an engaging way to introduce coding to novices. Participants in this workshop will have the opportunity to explore creation of art in different styles, including the sculptors Alexander Calder and Bathsheba Grossman, the nineteenth century post-impressionist artist, Georges Seurat, the twentieth century artists Mark Rothco and Jackson Pollock, and the contemporary illustrator, Peter Reynolds. Each of these artists works in a different style and in different mediums. These styles provide opportunities to emulate these artistic approaches through the medium of digital technologies. The art activities that will be explored during the workshop are drawn from a course, EDIS 2200: Creating Art, Animations & Music through Coding, taught in the School of Education and Human Development at the University of Virginia. The course has also been approved by the Department of Computer Science as an elective in the Bachelor of Arts in Computer Science (BACS) degree program. The workshop will be supported by instructional videos and resources designed to support the course. Participants in the workshop will have the opportunity to see art created by students using these tools. Participants will also have the opportunity to share their creations with one another. Reference Bull, G., Watts, J. & Nguyen, N.R. (Eds.) (2020). Creating art, animation & music through coding. Association for Advancement of Computers in Education. false Rich Nguyen Jo Watts Glen Bull 2021-07-29T04:05:00-07:00 11:05 00:05 Plenary Lightning Talk 247-minecraft-multiplayer-hackathons Minecraft Multiplayer Hackathons Lightning Talks What are the unique benefits and challenges of running a hackathon in Minecraft? This talk will share observations from game jam hackathon events on the DiamondFire multiplayer server. In these game jam events, teams are given a theme and a limited amount of time to design and program a game on top of Minecraft. I’ll discuss how the Minecraft platform and multiplayer setting engages students, the restrictions that come from building on top of Minecraft, and how ultimately those same restrictions can help unlock students’ creativity. DiamondFire: https://mcdiamondfire.com What are the unique benefits and challenges of running a hackathon in Minecraft? This talk will share observations from game jam hackathon events on the DiamondFire multiplayer server. In these game jam events, teams are given a theme and a limited amount of time to design and program a game on top of Minecraft. I’ll discuss how the Minecraft platform and multiplayer setting engages students, the restrictions that come from building on top of Minecraft, and how ultimately those same restrictions can help unlock students’ creativity. DiamondFire: https://mcdiamondfire.com false Jeremy Millard 2021-07-29T04:10:00-07:00 11:10 00:05 Plenary Lightning Talk 265-cs-frontiers-engaging-curricula-for-teachers-and-students CS Frontiers: Engaging Curricula for Teachers and Students Lightning Talks CS Frontiers is a new course that is being developed for students who have successfully completed the AP Computer Science Principles course. This course is an alternative to AP Computer Science A, which focuses on Java programming. CS Frontiers is a project-based curriculum that teaches about distributed computing, computer networking, cybersecurity, the internet of things, and machine learning. It is meant to be hands-on, enabling students to work on problems that are culturally relevant and engaging. The majority of the curriculum utilizes NetsBlox, which is a collaborative, block-based programming environment that extends Snap!. NetsBlox enables students to work together on the same project remotely similarly to how Google Docs operate. More information is available at https://netsblox.org. CS Frontiers is a new course that is being developed for students who have successfully completed the AP Computer Science Principles course. This course is an alternative to AP Computer Science A, which focuses on Java programming. CS Frontiers is a project-based curriculum that teaches about distributed computing, computer networking, cybersecurity, the internet of things, and machine learning. It is meant to be hands-on, enabling students to work on problems that are culturally relevant and engaging. The majority of the curriculum utilizes NetsBlox, which is a collaborative, block-based programming environment that extends Snap!. NetsBlox enables students to work together on the same project remotely similarly to how Google Docs operate. More information is available at https://netsblox.org. false Marnie Hill 2021-07-29T04:15:00-07:00 11:15 00:05 Plenary Lightning Talk 280-vera-molnar-programming-and-embroidery Vera Molnar, Programming and Embroidery Lightning Talks Embroidery and computing have a long history, exemplified by the work of Vera Molnar. Her early work in 1946 developed embroidery algorithmicly without any recourse to computers. Subsequently she programmed designs when she had access to computing power in the 1960s. One particular design is explored in this lightning talk, in which Molnar at created an array of 4x4 arrays of pin, and then wound thread from pin to pin in random walks. [A Turtlestitch version](https://www.turtlestitch.org/users/Richard/projects/Hommage%20to%20Moln%C3%A1r) of this algorithm and artwork will be demonstrated. Embroidery and computing have a long history, exemplified by the work of Vera Molnar. Her early work in 1946 developed embroidery algorithmicly without any recourse to computers. Subsequently she programmed designs when she had access to computing power in the 1960s. One particular design is explored in this lightning talk, in which Molnar at created an array of 4x4 arrays of pin, and then wound thread from pin to pin in random walks. [A Turtlestitch version](https://www.turtlestitch.org/users/Richard/projects/Hommage%20to%20Moln%C3%A1r) of this algorithm and artwork will be demonstrated. false Richard Millwood 2021-07-29T04:20:00-07:00 11:20 00:05 Plenary Lightning Talk 223-encryption-using-simple-arithmetic-in-base-65536-or-higher Encryption Using Simple Arithmetic in Base 65536 or Higher Having fun with Bignums Lightning Talks Note that the day after this talk the project was significantly improved and made clearer. And note that it requires [the dev version of Snap!](https://snap.berkeley.edu/versions/dev/snap.html#) A demo and discussion of [this project that can turn any text into gibberish and back again](https://snap.berkeley.edu/project?user=toontalk&project=text%20to%20bignum). A very simple encryption algorithm that treats each letter in the text as a digit in base 2^16 (or 2^32 if you prefer) using the Unicode reporter. Encryption is just integer multiplication and decryption is just division. A very simple enhancement will prevent a weakness if the same key is used multiple times. This relies on a simple way to turn any text into a number and then turn that number back into the original text. The idea is to treat any character as a digit. So what if to encrypt one does one or two reversible operations on these numbers? Come and see the demo and find out. Play with the project to see how this works. Relies upon the BIGNUM library. And bignums (integers with as many digits as your computer has memory for) are cool! Note that the day after this talk the project was significantly improved and made clearer. And note that it requires [the dev version of Snap!](https://snap.berkeley.edu/versions/dev/snap.html#) A demo and discussion of [this project that can turn any text into gibberish and back again](https://snap.berkeley.edu/project?user=toontalk&project=text%20to%20bignum). A very simple encryption algorithm that treats each letter in the text as a digit in base 2^16 (or 2^32 if you prefer) using the Unicode reporter. Encryption is just integer multiplication and decryption is just division. A very simple enhancement will prevent a weakness if the same key is used multiple times. This relies on a simple way to turn any text into a number and then turn that number back into the original text. The idea is to treat any character as a digit. So what if to encrypt one does one or two reversible operations on these numbers? Come and see the demo and find out. Play with the project to see how this works. Relies upon the BIGNUM library. And bignums (integers with as many digits as your computer has memory for) are cool! false Ken Kahn 2021-07-29T04:25:00-07:00 11:25 00:05 Plenary Lightning Talk 268-driving-virtual-robots-together-with-blocks Driving virtual robots together with blocks Lightning Talks Distance education has recently become more of a priority. As students return to classrooms, a “hybrid” model will be used by some, requiring collaboration between students attending physically and virtually. This talk will showcase an in-development platform using a Snap!-based programming interface combined with a networked robotics simulation to allow students to participate in collaborative robotics education no matter the distance and no matter their level of experience. This platform will help reduce the barriers to entry for classroom robotics education, allowing it to reach a wider range of students. Distance education has recently become more of a priority. As students return to classrooms, a “hybrid” model will be used by some, requiring collaboration between students attending physically and virtually. This talk will showcase an in-development platform using a Snap!-based programming interface combined with a networked robotics simulation to allow students to participate in collaborative robotics education no matter the distance and no matter their level of experience. This platform will help reduce the barriers to entry for classroom robotics education, allowing it to reach a wider range of students. false Gordon Stein 2021-07-29T04:30:00-07:00 11:30 00:05 Plenary Lightning Talk 243-a-simple-result-in-linear-algebra-found-thanks-to-snap-and-its-apl-library A simple result in linear algebra found thanks to Snap! and its APL Library Lightning Talks ### [Slides](https://nathalierun.net/depotLibre/SnapCon2021/A_simple_result_in_linear_algebra_SnapCon2021.pdf) This talk concerns a branch of mathematics, linear algebra. I have started a Snap*!* project of matrix calculus and by chance, while testing my blocks, I came across a result of linear algebra apparently unknown today, result that can simply be proven. I will first make a simple foray through the APL library, giving concrete examples that can be used by our students of the terminal cycle of the second degree and students of the first 2 years of university following a mathematical curriculum. We will look at how to quickly generate matrices with the APL library, the basis of the matrix computation needed to study linear applications in algebra. We will then detail each block of the matrix calculation project that we created, coefficient extracted from a matrix, cofactors, trace, determinant. We will then present the linear algebra result that we discovered by chance, and its proof. **Summary** > First, a few how to > - How to generate the identity matrix of size n > - How to generate a random matrix > - How to compute the trace of a matrix using the power of the map block: 2 ways to calculate the trace: 1. old school 2. with the map block > - How to extract the a_i,j coefficient from an A matrix > - How to select a row or column in a matrix A > - How to get the cofactor matrix of a given matrix > - How to compute the determinant of a given matrix using a recursive formula > - How to get the inverse of a matrix > > Conjecture on square matrices of order n of natural integers from 1 to n^2 > - How to generate this square matrix > - Calculation of the determinant of this square matrix for n in {3, 4, 5, 6, 7} > > Conclusion > - Theorem: As soon as n≥3, the determinant of the square matrix of order n whose coefficients are the integers from 1 to n^2 (in the natural order) is equal to zero. > - Very short proof of the statement. Everything will be detailed on slides and in a very progressive way so that everyone can access the understanding of the current calculation, especially students. The aim is for this work to be continued and deepened. In this presentation, I want to highlight how much Snap*!* can be useful to do mathematical computations, especially now that the APL library is available. You can refer to the [Wikipedia's page](https://en.wikipedia.org/wiki/Matrix_(mathematics)) on the subject to see some definitions. ### [Slides](https://nathalierun.net/depotLibre/SnapCon2021/A_simple_result_in_linear_algebra_SnapCon2021.pdf) This talk concerns a branch of mathematics, linear algebra. I have started a Snap*!* project of matrix calculus and by chance, while testing my blocks, I came across a result of linear algebra apparently unknown today, result that can simply be proven. I will first make a simple foray through the APL library, giving concrete examples that can be used by our students of the terminal cycle of the second degree and students of the first 2 years of university following a mathematical curriculum. We will look at how to quickly generate matrices with the APL library, the basis of the matrix computation needed to study linear applications in algebra. We will then detail each block of the matrix calculation project that we created, coefficient extracted from a matrix, cofactors, trace, determinant. We will then present the linear algebra result that we discovered by chance, and its proof. **Summary** > First, a few how to > - How to generate the identity matrix of size n > - How to generate a random matrix > - How to compute the trace of a matrix using the power of the map block: 2 ways to calculate the trace: 1. old school 2. with the map block > - How to extract the a_i,j coefficient from an A matrix > - How to select a row or column in a matrix A > - How to get the cofactor matrix of a given matrix > - How to compute the determinant of a given matrix using a recursive formula > - How to get the inverse of a matrix > > Conjecture on square matrices of order n of natural integers from 1 to n^2 > - How to generate this square matrix > - Calculation of the determinant of this square matrix for n in {3, 4, 5, 6, 7} > > Conclusion > - Theorem: As soon as n≥3, the determinant of the square matrix of order n whose coefficients are the integers from 1 to n^2 (in the natural order) is equal to zero. > - Very short proof of the statement. Everything will be detailed on slides and in a very progressive way so that everyone can access the understanding of the current calculation, especially students. The aim is for this work to be continued and deepened. In this presentation, I want to highlight how much Snap*!* can be useful to do mathematical computations, especially now that the APL library is available. You can refer to the [Wikipedia's page](https://en.wikipedia.org/wiki/Matrix_(mathematics)) on the subject to see some definitions. false Nathalie Carrié 2021-07-30T01:00:00-07:00 08:00 01:00 Room 1 Workshop 246-creative-programming-with-turtlestitch Creative Programming with TurtleStitch Learners Create Embroidery Designs and Learning Materials In this workshop, the participants will be introduced to a learning scenario for creative programming in TurtleStitch and explore both the tools and materials that were used and created by students during workshops we conducted in a school during project days at lower secondary level. Using TurtleStitch code to create embroidery, we intend to promote learning in a creative setting that matches with the ideas of constructionism, which has the creation of personally meaningful artifacts in its core. In the learning scenario that we introduce, the students not only program and stitch their own embroideries, but also create learning cards about their projects in which they explain their code and give hints to others who might want to reproduce the project (in addition to sharing their projects online). During the workshop, we will present the details of the setting and learning scenario, provide participants with the learning material, and demonstrate how to use TurtleStitch in order to create files for programmable embroidery machines (based on the example of the Brother Innov-is 750E, which we use in our setting). Attendees will have the opportunity to gain hands-on experience with TurtleStitch. Specifically, we will ask them to work with the examples created by our students in order to examine and evaluate whether the learning cards are suitable for individual learning: are they sufficiently well explained, can the ideas be followed, are they suitable for sharing with other learners for independent work in TurtleStitch? The workshop agenda will thus be as follows: - Presenting the settings (5 minutes) - Project days - Age group - Process of the workshop - Learning materials and manuals - Stitching materials - Embroidery machine used - Creative phase - Demonstration and hands-on programming with the audience: Basic pattern, letters etc. (15 minutes) - Follow the instructions on our students' learning cards: Examine the cards, learn what the corresponding code does, try to find interesting details (20 minutes) - Discussion and reflection of the students' work: What was easy to understand for us, what was difficult? Where did the students have problems? Was the explanation on the students' learning cards sufficient? (10 minutes) - Brush up and lessons learned (10 minutes) All materials are available at https://mia.phsz.ch/Informatikdidaktik/TurtleStitch In this workshop, the participants will be introduced to a learning scenario for creative programming in TurtleStitch and explore both the tools and materials that were used and created by students during workshops we conducted in a school during project days at lower secondary level. Using TurtleStitch code to create embroidery, we intend to promote learning in a creative setting that matches with the ideas of constructionism, which has the creation of personally meaningful artifacts in its core. In the learning scenario that we introduce, the students not only program and stitch their own embroideries, but also create learning cards about their projects in which they explain their code and give hints to others who might want to reproduce the project (in addition to sharing their projects online). During the workshop, we will present the details of the setting and learning scenario, provide participants with the learning material, and demonstrate how to use TurtleStitch in order to create files for programmable embroidery machines (based on the example of the Brother Innov-is 750E, which we use in our setting). Attendees will have the opportunity to gain hands-on experience with TurtleStitch. Specifically, we will ask them to work with the examples created by our students in order to examine and evaluate whether the learning cards are suitable for individual learning: are they sufficiently well explained, can the ideas be followed, are they suitable for sharing with other learners for independent work in TurtleStitch? The workshop agenda will thus be as follows: - Presenting the settings (5 minutes) - Project days - Age group - Process of the workshop - Learning materials and manuals - Stitching materials - Embroidery machine used - Creative phase - Demonstration and hands-on programming with the audience: Basic pattern, letters etc. (15 minutes) - Follow the instructions on our students' learning cards: Examine the cards, learn what the corresponding code does, try to find interesting details (20 minutes) - Discussion and reflection of the students' work: What was easy to understand for us, what was difficult? Where did the students have problems? Was the explanation on the students' learning cards sufficient? (10 minutes) - Brush up and lessons learned (10 minutes) All materials are available at https://mia.phsz.ch/Informatikdidaktik/TurtleStitch false Beat Horat Mareen Grillenberger 2021-07-30T05:00:00-07:00 12:00 00:20 Room 1 Talk 285-catrobat Catrobat Learning from NetsBlox, eCraft2Learn's AI extension, TurtleStitch, and Snap! Catrobat considers itself the little sister project of Scratch for smartphones. Over the last decade, the Catrobat FOSS team has turned towards Snap!, TurtleStitch, NetsBlox, and ecraft2learn's AI extension for inspiration and new ideas to bring to Android and iOS. In my presentation I will show what in particular inspired us from Snap!, what we cannot yet do but are working on, as well as a few ideas from Catrobat that could be of use to others. Here are a few keywords on what we are currently still working on but already have implemented to some degree: Embroidery, generalized lists and lambda, JavaScript integration, hacker/dark-red mode, web API access, and AI integration. And a few things we can share: Scenes, merging, unit- and functional testing *in* the block-based visual language, signing of user apps, our physics game engine, and of course the small form factor of smartphones. Catrobat considers itself the little sister project of Scratch for smartphones. Over the last decade, the Catrobat FOSS team has turned towards Snap!, TurtleStitch, NetsBlox, and ecraft2learn's AI extension for inspiration and new ideas to bring to Android and iOS. In my presentation I will show what in particular inspired us from Snap!, what we cannot yet do but are working on, as well as a few ideas from Catrobat that could be of use to others. Here are a few keywords on what we are currently still working on but already have implemented to some degree: Embroidery, generalized lists and lambda, JavaScript integration, hacker/dark-red mode, web API access, and AI integration. And a few things we can share: Scenes, merging, unit- and functional testing *in* the block-based visual language, signing of user apps, our physics game engine, and of course the small form factor of smartphones. false Wolfgang Slany 2021-07-30T05:20:00-07:00 12:20 00:20 Room 1 Talk 231-smalltalk-why-all-the-fuss Smalltalk: Why All the Fuss? Inspired by Logo, Smalltalk is a programming language and environment originally designed for children at Xerox PARC in the 1970s with the clear vision that computers should be graphical and fully programmable. It became the birthplace of so many ideas that we identify as universal computer concepts nowadays, such as desktops, object orientation, overlapping windows, dropdown menus or icons. Since Scratch was initially developed in Smalltalk, and being Jens Mönig a Smalltalk developer himself, many of its ideas permeated into Snap!, and more are sure to come further down the line. In this live demonstration we will take a look at Smalltalk and we will try to convey what makes this environment so powerful and revolutionary, even 50 years after it was first conceived. Inspired by Logo, Smalltalk is a programming language and environment originally designed for children at Xerox PARC in the 1970s with the clear vision that computers should be graphical and fully programmable. It became the birthplace of so many ideas that we identify as universal computer concepts nowadays, such as desktops, object orientation, overlapping windows, dropdown menus or icons. Since Scratch was initially developed in Smalltalk, and being Jens Mönig a Smalltalk developer himself, many of its ideas permeated into Snap!, and more are sure to come further down the line. In this live demonstration we will take a look at Smalltalk and we will try to convey what makes this environment so powerful and revolutionary, even 50 years after it was first conceived. false Bernat Romagosa 2021-07-30T05:40:00-07:00 12:40 00:20 Room 1 Talk 283-a-block-language-for-storytelling-education-and-computational-thinking A Block Language for Storytelling, Education, and Computational Thinking Storytelling is one of the main topics (stories, games, and animations) that block languages have been developed for. But the biggest part of stories developed by users of block languages are PMVs (Picture Music Video), AMVs (Animation Music Video), or MAPs (Multi-Animator Project). In those projects the animation is not realized by using blocks devoted to Movements or by applying changes to the Look of a sprite costume. Storytelling is an excellent strategy for education, as it attracts the attention of the learner and makes the learning process light and engaging. Furthermore, storytelling improves the communication skills of the students allowing them to create, test and revise their stories (interactive or not). Finally stories can be completed by adding final interactive tests based on images and animations, that will allow the users to easily verify their knowledge. Usually the developers of animations prefer to create a large amount of different costumes where the characters of the animation are slightly displaced from costume to costume. This is a fairly simple strategy that requires a fair amount of space and time for creating slightly different copies of a costume, but low programming skills. The same problem arises when we want to update the animation. Creating an animation just using blocks (for example by using blocks from the Pen category) it is at the opposite extreme as it requires a lot of programming skills and will not catch the interest of those users of a block language that do not feel comfortable with programming. An intermediate strategy is exploding the characters/objects in subparts and then moving or changing the look of those subparts by using programming blocks. But even this strategy requires knowledge about cartesian coordinates, mathematical operators, variables, and, usually, a lot of synchronized show and hide operations. Even using other kinds of tools is not a simpler strategy. Other tools have their problems for what concerns the non-tecky user: - presentation managers (e.g. Powerpoint/Impress): no basic tools, complex programming (text based and complex instructions/operators). Referring to an object requires an object-oriented notation - storytelling tools: no programming tools to enhance the possibility offered by the application - full programming environments: too many complex and repetitive/tedious operations A better strategy is to create a Snap mod that would allow block language users to gradually move from a simple "frame-based" strategy (like a slideshow or a regular cartoon) to a full-fledged "pen-based" animation, but only where and when desired. The new mod is not very different from Snap, but makes available powerful strategies to create stories and educational projects based on storytelling. The strategies that are more often used in an educational project are: - creating several "scenes" with specific backgrounds and characters - moving the characters around - highlighting the characters related to each phase of the explanation - producing the audio associated to speech bubbles and synchronizing the related animations - presenting the answers of the final quiz in a random order - accumulating the "score" of the user during the final quiz - giving a final feedback based on the cumulative score The Snap mod for simplified interactive stories is based on the following elements: - the possibility to create different "scenes" with specific backgrounds that can be duplicated and where characters and their scripts can be copied from one scene to another - new blocks to move the characters in a simplified way on a smaller grid or to specific places (up, down, top, bottom, left, right, far left, far right, center) - new blocks to highlight the project characters by adding colored borders or a colored frame - new blocks to play a synthesized audio that replicates the speech bubble text and that start the associated animation scripts / scene Using this new set of features and blocks: - reduces the burden of boring/difficult operations and repetive scripts - simplify the amount of concepts that must be learnt - allows the users to still learn how computer programming works in simplified and step-wise way by keeping the basic concepts of sequence, loop and message - allow to gradually move to more advanced concepts such as procedures, lists, etc To conclude the talk it will be shown how a complex educational project developed with Snap can be reduced and developed more quickly by using the new mod. Block languages are an incredible tool to teach programming languages. But enhancing a block language will make it an incredible tool to learn computational thinking for a larger audience. Storytelling is one of the main topics (stories, games, and animations) that block languages have been developed for. But the biggest part of stories developed by users of block languages are PMVs (Picture Music Video), AMVs (Animation Music Video), or MAPs (Multi-Animator Project). In those projects the animation is not realized by using blocks devoted to Movements or by applying changes to the Look of a sprite costume. Storytelling is an excellent strategy for education, as it attracts the attention of the learner and makes the learning process light and engaging. Furthermore, storytelling improves the communication skills of the students allowing them to create, test and revise their stories (interactive or not). Finally stories can be completed by adding final interactive tests based on images and animations, that will allow the users to easily verify their knowledge. Usually the developers of animations prefer to create a large amount of different costumes where the characters of the animation are slightly displaced from costume to costume. This is a fairly simple strategy that requires a fair amount of space and time for creating slightly different copies of a costume, but low programming skills. The same problem arises when we want to update the animation. Creating an animation just using blocks (for example by using blocks from the Pen category) it is at the opposite extreme as it requires a lot of programming skills and will not catch the interest of those users of a block language that do not feel comfortable with programming. An intermediate strategy is exploding the characters/objects in subparts and then moving or changing the look of those subparts by using programming blocks. But even this strategy requires knowledge about cartesian coordinates, mathematical operators, variables, and, usually, a lot of synchronized show and hide operations. Even using other kinds of tools is not a simpler strategy. Other tools have their problems for what concerns the non-tecky user: - presentation managers (e.g. Powerpoint/Impress): no basic tools, complex programming (text based and complex instructions/operators). Referring to an object requires an object-oriented notation - storytelling tools: no programming tools to enhance the possibility offered by the application - full programming environments: too many complex and repetitive/tedious operations A better strategy is to create a Snap mod that would allow block language users to gradually move from a simple "frame-based" strategy (like a slideshow or a regular cartoon) to a full-fledged "pen-based" animation, but only where and when desired. The new mod is not very different from Snap, but makes available powerful strategies to create stories and educational projects based on storytelling. The strategies that are more often used in an educational project are: - creating several "scenes" with specific backgrounds and characters - moving the characters around - highlighting the characters related to each phase of the explanation - producing the audio associated to speech bubbles and synchronizing the related animations - presenting the answers of the final quiz in a random order - accumulating the "score" of the user during the final quiz - giving a final feedback based on the cumulative score The Snap mod for simplified interactive stories is based on the following elements: - the possibility to create different "scenes" with specific backgrounds that can be duplicated and where characters and their scripts can be copied from one scene to another - new blocks to move the characters in a simplified way on a smaller grid or to specific places (up, down, top, bottom, left, right, far left, far right, center) - new blocks to highlight the project characters by adding colored borders or a colored frame - new blocks to play a synthesized audio that replicates the speech bubble text and that start the associated animation scripts / scene Using this new set of features and blocks: - reduces the burden of boring/difficult operations and repetive scripts - simplify the amount of concepts that must be learnt - allows the users to still learn how computer programming works in simplified and step-wise way by keeping the basic concepts of sequence, loop and message - allow to gradually move to more advanced concepts such as procedures, lists, etc To conclude the talk it will be shown how a complex educational project developed with Snap can be reduced and developed more quickly by using the new mod. Block languages are an incredible tool to teach programming languages. But enhancing a block language will make it an incredible tool to learn computational thinking for a larger audience. false Stefano Federici 2021-07-30T01:00:00-07:00 08:00 01:00 Room 2 Workshop 255-math-c-mathematics-through-programming-in-the-elementary-grades Math+C: Mathematics Through Programming in the Elementary Grades The Math+C project at Education Development Center (EDC) is developing a coherent integration of CS ideas and skills into elementary mathematics. Our broad hypothesis is that programming, suitably designed, can be an optimal language for children to express and explore mathematical ideas, changing how children learn mathematics and helping develop and reveal children's computational thinking (in particular, abstraction, precision of specification, and algorithm). Programming is thus seen as both a medium and language for children’s mathematical and computational thinking and a new and useful window into that thinking for teachers and children. We are investigating that hypothesis in grades 2–5 and also looking more broadly at what features of a programming environment best supports this kind of work. We will share several samples of microworlds we have designed in Snap! for grades 2–5 classrooms and share ideas for other extensions and microworlds appropriate for grades 2–5, with one goal being to encourage others to develop and investigate other such microworlds. Number line, Fraction number line, Decimal number line: Second graders start by programming combinations of ±3 and ±5 to see what numbers they can make, and build fluency adding and subtracting within 20 predicting results mentally. Later, they extend that through 1000. Students in later grades explore fractions and decimals in a similar way. Multiplication, Arrays: In the Multiplication microworld, children build multiplication expressions using only the factors 2, 3, 5, and 7, exploring what numbers they can and can’t make, and in what ways they can make them. Children use lists to track their explorations and are introduced to ideas of sorting and eliminating duplicates. In the Arrays microworld, children build small arrays anticipating simple multiplication. Additional microworlds focus on building ideas about place value, and moving on a coordinate grid and comparing distances. Introducing programming to children this young—especially ones who’ve had no prior programming experience—and doing that in service of the core mathematics they are learning in school requires the entry to programming to focus on the mathematics and create no overhead. This ease is also critical for teachers. For this reason, we have developed a microworld environment that lets us preserve all the power of Snap! but tailor the options to present all, but only, what the children initially need, and gradually reveal greater power and more features as children need them. This session will include discussion of the rationale and need for microworld environments, the design of the environments and supporting instructional materials, and how these microworlds are implemented in SnapI. We will share video of elementary students developing both mathematical and CS concepts and some of our learnings about how children operate within these environments. Participants will be invited to explore the microworld environments themselves. In addition, we will discuss how the tools and design of the Math+C microworlds can be used by others to create their own microworlds for children’s learning in other contexts. For more information, see https://elementarymath.edc.org/programming/ The Math+C project at Education Development Center (EDC) is developing a coherent integration of CS ideas and skills into elementary mathematics. Our broad hypothesis is that programming, suitably designed, can be an optimal language for children to express and explore mathematical ideas, changing how children learn mathematics and helping develop and reveal children's computational thinking (in particular, abstraction, precision of specification, and algorithm). Programming is thus seen as both a medium and language for children’s mathematical and computational thinking and a new and useful window into that thinking for teachers and children. We are investigating that hypothesis in grades 2–5 and also looking more broadly at what features of a programming environment best supports this kind of work. We will share several samples of microworlds we have designed in Snap! for grades 2–5 classrooms and share ideas for other extensions and microworlds appropriate for grades 2–5, with one goal being to encourage others to develop and investigate other such microworlds. Number line, Fraction number line, Decimal number line: Second graders start by programming combinations of ±3 and ±5 to see what numbers they can make, and build fluency adding and subtracting within 20 predicting results mentally. Later, they extend that through 1000. Students in later grades explore fractions and decimals in a similar way. Multiplication, Arrays: In the Multiplication microworld, children build multiplication expressions using only the factors 2, 3, 5, and 7, exploring what numbers they can and can’t make, and in what ways they can make them. Children use lists to track their explorations and are introduced to ideas of sorting and eliminating duplicates. In the Arrays microworld, children build small arrays anticipating simple multiplication. Additional microworlds focus on building ideas about place value, and moving on a coordinate grid and comparing distances. Introducing programming to children this young—especially ones who’ve had no prior programming experience—and doing that in service of the core mathematics they are learning in school requires the entry to programming to focus on the mathematics and create no overhead. This ease is also critical for teachers. For this reason, we have developed a microworld environment that lets us preserve all the power of Snap! but tailor the options to present all, but only, what the children initially need, and gradually reveal greater power and more features as children need them. This session will include discussion of the rationale and need for microworld environments, the design of the environments and supporting instructional materials, and how these microworlds are implemented in SnapI. We will share video of elementary students developing both mathematical and CS concepts and some of our learnings about how children operate within these environments. Participants will be invited to explore the microworld environments themselves. In addition, we will discuss how the tools and design of the Math+C microworlds can be used by others to create their own microworlds for children’s learning in other contexts. For more information, see https://elementarymath.edc.org/programming/ false June Mark Paul Goldenberg Zak Kolar Deborah Spencer Kate Coleman Kristen Reed 2021-07-30T05:20:00-07:00 12:20 00:20 Room 2 Talk 276-sdl4snap SDL4Snap! Direct SDL to Snap! translation [SDL4Snap!](https://github.com/pixavier/sdl4snap) is a Snap! library that lets us translate directly SDL models to Snap!. SDL is a standardized graphical language, widely used for formal and non-ambiguous models, that provides a solid foundation for specifying agent-based simulation software. It is easy to understand and it can be used by people coming from different disciplines. SDL4Snap! can be used to bring SDL closer to Snap! practitioners, but also to bring Snap! to SDL practitioners. It can be combined with [MQTT4Snap!](https://github.com/pixavier/mqtt4snap) to build distributed agent simulation programs. [SDL4Snap!](https://github.com/pixavier/sdl4snap) is a Snap! library that lets us translate directly SDL models to Snap!. SDL is a standardized graphical language, widely used for formal and non-ambiguous models, that provides a solid foundation for specifying agent-based simulation software. It is easy to understand and it can be used by people coming from different disciplines. SDL4Snap! can be used to bring SDL closer to Snap! practitioners, but also to bring Snap! to SDL practitioners. It can be combined with [MQTT4Snap!](https://github.com/pixavier/mqtt4snap) to build distributed agent simulation programs. false Xavier Pi 2021-07-30T05:40:00-07:00 12:40 00:20 Room 2 Talk 264-bringing-cs-frontiers-to-high-school-girls-ai-ml-and-distributed-computing Bringing CS Frontiers to High School Girls: AI/ML and Distributed Computing Historically, females have shown a declining interest in the field of computer science. Previous computer science curricula has failed to address the lack of female centered computer science activities, such as socially relevant and real-life events. Therefore, the Computer Science Frontiers project introduces teachers to the topics of artificial intelligence and distributed computing so that they can engage their students in computing by connecting lessons to relevant cutting edge technologies. Relevant topics include social media and news articles, as well as climate change, the arts(movies, music, and museum collections), and public health/medicine. We prepared these educators in a pedagogy and peer-teaching centered professional development program where they simultaneously learned and taught artificial intelligence and distributed computing lessons to each other. Afterward, the teachers tailored the materials to their teaching styles and piloted the material with summer camp students. This allowed educators to hone in on their teaching skills of these new topics and gain confidence in their ability to teach the new computer science material before running the full program with their students in the academic year classroom. In this impactful talk, teachers will discuss their experience teaching these topics in the summer camp as well as the tools used to facilitate materials to students. Historically, females have shown a declining interest in the field of computer science. Previous computer science curricula has failed to address the lack of female centered computer science activities, such as socially relevant and real-life events. Therefore, the Computer Science Frontiers project introduces teachers to the topics of artificial intelligence and distributed computing so that they can engage their students in computing by connecting lessons to relevant cutting edge technologies. Relevant topics include social media and news articles, as well as climate change, the arts(movies, music, and museum collections), and public health/medicine. We prepared these educators in a pedagogy and peer-teaching centered professional development program where they simultaneously learned and taught artificial intelligence and distributed computing lessons to each other. Afterward, the teachers tailored the materials to their teaching styles and piloted the material with summer camp students. This allowed educators to hone in on their teaching skills of these new topics and gain confidence in their ability to teach the new computer science material before running the full program with their students in the academic year classroom. In this impactful talk, teachers will discuss their experience teaching these topics in the summer camp as well as the tools used to facilitate materials to students. false Isabella Gransbury 2021-07-30T01:00:00-07:00 08:00 01:00 Room 3 Workshop 290-coding-art-with-snap Coding & Art with Snap! A Beginners Workshop Online teaching has become even more popular since Covid-19. Teaching a beginner workshop in Snap_!_ can also be done completely online. With our online Moodle course, "Art & Coding," beginners learn to program with Snap_!_ using learning videos and interactive H5P content. In this workshop, we'll provide some insight into the Moodle course and its structure. And, you will program your own artwork in Snap_!_. Online teaching has become even more popular since Covid-19. Teaching a beginner workshop in Snap_!_ can also be done completely online. With our online Moodle course, "Art & Coding," beginners learn to program with Snap_!_ using learning videos and interactive H5P content. In this workshop, we'll provide some insight into the Moodle course and its structure. And, you will program your own artwork in Snap_!_. false Nicole Marmé Jens-Peter Knemeyer Alexandra Abramova Jan Ebel Wiebke Thumfart 2021-07-30T01:00:00-07:00 08:00 01:00 Room 4 Workshop 235-building-your-own-autograder-in-netsblox Building Your Own Autograder in NetsBlox Open ended programming environments provide a wonderful low threshold, high ceiling, and wide walls. However, many lack autograding capabilities. This is a missed opportunity as autograding could make them more conducive to usage in MOOCs such as Coursera as well as make curriculum easier to adopt. Furthermore, if users were able to easily create and distribute their own autograders, this could empower them to share and remix curriculum more easily - potentially even creating them from a curated collection of (autograded) exercises! To this end, we have recently added support for building your own autograder for NetsBlox in NetsBlox. With these autograders, users can navigate the available exercises from within NetsBlox, start them, and get immediate feedback about their code! They also can load starter projects and descriptions making them great for assignments like Parson’s problems. Integration with Coursera is supported which enables users to submit their assignments without leaving NetsBlox (or having to create a custom extension!). In this workshop, we will be building our own custom autograders composed of a set of exercises which could be used in a course and shared with other educators! We will start with a short introduction to NetsBlox and a hands-on introduction to autograders. Attendees will then create a simple autograder using exercises from an existing set of public NetsBlox exercises. Next, we will explore creating custom exercises from within NetsBlox including the test cases used for assessment. Attendees will then extend their autograder with additional exercises that they have created themselves! Finally, we will conclude with some additional resources as well as thoughts and feedback from the attendees. Relevant Links: - Slides are available at https://speakerdeck.com/brollb/building-your-own-autograder-in-netsblox - https://github.com/netsblox/exercises - https://editor.netsblox.org/?extensions=["https://editor.netsblox.org/services/routes/autograders/brian/NetsBlox Exercises.js"] Open ended programming environments provide a wonderful low threshold, high ceiling, and wide walls. However, many lack autograding capabilities. This is a missed opportunity as autograding could make them more conducive to usage in MOOCs such as Coursera as well as make curriculum easier to adopt. Furthermore, if users were able to easily create and distribute their own autograders, this could empower them to share and remix curriculum more easily - potentially even creating them from a curated collection of (autograded) exercises! To this end, we have recently added support for building your own autograder for NetsBlox in NetsBlox. With these autograders, users can navigate the available exercises from within NetsBlox, start them, and get immediate feedback about their code! They also can load starter projects and descriptions making them great for assignments like Parson’s problems. Integration with Coursera is supported which enables users to submit their assignments without leaving NetsBlox (or having to create a custom extension!). In this workshop, we will be building our own custom autograders composed of a set of exercises which could be used in a course and shared with other educators! We will start with a short introduction to NetsBlox and a hands-on introduction to autograders. Attendees will then create a simple autograder using exercises from an existing set of public NetsBlox exercises. Next, we will explore creating custom exercises from within NetsBlox including the test cases used for assessment. Attendees will then extend their autograder with additional exercises that they have created themselves! Finally, we will conclude with some additional resources as well as thoughts and feedback from the attendees. Relevant Links: - Slides are available at https://speakerdeck.com/brollb/building-your-own-autograder-in-netsblox - https://github.com/netsblox/exercises - https://editor.netsblox.org/?extensions=["https://editor.netsblox.org/services/routes/autograders/brian/NetsBlox Exercises.js"] false Clifford Anderson Brian Broll 2021-07-30T05:00:00-07:00 12:00 01:00 Room 4 Panel 277-bjc-middle-school-v1-0 BJC Middle School v1.0 We have provided updates on the alpha- and beta-development of the BJC Middle School curriculum the last two Snap!Cons, and have heard immeasurably valuable feedback. We went back to the drawing board, created a set of Design Principles (modeled off the BJC High School version), involved more curriculum authors, added some developers, and correlated with CSTA CS 6-8th grade and 9-10th grade standards. We went live with Professional Development for a pilot group of ~15 teachers this summer, from July 19th-23rd, 2021. We have a draft of Unit 1, a one-semester September to December curriculum that will hopefully engage students, making them eager to sign up for Unit 2 in the spring. Unit 2 is a Hardware unit, led by UC Berkeley graduate student Deanna Gelosi. We would like to use this opportunity to share the current state of our curriculum, and again provide an opportunity for the community to provide feedback. This work is funded by the Hopper-Dean foundation. We have provided updates on the alpha- and beta-development of the BJC Middle School curriculum the last two Snap!Cons, and have heard immeasurably valuable feedback. We went back to the drawing board, created a set of Design Principles (modeled off the BJC High School version), involved more curriculum authors, added some developers, and correlated with CSTA CS 6-8th grade and 9-10th grade standards. We went live with Professional Development for a pilot group of ~15 teachers this summer, from July 19th-23rd, 2021. We have a draft of Unit 1, a one-semester September to December curriculum that will hopefully engage students, making them eager to sign up for Unit 2 in the spring. Unit 2 is a Hardware unit, led by UC Berkeley graduate student Deanna Gelosi. We would like to use this opportunity to share the current state of our curriculum, and again provide an opportunity for the community to provide feedback. This work is funded by the Hopper-Dean foundation. false Dan Garcia Mary Fries Deanna Gelosi Pamela Fox Lauren Michael Ball 2021-07-30T01:00:00-07:00 08:00 05:00 Hallway Hallway Track 304-hallway-track Hallway Track Join us in ohyay! Join us in ohyay! false 2021-07-30T02:00:00-07:00 09:00 00:15 Hallway Short Break 307-break Break Social Events Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. false 2021-07-30T03:15:00-07:00 10:15 00:30 Hallway Food Break 301-food-break Food Break Take a break and step away from screens. Take a break and step away from screens. false 2021-07-30T04:45:00-07:00 11:45 00:15 Hallway Short Break 308-break Break Social Events Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. false 2021-07-30T06:00:00-07:00 13:00 00:15 Hallway Short Break 316-break Break Social Events Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. false 2021-07-30T06:15:00-07:00 13:15 00:45 Hallway Social 322-escape-room Escape Room You have been trapped in the SnapCon! lobby by a hacker attack. The electronically locked exit can only be opened with a password (or rather sentence). Hints on the solution are distributed throughout the building. But you only have 40 minutes to leave the hall, otherwise…. You have been trapped in the SnapCon! lobby by a hacker attack. The electronically locked exit can only be opened with a password (or rather sentence). Hints on the solution are distributed throughout the building. But you only have 40 minutes to leave the hall, otherwise…. false Jens-Peter Knemeyer 2021-07-30T02:15:00-07:00 09:15 01:00 Plenary Plenary 291-customizing-technology-education-for-greater-inclusivity Customizing Technology Education for Greater Inclusivity Take a look at any kid’s laptop, notebook, school locker, or bedroom and you will see it full of stickers, drawings, and posters that allow them to express their creativity and identity. By contrast, most technology education (curricula and tools) are one-size-fits-all. Educators and developers should instead allow for deep customization, at many levels, to give students ownership of their educational experience. This could range from cosmetic changes like Snap! skins or allowing kids to change the default sprite costume and stage background (and even posters on their classroom wall), to adjusting an online lesson so that it’s not Alphie and Betsy thinking out loud but instead LeBron and Kobe, to allowing students to choose the Computing in the News topic, or even their own unique path through a curriculum. With inspired proficiency-based specifications grading, they could even decide their final grade -- complete more than 8/10 units for an A, between 6 and 8 for a B, etc. Some of these preferences could be chosen by the student dynamically, some through a detailed start-of-year survey, and some through an AI-driven recommendation system that would use what similar students have preferred. Through recognizing and embracing cultural differences, we will create an educational ecosystem that will put the kids in the drivers’ seats, increase student agency and engagement, and ultimately achieve greater inclusivity. Take a look at any kid’s laptop, notebook, school locker, or bedroom and you will see it full of stickers, drawings, and posters that allow them to express their creativity and identity. By contrast, most technology education (curricula and tools) are one-size-fits-all. Educators and developers should instead allow for deep customization, at many levels, to give students ownership of their educational experience. This could range from cosmetic changes like Snap! skins or allowing kids to change the default sprite costume and stage background (and even posters on their classroom wall), to adjusting an online lesson so that it’s not Alphie and Betsy thinking out loud but instead LeBron and Kobe, to allowing students to choose the Computing in the News topic, or even their own unique path through a curriculum. With inspired proficiency-based specifications grading, they could even decide their final grade -- complete more than 8/10 units for an A, between 6 and 8 for a B, etc. Some of these preferences could be chosen by the student dynamically, some through a detailed start-of-year survey, and some through an AI-driven recommendation system that would use what similar students have preferred. Through recognizing and embracing cultural differences, we will create an educational ecosystem that will put the kids in the drivers’ seats, increase student agency and engagement, and ultimately achieve greater inclusivity. false Karina Edmonds Dan Garcia 2021-07-30T03:45:00-07:00 10:45 01:00 Plenary Plenary 297-lightning-talks-round-2 Lightning Talks Round 2 The second of two lightning (five-minute) talk sessions. **Lightning talks are listed in the order they are scheduled, but do no count on each talk starting exactly as scheduled.** Each speaker will have 5 minutes, with the remaining time at the end to be used for Q&A. 1. [Raycasting](https://www.snapcon.org/conferences/2021/program/proposals/253) 2. [Using machine learning models created in Google's Teachable Machine in Snap!](https://www.snapcon.org/conferences/2021/program/proposals/224) 3. [An implementation of multi-player real time collaboration for Snap!](https://www.snapcon.org/conferences/2021/program/proposals/260) 4. [Snap! for Rich Tasks in K-16 Math Education](https://www.snapcon.org/conferences/2021/program/proposals/271) 5. [Online Teaching and Learning Interactive Media Art with Snap!](https://www.snapcon.org/conferences/2021/program/proposals/258) 6. [Insights of making STEAM workshops for kids with block-coding.](https://www.snapcon.org/conferences/2021/program/proposals/261) 7. [Implementation review of snap! self-learning course](https://www.snapcon.org/conferences/2021/program/proposals/278) 8. [Text Editor (made in Snap!)](https://www.snapcon.org/conferences/2021/program/proposals/259) The second of two lightning (five-minute) talk sessions. **Lightning talks are listed in the order they are scheduled, but do no count on each talk starting exactly as scheduled.** Each speaker will have 5 minutes, with the remaining time at the end to be used for Q&A. 1. [Raycasting](https://www.snapcon.org/conferences/2021/program/proposals/253) 2. [Using machine learning models created in Google's Teachable Machine in Snap!](https://www.snapcon.org/conferences/2021/program/proposals/224) 3. [An implementation of multi-player real time collaboration for Snap!](https://www.snapcon.org/conferences/2021/program/proposals/260) 4. [Snap! for Rich Tasks in K-16 Math Education](https://www.snapcon.org/conferences/2021/program/proposals/271) 5. [Online Teaching and Learning Interactive Media Art with Snap!](https://www.snapcon.org/conferences/2021/program/proposals/258) 6. [Insights of making STEAM workshops for kids with block-coding.](https://www.snapcon.org/conferences/2021/program/proposals/261) 7. [Implementation review of snap! self-learning course](https://www.snapcon.org/conferences/2021/program/proposals/278) 8. [Text Editor (made in Snap!)](https://www.snapcon.org/conferences/2021/program/proposals/259) false Ken Kahn Luis Mayorga Samo Koprivec Yoshiki Ohshima Daniel Jackson Alexandra Abramova Russell Morland 2021-07-30T03:50:00-07:00 10:50 00:05 Plenary Lightning Talk 253-raycasting Raycasting 3d rendering from pixels instead of polygons Lightning Talks Last year, snap got a ray-length block. Using that, we could make a 3D image, and even with curved walls. However, that system had the problem that it was still only a 2D environment, without the ceiling and floor heights of DOOM. Based on that, I decided to create a program which does a similar thing, but in two dimensions. It choosing a colour for each pixel depending on the distance to the image, and the complexity of that location. The advantage of this system is that it can render images with many shapes quickly, as long as there is a simple pattern. In fact, it can render self-similar fractals without any additional stress. At the moment, I can generate a sphere, a tetrahedron, and a Sierpiński triangle. The renderer uses the distance and moves forward exactly that much, but it can also cut it off at whatever distance, which can be used to create additional width. This is required for the Sierpiński triangle to even be visible, but has to be minimized for the shells. At the moment, lighting is pillow shaded, like in the original ray casting demo, but any calculation can be done from the shape, such as the depth of the fractal at that point. While not complete, this project allows full 3d rendering, to the same appearance as with the ray-length block. Last year, snap got a ray-length block. Using that, we could make a 3D image, and even with curved walls. However, that system had the problem that it was still only a 2D environment, without the ceiling and floor heights of DOOM. Based on that, I decided to create a program which does a similar thing, but in two dimensions. It choosing a colour for each pixel depending on the distance to the image, and the complexity of that location. The advantage of this system is that it can render images with many shapes quickly, as long as there is a simple pattern. In fact, it can render self-similar fractals without any additional stress. At the moment, I can generate a sphere, a tetrahedron, and a Sierpiński triangle. The renderer uses the distance and moves forward exactly that much, but it can also cut it off at whatever distance, which can be used to create additional width. This is required for the Sierpiński triangle to even be visible, but has to be minimized for the shells. At the moment, lighting is pillow shaded, like in the original ray casting demo, but any calculation can be done from the shape, such as the depth of the fractal at that point. While not complete, this project allows full 3d rendering, to the same appearance as with the ray-length block. false Russell Morland 2021-07-30T03:55:00-07:00 10:55 00:05 Plenary Lightning Talk 224-using-machine-learning-models-created-in-google-s-teachable-machine-in-snap Using Machine Learning Models Created in Google's Teachable Machine in Snap! Learn How to Help Your Projects See and Hear Lightning Talks [Teachable Machine](https://teachablemachine.withgoogle.com/) has a very simple interface for creating machine learning models that can provide labels for images, sounds, and poses. I'll demonstrate a new Snap! block that imports these models for use in your own projects. Using this block, you can create projects that classify images, respond to different sounds, and much more. You can train Teachable Machine to recognise different hand gestures or facial expressions and then make games that respond to hand movements or different faces. Or, you can make a project that can identify a bird (or animal or insect) by its appearance or sound. All this works on your computer and no images or sounds ever leave your device. This ensures privacy. Alternatives that contact servers for image or sound recognition also introduce a delay due to communication that can make it too slow for use in a game or other app. An illustration of the use of this block can be found in [this project](https://snap.berkeley.edu/project?user=toontalk&project=teachable%20machine%20exercise). Learn how to create your own AI project in Snap! [Teachable Machine](https://teachablemachine.withgoogle.com/) has a very simple interface for creating machine learning models that can provide labels for images, sounds, and poses. I'll demonstrate a new Snap! block that imports these models for use in your own projects. Using this block, you can create projects that classify images, respond to different sounds, and much more. You can train Teachable Machine to recognise different hand gestures or facial expressions and then make games that respond to hand movements or different faces. Or, you can make a project that can identify a bird (or animal or insect) by its appearance or sound. All this works on your computer and no images or sounds ever leave your device. This ensures privacy. Alternatives that contact servers for image or sound recognition also introduce a delay due to communication that can make it too slow for use in a game or other app. An illustration of the use of this block can be found in [this project](https://snap.berkeley.edu/project?user=toontalk&project=teachable%20machine%20exercise). Learn how to create your own AI project in Snap! false Ken Kahn 2021-07-30T04:00:00-07:00 11:00 00:05 Plenary Lightning Talk 260-an-implementation-of-multi-player-real-time-collaboration-for-snap An implementation of multi-player real time collaboration for Snap! Lightning Talks What do you do when you want to create a Snap! project with your friend? This talk will demonstrate a system where you and your friends can build a stack of blocks and paint a costume together in real time. A small modification is made to Snap! so that it supports multiple "hands", and the screen is streamed to participants over WebRTC. The events from remote users are transmitted to primary participant with the user identifier and processed accordingly. What do you do when you want to create a Snap! project with your friend? This talk will demonstrate a system where you and your friends can build a stack of blocks and paint a costume together in real time. A small modification is made to Snap! so that it supports multiple "hands", and the screen is streamed to participants over WebRTC. The events from remote users are transmitted to primary participant with the user identifier and processed accordingly. false Yoshiki Ohshima 2021-07-30T04:05:00-07:00 11:05 00:05 Plenary Lightning Talk 271-snap-for-rich-tasks-in-k-16-math-education Snap! for Rich Tasks in K-16 Math Education Lightning Talks We will show how Snap! may be used to connect mathematics learning goals ranging from elementary school to the advanced undergraduate level. In particular, we will demonstrate how EDC's micro-unit "Number Line" may be used to teach topics ranging from elementary numeracy to advanced mathematics topics such as finite Abelian group theory. We will also describe experiences that some Elementary school students and pre-service mathematics teachers from Maine have had using this Snap! based microworld while learning online in 2021. We will show how Snap! may be used to connect mathematics learning goals ranging from elementary school to the advanced undergraduate level. In particular, we will demonstrate how EDC's micro-unit "Number Line" may be used to teach topics ranging from elementary numeracy to advanced mathematics topics such as finite Abelian group theory. We will also describe experiences that some Elementary school students and pre-service mathematics teachers from Maine have had using this Snap! based microworld while learning online in 2021. false Daniel Jackson 2021-07-30T04:10:00-07:00 11:10 00:05 Plenary Lightning Talk 261-insights-of-making-steam-workshops-for-kids-with-block-coding Insights of Making STEAM Workshops for Kids with Block-Coding Lightning Talks One of my functions in [Fab Lab Yucatán](http://fablabyucatan.com), is the design and application of learning courses for people without technical knowledge on physical computing or digital fabrication, I use a lot block-coding, and in this talk I want to share some of the insights we have gotten on the way and in our specific mexican context. One of my functions in [Fab Lab Yucatán](http://fablabyucatan.com), is the design and application of learning courses for people without technical knowledge on physical computing or digital fabrication, I use a lot block-coding, and in this talk I want to share some of the insights we have gotten on the way and in our specific mexican context. false Luis Mayorga 2021-07-30T04:15:00-07:00 11:15 00:05 Plenary Lightning Talk 278-implementation-review-of-snap-self-learning-course Implementation Review of Snap! Self-Learning Course Lightning Talks The Smart City self-study course is made up of several individual modules and covers various basic programming concepts. The course consists of numerous programming examples, learning videos, and H5P exercise content. In addition, small tests are used after each chapter to test knowledge. Subsequently, a complete simulation of a city powered by renewable energy is created. In the 2020-2021 school year, the course was taught online under pandemic conditions and by two teachers from outside the subject area. All runs were evaluated with questionnaires. Both teachers were interviewed. Current practice shows that the simplicity of Snap! installation and operation allows quick access for students, even from home. The use of Snap! is intended to make it easier for beginners to get started in programming. We will discuss the results of this during this talk. The Smart City self-study course is made up of several individual modules and covers various basic programming concepts. The course consists of numerous programming examples, learning videos, and H5P exercise content. In addition, small tests are used after each chapter to test knowledge. Subsequently, a complete simulation of a city powered by renewable energy is created. In the 2020-2021 school year, the course was taught online under pandemic conditions and by two teachers from outside the subject area. All runs were evaluated with questionnaires. Both teachers were interviewed. Current practice shows that the simplicity of Snap! installation and operation allows quick access for students, even from home. The use of Snap! is intended to make it easier for beginners to get started in programming. We will discuss the results of this during this talk. false Alexandra Abramova 2021-07-30T04:20:00-07:00 11:20 00:05 Plenary Lightning Talk 259-eccentric-text-editor (Eccentric) Text Editor (Based on my remix of the Typewriter custom block by Jens) Lightning Talks My 4.04 min (hopefully that's not a sign there will be error 404 :-) ) Talk's timeline is like an egg. :-) Its intro is an "eggshell" you have to break through to get to the "egg white" (both travel-oriented & history-oriented), the demo of the (eccentric) Text Editor is "yolk", after which more "egg white" (comedy-oriented demo of the historically first WYSIWYG text editor from 1976) is served. To avoid additionally embarrassing myself by speaking more or less broken English (as a non-native English speaker), I decided to pre-record the talk with an AI voice provided by the MS Azure, which is credited in the final seconds of the pre-recorded Presentation. Available for everyone to watch is a video trailer (skipping a lot of the Talk, and no voice) here https://www.youtube.com/watch?v=TBYG6ebF8PM You are also invited to play with a (spin-off) project: a slideshow maker (as opposed to the text editor) here https://snap.berkeley.edu/snap/snap.html#present:Username=kinestheticlearning&ProjectName=A_slideshow_maker See the forum post https://forum.snap.berkeley.edu/t/freebie-for-everyone-including-the-snap-con-2021-non-participants/7766 My 4.04 min (hopefully that's not a sign there will be error 404 :-) ) Talk's timeline is like an egg. :-) Its intro is an "eggshell" you have to break through to get to the "egg white" (both travel-oriented & history-oriented), the demo of the (eccentric) Text Editor is "yolk", after which more "egg white" (comedy-oriented demo of the historically first WYSIWYG text editor from 1976) is served. To avoid additionally embarrassing myself by speaking more or less broken English (as a non-native English speaker), I decided to pre-record the talk with an AI voice provided by the MS Azure, which is credited in the final seconds of the pre-recorded Presentation. Available for everyone to watch is a video trailer (skipping a lot of the Talk, and no voice) here https://www.youtube.com/watch?v=TBYG6ebF8PM You are also invited to play with a (spin-off) project: a slideshow maker (as opposed to the text editor) here https://snap.berkeley.edu/snap/snap.html#present:Username=kinestheticlearning&ProjectName=A_slideshow_maker See the forum post https://forum.snap.berkeley.edu/t/freebie-for-everyone-including-the-snap-con-2021-non-participants/7766 false Samo Koprivec 2021-07-30T04:25:00-07:00 11:25 00:05 Plenary Lightning Talk 252-futuristic-ai-with-block-based-programming-language Futuristic : AI with Block Based Programming Language Lightning Talks Learning is a multifaceted, multidimensional and dynamic experience made of intricate layers that include reading, writing, listening, watching, thinking, testing and more. These layers weave together to make Artificial Intelligence learning an experience that is personal and relative to every person or student with a block based programming environment. That knowledge, when partnered with artificial intelligence (AI), can enable us to create learning experiences that are supportive to all learners. Early childhood education is a pivotal point in a child’s development that can provide them with a profound advantage and set the foundation for lifelong success through block programming language specially to learn AI & ML. Learning is a multifaceted, multidimensional and dynamic experience made of intricate layers that include reading, writing, listening, watching, thinking, testing and more. These layers weave together to make Artificial Intelligence learning an experience that is personal and relative to every person or student with a block based programming environment. That knowledge, when partnered with artificial intelligence (AI), can enable us to create learning experiences that are supportive to all learners. Early childhood education is a pivotal point in a child’s development that can provide them with a profound advantage and set the foundation for lifelong success through block programming language specially to learn AI & ML. false Bhavin Faldu 2021-07-31T01:00:00-07:00 08:00 01:00 Room 1 Workshop 281-randomisation-mathematics-and-embroidery Randomisation, Mathematics, and Embroidery This workshop will give participants a [TurtleStitch](https://www.turtlestitch.org/) experience - developing a program to make an embroidery. Participants will be introduced to TurtleStitch and given some knowledge of the considerations needed when programming for output on an embroidery machine. Then, the idea will be to start from artworks provided by the workshop leaders or found on the internet, which they will be encouraged to 'decode' and then convert to TurtleStitch programs, particularly where randomisation and mathematics play a role in the design. Inspiration may come from art, mathematics, or architecture. Participants will be supported throughout by three enthusiasts with experience of this activity and will be encouraged to work with each other. This workshop will give participants a [TurtleStitch](https://www.turtlestitch.org/) experience - developing a program to make an embroidery. Participants will be introduced to TurtleStitch and given some knowledge of the considerations needed when programming for output on an embroidery machine. Then, the idea will be to start from artworks provided by the workshop leaders or found on the internet, which they will be encouraged to 'decode' and then convert to TurtleStitch programs, particularly where randomisation and mathematics play a role in the design. Inspiration may come from art, mathematics, or architecture. Participants will be supported throughout by three enthusiasts with experience of this activity and will be encouraged to work with each other. false Richard Millwood 2021-07-31T03:45:00-07:00 10:45 00:20 Room 1 Talk 226-remote-robots-roundup Remote Robots Roundup Remote robots are robotics projects that can be accessed and programmed via the internet by anyone from anywhere. These robots use the NetsBlox platform, a multiplayer networking blocks programming environment that is derived from Snap! Remote Robots offer a way to inject physical computing and IoT concepts into the online/virtual space; it provides an experience that is more compelling than a simulation, at low or potentially no cost to the student. The idea was developed in April 2020 as part of BirdBrain Technologies’ response to the pandemic, and we presented a workshop about it at last year’s Snap! Con. In this talk, we'll give a brief technical primer of how Remote Robots work, and then present inspiring examples of teachers using the technology in the past school year to keep robotics projects relevant and accessible during the pandemic. We'll end with a discussion of where we see Remote Robots fitting into a post-COVID future. Remote robots are robotics projects that can be accessed and programmed via the internet by anyone from anywhere. These robots use the NetsBlox platform, a multiplayer networking blocks programming environment that is derived from Snap! Remote Robots offer a way to inject physical computing and IoT concepts into the online/virtual space; it provides an experience that is more compelling than a simulation, at low or potentially no cost to the student. The idea was developed in April 2020 as part of BirdBrain Technologies’ response to the pandemic, and we presented a workshop about it at last year’s Snap! Con. In this talk, we'll give a brief technical primer of how Remote Robots work, and then present inspiring examples of teachers using the technology in the past school year to keep robotics projects relevant and accessible during the pandemic. We'll end with a discussion of where we see Remote Robots fitting into a post-COVID future. false Tom Lauwers 2021-07-31T04:05:00-07:00 11:05 00:20 Room 1 Talk 227-improved-integration-of-snap-with-physical-computing-devices Improved Integration of Snap! with Physical Computing Devices The online nature of Snap! is a great advantage because it works across multiple platforms without requiring users to install anything. However, in the past, integrating physical computing with Snap! has required the user to install software to translate the Snap! commands into Bluetooth or serial commands to the hardware. With the advent of progressive web apps, communication with the hardware can be embedded in a web page that also contains Snap!, which streamlines the experience for users. This talk will demonstrate how progressive web apps can be used with the Hummingbird and Finch robots to provide cross-platform functionality using Bluetooth or Web HID communication on MacOS, Windows, and ChromeOS. This talk will include a demonstration of the power of progressive web apps using the [snap.birdbraintechnologies.com](https://snap.birdbraintechnologies.com) website. We will demonstrate how to connect the Hummingbird and Finch robots via Bluetooth and show how Snap! is embedded in a webpage that also contains important information about the status of the robot. This structure also means that the webpage can customize the Snap! blocks shown to fit the robot or combination of robots that are connected. The latter portion of this talk will describe the basic technical details of this approach for developers who may be interested in integrating other physical computing devices with Snap!. This will include an overview of the parts of this open-source software and how it handles communication between Snap! and the robot hardware. The talk will conclude with a description of some of the best practices we have developed through work with teachers and students. The online nature of Snap! is a great advantage because it works across multiple platforms without requiring users to install anything. However, in the past, integrating physical computing with Snap! has required the user to install software to translate the Snap! commands into Bluetooth or serial commands to the hardware. With the advent of progressive web apps, communication with the hardware can be embedded in a web page that also contains Snap!, which streamlines the experience for users. This talk will demonstrate how progressive web apps can be used with the Hummingbird and Finch robots to provide cross-platform functionality using Bluetooth or Web HID communication on MacOS, Windows, and ChromeOS. This talk will include a demonstration of the power of progressive web apps using the [snap.birdbraintechnologies.com](https://snap.birdbraintechnologies.com) website. We will demonstrate how to connect the Hummingbird and Finch robots via Bluetooth and show how Snap! is embedded in a webpage that also contains important information about the status of the robot. This structure also means that the webpage can customize the Snap! blocks shown to fit the robot or combination of robots that are connected. The latter portion of this talk will describe the basic technical details of this approach for developers who may be interested in integrating other physical computing devices with Snap!. This will include an overview of the parts of this open-source software and how it handles communication between Snap! and the robot hardware. The talk will conclude with a description of some of the best practices we have developed through work with teachers and students. false Bambi Brewer Tom Lauwers 2021-07-31T04:25:00-07:00 11:25 00:20 Room 1 Talk 254-getting-to-know-ai-with-paper-board-games-and-snap Getting to Know AI: with Paper, Board Games, and Snap! What do you think about, when you think of AI? I am sure that Wall-E, R2D2 and maybe Ava from the movie Ex Machina are among the thoughts that go through your head. Our associations with AI often go directly to imagining human-like robots. It is difficult for us to imagine that something can be intelligent without being or looking human. It is similar for learners. The easier we make it for learners to connect their real-life experiences to AI, the more fellow programming and Snap!-Fans we will be able to welcome into the community! In this talk, I want to show you how you can create an all-inclusive approach to teaching AI to 5th-12th graders. First using posters and chatbot paper models, then moving to the digital sphere sparking learners’ creativity to programming their own games using Snap! All that and more with the new AI cluster in development for the education project IT2School - Gemeinsam IT entdecken (Discovering IT together) ([link](https://www.wissensfabrik.de/mitmachprojekte/weiterfuehrende-schule/it2school/)) developed in collaboration by FU Berlin, University of Oldenburg, SAP Young Thinkers and Wissensfabrik – Unternehmen für Deutschland ([link](https://www.wissensfabrik.de/)) What do you think about, when you think of AI? I am sure that Wall-E, R2D2 and maybe Ava from the movie Ex Machina are among the thoughts that go through your head. Our associations with AI often go directly to imagining human-like robots. It is difficult for us to imagine that something can be intelligent without being or looking human. It is similar for learners. The easier we make it for learners to connect their real-life experiences to AI, the more fellow programming and Snap!-Fans we will be able to welcome into the community! In this talk, I want to show you how you can create an all-inclusive approach to teaching AI to 5th-12th graders. First using posters and chatbot paper models, then moving to the digital sphere sparking learners’ creativity to programming their own games using Snap! All that and more with the new AI cluster in development for the education project IT2School - Gemeinsam IT entdecken (Discovering IT together) ([link](https://www.wissensfabrik.de/mitmachprojekte/weiterfuehrende-schule/it2school/)) developed in collaboration by FU Berlin, University of Oldenburg, SAP Young Thinkers and Wissensfabrik – Unternehmen für Deutschland ([link](https://www.wissensfabrik.de/)) false Katharina Missling 2021-07-31T05:00:00-07:00 12:00 00:20 Room 1 Talk 257-physical-computing-with-snap-and-microblocks Physical Computing with Snap! and MicroBlocks Microcontrollers excel at sensing and controlling the physical world. Snap! excels at graphics, animation, and user interaction. Thanks to contributions from the community and the new Web Serial feature of Chrome and Edge browsers, Snap! users can now have the best of both worlds. Games that respond to physical gestures, home automation, Snap! controlled animatronic characters, projects that respond to a television remote -- these are just some of the things made possible by the combination of Snap! and MicroBlocks. This powerful combination is also great for hands-on science and engineering. Explore free-fall or crash impacts, learn about electronics, create a low-power AM radio transmitter, or graph the temperature fluctuations in your freezer. In this fast-moving presentation we will show you how to work with Snap! and MicroBlocks, and we will do as many cool demos as we can fit into the available time. Microcontrollers excel at sensing and controlling the physical world. Snap! excels at graphics, animation, and user interaction. Thanks to contributions from the community and the new Web Serial feature of Chrome and Edge browsers, Snap! users can now have the best of both worlds. Games that respond to physical gestures, home automation, Snap! controlled animatronic characters, projects that respond to a television remote -- these are just some of the things made possible by the combination of Snap! and MicroBlocks. This powerful combination is also great for hands-on science and engineering. Explore free-fall or crash impacts, learn about electronics, create a low-power AM radio transmitter, or graph the temperature fluctuations in your freezer. In this fast-moving presentation we will show you how to work with Snap! and MicroBlocks, and we will do as many cool demos as we can fit into the available time. false John Maloney 2021-07-31T05:20:00-07:00 12:20 00:20 Room 1 Talk 263-simple-computer-control-using-the-snap-micro-bit-microcontroller-control-block-library Simple Computer Control Using the Snap! + Micro:Bit Microcontroller + Control Block Library The NSF funded ExCITE project is adding robotics and computer control activities to the popular Beauty and Joy of Computing (BJC) AP-CSP curriculum. BJC uses the Snap! language. ExCITE has commissioned Steve Holmes (the developer of the BirdBrain Technologies Hummingbird proprietary micro:bit connector software interface and block library) to develop a micro:bit – Snap! connector software and software library package. The micro:bit-Snap Connector package developed by Steve in conjunction with the Project team has resulted in free to download and use micro:bit connector package for W10, Mac and Chromebooks. The package also contains the micro:bit HEX initialization file. The software is licensed under Creative Commons 4.0 attrib non-comm share alike. There are many low-cost micro:bit breakout boards that allow access to 16 GPIO (digital input/output) pins, 6 of which are also Analog IN. The micro:bit does not support analog outputs but does support Pulse Width Modulation (PWM) on the GPIO pins, however, this feature does need to be supported by the control package, so, the micro:bit-Snap Connector package offers PWM support via a block. The micro:bit-Snap Connector software allows complete control over 16 digital input and output pins, and 6 analog input pins. The block library allows all digital and analog inputs to be read and supports digital output from all 16 digital pins. In addition, the various onboard features of the micro:bit such as compass, acceleration and orientation can be accessed. This brief presentation will showcase the micro:bit Snap Connector package software and how it can be used to program complex real-world challenges such as an automated rail crossing gate system (with example of student solutions). The NSF funded ExCITE project is adding robotics and computer control activities to the popular Beauty and Joy of Computing (BJC) AP-CSP curriculum. BJC uses the Snap! language. ExCITE has commissioned Steve Holmes (the developer of the BirdBrain Technologies Hummingbird proprietary micro:bit connector software interface and block library) to develop a micro:bit – Snap! connector software and software library package. The micro:bit-Snap Connector package developed by Steve in conjunction with the Project team has resulted in free to download and use micro:bit connector package for W10, Mac and Chromebooks. The package also contains the micro:bit HEX initialization file. The software is licensed under Creative Commons 4.0 attrib non-comm share alike. There are many low-cost micro:bit breakout boards that allow access to 16 GPIO (digital input/output) pins, 6 of which are also Analog IN. The micro:bit does not support analog outputs but does support Pulse Width Modulation (PWM) on the GPIO pins, however, this feature does need to be supported by the control package, so, the micro:bit-Snap Connector package offers PWM support via a block. The micro:bit-Snap Connector software allows complete control over 16 digital input and output pins, and 6 analog input pins. The block library allows all digital and analog inputs to be read and supports digital output from all 16 digital pins. In addition, the various onboard features of the micro:bit such as compass, acceleration and orientation can be accessed. This brief presentation will showcase the micro:bit Snap Connector package software and how it can be used to program complex real-world challenges such as an automated rail crossing gate system (with example of student solutions). false Anthony Gordon 2021-07-31T05:40:00-07:00 12:40 00:20 Room 1 Talk 267-the-colors-and-crayons-library The Colors and Crayons Library Do you think of brown as a color in its own right, or as just a kind of orange? How do you use colors in projects? The red-green-blue color system familiar to programmers is just the right thing for manufacturers of computer monitors, but isn't so helpful for developing intuitions about color perception. (Okay, mix blue and green, and it's not a surprise that you get cyan, which is sort of blueish and sort of greenish. But why on earth should mixing red and green look yellow?) The Colors and Crayons library is an attempt to make things easy for users who just want continuously varying colors and don't care about the details, and also make things easy for users to get specific colors by name, while also giving color nerds fine control over color display in perceptually meaningful scales. In this talk I'll introduce the reasoning behind the design of the library, and say a thing or two about the perils of trying to make it fast enough to satisfy users. Do you think of brown as a color in its own right, or as just a kind of orange? How do you use colors in projects? The red-green-blue color system familiar to programmers is just the right thing for manufacturers of computer monitors, but isn't so helpful for developing intuitions about color perception. (Okay, mix blue and green, and it's not a surprise that you get cyan, which is sort of blueish and sort of greenish. But why on earth should mixing red and green look yellow?) The Colors and Crayons library is an attempt to make things easy for users who just want continuously varying colors and don't care about the details, and also make things easy for users to get specific colors by name, while also giving color nerds fine control over color display in perceptually meaningful scales. In this talk I'll introduce the reasoning behind the design of the library, and say a thing or two about the perils of trying to make it fast enough to satisfy users. false Brian Harvey 2021-07-31T01:00:00-07:00 08:00 01:00 Room 2 Workshop 287-creating-art-through-coding Creating Art Through Coding Creation of art offers an engaging way to introduce coding to novices. Participants in this workshop will have the opportunity to explore creation of art in different styles, including the sculptors Alexander Calder and Bathsheba Grossman, the nineteenth century post-impressionist artist, Georges Seurat, the twentieth century artists Mark Rothco and Jackson Pollock, and the contemporary illustrator, Peter Reynolds. Each of these artists works in a different style and in different mediums. These styles provide opportunities to emulate these artistic approaches through the medium of digital technologies. ![example](https://cubeupload.com/im/bharvey/Untitled.png "example") The art activities that will be explored during the workshop are drawn from a course, EDIS 2200: Creating Art, Animations & Music through Coding, taught in the School of Education and Human Development at the University of Virginia. The course has also been approved by the Department of Computer Science as an elective in the Bachelor of Arts in Computer Science (BACS) degree program. The workshop will be supported by instructional videos and resources designed to support the course. Participants in the workshop will have the opportunity to see art created by students using these tools. Participants will also have the opportunity to share their creations with one another. Reference Bull, G., Watts, J. & Nguyen, N.R. (Eds.) (2020). Creating art, animation & music through coding. Association for Advancement of Computers in Education. Creation of art offers an engaging way to introduce coding to novices. Participants in this workshop will have the opportunity to explore creation of art in different styles, including the sculptors Alexander Calder and Bathsheba Grossman, the nineteenth century post-impressionist artist, Georges Seurat, the twentieth century artists Mark Rothco and Jackson Pollock, and the contemporary illustrator, Peter Reynolds. Each of these artists works in a different style and in different mediums. These styles provide opportunities to emulate these artistic approaches through the medium of digital technologies. ![example](https://cubeupload.com/im/bharvey/Untitled.png "example") The art activities that will be explored during the workshop are drawn from a course, EDIS 2200: Creating Art, Animations & Music through Coding, taught in the School of Education and Human Development at the University of Virginia. The course has also been approved by the Department of Computer Science as an elective in the Bachelor of Arts in Computer Science (BACS) degree program. The workshop will be supported by instructional videos and resources designed to support the course. Participants in the workshop will have the opportunity to see art created by students using these tools. Participants will also have the opportunity to share their creations with one another. Reference Bull, G., Watts, J. & Nguyen, N.R. (Eds.) (2020). Creating art, animation & music through coding. Association for Advancement of Computers in Education. false Rich Nguyen Jo Watts Glen Bull 2021-07-31T05:00:00-07:00 12:00 00:20 Room 2 Talk 269-accepting-the-ray-tracer-challenge Accepting "The Ray Tracer Challenge" "A Test-Driven Guide to your first 3D Renderer" Snap! has open ceilings and could be used to teach any concept. Test driven development, and especially behavior-driven development is an important concept of modern day software-engineering like eXtreme Programming. Accepting ["The Ray Tracer Challenge / "A Test-Driven Guide to your first 3D Renderer"](https://pragprog.com/titles/jbtracer/the-ray-tracer-challenge/) by Jamis Buck in Snap! means to - provide a framework in Snap! for BDD ("[Behavior-driven Development](https://en.wikipedia.org/wiki/Behavior-driven_development)") - follow through implementing the challenge and show something shiny at the end. The block creation area of Snap! already allows for comments and additional blocks exemplifying the created block. But this is rarely used and not formalized. For those who want to use or teach test- / behavior-driven development there is no test framework yet to my best knowledge. A typical scenario description in the book looks like: ![enter image description here](https://i.ibb.co/T8Xm7X2/tuples-Feature-Example.jpg "A scenario of the renderer challenge") The scenario in Snap! would look like: ![enter image description here](https://i.ibb.co/g7Nn16Y/2021-05-16-13-44-57.jpg "Scenario in Snap!") [Here is the project (in progress).](https://snap.berkeley.edu/project?user=markusgaelli&project=Ray%20Tracer%20Challenge) Snap! has open ceilings and could be used to teach any concept. Test driven development, and especially behavior-driven development is an important concept of modern day software-engineering like eXtreme Programming. Accepting ["The Ray Tracer Challenge / "A Test-Driven Guide to your first 3D Renderer"](https://pragprog.com/titles/jbtracer/the-ray-tracer-challenge/) by Jamis Buck in Snap! means to - provide a framework in Snap! for BDD ("[Behavior-driven Development](https://en.wikipedia.org/wiki/Behavior-driven_development)") - follow through implementing the challenge and show something shiny at the end. The block creation area of Snap! already allows for comments and additional blocks exemplifying the created block. But this is rarely used and not formalized. For those who want to use or teach test- / behavior-driven development there is no test framework yet to my best knowledge. A typical scenario description in the book looks like: ![enter image description here](https://i.ibb.co/T8Xm7X2/tuples-Feature-Example.jpg "A scenario of the renderer challenge") The scenario in Snap! would look like: ![enter image description here](https://i.ibb.co/g7Nn16Y/2021-05-16-13-44-57.jpg "Scenario in Snap!") [Here is the project (in progress).](https://snap.berkeley.edu/project?user=markusgaelli&project=Ray%20Tracer%20Challenge) false Markus Gaelli 2021-07-31T05:20:00-07:00 12:20 00:20 Room 2 Talk 228-turtlestitch-lifelong-game-of-moving-and-rotating TurtleStitch - Lifelong Game of Moving and Rotating From Logo to Snap! More Fun! More Snap! In this talk, I will share my own story about how I found the importance of being playful and playing games, in teaching coding and specifically, Turtlestitch. Students learn about making a square and then a polygon fairly easily, but making the important transition to coding more complex and more beautiful designs, the ones we all admire in life and find fascinating, is our real challenge. There are many levels to learning. How can we take complex mathematical ideas, use them to create patterns that we can see and touch and treat that development process with the same energy and pleasure that we experience when we are positively challenged playing our favorite games? We have found that using Turtlestitch supports these goals. When students design satisfying patterns, they are "playing" with the moves and the angles. I will deliver demos of how to treat the designing process as a playful game and find the beauty and joy in the results. The geometry library found in Turtlestitch, which I built, is underused and not well understood. I will demonstrate its use, how it can be studied and learned and enjoyed. This library can be used to empower students and all learners to build powerful and complex designs. Crafts made from the TurtleStitch codes will also be demonstrated. The crafts have yet another level of engagement because the objects themselves, can be used in physical games. We find the fun and joy in coding in even the most simple code. How do we create a playful, environment, that is scaffolded to engage and challenge every coder at their own level and yet engages them so that they have the opportunity to grow and develop their own potential? In this talk, I will share my own story about how I found the importance of being playful and playing games, in teaching coding and specifically, Turtlestitch. Students learn about making a square and then a polygon fairly easily, but making the important transition to coding more complex and more beautiful designs, the ones we all admire in life and find fascinating, is our real challenge. There are many levels to learning. How can we take complex mathematical ideas, use them to create patterns that we can see and touch and treat that development process with the same energy and pleasure that we experience when we are positively challenged playing our favorite games? We have found that using Turtlestitch supports these goals. When students design satisfying patterns, they are "playing" with the moves and the angles. I will deliver demos of how to treat the designing process as a playful game and find the beauty and joy in the results. The geometry library found in Turtlestitch, which I built, is underused and not well understood. I will demonstrate its use, how it can be studied and learned and enjoyed. This library can be used to empower students and all learners to build powerful and complex designs. Crafts made from the TurtleStitch codes will also be demonstrated. The crafts have yet another level of engagement because the objects themselves, can be used in physical games. We find the fun and joy in coding in even the most simple code. How do we create a playful, environment, that is scaffolded to engage and challenge every coder at their own level and yet engages them so that they have the opportunity to grow and develop their own potential? false Simon Mong 2021-07-31T05:40:00-07:00 12:40 00:20 Room 2 Talk 251-turtlestitch-stitching-in-time-and-place Turtlestitch: Stitching in Time and Place A creative approach to physical computing TurtleStitch is freely available software that enables the generation and stitching of patterns using a digital embroidery machine, effectively giving programmatic control of the machine. TurtleStitch enables the creation of physical objects through the use of software and hardware, and bridges the world of programming and textiles enabling the creation of stitched patterns on materials, in a way that is accessible to young and old alike. TurtleStitch doesn’t meet the normal notion of physical computing, which often involves programming robots, sensors or microcontrollers, but it does provide a very creative context to programming and introduction to physical computing. The link to textiles opens many possibilities, and in particular to culture. Many cultures have distinctive textile crafts, and how textiles are decorated often celebrates the culture of their creator. In the city of Coventry (UK) the **Stitch in Time** project is working with local primary schools, and celebrates the city’s cultural heritage while teaching useful programming and maths skills. The linked **Stitch In Time and Place ** project connects with communities of young people around the world. This session will feature collaborative activities in New York and Africa, with the project **Young People and Art From the Continents**. Often, we see any pattern, whether it would be in nature or cultural patterns, which of course often come from nature... and say "that" would make a good coding problem - but in Turtlestitch we have the chance to actually explore this nature/culture/human/technology/computer science relationship that we as humans find so compelling. Also, in the human tradition, aesthetics have always existed and have been deeply explored. Turtlestitch engages the human/mathematical relationship and the human/aesthetic relationship in new and engaging digital ways in our digital world. This session will describe TurtleStitch, the **Stitch in Time** project, linked resources, and the project **Young People and Art From the Continents**. It will share the work being created by these projects, demonstrate how they are created, and describe the benefits to participants. This session will be delivered by Margaret Low, Susan Ettenheim and Max Musau. Links to useful resources: • [TurtleStitch website](http://www.turtlestitch.org) • [Stitch in Time project, University of Warwick](http://www.warwick.ac.uk/stitchintime) • [Turtlestitch resources at Warwick](http://www.warwick.ac.uk/turtlestitch) • [Exploring Coding Stitching Culture](https://sites.google.com/view/exploring-coding-stitching-cul/home) [Session Presentation](https://docs.google.com/presentation/d/1O4HpqHmIczHKPzA472rSIYykAsZc-jE4luV4cO034tY/edit?usp=sharing) TurtleStitch is freely available software that enables the generation and stitching of patterns using a digital embroidery machine, effectively giving programmatic control of the machine. TurtleStitch enables the creation of physical objects through the use of software and hardware, and bridges the world of programming and textiles enabling the creation of stitched patterns on materials, in a way that is accessible to young and old alike. TurtleStitch doesn’t meet the normal notion of physical computing, which often involves programming robots, sensors or microcontrollers, but it does provide a very creative context to programming and introduction to physical computing. The link to textiles opens many possibilities, and in particular to culture. Many cultures have distinctive textile crafts, and how textiles are decorated often celebrates the culture of their creator. In the city of Coventry (UK) the **Stitch in Time** project is working with local primary schools, and celebrates the city’s cultural heritage while teaching useful programming and maths skills. The linked **Stitch In Time and Place ** project connects with communities of young people around the world. This session will feature collaborative activities in New York and Africa, with the project **Young People and Art From the Continents**. Often, we see any pattern, whether it would be in nature or cultural patterns, which of course often come from nature... and say "that" would make a good coding problem - but in Turtlestitch we have the chance to actually explore this nature/culture/human/technology/computer science relationship that we as humans find so compelling. Also, in the human tradition, aesthetics have always existed and have been deeply explored. Turtlestitch engages the human/mathematical relationship and the human/aesthetic relationship in new and engaging digital ways in our digital world. This session will describe TurtleStitch, the **Stitch in Time** project, linked resources, and the project **Young People and Art From the Continents**. It will share the work being created by these projects, demonstrate how they are created, and describe the benefits to participants. This session will be delivered by Margaret Low, Susan Ettenheim and Max Musau. Links to useful resources: • [TurtleStitch website](http://www.turtlestitch.org) • [Stitch in Time project, University of Warwick](http://www.warwick.ac.uk/stitchintime) • [Turtlestitch resources at Warwick](http://www.warwick.ac.uk/turtlestitch) • [Exploring Coding Stitching Culture](https://sites.google.com/view/exploring-coding-stitching-cul/home) [Session Presentation](https://docs.google.com/presentation/d/1O4HpqHmIczHKPzA472rSIYykAsZc-jE4luV4cO034tY/edit?usp=sharing) false Margaret Low Max Musau Susan Ettenheim 2021-07-31T01:00:00-07:00 08:00 01:00 Room 3 Workshop 230-scisnap-for-mathematical-and-data-related-applications SciSnap! for Mathematical and Data-Related Applications SciSnap! is a tool for working on a level between pure programming language and finished applications. It contains libraries for mathematical and data related problems as well as SQL queries. In addition, sprites and the stage can be configured as sketchpads for the creation of diagrams, image processing, graphs, and neural networks. In the workshop, the use of SciSnap! will be demonstrated with some examples. Afterwards, participants can work on their own tasks or on the provided ones alone or in groups. Sample solutions are available for the prepared tasks, which can be used if required. Parallel to the work, questions are answered in the meeting. SciSnap! is a tool for working on a level between pure programming language and finished applications. It contains libraries for mathematical and data related problems as well as SQL queries. In addition, sprites and the stage can be configured as sketchpads for the creation of diagrams, image processing, graphs, and neural networks. In the workshop, the use of SciSnap! will be demonstrated with some examples. Afterwards, participants can work on their own tasks or on the provided ones alone or in groups. Sample solutions are available for the prepared tasks, which can be used if required. Parallel to the work, questions are answered in the meeting. false Eckart Modrow 2021-07-31T01:00:00-07:00 08:00 01:00 Room 4 Workshop 245-build-your-own-alexa-skill-in-netsblox Build Your Own Alexa Skill in NetsBlox! Smart devices and voice assistants have become ubiquitous in the era of the internet of things. This presents a huge opportunity for making computing more relevant and engaging - especially for young learners! What if students could use familiar, blocks-based programming environments to create their own voice assistants? To this end, we have recently made it possible to develop Amazon Alexa skills from within NetsBlox. Using the RPC abstraction available in NetsBlox, users can develop their own Alexa skills from within the browser. As these skills are created within NetsBlox, they share the affordances of NetsBlox - including the rich set of integrations such as cloud variables, RoboScape, and weather data. This makes it possible to extend Alexa with your own capabilities such as adding voice control to a game or even use it to control physical robots! During this workshop, we will gain hands-on experience building our own Alexa skills within NetsBlox. To promote sharing and remixing, we will be using the NetsBlox Gallery during the workshop. We will start with a short introduction to NetsBlox and Alexa and then transition into a demo project which uses Alexa to control a sprite on the stage. This project will be inspected and remixed to support additional voice commands such as commands for resizing or hiding the sprite. Finally, we will build Alexa skills from scratch where we will be defining our own commands and handlers entirely! We will conclude with a short discussion and provide additional resources for further exploration and experimentation! Slides are available at https://speakerdeck.com/brollb/build-your-own-alexa-skill-in-netsblox Smart devices and voice assistants have become ubiquitous in the era of the internet of things. This presents a huge opportunity for making computing more relevant and engaging - especially for young learners! What if students could use familiar, blocks-based programming environments to create their own voice assistants? To this end, we have recently made it possible to develop Amazon Alexa skills from within NetsBlox. Using the RPC abstraction available in NetsBlox, users can develop their own Alexa skills from within the browser. As these skills are created within NetsBlox, they share the affordances of NetsBlox - including the rich set of integrations such as cloud variables, RoboScape, and weather data. This makes it possible to extend Alexa with your own capabilities such as adding voice control to a game or even use it to control physical robots! During this workshop, we will gain hands-on experience building our own Alexa skills within NetsBlox. To promote sharing and remixing, we will be using the NetsBlox Gallery during the workshop. We will start with a short introduction to NetsBlox and Alexa and then transition into a demo project which uses Alexa to control a sprite on the stage. This project will be inspected and remixed to support additional voice commands such as commands for resizing or hiding the sprite. Finally, we will build Alexa skills from scratch where we will be defining our own commands and handlers entirely! We will conclude with a short discussion and provide additional resources for further exploration and experimentation! Slides are available at https://speakerdeck.com/brollb/build-your-own-alexa-skill-in-netsblox false Tabitha Lee Brian Broll 2021-07-31T03:45:00-07:00 10:45 01:00 Room 4 Panel 273-meeting-the-needs-of-new-snap-users Meeting the Needs of New Snap! Users BJC Teachers Weigh In We all know Snap_!_ is a powerful programming language and learning tool, but what more could be done to support new users in acclimating to the environment quickly so they can focus on learning programming? Join a panel of experienced Beauty and Joy of Computing (BJC) teachers in a constructive discussion about the top Snap_!_ needs for improving the first few weeks of school. What improvements could be made to increase usability for students and to keep Snap_!_ relevant in the growing landscape of introductory programming interfaces? What would make Snap_!_ easier for new teachers to learn and implement in the classroom? Our panel will begin with a few words from the moderator before the panelists each give a five minute response to the topic, and then the discussion will open for all participants to contribute their ideas and share their experiences with Snap_!_ and wishlists for supporting new Snap_!_ users. We all know Snap_!_ is a powerful programming language and learning tool, but what more could be done to support new users in acclimating to the environment quickly so they can focus on learning programming? Join a panel of experienced Beauty and Joy of Computing (BJC) teachers in a constructive discussion about the top Snap_!_ needs for improving the first few weeks of school. What improvements could be made to increase usability for students and to keep Snap_!_ relevant in the growing landscape of introductory programming interfaces? What would make Snap_!_ easier for new teachers to learn and implement in the classroom? Our panel will begin with a few words from the moderator before the panelists each give a five minute response to the topic, and then the discussion will open for all participants to contribute their ideas and share their experiences with Snap_!_ and wishlists for supporting new Snap_!_ users. false Mary Fries Audrey Coats Kim Overman Susan Ettenheim 2021-07-31T05:00:00-07:00 12:00 01:00 Room 4 Panel 275-creative-ways-to-assess-snap Creative Ways to Assess Snap! Anyone can write a tried-and-true exam question that says “write a block according to the following specifications”, or “predict what does the following code do?”. We have collectively been authoring Snap! assessments (well, it was BYOB back in the day) for over 16 years, and would like to share some much more creative ways we’ve come up with to assess Snap! programming. The topics we will include and demo range from basic functions, domain/range, composition, testing, debugging, boolean logic, concurrency, higher-order functions, and recursion. Overall, we hope to demo over twenty different questions on many different topics. With each question, we’ll talk about the spirit behind the question, and why that question was a novel way of looking at the material. There will be ample time for Q&A throughout the presentation; when a presenter is not speaking, they will be active in the Zoom chat responding to questions and comments. Anyone can write a tried-and-true exam question that says “write a block according to the following specifications”, or “predict what does the following code do?”. We have collectively been authoring Snap! assessments (well, it was BYOB back in the day) for over 16 years, and would like to share some much more creative ways we’ve come up with to assess Snap! programming. The topics we will include and demo range from basic functions, domain/range, composition, testing, debugging, boolean logic, concurrency, higher-order functions, and recursion. Overall, we hope to demo over twenty different questions on many different topics. With each question, we’ll talk about the spirit behind the question, and why that question was a novel way of looking at the material. There will be ample time for Q&A throughout the presentation; when a presenter is not speaking, they will be active in the Zoom chat responding to questions and comments. false Irene Ortega Lam Pham Bojin Yao Dan Garcia 2021-07-31T01:00:00-07:00 08:00 05:00 Hallway Hallway Track 305-hallway-track Hallway Track Join us in ohyay! Join us in ohyay! false 2021-07-31T02:00:00-07:00 09:00 00:15 Hallway Short Break 309-break Break Social Events Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. false 2021-07-31T03:15:00-07:00 10:15 00:30 Hallway Food Break 300-food-break Food Break Take a break and step away from screens. Take a break and step away from screens. false 2021-07-31T04:45:00-07:00 11:45 00:15 Hallway Short Break 314-break Break Social Events Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. false 2021-07-31T06:00:00-07:00 13:00 00:15 Hallway Short Break 315-break Break Social Events Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. false 2021-07-31T06:15:00-07:00 13:15 00:45 Hallway Social 321-virtual-snap-con-2021 Virtual Snap!Con 2021 The Virtual University of the Cyberspace has very generously offered to host this experimental social event for us, where we should all be able to socialize from within Snap_!_ itself, unless the Demo Gods are awake and looking at us at that time! If you're not afraid of things breaking and failing, join us in this interactive Snap_!_ demo and explore the campus facilities with other Snappers! The Virtual University of the Cyberspace has very generously offered to host this experimental social event for us, where we should all be able to socialize from within Snap_!_ itself, unless the Demo Gods are awake and looking at us at that time! If you're not afraid of things breaking and failing, join us in this interactive Snap_!_ demo and explore the campus facilities with other Snappers! false Bernat Romagosa 2021-07-31T02:15:00-07:00 09:15 01:00 Plenary Plenary 250-turtlestitch-the-power-of-diversity Turtlestitch: The Power of Diversity Over the last few years, the TS community has grown not only in size but also in diversity, integrating people from different cultures, ages and genders. We believe this has to do with the specific attraction that textiles generate. Every culture has a specific textile tradition which reaches directly into the daily lives of everyone, evocating both personal as well as collective memories, generating an affective field. The coding aspect allows rethinking this tradition from a contemporary point of view, creating a space that is open and not yet fully defined, inviting people to open experimental exploration. How this space is then explored, how the technical and the textile are combined, how machine and hand-craft are related and what kind of products -- tangible products of ones own learning and creativity -- are generated is deeply influenced by local conditions and personal preferences, providing the space of diverse articulation and, through the peer exchange on the platform, collaborative inspiration. In this talk, I will provide a short look back at the environment from which TurtleStitch emerged and give an overview of the current state. Voices from the TurtleStitch environment will provide their own perspectives on and use of TurtleStitch. Over the last few years, the TS community has grown not only in size but also in diversity, integrating people from different cultures, ages and genders. We believe this has to do with the specific attraction that textiles generate. Every culture has a specific textile tradition which reaches directly into the daily lives of everyone, evocating both personal as well as collective memories, generating an affective field. The coding aspect allows rethinking this tradition from a contemporary point of view, creating a space that is open and not yet fully defined, inviting people to open experimental exploration. How this space is then explored, how the technical and the textile are combined, how machine and hand-craft are related and what kind of products -- tangible products of ones own learning and creativity -- are generated is deeply influenced by local conditions and personal preferences, providing the space of diverse articulation and, through the peer exchange on the platform, collaborative inspiration. In this talk, I will provide a short look back at the environment from which TurtleStitch emerged and give an overview of the current state. Voices from the TurtleStitch environment will provide their own perspectives on and use of TurtleStitch. false Andrea Mayr-Stalder 2021-08-01T01:00:00-07:00 08:00 01:00 Plenary Plenary 294-show-your-project Show Your Project ## [Add your project to the list](https://forum.snap.berkeley.edu/t/share-your-project-sign-up-below/7759) If you'd definitely like a chance to present your project, please make a post in the forum. We'll also be taking sign ups during the session, if there is time. What are you actually doing with Snap_!_? This is a time to share your recent or in-progress projects briefly. If you're a teacher with a student who's done something extraordinary, bring that. You'll be able to sign up to present a project on the Snap_!_ forum, even during the conference for last-minute work. Please keep presentations under five minutes -- and no slides! We want to see your project running. ## [Add your project to the list](https://forum.snap.berkeley.edu/t/share-your-project-sign-up-below/7759) If you'd definitely like a chance to present your project, please make a post in the forum. We'll also be taking sign ups during the session, if there is time. What are you actually doing with Snap_!_? This is a time to share your recent or in-progress projects briefly. If you're a teacher with a student who's done something extraordinary, bring that. You'll be able to sign up to present a project on the Snap_!_ forum, even during the conference for last-minute work. Please keep presentations under five minutes -- and no slides! We want to see your project running. false Simon Walters Bernat Romagosa 2021-08-01T02:15:00-07:00 09:15 01:00 Plenary Plenary 225-netsblox-bringing-the-full-power-of-the-internet-to-snap NetsBlox: Bringing the Full Power of the Internet to Snap! NetsBlox is an extension of Snap! that introduces two new concepts for developing distributed applications: RPCs and message passing. These two concepts open up a plethora of possibilities accessible to beginners. RPCs can be used to access existing web services like Google Maps, Twitter, ThingSpeak, and The MovieDB or real-world datasets including climate, eclipse, and COVID data. Message passing enables students to build engaging social applications such as chat applications, shared whiteboards, multiplayer games, and many more. This environment empowers even novice programmers to get hands-on experience with many advanced topics such as distributed computing, machine learning, cybersecurity, and the Internet of Things. Using NetsBlox, students have built their own mesh networks, encrypted chat applications, and programs for breaking encrypted messages. They have designed programs to analyze tweets from Twitter and even British periodicals from the 1800s. The very same abstractions also enable NetsBlox programs to connect to WiFi enabled devices such as educational robots or smartphones. The NetsBlox program runs in the browser and controls these devices remotely enabling students to create non-trivial distributed applications. In the course of a summer camp, students have even been able to not only program controllers to drive their own robots using their phone but hack and defend these robots from cyberattacks. In this talk we will present an overview of NetsBlox as well as some of the newest features including: 1. Accessing your phone’s sensors from your project and placing interactive GUI elements on the screen. This enables applications like 1) an exercise tracker showing your route on a map and displaying the distance covered and your speed or 2) turning your phone into a remote sprite controller. 2. A Virtual Reality environment where students get virtual robots that they can control with their NetsBlox programs. They can collaborate on tasks in this shared world or compete against each other. 3. Create and deploy your own Alexa skill while writing it entirely in NetsBlox. 4. Create a suite of auto-graded assignments within NetsBlox itself. 5. Make your own data available to any other user of NetsBlox anywhere in the world instantly. NetsBlox is an extension of Snap! that introduces two new concepts for developing distributed applications: RPCs and message passing. These two concepts open up a plethora of possibilities accessible to beginners. RPCs can be used to access existing web services like Google Maps, Twitter, ThingSpeak, and The MovieDB or real-world datasets including climate, eclipse, and COVID data. Message passing enables students to build engaging social applications such as chat applications, shared whiteboards, multiplayer games, and many more. This environment empowers even novice programmers to get hands-on experience with many advanced topics such as distributed computing, machine learning, cybersecurity, and the Internet of Things. Using NetsBlox, students have built their own mesh networks, encrypted chat applications, and programs for breaking encrypted messages. They have designed programs to analyze tweets from Twitter and even British periodicals from the 1800s. The very same abstractions also enable NetsBlox programs to connect to WiFi enabled devices such as educational robots or smartphones. The NetsBlox program runs in the browser and controls these devices remotely enabling students to create non-trivial distributed applications. In the course of a summer camp, students have even been able to not only program controllers to drive their own robots using their phone but hack and defend these robots from cyberattacks. In this talk we will present an overview of NetsBlox as well as some of the newest features including: 1. Accessing your phone’s sensors from your project and placing interactive GUI elements on the screen. This enables applications like 1) an exercise tracker showing your route on a map and displaying the distance covered and your speed or 2) turning your phone into a remote sprite controller. 2. A Virtual Reality environment where students get virtual robots that they can control with their NetsBlox programs. They can collaborate on tasks in this shared world or compete against each other. 3. Create and deploy your own Alexa skill while writing it entirely in NetsBlox. 4. Create a suite of auto-graded assignments within NetsBlox itself. 5. Make your own data available to any other user of NetsBlox anywhere in the world instantly. false Akos Ledeczi Brian Broll 2021-08-01T05:00:00-07:00 12:00 01:00 Plenary Plenary 295-what-might-be-the-future-of-snap What Might be the Future of Snap!? The Snap_!_ team will share their perspectives on what we think is a possibility for the future. We make no promises about what we'll build about when or how we'll build features, but we'll share the _why_ behind decision making. And of course we'll have plenty of time for Q&A! The Snap_!_ team will share their perspectives on what we think is a possibility for the future. We make no promises about what we'll build about when or how we'll build features, but we'll share the _why_ behind decision making. And of course we'll have plenty of time for Q&A! false Jens Mönig Brian Harvey Jadga Hügle Michael Ball Bernat Romagosa 2021-08-01T01:00:00-07:00 08:00 05:00 Hallway Hallway Track 298-hallway-track Hallway Track Join the Hallway track to socialize with other Snap!Con attendees. We will be using the platform ohyay for our hallway track. Join the Hallway track to socialize with other Snap!Con attendees. We will be using the platform ohyay for our hallway track. false 2021-08-01T02:00:00-07:00 09:00 00:15 Hallway Short Break 310-break Break Social Events Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. false 2021-08-01T03:15:00-07:00 10:15 00:30 Hallway Food Break 302-food-break Food Break Take a break and step away from screens. Take a break and step away from screens. false 2021-08-01T04:45:00-07:00 11:45 00:15 Hallway Short Break 313-break Break Social Events Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. Take a break! Step away and stretch. If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. false 2021-08-01T06:00:00-07:00 13:00 00:15 Hallway Short Break 312-snap-con-is-a-wrap Snap!Con Is A Wrap! Social Events If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. We'll leave ohyay open after the conference ends, meet some friends and keep up with your olds! If you're feeling up for it, join others in the [virtual hallway](https://www.snapcon.org/conferences/2021/program/proposals/303) for some socialization. We'll leave ohyay open after the conference ends, meet some friends and keep up with your olds! false 2021-08-01T03:45:00-07:00 10:45 00:30 Room 1 Birds of a Feather 293-bof-middle-school BOF: Middle School Let's gather Middle School teachers (of students ages 11-13) together, curriculum providers, parents, tool builders, etc. to learn from each other and share resources! We gathered last year at SnapCon 2020 online, and enjoyed meeting each other. There are some exciting Snap_!_ updates and features that would be useful for early learners of Snap!, we could also gather others during the BOF discussion: - A single rainbow palette that collapses all the blocks (both custom and built-in) into one large, scrollable window - A "microworld" approach to a starter project, in which only the blocks that are needed are shown. This feature was discussed at SnapCon 2019, and was always available to those who wanted to fork Snap! and remove the blocks for a particular use case. However, for those who didn't want to edit the Snap_!_ source, the same effect can be achieved by hiding blocks (manually). If you're at all involved in the Middle School space, join us! Let's gather Middle School teachers (of students ages 11-13) together, curriculum providers, parents, tool builders, etc. to learn from each other and share resources! We gathered last year at SnapCon 2020 online, and enjoyed meeting each other. There are some exciting Snap_!_ updates and features that would be useful for early learners of Snap!, we could also gather others during the BOF discussion: - A single rainbow palette that collapses all the blocks (both custom and built-in) into one large, scrollable window - A "microworld" approach to a starter project, in which only the blocks that are needed are shown. This feature was discussed at SnapCon 2019, and was always available to those who wanted to fork Snap! and remove the blocks for a particular use case. However, for those who didn't want to edit the Snap_!_ source, the same effect can be achieved by hiding blocks (manually). If you're at all involved in the Middle School space, join us! false Dan Garcia 2021-08-01T04:15:00-07:00 11:15 00:30 Room 1 Birds of a Feather 234-bof-high-school-teachers BOF: High School Teachers Teaching CS in a high school can be a lonely job. Many of us are the only ones in the building, if not the district. Come make some new contacts, colleagues, friends that share your passion for computer science education at the high school (or even middle school) level. Bring your best practices or challenges that you can share. Topic ideas: Teaching specific: Helping students that struggle with the foundations of programming; Challenging students that zoom ahead; Inspiring creativity and independence; Opening students' eyes to the importance and benefits of collaboration. PD specific: Recommendations for PD; What do you use for inspiration (Facebook groups? twitter chats?) This session will be a follow-up to the panel presentation "Snap! in High School" although attending the panel presentation is not a requirement for participation in the BOF. I am looking forward to meeting new teachers and reconnecting with old friends! Teaching CS in a high school can be a lonely job. Many of us are the only ones in the building, if not the district. Come make some new contacts, colleagues, friends that share your passion for computer science education at the high school (or even middle school) level. Bring your best practices or challenges that you can share. Topic ideas: Teaching specific: Helping students that struggle with the foundations of programming; Challenging students that zoom ahead; Inspiring creativity and independence; Opening students' eyes to the importance and benefits of collaboration. PD specific: Recommendations for PD; What do you use for inspiration (Facebook groups? twitter chats?) This session will be a follow-up to the panel presentation "Snap! in High School" although attending the panel presentation is not a requirement for participation in the BOF. I am looking forward to meeting new teachers and reconnecting with old friends! false Audrey Coats 2021-08-01T03:45:00-07:00 10:45 00:30 Room 2 Birds of a Feather 282-bof-embroidery-enthusiasts BOF: Embroidery Enthusiasts [Turtlestitch](https://www.turtlestitch.org/) is a Snap!-derived environment for creating artwork for embroidering on a machine. It has been a powerful motivator to all kinds of people to engage in programming. Founded by keynote speaker Andrea Mayr Stalder, it has been an exciting innovation to link Turtle geometry to the capabilities of embroidery machines and bring craft and coding together. With many presentations and workshops at computing conferences over the last few years, an enthusiastic following has been created across many countries and continents. An international group of Turtlestitch enthusiasts meets once a month to share developments, expertise and excitement. Participants discuss achievements, pedagogy, craft, technical issues, embroidery machines and look for mutual support. This has led to web sites, blogs and the development of a [knowledge sharing web site](https://sites.google.com/view/exploring-coding-stitching-cul/home) to help disseminate discoveries and expertise. This BOF session would be our monthly meeting, but with an invitation to others new to Turtlestitch to join us! [Turtlestitch](https://www.turtlestitch.org/) is a Snap!-derived environment for creating artwork for embroidering on a machine. It has been a powerful motivator to all kinds of people to engage in programming. Founded by keynote speaker Andrea Mayr Stalder, it has been an exciting innovation to link Turtle geometry to the capabilities of embroidery machines and bring craft and coding together. With many presentations and workshops at computing conferences over the last few years, an enthusiastic following has been created across many countries and continents. An international group of Turtlestitch enthusiasts meets once a month to share developments, expertise and excitement. Participants discuss achievements, pedagogy, craft, technical issues, embroidery machines and look for mutual support. This has led to web sites, blogs and the development of a [knowledge sharing web site](https://sites.google.com/view/exploring-coding-stitching-cul/home) to help disseminate discoveries and expertise. This BOF session would be our monthly meeting, but with an invitation to others new to Turtlestitch to join us! false Richard Millwood 2021-08-01T04:15:00-07:00 11:15 00:30 Room 2 Birds of a Feather 341-physical-computing-with-snap Physical Computing with Snap! Submitted on behalf of John: This BoF is for those interested in connecting Snap! to the physical world using robots, microcontrollers, sensors, servos, and other devices. There have been a number of physical computing presentations at SnapCon! 2021 and it would be great to have a chance to chat with others doing similar work. We might compare and contrast the various approaches, what audiences various tools are intended for, and how well they work. We might also compare notes about activities that we've found engaging (especially for girls and groups currently underrepresented in STEM fields). This will be a discussion, not a presentation, so the topics will be decided by the group. Expected Audience: Based on session attendance of various physical computing talks, I think this BoF would interest between 5 and 30 people. Since many people interested in physical computing are also interested in TurtleStitch, it would be nice to avoid offering BoFs on both topics in the same time slot. Discussion Leader(s): John Maloney, one of the developers of MicroBlocks. Other potential participants include: Bernat and Turgut, who work with me on MicroBlocks and perhaps Jens and/or Jadga if they are not busy with something else. I can't speak for the other physical computing groups represented at the conference, but I'm hoping many of them will join, too. Expertise of Discussion Leader(s): I'm the lead developer of MicroBlocks and gave a talk on that on Saturday. (I was also co-creator of Scratch and worked on it for 11 years -- but that's ancient history.) Proposed Activity during BOF: This would be an open discussion. I have a few questions in mind get things started but after that it will depend on who shows up and what they want to talk about. I'm also happy to explain more about the Snap! to MicroBlocks connection I demoed, since there were some questions I didn't have time to answer, but I don't want this BoF to be only about MicroBlocks. Submitted on behalf of John: This BoF is for those interested in connecting Snap! to the physical world using robots, microcontrollers, sensors, servos, and other devices. There have been a number of physical computing presentations at SnapCon! 2021 and it would be great to have a chance to chat with others doing similar work. We might compare and contrast the various approaches, what audiences various tools are intended for, and how well they work. We might also compare notes about activities that we've found engaging (especially for girls and groups currently underrepresented in STEM fields). This will be a discussion, not a presentation, so the topics will be decided by the group. Expected Audience: Based on session attendance of various physical computing talks, I think this BoF would interest between 5 and 30 people. Since many people interested in physical computing are also interested in TurtleStitch, it would be nice to avoid offering BoFs on both topics in the same time slot. Discussion Leader(s): John Maloney, one of the developers of MicroBlocks. Other potential participants include: Bernat and Turgut, who work with me on MicroBlocks and perhaps Jens and/or Jadga if they are not busy with something else. I can't speak for the other physical computing groups represented at the conference, but I'm hoping many of them will join, too. Expertise of Discussion Leader(s): I'm the lead developer of MicroBlocks and gave a talk on that on Saturday. (I was also co-creator of Scratch and worked on it for 11 years -- but that's ancient history.) Proposed Activity during BOF: This would be an open discussion. I have a few questions in mind get things started but after that it will depend on who shows up and what they want to talk about. I'm also happy to explain more about the Snap! to MicroBlocks connection I demoed, since there were some questions I didn't have time to answer, but I don't want this BoF to be only about MicroBlocks. false John Maloney 2021-08-01T03:45:00-07:00 10:45 00:30 Room 3 Birds of a Feather 342-competition-and-or-achievements-in-snap Competition and/or Achievements in Snap!? Significance and Relevance of the Topic: This is a continuation of the discussion at this talk about whether the user experience would be improved by game-like social features. We expect some controversy. :~) Expected Audience: Game players, Snap! developers, people with opinions about social media. Discussion Leader(s): @bh and @silverdragon1353 whose talk started the conversation. Expertise of Discussion Leader(s): One of us is a Snap! expert and the other a Minecraft expert. :~) Proposed Activity during BOF: Discussion of the motivating and demotivating aspects of gamification. Significance and Relevance of the Topic: This is a continuation of the discussion at this talk about whether the user experience would be improved by game-like social features. We expect some controversy. :~) Expected Audience: Game players, Snap! developers, people with opinions about social media. Discussion Leader(s): @bh and @silverdragon1353 whose talk started the conversation. Expertise of Discussion Leader(s): One of us is a Snap! expert and the other a Minecraft expert. :~) Proposed Activity during BOF: Discussion of the motivating and demotivating aspects of gamification. false Yuan Garcia Brian Harvey