616 2022 Snap!Con 2022 2022-08-04 2022-08-07 4 00:01 2022-08-04T01:00:00-07:00 08:00 01:00 Room 1 Workshop 436-ai-machine-learning-and-snap AI, Machine Learning, and Snap! AI is an intelligence multiplier, in the same way that industrial machines are muscle multipliers. As our AI gets better, it will allow people to do more, faster, and better, in just about every field of work. Though the development of new AI methods remains the province of highly trained researchers, all of us are already interacting with AI daily, and so it’s important for everyone, and especially our students, to develop an understanding of how AI works and how to use it well. Humans learn best by doing, and so the goal of this workshop is to get hands-on with Machine Learning, which is one method of producing AI. You will learn about the strengths and limitations of Machine Learning models used to detect objects in images by training a Machine Learning model to detect different objects. You’ll then link this model into Snap!, to enable you to use the model you’ve created as a new sensor within Snap! This workshop uses free software, Google Teachable Machine, to do the model training. The lessons were originally designed to train models to control BirdBrain Technologies’ robots, the Finch Robot and the Hummingbird Robotics Kit, but they can be used to control arbitrary Snap! programs and this workshop will not require any robots or other special hardware. BirdBrain has created lessons that allow control of Snap! programs using objects, sound, and pose. This workshop will focus on object recognition, but the process for training sound or pose models is nearly identical and well-documented on our [Snap! AI page](https://www.birdbraintechnologies.com/finch/snap/ai). **About the Workshop Leaders** Tom Lauwers founded BirdBrain Technologies in 2010 after receiving his doctorate in robotics from Carnegie Mellon University. His research was founded on engaging all students, regardless of background, in robotics and engineering. Tom seeks to design educational tools that catalyze positive making, coding, and engineering learning experiences in the classroom. Tom resides in Pittsburgh’s Squirrel Hill neighborhood with his wife, two kids, cat, and a small army of robots. He would be an invaluable ally in the event of a robot (or AI) uprising. Jen Norton provides technical support, curriculum development, and classroom integration strategies to teachers. With over 11 years of teaching Math and Computer Science, Jen is passionate about making Computer Science education accessible for all students. Jen resides in a quiet suburb outside of Atlanta with her husband, son, and two cats. In her free time, you can find Jen reading, playing video games, or going for a cruise in her ’65 Mustang. AI is an intelligence multiplier, in the same way that industrial machines are muscle multipliers. As our AI gets better, it will allow people to do more, faster, and better, in just about every field of work. Though the development of new AI methods remains the province of highly trained researchers, all of us are already interacting with AI daily, and so it’s important for everyone, and especially our students, to develop an understanding of how AI works and how to use it well. Humans learn best by doing, and so the goal of this workshop is to get hands-on with Machine Learning, which is one method of producing AI. You will learn about the strengths and limitations of Machine Learning models used to detect objects in images by training a Machine Learning model to detect different objects. You’ll then link this model into Snap!, to enable you to use the model you’ve created as a new sensor within Snap! This workshop uses free software, Google Teachable Machine, to do the model training. The lessons were originally designed to train models to control BirdBrain Technologies’ robots, the Finch Robot and the Hummingbird Robotics Kit, but they can be used to control arbitrary Snap! programs and this workshop will not require any robots or other special hardware. BirdBrain has created lessons that allow control of Snap! programs using objects, sound, and pose. This workshop will focus on object recognition, but the process for training sound or pose models is nearly identical and well-documented on our [Snap! AI page](https://www.birdbraintechnologies.com/finch/snap/ai). **About the Workshop Leaders** Tom Lauwers founded BirdBrain Technologies in 2010 after receiving his doctorate in robotics from Carnegie Mellon University. His research was founded on engaging all students, regardless of background, in robotics and engineering. Tom seeks to design educational tools that catalyze positive making, coding, and engineering learning experiences in the classroom. Tom resides in Pittsburgh’s Squirrel Hill neighborhood with his wife, two kids, cat, and a small army of robots. He would be an invaluable ally in the event of a robot (or AI) uprising. Jen Norton provides technical support, curriculum development, and classroom integration strategies to teachers. With over 11 years of teaching Math and Computer Science, Jen is passionate about making Computer Science education accessible for all students. Jen resides in a quiet suburb outside of Atlanta with her husband, son, and two cats. In her free time, you can find Jen reading, playing video games, or going for a cruise in her ’65 Mustang. false Tom Lauwers 2022-08-04T05:00:00-07:00 12:00 01:00 Room 1 Panel 502-snap-extension-panel Snap Extension Panel This is a panel all about Snap integrations and extensions! This panel is designed for both tool developers, educators, and Snap users. Our panel will first present some of their own notable extensions then discuss topics including: - different methods of integration - "dream" extensions that they would like to see - favorite extension (excluding their own) This is a panel all about Snap integrations and extensions! This panel is designed for both tool developers, educators, and Snap users. Our panel will first present some of their own notable extensions then discuss topics including: - different methods of integration - "dream" extensions that they would like to see - favorite extension (excluding their own) false Brian Broll 2022-08-04T01:00:00-07:00 08:00 01:00 Room 2 Workshop 398-enjoying-the-liveness-of-snap-in-the-physical-world Enjoying the Liveness of Snap! in the Physical World A must attend workshop to learn MicroBlocks! UC Berkeley Physical Computing Workshop Agenda: - Super quick introduction to physical computing, and the [MicroBlocks](http://microblocks.fun) IDE - Watch this! Several brief demonstrations highlighting the "liveness" of MicroBlocks and how powerful it is to explore the physical world (very much like Snap_!_ except perfect for exploring the physical world using educational boards such as the micro:bit, Circuit Playground Express, and more) - Try me! Grab a board/kit and an activity card (easy or intermediate) and give it a go! - Show-n-tell. Spend the last 10 minutes discussing/sharing your favorite project(s). Physical Computing Workshop Agenda: - Super quick introduction to physical computing, and the [MicroBlocks](http://microblocks.fun) IDE - Watch this! Several brief demonstrations highlighting the "liveness" of MicroBlocks and how powerful it is to explore the physical world (very much like Snap_!_ except perfect for exploring the physical world using educational boards such as the micro:bit, Circuit Playground Express, and more) - Try me! Grab a board/kit and an activity card (easy or intermediate) and give it a go! - Show-n-tell. Spend the last 10 minutes discussing/sharing your favorite project(s). false Kathy Giori 2022-08-04T05:00:00-07:00 12:00 01:00 Room 2 Panel 509-middle-school-teachers-share-experiences-teaching-snap-for-a-year Middle School Teachers Share Experiences Teaching Snap! For a Year The BJC Sparks curriculum is a functional-first, multiple-programming-paradigm curriculum intended for students in Middle School and early High School that teaches computer science using Snap! and MicroBlocks. It is a novel computer science curriculum founded on the principles of functional programming, but also teaching (and reaping the benefits of) imperative, object-oriented, and event-based paradigms. We are proudly (pure) functions-first, emphasizing abstraction, domain and range, functional decomposition, immutable data with a state-free experience, and the use of powerful higher-order functions such as map, keep, and combine. We launched it with twenty pilot teachers in the summer of 2021, and solicited teachers for this panel from that group who will share: - The greatest Snap! projects they saw this year - Snap! features that would make their life easier - Their evolution in learning Snap! yourself - The elements of Snap! that engaged their students the most Even better, if we are able to arrange it with the students' parents, we look forward to welcome a small cohort of their actual students (maybe 2-3 per teacher) to hear their experiences and maybe see their projects (if they did not just come from lab). The BJC Sparks curriculum is a functional-first, multiple-programming-paradigm curriculum intended for students in Middle School and early High School that teaches computer science using Snap! and MicroBlocks. It is a novel computer science curriculum founded on the principles of functional programming, but also teaching (and reaping the benefits of) imperative, object-oriented, and event-based paradigms. We are proudly (pure) functions-first, emphasizing abstraction, domain and range, functional decomposition, immutable data with a state-free experience, and the use of powerful higher-order functions such as map, keep, and combine. We launched it with twenty pilot teachers in the summer of 2021, and solicited teachers for this panel from that group who will share: - The greatest Snap! projects they saw this year - Snap! features that would make their life easier - Their evolution in learning Snap! yourself - The elements of Snap! that engaged their students the most Even better, if we are able to arrange it with the students' parents, we look forward to welcome a small cohort of their actual students (maybe 2-3 per teacher) to hear their experiences and maybe see their projects (if they did not just come from lab). false Bob Kahn Delnavaz Dastur Dave Briccetti Dan Garcia 2022-08-04T01:00:00-07:00 08:00 01:00 Room 3 Workshop 438-creating-music-through-coding Creating Music through Coding Glen Bull, Jo Watts, and Rachel Gibson - University of Virginia Online Workshop Creation of music offers an engaging way to introduce coding to novices. Participants in this workshop will have an opportunity to explore creation of music using blocks developed in TuneScope (www.tunescope.org), an extension of Snap! (Note: it is possible that by the conference, these blocks will be available as a music library in Snap!) The music blocks introduced in the workshop were designed in consultation with the Music Department and the Department of Computer Science at the University of Virginia as well as with extensive assistance and support from within the Snap! forum. The format of the blocks is designed to support both novices who have limited experience with music and students who may play a musical instrument. The music 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. https://maketolearn.org/creating-art-animations-and-music/ The workshop will be supported by instructional videos and resources designed for the course. Three major activities are planned for the workshop: 1. Rhythm across Cultures 2. Creating a Backing Track with Chords 3. Composing a Melody The end product will consist of a tune with several tracks, including a melody, a backing track, and a drum track. Participants in the workshop will have the opportunity to see music 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.) (2021). Creating art, animation & music through coding. Association for Advancement of Computers in Education. Glen Bull, Jo Watts, and Rachel Gibson - University of Virginia Online Workshop Creation of music offers an engaging way to introduce coding to novices. Participants in this workshop will have an opportunity to explore creation of music using blocks developed in TuneScope (www.tunescope.org), an extension of Snap! (Note: it is possible that by the conference, these blocks will be available as a music library in Snap!) The music blocks introduced in the workshop were designed in consultation with the Music Department and the Department of Computer Science at the University of Virginia as well as with extensive assistance and support from within the Snap! forum. The format of the blocks is designed to support both novices who have limited experience with music and students who may play a musical instrument. The music 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. https://maketolearn.org/creating-art-animations-and-music/ The workshop will be supported by instructional videos and resources designed for the course. Three major activities are planned for the workshop: 1. Rhythm across Cultures 2. Creating a Backing Track with Chords 3. Composing a Melody The end product will consist of a tune with several tracks, including a melody, a backing track, and a drum track. Participants in the workshop will have the opportunity to see music 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.) (2021). Creating art, animation & music through coding. Association for Advancement of Computers in Education. false Jo Watts Glen Bull 2022-08-04T05:00:00-07:00 12:00 01:00 Room 3 Workshop 499-abstract-data-type-library-in-snap Abstract Data Type Library in Snap! Learn how to create your own Abstract Data Type Library in Snap! and get real serious about data and information. **Audience:** teachers and students (Year 9 to Year 12) **Presenter:** Georgia Gouros, Virtual School Victoria, Melbourne, Australia **Website:** [https://sites.google.com/view/msgsvce/](https://sites.google.com/view/msgsvce/) Stacks, Queues, Priority Queues, Dictionaries and Graphs are very useful structures for storing complex information for solving problems. In this workshop session there is an introduction to Abstract Data Types (ADTs) and their standard operations and how these can be coded into your own Snap! library CATEGORY, followed by an exploration of how a Snap! Abstract Data Type Library can be used to model real world information. - 1. Explain what ADTs are and their standard operations on data in algorithms (5 mins) - 2a. Demonstrate how a Snap! CATEGORY ADT Library for Stacks & Queues can be coded using lists in Snap! (5 mins) - 2b. Participants create a Snap! CATEGORY ADT Library with Stacks & Queues(10 mins) _[pre-prepared solution available]_ - 2c. Demonstrate how the ADTs Priority Queue and Dictionary can be added to the Snap! CATEGORY ADT Library (5 mins) - 2d. Participants create blocks in Snap! CATEGORY ADT Library (10 mins) _[pre-prepared solution available] _ - 3a. Show how Priority Queues can be combined in a model in Snap! for a runway algorithm in outback Australia real world modelling problem (5 mins) - 3b. Participants follow along and encode Priority Queues model and algorithm in Snap! (10 mins) _[pre-prepared solution available]_ - 4. Discussion on other applications of ADTS in Snap! and SnapApps/Edgy (10 mins) _[pre-prepared examples available]_ conference organiser reference: https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=ALGO%20VSV%20Abstract%20Data%20Type%20Library%20with%20Examples ### **RESOURCES FOR PARTICIPANTS** - **Step A Stacks & Queues in Snap!** [https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=A%20Snapcon22%20ADTs%20StackQueue](https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=A%20Snapcon22%20ADTs%20StackQueue) - **Step B Stacks & Queues & PQ & DIct in Snap!** [https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=B%20Snapcon22%20ADTs%20StackQueuePQDict](https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=B%20Snapcon22%20ADTs%20StackQueuePQDict) - **Step C Setup an airport in Snap!** [https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=C%20Snapcon22%20SetupAirport](https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=C%20Snapcon22%20SetupAirport) - **Step D Setup network library in Snap!** [https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=D%20Snapcon22%20ADTS%20Networks](https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=D%20Snapcon22%20ADTS%20Networks) - **Step E using SnapApps/Edgy with built in graph network libraries and collections** https://snapapps.github.io/ [http://snapapps.github.io/edgy/app/edgy.html](http://snapapps.github.io/edgy/app/edgy.html) **Audience:** teachers and students (Year 9 to Year 12) **Presenter:** Georgia Gouros, Virtual School Victoria, Melbourne, Australia **Website:** [https://sites.google.com/view/msgsvce/](https://sites.google.com/view/msgsvce/) Stacks, Queues, Priority Queues, Dictionaries and Graphs are very useful structures for storing complex information for solving problems. In this workshop session there is an introduction to Abstract Data Types (ADTs) and their standard operations and how these can be coded into your own Snap! library CATEGORY, followed by an exploration of how a Snap! Abstract Data Type Library can be used to model real world information. - 1. Explain what ADTs are and their standard operations on data in algorithms (5 mins) - 2a. Demonstrate how a Snap! CATEGORY ADT Library for Stacks & Queues can be coded using lists in Snap! (5 mins) - 2b. Participants create a Snap! CATEGORY ADT Library with Stacks & Queues(10 mins) _[pre-prepared solution available]_ - 2c. Demonstrate how the ADTs Priority Queue and Dictionary can be added to the Snap! CATEGORY ADT Library (5 mins) - 2d. Participants create blocks in Snap! CATEGORY ADT Library (10 mins) _[pre-prepared solution available] _ - 3a. Show how Priority Queues can be combined in a model in Snap! for a runway algorithm in outback Australia real world modelling problem (5 mins) - 3b. Participants follow along and encode Priority Queues model and algorithm in Snap! (10 mins) _[pre-prepared solution available]_ - 4. Discussion on other applications of ADTS in Snap! and SnapApps/Edgy (10 mins) _[pre-prepared examples available]_ conference organiser reference: https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=ALGO%20VSV%20Abstract%20Data%20Type%20Library%20with%20Examples ### **RESOURCES FOR PARTICIPANTS** - **Step A Stacks & Queues in Snap!** [https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=A%20Snapcon22%20ADTs%20StackQueue](https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=A%20Snapcon22%20ADTs%20StackQueue) - **Step B Stacks & Queues & PQ & DIct in Snap!** [https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=B%20Snapcon22%20ADTs%20StackQueuePQDict](https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=B%20Snapcon22%20ADTs%20StackQueuePQDict) - **Step C Setup an airport in Snap!** [https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=C%20Snapcon22%20SetupAirport](https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=C%20Snapcon22%20SetupAirport) - **Step D Setup network library in Snap!** [https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=D%20Snapcon22%20ADTS%20Networks](https://snap.berkeley.edu/project?user=ggouros%40vsv.vic.edu.au&project=D%20Snapcon22%20ADTS%20Networks) - **Step E using SnapApps/Edgy with built in graph network libraries and collections** https://snapapps.github.io/ [http://snapapps.github.io/edgy/app/edgy.html](http://snapapps.github.io/edgy/app/edgy.html) false Georgia Gouros 2022-08-04T01:00:00-07:00 08:00 01:00 Room 4 Workshop 451-spideys-flowers-fun-with-arcs-a-turtlestitch-tur-torial Spideys & Flowers! Fun with Arcs: A TurtleStitch Tur-torial In this workshop, we will make designs in TurtleStitch for a computerized embroidery machine. After you create a design that you love and do not have access to a machine, the global TurtleStitch community friends will embroider & mail you your design! TurtleStitching is a mix of art, design and technology. It affords a rich area of exploration for beginners and experts. The interaction of creating a design, coding it, and producing it captures what Seymour Papert referred to as hard fun, leading to love and engagement of 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. Since TurtleStitch is written in Snap! it offers many of the Snap! tools. At the same time, as its name implies, coding focuses on instructing a turtle to draw patterns on the computer screen. These patterns are saved in a file format understood by computerized embroidery machines. PREREQUISITE: Create a username and sign up for a free account at 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. [Slides](https://docs.google.com/presentation/d/1PeIf6-aLkm645WBAlWPZZs1SaKJ6spWbasAY-nMkzB4/edit#slide=id.p) In this workshop, we will make designs in TurtleStitch for a computerized embroidery machine. After you create a design that you love and do not have access to a machine, the global TurtleStitch community friends will embroider & mail you your design! TurtleStitching is a mix of art, design and technology. It affords a rich area of exploration for beginners and experts. The interaction of creating a design, coding it, and producing it captures what Seymour Papert referred to as hard fun, leading to love and engagement of 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. Since TurtleStitch is written in Snap! it offers many of the Snap! tools. At the same time, as its name implies, coding focuses on instructing a turtle to draw patterns on the computer screen. These patterns are saved in a file format understood by computerized embroidery machines. PREREQUISITE: Create a username and sign up for a free account at 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. [Slides](https://docs.google.com/presentation/d/1PeIf6-aLkm645WBAlWPZZs1SaKJ6spWbasAY-nMkzB4/edit#slide=id.p) false cynthia.solomon@gmail.com Susan Klimczak Beth Lloyd 2022-08-04T01:00:00-07:00 08:00 06:00 Hallway Hallway Track 542-hallway-track Hallway Track Join your friends and meet new ones in ohyay! Join your friends and meet new ones in ohyay! false 2022-08-04T02:00:00-07:00 09:00 00:15 Hallway Short Breaks 522-break Break Don't forget to stand up and take a quick break! :) Don't forget to stand up and take a quick break! :) false 2022-08-04T03:15:00-07:00 10:15 00:30 Hallway Breaks 536-food-break Food Break Take a break and eat some food, and catch up with friends in the Hallway track. Take a break and eat some food, and catch up with friends in the Hallway track. false 2022-08-04T04:45:00-07:00 11:45 00:15 Hallway Short Breaks 523-break Break Don't forget to stand up and take a quick break! :) Don't forget to stand up and take a quick break! :) false 2022-08-04T06:00:00-07:00 13:00 00:15 Hallway Short Breaks 530-break Break Don't forget to stand up and take a quick break! :) Don't forget to stand up and take a quick break! :) false 2022-08-04T02:15:00-07:00 09:15 01:00 Plenary Plenaries 501-what-s-cooking-in-snap What's Cooking in Snap! The overall theme of Snap! development in the past year has been to foster "togetherness", such as: * SLOP (Several Learners One Project): Identify meaningful units of exchange and support packaging and sharing them, such as sprites, media resources, blocks libraries, single scripts, single custom block definitions. New feature: Bundle dependencies together with the code to share, avoid undefined blocks in shared modules. * Smart Costumes: Bundle script pics with the (full) code they resemble, based o the brilliant contributions from Dariusz Dorozalski and Jesus Villalobos. Also enable bundling costumes with arbitrary data and code in Snap. * Metaprogramming: Programmatically define custom blocks. * more... The overall theme of Snap! development in the past year has been to foster "togetherness", such as: * SLOP (Several Learners One Project): Identify meaningful units of exchange and support packaging and sharing them, such as sprites, media resources, blocks libraries, single scripts, single custom block definitions. New feature: Bundle dependencies together with the code to share, avoid undefined blocks in shared modules. * Smart Costumes: Bundle script pics with the (full) code they resemble, based o the brilliant contributions from Dariusz Dorozalski and Jesus Villalobos. Also enable bundling costumes with arbitrary data and code in Snap. * Metaprogramming: Programmatically define custom blocks. * more... false Jens Mönig 2022-08-04T03:45:00-07:00 10:45 01:00 Plenary Plenaries 517-lightning-talks-round-1 Lightning Talks Round 1 Our first round of lightning talks! Please look at the list of talks below. Our first round of lightning talks! Please look at the list of talks below. false Jadga Hügle 2022-08-04T03:50:00-07:00 10:50 00:05 Plenary Lightning Talk 440-midi-vibraphone-performance MIDI Vibraphone Performance W. Monty Jones - Virginia Commonwealth University Rachel Gibson, Glen Bull, and Jo Watts - University of Virginia TuneScope (tunescope.org) is an extension of Snap! with additional music blocks. (Note: it is possible that by the conference, these blocks will be available as a music library in Snap!) In this lightning talk, we will demonstrate use of the MIDI block in TuneScope, highlighted by a live performance on a MIDI vibraphone. W. Monty Jones - Virginia Commonwealth University Rachel Gibson, Glen Bull, and Jo Watts - University of Virginia TuneScope (tunescope.org) is an extension of Snap! with additional music blocks. (Note: it is possible that by the conference, these blocks will be available as a music library in Snap!) In this lightning talk, we will demonstrate use of the MIDI block in TuneScope, highlighted by a live performance on a MIDI vibraphone. false W. Monty Jones Glen Bull 2022-08-04T03:55:00-07:00 10:55 00:05 Plenary Lightning Talk 453-a-minimal-4-0-metaverse-controlled-with-snap A Minimal 4.0 Metaverse Controlled with Snap! The presented [Low-Code minimal metaverse controlled by Snap!](https://github.com/pixavier/meta4snap) has been developed to help postgraduate students to understand the notion of I4.0 components, which are the fundamental building blocks of Industry 4.0. They are characterized by the so-called Administration Shell, a digital interface to communicate and control them that can be defined as a "digital bell" covering an asset to digitalize it. The students conceptualize, implement and reuse I4.0 components, allowing data capture and remote control, and applying design patterns such as Composite, Façade, or Proxy combined with a CSG (Constructive Solid Geometry) approach. It has been inspired by projects like [BeetleBlocks](http://beetleblocks.com), with a broad conception of the Internet of Things. It is based on [Three.js](https://threejs.org/examples/#webgl_animation_keyframes). ![Screenshot](https://raw.githubusercontent.com/pixavier/meta4snap/main/img/example01_b.png "Screenshot") The presented [Low-Code minimal metaverse controlled by Snap!](https://github.com/pixavier/meta4snap) has been developed to help postgraduate students to understand the notion of I4.0 components, which are the fundamental building blocks of Industry 4.0. They are characterized by the so-called Administration Shell, a digital interface to communicate and control them that can be defined as a "digital bell" covering an asset to digitalize it. The students conceptualize, implement and reuse I4.0 components, allowing data capture and remote control, and applying design patterns such as Composite, Façade, or Proxy combined with a CSG (Constructive Solid Geometry) approach. It has been inspired by projects like [BeetleBlocks](http://beetleblocks.com), with a broad conception of the Internet of Things. It is based on [Three.js](https://threejs.org/examples/#webgl_animation_keyframes). ![Screenshot](https://raw.githubusercontent.com/pixavier/meta4snap/main/img/example01_b.png "Screenshot") false Xavier Pi 2022-08-04T04:00:00-07:00 11:00 00:05 Plenary Lightning Talk 395-an-ai-program-in-snap-for-searching-the-snap-manual An AI program in Snap! for searching the Snap! manual Consider the task of searching the Snap! manual. String matching cannot take into account synonyms, different ways of saying the same thing, or different spelling conventions. In this Snap! project sentence embeddings are used to compare the user's query with sentence fragments from the manual. Embeddings of a sentence are 512 numbers produced by a deep neural network. The embeddings of the fragments (all 1685 of them) have been pre-computed so only the embedding of the user's query is needed. Once the closest fragments have been computed we can fall back upon string search since the fragments were derived from the document being searched. This was packaged up as a sprite that when imported enables one to search the manual from within Snap! either by typing or speaking a query. Here is the [documentation](https://ecraft2learn.github.io/ai/AI-Teacher-Guide/chapter-5.html#manual-and-guide-ai-search). Consider the task of searching the Snap! manual. String matching cannot take into account synonyms, different ways of saying the same thing, or different spelling conventions. In this Snap! project sentence embeddings are used to compare the user's query with sentence fragments from the manual. Embeddings of a sentence are 512 numbers produced by a deep neural network. The embeddings of the fragments (all 1685 of them) have been pre-computed so only the embedding of the user's query is needed. Once the closest fragments have been computed we can fall back upon string search since the fragments were derived from the document being searched. This was packaged up as a sprite that when imported enables one to search the manual from within Snap! either by typing or speaking a query. Here is the [documentation](https://ecraft2learn.github.io/ai/AI-Teacher-Guide/chapter-5.html#manual-and-guide-ai-search). false Ken Kahn 2022-08-04T04:05:00-07:00 11:05 00:05 Plenary Lightning Talk 510-international-space-station-loss-of-acquisition-simulator International Space Station Loss of Acquisition Simulator The International Space Station (ISS) circles the earth many times a day at an altitude of about 250 miles. It continuously streams data down to Mission Control in Houston. The ISS National Laboratory has teamed up with UC Berkeley to build engaging curricular modules that would engage computer science and data science students; the project is called "Student Mission Control" – http://smc.berkeley.edu/. One of the activities we are developing is a "Loss of Acquisition simulator" in Snap! that presents an out-of-control spinning ISS, and needs the student to fill in one block to stop it from spinning pointed "up" (away from the earth) by controlling rotational thrusters at just the right amount and just the right time. What makes it additionally challenging is that there is a finite fuel supply. The International Space Station (ISS) circles the earth many times a day at an altitude of about 250 miles. It continuously streams data down to Mission Control in Houston. The ISS National Laboratory has teamed up with UC Berkeley to build engaging curricular modules that would engage computer science and data science students; the project is called "Student Mission Control" – http://smc.berkeley.edu/. One of the activities we are developing is a "Loss of Acquisition simulator" in Snap! that presents an out-of-control spinning ISS, and needs the student to fill in one block to stop it from spinning pointed "up" (away from the earth) by controlling rotational thrusters at just the right amount and just the right time. What makes it additionally challenging is that there is a finite fuel supply. false Dan Garcia 2022-08-04T04:10:00-07:00 11:10 00:05 Plenary Lightning Talk 507-helping-snap-s-help Helping Snap!'s Help In this lightning talk, I will advocate for things that could improve how users get help in Snap!: - Fill in the gaps of missing help screens. That is, there’s no help screens for “reshape”, or any dropdown menu functions (e.g., under “sqrt”, or “length”), or the hidden blocks available only under “relabel” (e.g., “atan2”, “max”). - Fix the minor bugs in existing help screens. For example, the help screen in the “numbers from _ to _” says the range has to be ascending, but that’s not true anymore. - Translation of the help screens to all the languages Snap! supports, which might mean we move from a “picture”-based help to one that has text placed over pictures, allowing the text to be translated (perhaps by Google, perhaps by hand) without having to change the pictures. - When appropriate (e.g., for blocks in the animation library), have videos instead of the static help screens with closed captioning (that could be auto-translated, so the same video could be used for all languages). - Libraries: When the user selects a library (before clicking import), they could see a video introduction to the overall library, what each block does (maybe the help picture/movie for each block could be viewable, not just a one-line text description), and there would be a “tool sprite” that gets loaded with the library (maybe named for the Library) to show how to use all the new blocks. - When appropriate, there would be links to the section(s) where that block is referenced in the Snap! manual from within Snap!. - Finally, there would be a “people who used this block also found the following blocks useful” recommendation system (that pointed, say, a first-time “map” user to experiment with “keep” or “combine”). In this lightning talk, I will advocate for things that could improve how users get help in Snap!: - Fill in the gaps of missing help screens. That is, there’s no help screens for “reshape”, or any dropdown menu functions (e.g., under “sqrt”, or “length”), or the hidden blocks available only under “relabel” (e.g., “atan2”, “max”). - Fix the minor bugs in existing help screens. For example, the help screen in the “numbers from _ to _” says the range has to be ascending, but that’s not true anymore. - Translation of the help screens to all the languages Snap! supports, which might mean we move from a “picture”-based help to one that has text placed over pictures, allowing the text to be translated (perhaps by Google, perhaps by hand) without having to change the pictures. - When appropriate (e.g., for blocks in the animation library), have videos instead of the static help screens with closed captioning (that could be auto-translated, so the same video could be used for all languages). - Libraries: When the user selects a library (before clicking import), they could see a video introduction to the overall library, what each block does (maybe the help picture/movie for each block could be viewable, not just a one-line text description), and there would be a “tool sprite” that gets loaded with the library (maybe named for the Library) to show how to use all the new blocks. - When appropriate, there would be links to the section(s) where that block is referenced in the Snap! manual from within Snap!. - Finally, there would be a “people who used this block also found the following blocks useful” recommendation system (that pointed, say, a first-time “map” user to experiment with “keep” or “combine”). false Yuan Garcia 2022-08-05T01:00:00-07:00 08:00 01:00 Room 1 Workshop 503-turn-your-smartphone-into-your-own-ai-powered-personal-assistant Turn Your Smartphone into Your Own AI-Powered Personal Assistant! The possibilities of artificial intelligence and its influence on our everyday lives are expanding rapidly. To participate in an increasingly digital world and make informed decisions about AI and its impact on our society, everyone needs a basic understanding of AI. However, it is important not only to explain the corresponding phenomena, but also to enable everyone to actively shape this world and use AI as an creative tool. In this workshop, a teaching project will be presented in which K-12 students use a hands-on and constructionist approach to turn their smartphone into their own ai-powered personal assistant - with the help of Snap!. They design the interaction with language processing techniques, program the behavior according to their ideas (all in Snap!), and give the assistant its own identity. All they need are craft materials, a computer with Internet access and their own smartphone. Time to create your own assistant! The possibilities of artificial intelligence and its influence on our everyday lives are expanding rapidly. To participate in an increasingly digital world and make informed decisions about AI and its impact on our society, everyone needs a basic understanding of AI. However, it is important not only to explain the corresponding phenomena, but also to enable everyone to actively shape this world and use AI as an creative tool. In this workshop, a teaching project will be presented in which K-12 students use a hands-on and constructionist approach to turn their smartphone into their own ai-powered personal assistant - with the help of Snap!. They design the interaction with language processing techniques, program the behavior according to their ideas (all in Snap!), and give the assistant its own identity. All they need are craft materials, a computer with Internet access and their own smartphone. Time to create your own assistant! false Tilman Michaeli 2022-08-05T05:00:00-07:00 12:00 00:20 Room 1 Talk 497-introduction-to-cryptography Introduction to Cryptography Students deal with cryptography and security every day, e.g. by picking passwords for online accounts. We all know about basic cryptography from inventing secret languages with our friends. But how does cryptography actually work? How did Caesar get secret messages to his army? How can you send messages safely over the internet? In this talk we want to share an outline on a new openSAP MOOC that's currently under development. Discover the history of cryptography in 15 Snap! projects, starting from ancient ciphers to renaissance occultists and modern day algorithms. Students deal with cryptography and security every day, e.g. by picking passwords for online accounts. We all know about basic cryptography from inventing secret languages with our friends. But how does cryptography actually work? How did Caesar get secret messages to his army? How can you send messages safely over the internet? In this talk we want to share an outline on a new openSAP MOOC that's currently under development. Discover the history of cryptography in 15 Snap! projects, starting from ancient ciphers to renaissance occultists and modern day algorithms. false Jadga Hügle Jens Mönig Bernat Romagosa 2022-08-05T05:20:00-07:00 12:20 00:20 Room 1 Talk 455-20-things-to-do-with-a-computer-lessons-from-papert 20 Things to do with a Computer — Lessons from Papert The session begins by revisiting some of Papert's writing, including '[20 Things to do with a Computer](http://www.bitsavers.org/pdf/mit/ai/aim/AIM-248.pdf)' (with Solomon) and [Mindstorms](http://worrydream.com/refs/Papert%20-%20Mindstorms%201st%20ed.pdf). We'll look at how many of the insights from his work remain relevant today, particularly in relation to learning through making, the role of programming in thinking mathematically and independent learning. We explore some of the lessons to learn from early experiences in Logo programming and bring this up to date with an exploration of how turtle graphics can be used for learning geometry, for digital creativity and for the foundations of computer science, concluding with some thoughts on how this can best be incorporated into the upper primary or lower secondary curriculum. The session begins by revisiting some of Papert's writing, including '[20 Things to do with a Computer](http://www.bitsavers.org/pdf/mit/ai/aim/AIM-248.pdf)' (with Solomon) and [Mindstorms](http://worrydream.com/refs/Papert%20-%20Mindstorms%201st%20ed.pdf). We'll look at how many of the insights from his work remain relevant today, particularly in relation to learning through making, the role of programming in thinking mathematically and independent learning. We explore some of the lessons to learn from early experiences in Logo programming and bring this up to date with an exploration of how turtle graphics can be used for learning geometry, for digital creativity and for the foundations of computer science, concluding with some thoughts on how this can best be incorporated into the upper primary or lower secondary curriculum. false Miles Berry 2022-08-05T05:40:00-07:00 12:40 00:20 Room 1 Talk 457-block-powered-virtual-robots-and-more-in-your-browser Block-powered Virtual Robots (and More) in Your Browser! RoboScape Online and NetsBlox Last Snap!con, we demonstrated an in-development version of a tool for students to use simulated robots in NetsBlox. This year, we have a new version, already being used in classrooms. You can control virtual robots with block-based code, in a 3D world, entirely in your browser. To go along with NetsBlox’s other collaboration tools, the environments are networked, allowing students working as a group to share a virtual space as well as their programs with each other. These virtual robots reduce the barriers for classroom robotics use while also making new scenarios available that would otherwise be too expensive or too dangerous to do with physical robots. Students can work with new sensors and new devices, without requiring any expense from teachers beyond the computer and internet connection they already use for Snap!. The talk will focus on demos and example projects, while also showing the existing use of this platform in the classroom. Participants can play around with their own robots, and are free to continue using the platform after the talk! Last Snap!con, we demonstrated an in-development version of a tool for students to use simulated robots in NetsBlox. This year, we have a new version, already being used in classrooms. You can control virtual robots with block-based code, in a 3D world, entirely in your browser. To go along with NetsBlox’s other collaboration tools, the environments are networked, allowing students working as a group to share a virtual space as well as their programs with each other. These virtual robots reduce the barriers for classroom robotics use while also making new scenarios available that would otherwise be too expensive or too dangerous to do with physical robots. Students can work with new sensors and new devices, without requiring any expense from teachers beyond the computer and internet connection they already use for Snap!. The talk will focus on demos and example projects, while also showing the existing use of this platform in the classroom. Participants can play around with their own robots, and are free to continue using the platform after the talk! false Gordon Stein 2022-08-05T01:00:00-07:00 08:00 01:00 Room 2 Workshop 462-math-c-integrating-programming-into-elementary-mathematics-grades-2-5 Math+C: Integrating Programming into Elementary Mathematics Grades 2–5 **Names and Affiliations of Presenters:** • Paul Goldenberg, Education Development Center (EDC) • June Mark, EDC • Deborah Spencer, EDC • Kristen Reed, EDC • Kate Coleman, EDC • Katie Chiappinelli, EDC • Zachary Kolar, Waltham Public Schools **Significance and Relevance of the Topic:** The Math+C project at Education Development Center (EDC) is developing microworlds that integrate programming into elementary mathematics as a language to help children express and explore mathematical ideas. Our broad hypothesis is that programming, suitably designed, can change how children learn mathematics and help to develop and reveal children's computational thinking (in particular, abstraction, precision of specification, and algorithm). Embedding programming into the core mathematics instruction for grades 2–5 ensures that all children gain experience with programming, in developmentally appropriate ways – and it increases access to mathematical ideas by providing an engaging approach to learning critical mathematics content that offers different affordances than pencil-and-paper activities. This NSF-funded early-stage design and development project is investigating what features of a programming environment best supports this kind of work for elementary-aged children. Programming gives children a language with which to express their thinking precisely and have that thinking enacted by the computer, allowing them to assess, refine, and extend their thinking with greater ease. Each microworld challenges children to build and debug their own scripts to solve a series of highly engaging mathematical puzzles. This approach takes advantage of children’s natural way of learning: doing, getting feedback, building experience, then naming and systematizing. This epistemological principle of experience before formality guides our approach to curriculum development in both mathematics and in programming. We will share several examples of microworlds we have designed in Snap! for grades 2–5 with a particular emphasis on our newest microworlds, focused on decimals on the number line, angles, and the coordinate plane. For each, we will show how the microworld environment preserves the power of Snap! but tailors the options to present only what initially children need, gradually revealing more features as they need them. **Decimal number line.** In our decimals microworld, children “zoom in” on the number line to add and subtract tenths and hundredths by programming combinations of ±0.3 and ±0.5 and ±0.03 and ±0.05. Children also explore magnitude and distance as it relates to integers and decimals on the number line. This is an extension of our number line microworld where children program combinations of ±3 and ±5 to build fluency within 20 and later 1000. Children explore fractions in a similar way by programming combinations of ±3/8 and ±5/8 in our fractions number line microworld. **Angles.** In the angles microworld, children explore angle measures by drawing line segments to make angles on an isometric grid. They start by making simple shapes and eventually move to creating complex shapes. Children experiment with moving and turning on the grid by changing aspects of their scripts, such as the angle size (60°, 120°, 180°) and length of line segments. Children can customize color of their pen as well as the fill used within their shapes. **Coordinate Plane/Town Map.** The coordinate plane microworld builds on our earlier work on a “town map” microworld where children move on a map and compare distances. In this latest version, upper-elementary children work on a coordinate plane to plot points of ordered pairs using point of origin, the X and Y axis and directionality on a grid. They continue to compare distances between various points on the grid. 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, including technological advancements made over the past year. Participants will watch video of elementary students developing both mathematical and CS concepts within our newest microworlds environments and will also be invited to explore these microworlds themselves. **Rough Agenda for the Workshop: ** • Introduction (5 minutes) • Preview of Math+C microworlds (15 minutes) • Exploration of the Math+C microworlds (20 minutes) • Using Math+C microworld environment tools to build other microworlds, and technological updates (10 min) • Questions (10 minutes) **Expected Audience:** Our examples are from grades 1–5, but easily extend higher and lower. We anticipate that the workshop would be of interest to K–12 teachers, particularly elementary teachers, as well as developers of learning environments for K–12 students. **Participant Equipment Requirements:** Equipment recommended—a computer that can run Snap!, and preferably Chrome or Firefox as a browser. **Names and Affiliations of Presenters:** • Paul Goldenberg, Education Development Center (EDC) • June Mark, EDC • Deborah Spencer, EDC • Kristen Reed, EDC • Kate Coleman, EDC • Katie Chiappinelli, EDC • Zachary Kolar, Waltham Public Schools **Significance and Relevance of the Topic:** The Math+C project at Education Development Center (EDC) is developing microworlds that integrate programming into elementary mathematics as a language to help children express and explore mathematical ideas. Our broad hypothesis is that programming, suitably designed, can change how children learn mathematics and help to develop and reveal children's computational thinking (in particular, abstraction, precision of specification, and algorithm). Embedding programming into the core mathematics instruction for grades 2–5 ensures that all children gain experience with programming, in developmentally appropriate ways – and it increases access to mathematical ideas by providing an engaging approach to learning critical mathematics content that offers different affordances than pencil-and-paper activities. This NSF-funded early-stage design and development project is investigating what features of a programming environment best supports this kind of work for elementary-aged children. Programming gives children a language with which to express their thinking precisely and have that thinking enacted by the computer, allowing them to assess, refine, and extend their thinking with greater ease. Each microworld challenges children to build and debug their own scripts to solve a series of highly engaging mathematical puzzles. This approach takes advantage of children’s natural way of learning: doing, getting feedback, building experience, then naming and systematizing. This epistemological principle of experience before formality guides our approach to curriculum development in both mathematics and in programming. We will share several examples of microworlds we have designed in Snap! for grades 2–5 with a particular emphasis on our newest microworlds, focused on decimals on the number line, angles, and the coordinate plane. For each, we will show how the microworld environment preserves the power of Snap! but tailors the options to present only what initially children need, gradually revealing more features as they need them. **Decimal number line.** In our decimals microworld, children “zoom in” on the number line to add and subtract tenths and hundredths by programming combinations of ±0.3 and ±0.5 and ±0.03 and ±0.05. Children also explore magnitude and distance as it relates to integers and decimals on the number line. This is an extension of our number line microworld where children program combinations of ±3 and ±5 to build fluency within 20 and later 1000. Children explore fractions in a similar way by programming combinations of ±3/8 and ±5/8 in our fractions number line microworld. **Angles.** In the angles microworld, children explore angle measures by drawing line segments to make angles on an isometric grid. They start by making simple shapes and eventually move to creating complex shapes. Children experiment with moving and turning on the grid by changing aspects of their scripts, such as the angle size (60°, 120°, 180°) and length of line segments. Children can customize color of their pen as well as the fill used within their shapes. **Coordinate Plane/Town Map.** The coordinate plane microworld builds on our earlier work on a “town map” microworld where children move on a map and compare distances. In this latest version, upper-elementary children work on a coordinate plane to plot points of ordered pairs using point of origin, the X and Y axis and directionality on a grid. They continue to compare distances between various points on the grid. 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, including technological advancements made over the past year. Participants will watch video of elementary students developing both mathematical and CS concepts within our newest microworlds environments and will also be invited to explore these microworlds themselves. **Rough Agenda for the Workshop: ** • Introduction (5 minutes) • Preview of Math+C microworlds (15 minutes) • Exploration of the Math+C microworlds (20 minutes) • Using Math+C microworld environment tools to build other microworlds, and technological updates (10 min) • Questions (10 minutes) **Expected Audience:** Our examples are from grades 1–5, but easily extend higher and lower. We anticipate that the workshop would be of interest to K–12 teachers, particularly elementary teachers, as well as developers of learning environments for K–12 students. **Participant Equipment Requirements:** Equipment recommended—a computer that can run Snap!, and preferably Chrome or Firefox as a browser. false Paul Goldenberg Kristen Reed June Mark Zak Kolar Deborah Spencer Kathryn Chiappinelli Kate Coleman 2022-08-05T05:00:00-07:00 12:00 00:20 Room 2 Talk 495-creating-abstract-drawings-using-turtlesstitch-comparing-picasso-s-one-line-drawings-with-waclaw-szpakowski-s-rhythmical-line-drawings Creating Abstract Drawings using TurtlesStitch: Comparing Picasso’s One Line Drawings with Waclaw Szpakowski’s Rhythmical Line Drawings In this talk, I will compare the different coding aspects of creating a one line drawing by Picasso and a Waclaw Szpakowski’s rhythmical line drawing in TurtleStitch. To create a Picasso one line drawing, the image is added to the stage area by the Import command. This image becomes the background and is then traced point by point along the edge of the image. The tracing program is a SNAP! Program whereby simple keyboard commands are typed and the movement of the mouse is recorded in a graphic table of X and Y coordinates that create the path that will be embroidered. Waclaw Szpakowski’s rhythmical line drawings are unique whereby a single continuous line creates a maze of lines that starts at one side of the page and ends at the other side of the page. The designs were made by Waclaw using grid paper. When the line is coded, it can only go in one of two directions, left or right. Thereby, all of the lines are at right angles to one another. These perpendicular designs are repeated in symmetrical ways with turns and flips which never intersect. I created a basic coding template in TurtleStitch to recreate over 80 of Waclaw’s designs. In this talk, I will compare the different coding aspects of creating a one line drawing by Picasso and a Waclaw Szpakowski’s rhythmical line drawing in TurtleStitch. To create a Picasso one line drawing, the image is added to the stage area by the Import command. This image becomes the background and is then traced point by point along the edge of the image. The tracing program is a SNAP! Program whereby simple keyboard commands are typed and the movement of the mouse is recorded in a graphic table of X and Y coordinates that create the path that will be embroidered. Waclaw Szpakowski’s rhythmical line drawings are unique whereby a single continuous line creates a maze of lines that starts at one side of the page and ends at the other side of the page. The designs were made by Waclaw using grid paper. When the line is coded, it can only go in one of two directions, left or right. Thereby, all of the lines are at right angles to one another. These perpendicular designs are repeated in symmetrical ways with turns and flips which never intersect. I created a basic coding template in TurtleStitch to recreate over 80 of Waclaw’s designs. false Elaine Wolfe 2022-08-05T05:20:00-07:00 12:20 00:20 Room 2 Talk 435-the-value-of-creative-cross-curricular-projects The Value of Creative Cross-Curricular Projects [Link to presentation in powerpoint](https://livewarwickac-my.sharepoint.com/:p:/g/personal/esrqw_live_warwick_ac_uk/EXSG3a3nZldCkXiOvdk0rE4BmAb5s-B5OzVctOJEtZTPOQ?e=OLVtER) Stitch in Time Resources: [www.warwick.ac.uk/stitchintime](http://www.warwick.ac.uk/stitchintime) Warwick TurtleStitch Resources (Primary Maths, Skills, Projects): [www.warwick.ac.uk/turtlestitch](http://www.warwick.ac.uk/turtlestitch) There is significant value in cross-curricular projects. Different aspects of these projects need different skills, and as a result they can appeal to a wider range of children than simply a maths, computing or textile project by themselves. It also reflects the real world, where a range of skills are needed to successfully complete projects. In the Stitch in Time project ([www.warwick.ac.uk/stitchintime](http://www.warwick.ac.uk/stitchintime)), children explored the role of textiles in Coventry’s history and designed their own embroidery patterns on a theme of their choosing. They learned about software and control in the arts, business and industry, before applying programming skills and mathematics to translate their designs into a form that could be stitched onto fabric using a digital embroidery machine, with TurtleStitch ([www.turtlestitch.org](http://www.turtlestitch.org)). The Stitch in Time project was based around a set of primary school maths resources that used TurtleStitch as a means of checking the children’s understanding of geometry. Additional lesson plans were created to link to the history and culture of Coventry (Coventry was UK City of Culture in 2021). Project outcomes. Schools were looking for City of Culture projects, so, despite facing many challenges with Covid, the project was undertaken by teachers at 5 primary schools (working with children aged 9-11). The feedback from teachers highlighted the value of this project, where children produced a tangible product from their programming work. Prior to this project the main outputs from children’s work were computer games. In order to create their design, children had to apply a working knowledge of maths and programming. The designs produced reflected a range of ambitions, taking them well beyond the examples provided. Some children explored designs done by others on the Turtlestitch website to expand their knowledge. The project concluded with an exhibition of the childrens work, where quilts, posters and a scarf were shared with visitors. We were delighted that teachers, their families and some of their students came to see the exhibition. [Link to presentation in powerpoint](https://livewarwickac-my.sharepoint.com/:p:/g/personal/esrqw_live_warwick_ac_uk/EXSG3a3nZldCkXiOvdk0rE4BmAb5s-B5OzVctOJEtZTPOQ?e=OLVtER) Stitch in Time Resources: [www.warwick.ac.uk/stitchintime](http://www.warwick.ac.uk/stitchintime) Warwick TurtleStitch Resources (Primary Maths, Skills, Projects): [www.warwick.ac.uk/turtlestitch](http://www.warwick.ac.uk/turtlestitch) There is significant value in cross-curricular projects. Different aspects of these projects need different skills, and as a result they can appeal to a wider range of children than simply a maths, computing or textile project by themselves. It also reflects the real world, where a range of skills are needed to successfully complete projects. In the Stitch in Time project ([www.warwick.ac.uk/stitchintime](http://www.warwick.ac.uk/stitchintime)), children explored the role of textiles in Coventry’s history and designed their own embroidery patterns on a theme of their choosing. They learned about software and control in the arts, business and industry, before applying programming skills and mathematics to translate their designs into a form that could be stitched onto fabric using a digital embroidery machine, with TurtleStitch ([www.turtlestitch.org](http://www.turtlestitch.org)). The Stitch in Time project was based around a set of primary school maths resources that used TurtleStitch as a means of checking the children’s understanding of geometry. Additional lesson plans were created to link to the history and culture of Coventry (Coventry was UK City of Culture in 2021). Project outcomes. Schools were looking for City of Culture projects, so, despite facing many challenges with Covid, the project was undertaken by teachers at 5 primary schools (working with children aged 9-11). The feedback from teachers highlighted the value of this project, where children produced a tangible product from their programming work. Prior to this project the main outputs from children’s work were computer games. In order to create their design, children had to apply a working knowledge of maths and programming. The designs produced reflected a range of ambitions, taking them well beyond the examples provided. Some children explored designs done by others on the Turtlestitch website to expand their knowledge. The project concluded with an exhibition of the childrens work, where quilts, posters and a scarf were shared with visitors. We were delighted that teachers, their families and some of their students came to see the exhibition. false Margaret Low Helen Luckhurst 2022-08-05T05:40:00-07:00 12:40 00:20 Room 2 Talk 446-group-accounts-in-turtlestitch Group Accounts in TurtleStitch Turtlestitch (TS) is a free platform, based on Snap!, enabling users to generate patterns for embroidery machines. It is easy to use, requiring no prior knowledge in programming, yet powerful in creating novel patterns for embroidery. It is widely used as a tool for innovative workshops, within and outside formal educational institutions, combining an introduction to programming with a haptic output. Particularly for schools with strict data protection and privacy requirements, it can be difficult and sometimes impossible, to register students individually on an external platform like TS. In order to facilitate teaching in the group and to solve this registration problem, we have developed a solution that makes it easier to work with groups. We created two new user roles "teachers" and "temporary users". Users can be given the status of a teacher and register their students as "temporary users" on the platform through bulk registration without the need for individual email confirmation. In the talk, the solution will be presented (currently in test operation) and experiences, limitations but primarily facilitations through this offer will be reported. In a prepared group, the audience can also actively try out the group account. Turtlestitch (TS) is a free platform, based on Snap!, enabling users to generate patterns for embroidery machines. It is easy to use, requiring no prior knowledge in programming, yet powerful in creating novel patterns for embroidery. It is widely used as a tool for innovative workshops, within and outside formal educational institutions, combining an introduction to programming with a haptic output. Particularly for schools with strict data protection and privacy requirements, it can be difficult and sometimes impossible, to register students individually on an external platform like TS. In order to facilitate teaching in the group and to solve this registration problem, we have developed a solution that makes it easier to work with groups. We created two new user roles "teachers" and "temporary users". Users can be given the status of a teacher and register their students as "temporary users" on the platform through bulk registration without the need for individual email confirmation. In the talk, the solution will be presented (currently in test operation) and experiences, limitations but primarily facilitations through this offer will be reported. In a prepared group, the audience can also actively try out the group account. false Michael Aschauer Andrea Mayr-Stalder 2022-08-05T01:00:00-07:00 08:00 01:00 Room 3 Workshop 454-snap-in-moodle Snap! in Moodle ## Snap! Moodle plugins ![Snap!](https://raw.githubusercontent.com/jguille2/SnapInMoodle/master/assets/snapMoodle.png) Link to [Materials and Workshop online spaces](https://snapcon22.robolot.online/) ## Add to your Moodle activities the ability to include Snap_!_ projects - You can include Snap_!_, Snap4Arduino, **Beetleblocks**, **TurtleStitch** or your own Snap! customization - **Everything runs in your Moodle server** (users, projects...and even your Snap! distro) - It is **a Moodle assignment submission plugin**, adding this feature to any of your assignment activities. - Available with English, Spanish and Catalan translations. [Download](https://github.com/jguille2/SnapInMoodle/blob/master/README.md) and play! Or **wait for this workshop to learn more about these plugins and to learn about the new “SnapInMoodle” plugin that works online.** - ![Snap!](https://github.com/jguille2/SnapInMoodle/blob/master/assets/snapMoodle.png)-[Moodle Plugins site](https://moodle.org/plugins/assignsubmission_snap) - ![Snap4Arduino](https://github.com/jguille2/SnapInMoodle/blob/master/assets/snap4arduinoMoodle.png)-[Moodle Plugins site](https://moodle.org/plugins/assignsubmission_snap4arduino) - ![BeetleBlocks](https://github.com/jguille2/SnapInMoodle/blob/master/assets/beetleblocksMoodle.png)-[Moodle Plugins site](https://moodle.org/plugins/assignsubmission_beetleblocks) - ![TurtleStitch](https://github.com/jguille2/SnapInMoodle/blob/master/assets/turtlestitchMoodle.png)-[Moodle Plugins site](https://moodle.org/plugins/assignsubmission_turtlestitch) ## Workshop details - **[Cesire](https://serveiseducatius.xtec.cat/cesire/)** from Catalan Education Department and **[Robolot](https://www.robolot.online/)** offer this workshop for the entire Snap community! - We will **learn how to add Snap!**, Snap4Arduino, Beetleblocks, TurtleStitch... **to your Moodle activities**. We want the full power of Snap! and also all the potential that Moodle offers us to do educational activities. And even more ... we can work (save projects, share them ...) without using any external cloud ... having all the data within the school environment. - And even though it’s virtual, **we want it to be a real workshop!** We will present these plugins and see how they work together ... but we want to offer you **a real Moodle space where participants can try it out**, create their proposals and also explore and browse the proposals of the other participants in the workshop. - Everybody can play with this workshop - No requirements. Everyone can participate. But yes, it is a workshop especially suitable **for teachers of any educational stage**. ## Snap! Moodle plugins ![Snap!](https://raw.githubusercontent.com/jguille2/SnapInMoodle/master/assets/snapMoodle.png) Link to [Materials and Workshop online spaces](https://snapcon22.robolot.online/) ## Add to your Moodle activities the ability to include Snap_!_ projects - You can include Snap_!_, Snap4Arduino, **Beetleblocks**, **TurtleStitch** or your own Snap! customization - **Everything runs in your Moodle server** (users, projects...and even your Snap! distro) - It is **a Moodle assignment submission plugin**, adding this feature to any of your assignment activities. - Available with English, Spanish and Catalan translations. [Download](https://github.com/jguille2/SnapInMoodle/blob/master/README.md) and play! Or **wait for this workshop to learn more about these plugins and to learn about the new “SnapInMoodle” plugin that works online.** - ![Snap!](https://github.com/jguille2/SnapInMoodle/blob/master/assets/snapMoodle.png)-[Moodle Plugins site](https://moodle.org/plugins/assignsubmission_snap) - ![Snap4Arduino](https://github.com/jguille2/SnapInMoodle/blob/master/assets/snap4arduinoMoodle.png)-[Moodle Plugins site](https://moodle.org/plugins/assignsubmission_snap4arduino) - ![BeetleBlocks](https://github.com/jguille2/SnapInMoodle/blob/master/assets/beetleblocksMoodle.png)-[Moodle Plugins site](https://moodle.org/plugins/assignsubmission_beetleblocks) - ![TurtleStitch](https://github.com/jguille2/SnapInMoodle/blob/master/assets/turtlestitchMoodle.png)-[Moodle Plugins site](https://moodle.org/plugins/assignsubmission_turtlestitch) ## Workshop details - **[Cesire](https://serveiseducatius.xtec.cat/cesire/)** from Catalan Education Department and **[Robolot](https://www.robolot.online/)** offer this workshop for the entire Snap community! - We will **learn how to add Snap!**, Snap4Arduino, Beetleblocks, TurtleStitch... **to your Moodle activities**. We want the full power of Snap! and also all the potential that Moodle offers us to do educational activities. And even more ... we can work (save projects, share them ...) without using any external cloud ... having all the data within the school environment. - And even though it’s virtual, **we want it to be a real workshop!** We will present these plugins and see how they work together ... but we want to offer you **a real Moodle space where participants can try it out**, create their proposals and also explore and browse the proposals of the other participants in the workshop. - Everybody can play with this workshop - No requirements. Everyone can participate. But yes, it is a workshop especially suitable **for teachers of any educational stage**. false Joan Guillén 2022-08-05T05:00:00-07:00 12:00 00:20 Room 3 Talk 439-tunescope-drum-patterns TuneScope Drum Patterns Rachel Gibson, Glen Bull, Jo Watts - University of Virginia Online Talk A drum track establishes the rhythm or beat for music. Many cultures are known for rhythms and drum patterns that are characteristic of their music. In this talk, patterns from several cultures include Latin America, Asia, Africa, and Europe will be explored. The format will consist of these elements: 1. A Video Illustrating the Drum Pattern 2. A Demonstration of the Pattern Created in Snap! 3. An Opportunity for Participants to Create Their Own Variant The activities that will be explored during the talk 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. Documentation, videos, and examples of code are available here: https://maketolearn.org/creating-art-animations-and-music/drum-machine/ Examples of ways in which drum patterns created through code can also be created using physical objects will also be presented. Rachel Gibson, Glen Bull, Jo Watts - University of Virginia Online Talk A drum track establishes the rhythm or beat for music. Many cultures are known for rhythms and drum patterns that are characteristic of their music. In this talk, patterns from several cultures include Latin America, Asia, Africa, and Europe will be explored. The format will consist of these elements: 1. A Video Illustrating the Drum Pattern 2. A Demonstration of the Pattern Created in Snap! 3. An Opportunity for Participants to Create Their Own Variant The activities that will be explored during the talk 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. Documentation, videos, and examples of code are available here: https://maketolearn.org/creating-art-animations-and-music/drum-machine/ Examples of ways in which drum patterns created through code can also be created using physical objects will also be presented. false Glen Bull 2022-08-05T05:20:00-07:00 12:20 00:20 Room 3 Talk 444-snap-embedded-data-for-efficient-sharing Snap! Embedded Data for Efficient Sharing In close communication with Jens Moenig and Dariusz Dorożalski, developers of **The Beauty and Joy of Computing** at UC Berkeley have designed implemented a new feature that allows users to share code through script pics!! This feature has opened the doors to starter code libraries, sprite transport, and even autograding! We are excited to share our work! In close communication with Jens Moenig and Dariusz Dorożalski, developers of **The Beauty and Joy of Computing** at UC Berkeley have designed implemented a new feature that allows users to share code through script pics!! This feature has opened the doors to starter code libraries, sprite transport, and even autograding! We are excited to share our work! false Jesus Villalobos 2022-08-05T05:40:00-07:00 12:40 00:20 Room 3 Talk 578-let-s-plaiy-object-detection-with-snap-tello-drone-and-nvidia-jetson Let's plAIy - Object detection with Snap!, Tello Drone and NVIDIA Jetson ![Snap! and AI](https://wiki.eolab.de/lib/exe/fetch.php?cache=&media=snapcon2022:alonzo_and_AI_600.png) The talk will follow the process of classifying an image based on Snap! programming, sending it to the Jetson nano to analyze the image and reading it back to Snap for display and interaction, by tracking objects and following objects. Snap! is used to take video frames from the drone's cam. These frames (pictures) are transmitted to the DetectNet server. This backend object detector reports the bounding box, the object type, and the confidence level for each identified object on the image back to Snap! This information is overlaid with the picture in Snap! This object metadata can be used by Snap! to control Tello minidrone and Jetbot. ![Snap! and AI](https://wiki.eolab.de/lib/exe/fetch.php?cache=&media=snapcon2022:alonzo_and_AI_600.png) The talk will follow the process of classifying an image based on Snap! programming, sending it to the Jetson nano to analyze the image and reading it back to Snap for display and interaction, by tracking objects and following objects. Snap! is used to take video frames from the drone's cam. These frames (pictures) are transmitted to the DetectNet server. This backend object detector reports the bounding box, the object type, and the confidence level for each identified object on the image back to Snap! This information is overlaid with the picture in Snap! This object metadata can be used by Snap! to control Tello minidrone and Jetbot. false Harley Lara Ilgar Rasulov Rolf Becker Ali Farzizada 2022-08-05T01:00:00-07:00 08:00 01:00 Room 4 Workshop 498-ai-education-with-it2school AI Education with IT2school Learning AI with paper, cardboard and games 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 workshop, we 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) developed in collaboration by FU Berlin, University of Oldenburg, SAP Young Thinkers and Wissensfabrik – Unternehmen für Deutschland. The shown teaching resources are available in English and German. 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 workshop, we 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) developed in collaboration by FU Berlin, University of Oldenburg, SAP Young Thinkers and Wissensfabrik – Unternehmen für Deutschland. The shown teaching resources are available in English and German. false Brendan Henrique Jadga Hügle Victoria Phelps 2022-08-05T01:00:00-07:00 08:00 06:00 Hallway Hallway Track 541-hallway-track Hallway Track Join your friends and meet new ones in ohyay! Join your friends and meet new ones in ohyay! false 2022-08-05T02:00:00-07:00 09:00 00:15 Hallway Short Breaks 524-break Break Don't forget to stand up and take a quick break! :) Don't forget to stand up and take a quick break! :) false 2022-08-05T03:15:00-07:00 10:15 00:30 Hallway Breaks 537-food-break Food Break Take a break and eat some food, and catch up with friends in the Hallway track. Take a break and eat some food, and catch up with friends in the Hallway track. false 2022-08-05T04:45:00-07:00 11:45 00:15 Hallway Short Breaks 525-break Break Don't forget to stand up and take a quick break! :) Don't forget to stand up and take a quick break! :) false 2022-08-05T06:00:00-07:00 13:00 00:15 Hallway Short Breaks 529-break Break Don't forget to stand up and take a quick break! :) Don't forget to stand up and take a quick break! :) false 2022-08-05T06:15:00-07:00 13:15 01:00 Hallway Plenaries 581-friday-social-hour Friday Social Hour Hang out in ohyay with everyone. Hang out in ohyay with everyone. false 2022-08-05T02:15:00-07:00 09:15 01:00 Plenary Plenaries 515-keynote-a-curriculum-developer-s-favorite-projects Keynote: A Curriculum Developer’s Favorite Projects After seven years of developing Snap_!_ projects for teaching programming, a lead Beauty and Joy of Computing (BJC) curriculum developer shares their favorite projects. Come explore favorites selected for learning potential, appeal, opportunities for customization, and overall simplicity from both the BJC CSP course for high school and the new BJC Sparks course for middle school and early high school. You’ll explore projects hands-on, discuss classroom use, get a taste of both BJC curricula, and learn what this curriculum developer thinks makes a great learning project. After seven years of developing Snap_!_ projects for teaching programming, a lead Beauty and Joy of Computing (BJC) curriculum developer shares their favorite projects. Come explore favorites selected for learning potential, appeal, opportunities for customization, and overall simplicity from both the BJC CSP course for high school and the new BJC Sparks course for middle school and early high school. You’ll explore projects hands-on, discuss classroom use, get a taste of both BJC curricula, and learn what this curriculum developer thinks makes a great learning project. false Mary Fries 2022-08-05T03:45:00-07:00 10:45 01:00 Plenary Plenaries 518-lightning-talks-round-2 Lightning Talks Round 2 Another round of lightning talks! Another round of lightning talks! false Brian Broll 2022-08-05T03:50:00-07:00 10:50 00:05 Plenary Lightning Talk 379-how-to-use-tens-of-thousands-of-machine-learning-models-from-snap-without-the-javascript-extension How to use tens of thousands of machine learning models from Snap! (without the JavaScript extension) Learn how to get your projects to do intelligent things with text Using Snap!'s primitive to POST messages one can access machine learning models to incorporate AI services to - Translate between languages. - Classify text into categories you choose. - Produce a summary of text. - Hold a conversation. - Query a spreadsheet. - Answer a question given a context. - Detect how positive or negative some is. - Find the named entities in some text. - Fill in the blanks. And much more Using Snap!'s primitive to POST messages one can access machine learning models to incorporate AI services to - Translate between languages. - Classify text into categories you choose. - Produce a summary of text. - Hold a conversation. - Query a spreadsheet. - Answer a question given a context. - Detect how positive or negative some is. - Find the named entities in some text. - Fill in the blanks. And much more false Ken Kahn 2022-08-05T03:55:00-07:00 10:55 00:05 Plenary Lightning Talk 452-the-abstraction-obstruction The Abstraction Obstruction Black Boxes made sense back when computing was a Black Box, is that still the right tactic? **The Absraction Obstruction**, or Is The Beginning The End or Can We Get To The Destination If We Haven't even arrived at the Start Yet? I can't code. I've tried for years to do it, but text based languages drive me up the wall, and then I discovered Snap. Visual Languages blew my mind and I dove as deep as I could... but for someone that can't really code... trying to dive deeper into the workings of the programming language got me into the same problem. Text or Visual, there are assumptions that can't be questioned, even though they really should be. Is Abstraction the answer or is it actually the problem causing people to not actually dig into some of the major problems plaguing computational research. I love Snap, but I don't actually want to use Snap beyond Tool Maintenance. It's the concept called Tooling Up, or using the tools you have, to build the tools you need in order to build the tools you want and then reaching that point and starting again. Coding is often called the Foundation of knowledge in Computer Science/Information Technology/Any and Every Field Here but the catch is, very simply, how many people who aren't paid to worry about the foundation of a buiulding, actually pay ANY attention to the foundation of ANY building. At All? What do I want then. Honestly, that's my problem. I don't know, but in the attempt to read dozens of textbooks in the subject in order to drill down to what I want, they all abstract away things that shouldn't be abstracted in the assumption that you know it, that you heard it somewhere, but it's abstraction all the way down. I tried the Dev Mode for Snap once, but aside from being Windows3.1 dialogue boxes with Javascript code, there wasn't anytrhing useful unless you can read abstracted foundational jargon. I can't. I can't code. Text Languages are not designed well, and they all assume they are and that they do it better than the other text languages. Abstraction. Obfuscation. "You already know thing, if you don't you're in trouble" I want Snap to build my programmng language, and then I can use that, and what i want is, to be honest, Visual Assembly. Which I'm sure many people will look at and come up with many convincing reasons as to why that's a bad idea, convincing reasons, sure, but good reasons? Nope. Abstracted to the point of Opacity. Recursion of Recursion of Recursion of Knowledge until someone somewhere knows how to fix it, but you don't know who they are or if they're still contactable. How do you read a map if the sector of the map is another map with a different legend? Then you finally find that legend and key, only realise each sector of that map also uses a different ruleset to generate the map and a different logic for that map. **The Absraction Obstruction**, or Is The Beginning The End or Can We Get To The Destination If We Haven't even arrived at the Start Yet? I can't code. I've tried for years to do it, but text based languages drive me up the wall, and then I discovered Snap. Visual Languages blew my mind and I dove as deep as I could... but for someone that can't really code... trying to dive deeper into the workings of the programming language got me into the same problem. Text or Visual, there are assumptions that can't be questioned, even though they really should be. Is Abstraction the answer or is it actually the problem causing people to not actually dig into some of the major problems plaguing computational research. I love Snap, but I don't actually want to use Snap beyond Tool Maintenance. It's the concept called Tooling Up, or using the tools you have, to build the tools you need in order to build the tools you want and then reaching that point and starting again. Coding is often called the Foundation of knowledge in Computer Science/Information Technology/Any and Every Field Here but the catch is, very simply, how many people who aren't paid to worry about the foundation of a buiulding, actually pay ANY attention to the foundation of ANY building. At All? What do I want then. Honestly, that's my problem. I don't know, but in the attempt to read dozens of textbooks in the subject in order to drill down to what I want, they all abstract away things that shouldn't be abstracted in the assumption that you know it, that you heard it somewhere, but it's abstraction all the way down. I tried the Dev Mode for Snap once, but aside from being Windows3.1 dialogue boxes with Javascript code, there wasn't anytrhing useful unless you can read abstracted foundational jargon. I can't. I can't code. Text Languages are not designed well, and they all assume they are and that they do it better than the other text languages. Abstraction. Obfuscation. "You already know thing, if you don't you're in trouble" I want Snap to build my programmng language, and then I can use that, and what i want is, to be honest, Visual Assembly. Which I'm sure many people will look at and come up with many convincing reasons as to why that's a bad idea, convincing reasons, sure, but good reasons? Nope. Abstracted to the point of Opacity. Recursion of Recursion of Recursion of Knowledge until someone somewhere knows how to fix it, but you don't know who they are or if they're still contactable. How do you read a map if the sector of the map is another map with a different legend? Then you finally find that legend and key, only realise each sector of that map also uses a different ruleset to generate the map and a different logic for that map. false Nathan Berry 2022-08-05T04:00:00-07:00 11:00 00:05 Plenary Lightning Talk 511-variations-on-wordle Variations on Wordle A pair of NetsBlox services provide a variety of options to Wordle and Snap!/NetsBlox enthusiasts to engage with the new favorite pastime of our time. The WordGuess service lets the user start a new game by making the server pick a word. If it is a 5-letter word the user asks for, it is selected from the same set of words the official Wordle game uses. Then the user can make a series of guesses and the server responds with feedback about the matching letters just like Wordle does. This service makes it possible to create Wordle clients, e.g., https://editor.netsblox.org/?action=present&Username=ledeczi&ProjectName=NetsBloxWordle& or lets users develop automated players like this simple one: https://editor.netsblox.org/?action=present&Username=ledeczi&ProjectName=Wordle%20Autoplay&. Another option is to create a project that "helps" in solving the official Wordle. Finally, the DailyWordGuess service offers only a single word per day, so whenever the New York Times moves the game behind its paywall, we can still enjoy Wordle courtesy of NetsBlox. A pair of NetsBlox services provide a variety of options to Wordle and Snap!/NetsBlox enthusiasts to engage with the new favorite pastime of our time. The WordGuess service lets the user start a new game by making the server pick a word. If it is a 5-letter word the user asks for, it is selected from the same set of words the official Wordle game uses. Then the user can make a series of guesses and the server responds with feedback about the matching letters just like Wordle does. This service makes it possible to create Wordle clients, e.g., https://editor.netsblox.org/?action=present&Username=ledeczi&ProjectName=NetsBloxWordle& or lets users develop automated players like this simple one: https://editor.netsblox.org/?action=present&Username=ledeczi&ProjectName=Wordle%20Autoplay&. Another option is to create a project that "helps" in solving the official Wordle. Finally, the DailyWordGuess service offers only a single word per day, so whenever the New York Times moves the game behind its paywall, we can still enjoy Wordle courtesy of NetsBlox. false Akos Ledeczi 2022-08-05T04:05:00-07:00 11:05 00:05 Plenary Lightning Talk 445-implementation-of-block-programming-for-learning-artificial-intelligence-principles Implementation of block programming for learning artificial intelligence principles focused on linear regression This Lightning Talk is a program that makes it possible to learn the principles of artificial intelligence using block programming. In most cases, AI is implemented through text programming (eg Python), but a small number of learners learn the principles of AI without learning text programming. While it is essential to learn block programming in middle and high schools in Korea, it is useful to learn the theory of artificial intelligence before text programming in universities. It is not possible to implement all artificial intelligence algorithms due to the fact that it is a visual block programming tool and the limitations of the SNAP server, but the basic algorithms are sufficiently implementable and it seems that statistical calculations can be attempted. This Lightning Talk is a program that makes it possible to learn the principles of artificial intelligence using block programming. In most cases, AI is implemented through text programming (eg Python), but a small number of learners learn the principles of AI without learning text programming. While it is essential to learn block programming in middle and high schools in Korea, it is useful to learn the theory of artificial intelligence before text programming in universities. It is not possible to implement all artificial intelligence algorithms due to the fact that it is a visual block programming tool and the limitations of the SNAP server, but the basic algorithms are sufficiently implementable and it seems that statistical calculations can be attempted. false 김태령 Taeryeong Kim 2022-08-05T04:10:00-07:00 11:10 00:05 Plenary Lightning Talk 456-teaching-and-learning-model-of-creative-collaboration-intelligence Teaching and Learning Model of Creative Collaboration Intelligence - Significance and Relevance of the Topic: The educational environment is being completely changed by Covid-19. The problems the world faces today have become difficult to solve with human power alone. Humans need very much cooperation with software (artificial intelligence). There is a demand for a new teaching-learning model to guide student collaboration and creativity in the online education environment. Accordingly, we designed and implemented a digital-based cooperative intelligent teaching and learning model that can creatively solve problems through cooperation between humans and artificial intelligence using intelligent information technology. And we developed an educational program using snap coding and artificial intelligence, and we would like to introduce the developed program to teachers and researchers. For detailed information, refer to the CCI website (http://creative.re.kr). - Agenda for the Workshop: We look at specific methods and examples of elementary and middle school classes for solving creative problems in collaboration with students in groups and AI. The contents of the workshop are as follows. 1. Introduction of the creative collective intelligence teaching and learning model(10 minutes) 2. Hands-on activities about Creative Collaboration Intelligence Program(40 minutes) 3. Discussion(10 minutes) - Other Helpers for Participants during the Activity: Miyoung Ryu, Center of AI Education Taeryeong Kim, Center of AI Education Subin Hong, Center of AI Education - Expected Audience: The target audience is elementary school teachers, middle school teachers, high school teachers, and researchers interested in new teaching and learning models. Estimate the number of participants is up to 20 people. - Participant Equipment Requirements: Notebook The organizer prepares educational materials, equipment, and learning content for collaborative learning. - Other Critical Information: This proposal is supported by the Korea Foundation for Science and Creativity and promoted by the Artificial Intelligence Education Research Institute of Gyeongin University of Education. - Significance and Relevance of the Topic: The educational environment is being completely changed by Covid-19. The problems the world faces today have become difficult to solve with human power alone. Humans need very much cooperation with software (artificial intelligence). There is a demand for a new teaching-learning model to guide student collaboration and creativity in the online education environment. Accordingly, we designed and implemented a digital-based cooperative intelligent teaching and learning model that can creatively solve problems through cooperation between humans and artificial intelligence using intelligent information technology. And we developed an educational program using snap coding and artificial intelligence, and we would like to introduce the developed program to teachers and researchers. For detailed information, refer to the CCI website (http://creative.re.kr). - Agenda for the Workshop: We look at specific methods and examples of elementary and middle school classes for solving creative problems in collaboration with students in groups and AI. The contents of the workshop are as follows. 1. Introduction of the creative collective intelligence teaching and learning model(10 minutes) 2. Hands-on activities about Creative Collaboration Intelligence Program(40 minutes) 3. Discussion(10 minutes) - Other Helpers for Participants during the Activity: Miyoung Ryu, Center of AI Education Taeryeong Kim, Center of AI Education Subin Hong, Center of AI Education - Expected Audience: The target audience is elementary school teachers, middle school teachers, high school teachers, and researchers interested in new teaching and learning models. Estimate the number of participants is up to 20 people. - Participant Equipment Requirements: Notebook The organizer prepares educational materials, equipment, and learning content for collaborative learning. - Other Critical Information: This proposal is supported by the Korea Foundation for Science and Creativity and promoted by the Artificial Intelligence Education Research Institute of Gyeongin University of Education. false 한선관 2022-08-05T04:15:00-07:00 11:15 00:05 Plenary Lightning Talk 500-learning-about-vector-graphics-using-turtlestitch-and-snap Learning about vector graphics using Turtlestitch and Snap! (This could also be a 20 minute talk where I show the 2 projects) In this workshop, I want to show how to create a pixel graphic drawing program for Turtlestitch: https://www.turtlestitch.org/run#cloud:Username=jadga&ProjectName=Karten%20Hopp The project lets you interactively draw pixel graphic contours. By just storing the direction and information about the pen position, created graphics can easily be rescaled and turned. If there's time we can also look into a general abstraction of the pixel drawing program. It's a Snap! and Turtlestitch combi-project which lets you create any embroidery design using the same idea. (This could also be a 20 minute talk where I show the 2 projects) In this workshop, I want to show how to create a pixel graphic drawing program for Turtlestitch: https://www.turtlestitch.org/run#cloud:Username=jadga&ProjectName=Karten%20Hopp The project lets you interactively draw pixel graphic contours. By just storing the direction and information about the pen position, created graphics can easily be rescaled and turned. If there's time we can also look into a general abstraction of the pixel drawing program. It's a Snap! and Turtlestitch combi-project which lets you create any embroidery design using the same idea. false Jadga Hügle 2022-08-05T04:20:00-07:00 11:20 00:05 Plenary Lightning Talk 543-competence-measure-in-snap-projects Competence measure in snap! projects With the block-based programming language Snap!, playful and visual programming projects can be realised in lessons at different grade levels. The focus for the pupils is on development and programming. For the teacher, however, the subsequent problem is how to assess such projects. The experience shows that the assessment and grading of the projects leads to much discussion about fairness and transparency. This presentation addresses this problem. The aim is to contribute to the promotion and assessment of competences in the field of computational thinking. As part of the development and evaluation of a course for learning the basics of programming with Snap!, a competence grid was developed for a qualitative assessment and evaluation of the pupils' projects in the block-based language Snap!. For this purpose, 43 pupils' Snap! projects were evaluated in the context of design-based research. This competence grid will be presented and applied to one or two project examples during the talk. With the block-based programming language Snap!, playful and visual programming projects can be realised in lessons at different grade levels. The focus for the pupils is on development and programming. For the teacher, however, the subsequent problem is how to assess such projects. The experience shows that the assessment and grading of the projects leads to much discussion about fairness and transparency. This presentation addresses this problem. The aim is to contribute to the promotion and assessment of competences in the field of computational thinking. As part of the development and evaluation of a course for learning the basics of programming with Snap!, a competence grid was developed for a qualitative assessment and evaluation of the pupils' projects in the block-based language Snap!. For this purpose, 43 pupils' Snap! projects were evaluated in the context of design-based research. This competence grid will be presented and applied to one or two project examples during the talk. false Alexandra Abramova 2022-08-05T04:25:00-07:00 11:25 00:05 Plenary Lightning Talk 434-genetic-programming-anyone Genetic Programming, anyone? As “Snap! is Scheme disguised as Scratch” we should be able to do evolutionary programming pretty easily: We all know the creation of the “vee” where we shuffle around some kind of L(indenmayer)-expressions. How about adding a fitness function and let a few hundred s-expressions evolve some solution to a given problem? Or even let the problem/ fitness-function co-evolve? Either I can present something or this just is just a call for action, let’s see… As “Snap! is Scheme disguised as Scratch” we should be able to do evolutionary programming pretty easily: We all know the creation of the “vee” where we shuffle around some kind of L(indenmayer)-expressions. How about adding a fitness function and let a few hundred s-expressions evolve some solution to a given problem? Or even let the problem/ fitness-function co-evolve? Either I can present something or this just is just a call for action, let’s see… false Markus Gaelli 2022-08-05T04:30:00-07:00 11:30 00:20 Plenary Talk 504-python-tooling-for-the-snap-community Python Tooling for the Snap! Community Block-based languages like Snap! have become mainstay tools for introducing programming to students of all ages. The simple interface and restrictions on block connections allow users to easily find program behaviors they want to use and mitigate many of the types of syntax errors that would be possible and typical for new learners using textual languages. This strong foundation is ideal for new tooling targeting wide student audiences. We introduce PyBlox, which is intended to be a transitional tool for teaching Python to more advanced Snap! users who are eager to learn some of the more gritty aspects of computing and traditional textual programming. PyBlox offers simple Python interfaces for performing many of the same features as Snap! projects, including a graphical sprite-based project system with semi-concurrent scripts, cloning, custom costumes, events (hat blocks), etc.. It also provides the distributed computing features NestBlox introduced to block-based programming, such as message passing between projects and access to curated web services, by connecting to the NetsBlox server. The PyBlox interfaces for these features are primarily 1-1 with their block-based counterparts, making it easy for students to take their existing Snap!/NetsBlox knowledge and translate it into equivalent PyBlox code. A compiler is included in the PyBlox IDE which can perform many of these conversions automatically so that students can jump right into experimenting with equivalent Python code. This talk will feature a collection of selected projects that focus on what PyBlox has learned from Snap!, as well as some of the cornerstone features that future platforms could support to take advantage of incoming users’ Snap!-based knowledge to lower the learning curve and improve students’ understanding of new programming languages. Block-based languages like Snap! have become mainstay tools for introducing programming to students of all ages. The simple interface and restrictions on block connections allow users to easily find program behaviors they want to use and mitigate many of the types of syntax errors that would be possible and typical for new learners using textual languages. This strong foundation is ideal for new tooling targeting wide student audiences. We introduce PyBlox, which is intended to be a transitional tool for teaching Python to more advanced Snap! users who are eager to learn some of the more gritty aspects of computing and traditional textual programming. PyBlox offers simple Python interfaces for performing many of the same features as Snap! projects, including a graphical sprite-based project system with semi-concurrent scripts, cloning, custom costumes, events (hat blocks), etc.. It also provides the distributed computing features NestBlox introduced to block-based programming, such as message passing between projects and access to curated web services, by connecting to the NetsBlox server. The PyBlox interfaces for these features are primarily 1-1 with their block-based counterparts, making it easy for students to take their existing Snap!/NetsBlox knowledge and translate it into equivalent PyBlox code. A compiler is included in the PyBlox IDE which can perform many of these conversions automatically so that students can jump right into experimenting with equivalent Python code. This talk will feature a collection of selected projects that focus on what PyBlox has learned from Snap!, as well as some of the cornerstone features that future platforms could support to take advantage of incoming users’ Snap!-based knowledge to lower the learning curve and improve students’ understanding of new programming languages. false Devin Jean 2022-08-06T01:00:00-07:00 08:00 01:00 Room 1 Workshop 512-let-s-plaiy-ai-in-snap-with-nvidia-jetson-for-schools Let's plAIy! - AI in Snap! with NVIDIA Jetson for Schools Image Classification in Snap! with ImageNet on NVIDIA Jetson Nano # Hands-on Workshop on Combining Snap! with the NVIDIA Jetson AI Embedded Systems **Together we will create a Snap! game based on fruits and vegetables detection (image classification)**. Local and remote attendance possible! **Trainers:** Harley, Ilgar, Ali and Rolf (in Heidelberg) We will use the NVIDIA Jetson Nano computers we brought to the Heidelberg conference location. The reservation links for the Jetsons are further down. We are able to perform object detection ('DetectNet') and segmantic image segmentation, too, but for this workshop we decided to concentrate on image classification for the sake of simplicity. ![Snap! and AI](https://wiki.eolab.de/lib/exe/fetch.php?cache=&media=snapcon2022:alonzo_and_AI_600.png) ## Reserve your NVIDIA Jetson Nano for the Let's plAIy! Workshop! In the Let's pl**AI**y! workshop at Snap!Con 2022 we will use AI in Snap! to create simple games based on image classification. The image classification (an AI algorithm) is running on a NVIDIA Jetson. We have **14 Jetsons** available! **First come, first served!** ### Participants in Heidelberg * We have 7 Jetsons in total for attendees in HD * **Register under [section Heidelberg](https://jetson.da-systems.it/event/snapcon)** to reserve one. * You will **connect through the local Wifi** to the Jetson allocated to you. * You will get your personal Jetson hostname after registration in the workshop. ### Participants Abroad / Remote * We have 7 Jetsons in total for attendees not in HD * **Register under [section Abroad](https://jetson.da-systems.it/event/snapcon)** to reserve one. * You will **connect through VPN** to the Jetson allocated to you. * This requires to install VPN. See our **[VPN installation instructions](https://wiki.eolab.de/doku.php?id=snapcon2022:openvpn-connection)** * You need additional **personal username / password**. We will send them by **E-Mail** to you after registration. ## Installation Instructions Please follow the **[INSTALLATION INSTRUCTIONS ON EOLAB WIKI](https://wiki.eolab.de/doku.php?id=snapcon2022:start)** ## Motivation ### AI at Schools Artificial intelligence is a prevailing technology that poses opportunities and risks for society and the environment. Building knowledge and skills in **schools** is critical to enable students early on to **master the technology** instead of being mastered, to **demystify AI**, to acquire **critical reflection** competencies, to assess the opportunities and limitations of AI for problem solving. The usability of many AI toolkits continues to improve. Less and less expert knowledge is required to use them. This Simplification can be further advanced. ### Combining Snap! with AI on NVIDIA Jetson Artificial intelligence (AI) and machine learning (ML) are being integrated more and more into school curricula. This raises the interesting question of how AI and ML can be combined with Snap! Several groups are working on such integrations. Our approach presented and practiced in this workshop is **using the AI power of NVIDIA Jetson Nano computers for image classification in Snap!** The software is open source and no cloud is needed. Jetsons running Ubuntu are interesting for schools, since you can do many more things with them, e.g. build your own mobile robots (aka JetBots). Snap! could even run on the Jetsons but we decided to demonstrate a distributed system architecture. ## Technical Background: Snap! and NVIDIA Jetson We use SNAP! to communicate with **image classifiers** and **object detectors** based on convolutional neural networks (CNN). For many activities we are using NVIDIA Jetson Embedded AI computers with GPU. The Jetsons are extremely versatile and NVIDIA provides very good AI software optimized for the 'little' machines. Snap! is used to take video frames from the local user PC webcam. These frames (pictures) showing up on the Snap! stage are transmitted via a JavaScript websocket to the AI server. **Image Classification** We use ImageNet. To be continued ... **Object Detection** In the current setup we utilize the object detection software DetectNet running on a NVIDIA Jetson Nano embedded computer as a backend server. This backend object detector reports the bounding box, the object type, and the confidence level for each identified object on the image back to Snap! This information is overlaid with the picture in Snap! This object metadata can be used to control Snap! programs such as games. # Hands-on Workshop on Combining Snap! with the NVIDIA Jetson AI Embedded Systems **Together we will create a Snap! game based on fruits and vegetables detection (image classification)**. Local and remote attendance possible! **Trainers:** Harley, Ilgar, Ali and Rolf (in Heidelberg) We will use the NVIDIA Jetson Nano computers we brought to the Heidelberg conference location. The reservation links for the Jetsons are further down. We are able to perform object detection ('DetectNet') and segmantic image segmentation, too, but for this workshop we decided to concentrate on image classification for the sake of simplicity. ![Snap! and AI](https://wiki.eolab.de/lib/exe/fetch.php?cache=&media=snapcon2022:alonzo_and_AI_600.png) ## Reserve your NVIDIA Jetson Nano for the Let's plAIy! Workshop! In the Let's pl**AI**y! workshop at Snap!Con 2022 we will use AI in Snap! to create simple games based on image classification. The image classification (an AI algorithm) is running on a NVIDIA Jetson. We have **14 Jetsons** available! **First come, first served!** ### Participants in Heidelberg * We have 7 Jetsons in total for attendees in HD * **Register under [section Heidelberg](https://jetson.da-systems.it/event/snapcon)** to reserve one. * You will **connect through the local Wifi** to the Jetson allocated to you. * You will get your personal Jetson hostname after registration in the workshop. ### Participants Abroad / Remote * We have 7 Jetsons in total for attendees not in HD * **Register under [section Abroad](https://jetson.da-systems.it/event/snapcon)** to reserve one. * You will **connect through VPN** to the Jetson allocated to you. * This requires to install VPN. See our **[VPN installation instructions](https://wiki.eolab.de/doku.php?id=snapcon2022:openvpn-connection)** * You need additional **personal username / password**. We will send them by **E-Mail** to you after registration. ## Installation Instructions Please follow the **[INSTALLATION INSTRUCTIONS ON EOLAB WIKI](https://wiki.eolab.de/doku.php?id=snapcon2022:start)** ## Motivation ### AI at Schools Artificial intelligence is a prevailing technology that poses opportunities and risks for society and the environment. Building knowledge and skills in **schools** is critical to enable students early on to **master the technology** instead of being mastered, to **demystify AI**, to acquire **critical reflection** competencies, to assess the opportunities and limitations of AI for problem solving. The usability of many AI toolkits continues to improve. Less and less expert knowledge is required to use them. This Simplification can be further advanced. ### Combining Snap! with AI on NVIDIA Jetson Artificial intelligence (AI) and machine learning (ML) are being integrated more and more into school curricula. This raises the interesting question of how AI and ML can be combined with Snap! Several groups are working on such integrations. Our approach presented and practiced in this workshop is **using the AI power of NVIDIA Jetson Nano computers for image classification in Snap!** The software is open source and no cloud is needed. Jetsons running Ubuntu are interesting for schools, since you can do many more things with them, e.g. build your own mobile robots (aka JetBots). Snap! could even run on the Jetsons but we decided to demonstrate a distributed system architecture. ## Technical Background: Snap! and NVIDIA Jetson We use SNAP! to communicate with **image classifiers** and **object detectors** based on convolutional neural networks (CNN). For many activities we are using NVIDIA Jetson Embedded AI computers with GPU. The Jetsons are extremely versatile and NVIDIA provides very good AI software optimized for the 'little' machines. Snap! is used to take video frames from the local user PC webcam. These frames (pictures) showing up on the Snap! stage are transmitted via a JavaScript websocket to the AI server. **Image Classification** We use ImageNet. To be continued ... **Object Detection** In the current setup we utilize the object detection software DetectNet running on a NVIDIA Jetson Nano embedded computer as a backend server. This backend object detector reports the bounding box, the object type, and the confidence level for each identified object on the image back to Snap! This information is overlaid with the picture in Snap! This object metadata can be used to control Snap! programs such as games. false Harley Lara Ilgar Rasulov Ali Farzizada Rolf Becker 2022-08-06T03:45:00-07:00 10:45 00:20 Room 1 Talk 460-lessons-learned-one-year-of-teaching-snap-to-college-students-high-school-students-and-k-12-teachers Lessons Learned: One Year of Teaching Snap! to College Students,High School Students and K-12 Teachers In the past year, I have had the unique experience of teaching students (and teachers) Snap!. As a graduate student instructor for the [Beauty and Joy of Computing](https://cs10.org/fa21/) I taught college students, as a lead instructor for the [BJC pre-college academy](https://precollege.berkeley.edu/summer-computer-science-academy) I taught high school students and as the summer course instructor for a [block-based programming teacher education class](https://drive.google.com/file/d/1yTyK9_vbiVm4BOv5cK-Yb0w82P2ZyPah/view), I also taught K-12 teachers. In this talk, I will present an overview of core differences that I observed when introducing programming to different populations. Based on these three experiences, I’ll offer pedagogical recommendations when engaging in teaching Snap! to particular groups. I’ll relate my observations and recommendations to the burgeoning computing education literature and conclude by proposing future studies into Snap education research. In the past year, I have had the unique experience of teaching students (and teachers) Snap!. As a graduate student instructor for the [Beauty and Joy of Computing](https://cs10.org/fa21/) I taught college students, as a lead instructor for the [BJC pre-college academy](https://precollege.berkeley.edu/summer-computer-science-academy) I taught high school students and as the summer course instructor for a [block-based programming teacher education class](https://drive.google.com/file/d/1yTyK9_vbiVm4BOv5cK-Yb0w82P2ZyPah/view), I also taught K-12 teachers. In this talk, I will present an overview of core differences that I observed when introducing programming to different populations. Based on these three experiences, I’ll offer pedagogical recommendations when engaging in teaching Snap! to particular groups. I’ll relate my observations and recommendations to the burgeoning computing education literature and conclude by proposing future studies into Snap education research. false Brendan Henrique 2022-08-06T04:05:00-07:00 11:05 00:20 Room 1 Talk 442-creativity-and-design-thinking-finding-direction-and-wallpaper Creativity and Design Thinking - Finding Direction and Wallpaper **Why is a longer format necessary?:** The need for an additional time is to discuss he idea behind the creations and the story line it projects. Also to showcase the design thinking technique of a 9 year old child in creating designs with the snap platform and block codes. **If necessary, would you be willing to present this topic as a lightning talk?:** Yes, i am willing to present this topic as a lightening talk as the topic is straight forward and easy to understand. **Summary:** Creativity and Design Thinking- Finding Direction and Wallpaper In this proposal, there are two project works. The first project work will showcase the work of one of our 9 years old student( Abdulquadir) from Abeokuta, Ogun State Nigeria, who used snap block codes and design thinking to create a direction towards a star. Please kindly see the link below. [https://snap.berkeley.edu/snap/snap.html#present:Username=oroki1&ProjectName=Abdul%20Qadir%20project%20day%202.b ] The second Project work is my wallpaper design created by me (Ogechi) through spiral design blocks from Snap and is currently used as an interior design wallpaper for an ICT technology office room in Ikeja, Lagos Nigeria. The purpose of this design is to teach our students how to use design thinking with the snap block codes to innovate. Please kindly see the link below. [https://snap.berkeley.edu/snap/snap.html#present:Username=young%20innovators&ProjectName=Spiral%20Design%20for%20wall%20paper] **Any comments for the committee?:** I have no comments for the committee at the moment **Why is a longer format necessary?:** The need for an additional time is to discuss he idea behind the creations and the story line it projects. Also to showcase the design thinking technique of a 9 year old child in creating designs with the snap platform and block codes. **If necessary, would you be willing to present this topic as a lightning talk?:** Yes, i am willing to present this topic as a lightening talk as the topic is straight forward and easy to understand. **Summary:** Creativity and Design Thinking- Finding Direction and Wallpaper In this proposal, there are two project works. The first project work will showcase the work of one of our 9 years old student( Abdulquadir) from Abeokuta, Ogun State Nigeria, who used snap block codes and design thinking to create a direction towards a star. Please kindly see the link below. [https://snap.berkeley.edu/snap/snap.html#present:Username=oroki1&ProjectName=Abdul%20Qadir%20project%20day%202.b ] The second Project work is my wallpaper design created by me (Ogechi) through spiral design blocks from Snap and is currently used as an interior design wallpaper for an ICT technology office room in Ikeja, Lagos Nigeria. The purpose of this design is to teach our students how to use design thinking with the snap block codes to innovate. Please kindly see the link below. [https://snap.berkeley.edu/snap/snap.html#present:Username=young%20innovators&ProjectName=Spiral%20Design%20for%20wall%20paper] **Any comments for the committee?:** I have no comments for the committee at the moment false Ogechi Shadamoro 2022-08-06T04:25:00-07:00 11:25 00:20 Room 1 Talk 432-creating-a-verb-conjugation-machine-in-middle-school-spanish Creating a Verb Conjugation Machine in Middle School Spanish The purpose of this project was to show 7th and 8th grade students how to program an interactive Conjugation Machine for regular Spanish verbs. Students had varying degrees of programming experience from none to a lot. The project involved creating a microworld (the truly new awesome feature of Snap! 7.0) so that students only had the blocks needed to create the machine. Programming concepts included variables, conditionals, lists, mapping, functions making blocks and sequencing. The implementation of the project involved a series of questions as steps that lead to the programming of small solutions until the entire program is built. Interactivity with a sprite to click on is added at the end or beginning depending on the group of students. Please email me if you have questions, comments or ideas. bkahn@bwscampus.com Link to project used during presentation: https://snap.berkeley.edu/project?user=bkahn&project=Snap!Con%20Spanish%20Regular%20Verb%20Conjugation Here is a link to the FINISHED project url: [Spanish Regular Verb Conjugation Machine](https://snap.berkeley.edu/snap/snap.html#present:Username=bkahn&ProjectName=Spanish%20Regular%20Verb%20Conjugation&editMode&noRun). Link to IMPROVED project based on some suggestions during Snap!Con. https://snap.berkeley.edu/project?user=bkahn&project=Improved%20Spanish%20Regular%20Verb%20Conjugation I welcome any other suggestions or ideas. The purpose of this project was to show 7th and 8th grade students how to program an interactive Conjugation Machine for regular Spanish verbs. Students had varying degrees of programming experience from none to a lot. The project involved creating a microworld (the truly new awesome feature of Snap! 7.0) so that students only had the blocks needed to create the machine. Programming concepts included variables, conditionals, lists, mapping, functions making blocks and sequencing. The implementation of the project involved a series of questions as steps that lead to the programming of small solutions until the entire program is built. Interactivity with a sprite to click on is added at the end or beginning depending on the group of students. Please email me if you have questions, comments or ideas. bkahn@bwscampus.com Link to project used during presentation: https://snap.berkeley.edu/project?user=bkahn&project=Snap!Con%20Spanish%20Regular%20Verb%20Conjugation Here is a link to the FINISHED project url: [Spanish Regular Verb Conjugation Machine](https://snap.berkeley.edu/snap/snap.html#present:Username=bkahn&ProjectName=Spanish%20Regular%20Verb%20Conjugation&editMode&noRun). Link to IMPROVED project based on some suggestions during Snap!Con. https://snap.berkeley.edu/project?user=bkahn&project=Improved%20Spanish%20Regular%20Verb%20Conjugation I welcome any other suggestions or ideas. false Bob Kahn 2022-08-06T05:00:00-07:00 12:00 01:00 Room 1 Workshop 458-play-and-learn-robot-mini-golf-with-codejoy Play and Learn - Robot Mini Golf with CodeJoy During this live, interactive session, participants will code and control real mini golfing robots remotely, LIVE! Using our online video and coding platform, CodeJoy.Live, watch as your code controls our cardboard robots during our Robot Mini Golf session. Play along with our main character Elby, chat with Matt the Robot, and code and control real robots remotely! During the workshop, we’ll also chat about our services: Interactive student sessions, hands-on virtual PD for teachers, and robotics hardware sales. We’ll discuss how we’ve helped school districts in over a dozen states start and scale CS and robotics education - by serving specifically under-engaged students and low tech confidence teachers with tailored student sessions, scalable teacher PD, and creative robotics tools like the BBC micro:bit and Hummingbird Robotics Kit. CodeJoy is an online education company that teaches robotics and coding virtually to students and teachers all over the world. From our multi-camera teaching studio in Pittsburgh, we’ve served over 12,000 students and teachers since 2020. We’ve been featured in Make: Magazine, and worked with clients ranging from UC Berkeley and UNICEF, to school districts across the country. We use common tools like the BBC micro:bit, Hummingbird Robotics Kit, and Finch Robot, plus common craft supplies like cardboard and hot glue, to create fun experiences, engaged learning, and approachable follow up projects. We’re engaging more students and teachers than ever in CS and robotics education! During this live, interactive session, participants will code and control real mini golfing robots remotely, LIVE! Using our online video and coding platform, CodeJoy.Live, watch as your code controls our cardboard robots during our Robot Mini Golf session. Play along with our main character Elby, chat with Matt the Robot, and code and control real robots remotely! During the workshop, we’ll also chat about our services: Interactive student sessions, hands-on virtual PD for teachers, and robotics hardware sales. We’ll discuss how we’ve helped school districts in over a dozen states start and scale CS and robotics education - by serving specifically under-engaged students and low tech confidence teachers with tailored student sessions, scalable teacher PD, and creative robotics tools like the BBC micro:bit and Hummingbird Robotics Kit. CodeJoy is an online education company that teaches robotics and coding virtually to students and teachers all over the world. From our multi-camera teaching studio in Pittsburgh, we’ve served over 12,000 students and teachers since 2020. We’ve been featured in Make: Magazine, and worked with clients ranging from UC Berkeley and UNICEF, to school districts across the country. We use common tools like the BBC micro:bit, Hummingbird Robotics Kit, and Finch Robot, plus common craft supplies like cardboard and hot glue, to create fun experiences, engaged learning, and approachable follow up projects. We’re engaging more students and teachers than ever in CS and robotics education! false Kelsey Derringer 2022-08-06T01:00:00-07:00 08:00 01:00 Room 2 Workshop 383-adding-high-performance-machine-learning-to-your-snap-projects Adding High-Performance Machine Learning to Your Snap! Projects An introduction to the eCraft2Learn neural network library Snap! has the ability to make projects that define, train, and use neural network models. All that is necessary are list and arithmetic operations. But even with hyperblocks and the ability to compile blocks the programs will run several times slower than similar programs that use the Graphics Processor Unit (GPU). But speed isn't the only roadblock to integrating neural networks into your projects. A great many complex blocks need to be defined to support training and inference. If one's goal is to understand the low-level mechanisms underlying neural networks this is all fine. If, however, your goal is to use neural networks in your projects to do some intelligent things with text, sounds, images, and data, then a better alternative is to use Snap! libraries that rely internally upon [TensorFlow.js](https://www.tensorflow.org/js). TensorFlow.js provides a large variety of functions for creating, training, using, saving and loading models. And the library can accelerate your programs by taking advantage of the GPU on your computer (or smartphone). The [ecraft2Learn Snap! library](https://ecraft2learn.github.io/ai/) provides blocks that interface with TensorFlow.js to provide easy-to-use access to large parts of TensorFlow functionality. Furthermore, there are many advantages to implementing neural networks in a browser tab. Privacy is ensured since no data leaves your device. Nothing needs to be installed. No servers are needed. And yet relatively large powerful models can run at a reasonable speed on most devices. This workshop will give you a hands-on introduction to the eCraft2Learn blocks for add neural networks to your projects. There are no prerequisites for this workshop (since the underlying linear algebra and calculus are hidden inside of (unfortunately black-box) blocks). Any laptop or tablet should be all you need. While nearly everything works in all modern browsers, we recommend Chrome or Edge. We recommend exploring the [ecraft2Learn Snap! library](https://ecraft2learn.github.io/ai/) before the workshop but it is not necessary. Snap! has the ability to make projects that define, train, and use neural network models. All that is necessary are list and arithmetic operations. But even with hyperblocks and the ability to compile blocks the programs will run several times slower than similar programs that use the Graphics Processor Unit (GPU). But speed isn't the only roadblock to integrating neural networks into your projects. A great many complex blocks need to be defined to support training and inference. If one's goal is to understand the low-level mechanisms underlying neural networks this is all fine. If, however, your goal is to use neural networks in your projects to do some intelligent things with text, sounds, images, and data, then a better alternative is to use Snap! libraries that rely internally upon [TensorFlow.js](https://www.tensorflow.org/js). TensorFlow.js provides a large variety of functions for creating, training, using, saving and loading models. And the library can accelerate your programs by taking advantage of the GPU on your computer (or smartphone). The [ecraft2Learn Snap! library](https://ecraft2learn.github.io/ai/) provides blocks that interface with TensorFlow.js to provide easy-to-use access to large parts of TensorFlow functionality. Furthermore, there are many advantages to implementing neural networks in a browser tab. Privacy is ensured since no data leaves your device. Nothing needs to be installed. No servers are needed. And yet relatively large powerful models can run at a reasonable speed on most devices. This workshop will give you a hands-on introduction to the eCraft2Learn blocks for add neural networks to your projects. There are no prerequisites for this workshop (since the underlying linear algebra and calculus are hidden inside of (unfortunately black-box) blocks). Any laptop or tablet should be all you need. While nearly everything works in all modern browsers, we recommend Chrome or Edge. We recommend exploring the [ecraft2Learn Snap! library](https://ecraft2learn.github.io/ai/) before the workshop but it is not necessary. false Ken Kahn 2022-08-06T03:45:00-07:00 10:45 00:20 Room 2 Talk 397-a-few-examples-how-to-use-scisnap A Few Examples how to use SciSnap! In a video is shown how to use some of the SciSnap! libraries in different projects. Examples include accessing SQL databases, searching a family-tree, image or sound compression with Fast Fourier Transform (FFT), machine learning techniques such as ID3, k-means, DBSCAN and outlier detection, and q-learning, as well as some of Stephen Wolfram's cellular automata. In a video is shown how to use some of the SciSnap! libraries in different projects. Examples include accessing SQL databases, searching a family-tree, image or sound compression with Fast Fourier Transform (FFT), machine learning techniques such as ID3, k-means, DBSCAN and outlier detection, and q-learning, as well as some of Stephen Wolfram's cellular automata. false Eckart Modrow 2022-08-06T04:05:00-07:00 11:05 00:20 Room 2 Talk 450-hands-on-with-gans-adversarial-examples-and-other-advanced-ml-topics-in-netsblox Hands-on with GANs, Adversarial Examples, and Other Advanced ML Topics in NetsBlox Many existing approaches to bringing machine learning to blocks-based programming environments rely on embedded JavaScript or external APIs for the underlying model. As a result, some of the central aspects of the training or inference process are opaque to the user and limits the how deeply the process can be probed and understood. In this talk, we present our recent work where we have been investigating how these concepts can be explored entirely within a blocks-based environment and demystify advanced topics such as optimization, adversarial examples, and generative adversarial training. First, we will demo our library for automatic differentiation. Then we will walk through a hands-on activity about gradient descent and invite the attendees to run it and tinker with it. Then we will demo other machine learning projects in NetsBlox including adversarial examples and building decision trees from data. Many existing approaches to bringing machine learning to blocks-based programming environments rely on embedded JavaScript or external APIs for the underlying model. As a result, some of the central aspects of the training or inference process are opaque to the user and limits the how deeply the process can be probed and understood. In this talk, we present our recent work where we have been investigating how these concepts can be explored entirely within a blocks-based environment and demystify advanced topics such as optimization, adversarial examples, and generative adversarial training. First, we will demo our library for automatic differentiation. Then we will walk through a hands-on activity about gradient descent and invite the attendees to run it and tinker with it. Then we will demo other machine learning projects in NetsBlox including adversarial examples and building decision trees from data. false Brian Broll 2022-08-06T04:25:00-07:00 11:25 00:20 Room 2 Talk 449-data-science-in-snap-dasis Data Science in Snap! (DASIS) The Data Science In Snap! (DASIS) library allows students without prior programming experience to learn and explore Data Science Principles. The DASIS library brings new functionality to Snap! with support for data tables and visualization. DASIS is featured in a new series of online modules located at https://cs10.org/bjc-r/course/berkeley_bjds.html?, which contain interactive material for students to use and explore as they learn about Data Science in Snap!. This talk will showcase the main features of the DASIS library, including: data importation from a data file, table creation, basic table manipulation, and customizable data visualization. It will also showcase the 4 online modules available on the internet via BJC's website. This work is supported by the NSF funded Foundations of Data Science Institute (FODSI). The Data Science In Snap! (DASIS) library allows students without prior programming experience to learn and explore Data Science Principles. The DASIS library brings new functionality to Snap! with support for data tables and visualization. DASIS is featured in a new series of online modules located at https://cs10.org/bjc-r/course/berkeley_bjds.html?, which contain interactive material for students to use and explore as they learn about Data Science in Snap!. This talk will showcase the main features of the DASIS library, including: data importation from a data file, table creation, basic table manipulation, and customizable data visualization. It will also showcase the 4 online modules available on the internet via BJC's website. This work is supported by the NSF funded Foundations of Data Science Institute (FODSI). false Isaac Merritt 2022-08-06T05:00:00-07:00 12:00 00:20 Room 2 Talk 447-educational-experiences-with-open-source-hardware-and-snap Educational Experiences with Open Source Hardware and Snap! As a teacher of vocational training and master postgraduate, and engineer, I have developed a couple of OSHW boards ([S4A PLB](https://ferranfabregas.me/make-it/) and [IoT-02 board](https://github.com/jordibinefa/IoT-02)). S4a PLB is for teaching basic programming (using [snap4arduino](https://snap4arduino.rocks/)) and IoT-02 is for teaching IoT and Industry 4.0 technologies (using official Snap!'s MQTT extension). Both boards have been used for teaching ([Joan XXIII](https://joan23.fje.edu/ca), [Jesuïtes El Clot](https://clot.fje.edu/ca), [Escola del Treball] (http://www.escoladeltreball.org/) and [UPC School](https://www.talent.upc.edu/)). The goal of this talk is showing how to use these boards in class using Snap! As a teacher of vocational training and master postgraduate, and engineer, I have developed a couple of OSHW boards ([S4A PLB](https://ferranfabregas.me/make-it/) and [IoT-02 board](https://github.com/jordibinefa/IoT-02)). S4a PLB is for teaching basic programming (using [snap4arduino](https://snap4arduino.rocks/)) and IoT-02 is for teaching IoT and Industry 4.0 technologies (using official Snap!'s MQTT extension). Both boards have been used for teaching ([Joan XXIII](https://joan23.fje.edu/ca), [Jesuïtes El Clot](https://clot.fje.edu/ca), [Escola del Treball] (http://www.escoladeltreball.org/) and [UPC School](https://www.talent.upc.edu/)). The goal of this talk is showing how to use these boards in class using Snap! false Jordi Binefa 2022-08-06T05:20:00-07:00 12:20 00:20 Room 2 Talk 506-controlling-complex-robotic-systems-with-snap-block-based-programming-for-adults Controlling Complex Robotic Systems with Snap!: Block-Based Programming for Adults Block-based languages have been used in education to enable beginners to focus on the ideas and logic of computer science without having to focus on syntax. These advantages hold for beginners of all ages, but the common narrative emphasizes the use of block-based languages for younger grades with the idea that students “graduate” to text-based programming languages after having some experience with block-based ones. However, as more jobs require interaction with and control of technology such as robots, it may be time for a new narrative. Block-based languages are powerful tools in and of themselves that can be used to enable individuals to quickly and easily understand how to create programs for complex systems. This talk will describe how Snap! has been used to enable non-experts to script tasks for Digit, a highly complex biped robot created by Agility Robotics. This robot is designed for use in warehouses, and Snap! is being used to explore how to make it easy and intuitive for existing workers to operate. This talk will describe how Snap is being used and present preliminary findings. Block-based languages have been used in education to enable beginners to focus on the ideas and logic of computer science without having to focus on syntax. These advantages hold for beginners of all ages, but the common narrative emphasizes the use of block-based languages for younger grades with the idea that students “graduate” to text-based programming languages after having some experience with block-based ones. However, as more jobs require interaction with and control of technology such as robots, it may be time for a new narrative. Block-based languages are powerful tools in and of themselves that can be used to enable individuals to quickly and easily understand how to create programs for complex systems. This talk will describe how Snap! has been used to enable non-experts to script tasks for Digit, a highly complex biped robot created by Agility Robotics. This robot is designed for use in warehouses, and Snap! is being used to explore how to make it easy and intuitive for existing workers to operate. This talk will describe how Snap is being used and present preliminary findings. false Bambi Brewer 2022-08-06T05:40:00-07:00 12:40 00:20 Room 2 Talk 496-simple-computer-control-using-the-snap-micro-bit-microcontroller-control-block-library Simple Computer Control Using the Snap! + micro:bit Microcontroller + Control Block Library UC Berkeley The NFS 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. [https://tinyurl.com/bdejtmf9](https://tinyurl.com/bdejtmf9) Steve Holmes (the developer of the BirdBrain Technologies Hummingbird proprietary micro:bit connector software interface and block library) and the ExCITE project team have developed a micro:bit – Snap! connector software and software library package. The micro:bit-Snap Connector 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. The Snap Connector enables remote use of the micro:bit (Untethered!) so students can interact using Bluetooth connectivity. 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 NFS 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. [https://tinyurl.com/bdejtmf9](https://tinyurl.com/bdejtmf9) Steve Holmes (the developer of the BirdBrain Technologies Hummingbird proprietary micro:bit connector software interface and block library) and the ExCITE project team have developed a micro:bit – Snap! connector software and software library package. The micro:bit-Snap Connector 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. The Snap Connector enables remote use of the micro:bit (Untethered!) so students can interact using Bluetooth connectivity. 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 2022-08-06T01:00:00-07:00 08:00 06:00 Hallway Hallway Track 540-hallway-track Hallway Track Join your friends and meet new ones in ohyay! Join your friends and meet new ones in ohyay! false 2022-08-06T02:00:00-07:00 09:00 00:15 Hallway Short Breaks 526-break Break Don't forget to stand up and take a quick break! :) Don't forget to stand up and take a quick break! :) false 2022-08-06T03:15:00-07:00 10:15 00:30 Hallway Breaks 538-food-break Food Break Take a break and eat some food, and catch up with friends in the Hallway track. Take a break and eat some food, and catch up with friends in the Hallway track. false 2022-08-06T04:45:00-07:00 11:45 00:15 Hallway Short Breaks 527-break Break Don't forget to stand up and take a quick break! :) Don't forget to stand up and take a quick break! :) false 2022-08-06T06:00:00-07:00 13:00 00:15 Hallway Short Breaks 531-break Break Don't forget to stand up and take a quick break! :) Don't forget to stand up and take a quick break! :) false 2022-08-06T06:15:00-07:00 13:15 01:00 Hallway Plenaries 582-saturday-social-hour Saturday Social Hour Hang out in ohyay with everyone. Hang out in ohyay with everyone. false 2022-08-06T02:15:00-07:00 09:15 01:00 Plenary Plenaries 514-keynote-a-history-of-metaprogramming Keynote: A History of Metaprogramming Snap_!_ 8.0 has several new features to enable _metaprogramming:_ writing programs about programs. In this talk I'll present some of the history of metaprogramming in the Lisp family, especially Logo and Scheme, both of which have contributed many ideas to Snap_!_. Where do we stand relative to the state of the art? Snap_!_ 8.0 has several new features to enable _metaprogramming:_ writing programs about programs. In this talk I'll present some of the history of metaprogramming in the Lisp family, especially Logo and Scheme, both of which have contributed many ideas to Snap_!_. Where do we stand relative to the state of the art? false Brian Harvey 2022-08-07T01:00:00-07:00 08:00 01:00 Plenary Plenaries 519-show-your-projects Show Your Projects The Snap!shot hit returns! Join us for a face-paced round of some awesome things Snap! users have built. No slides allowed here, just neat projects from the community. The Snap!shot hit returns! Join us for a face-paced round of some awesome things Snap! users have built. No slides allowed here, just neat projects from the community. false Bernat Romagosa 2022-08-07T01:03:00-07:00 08:03 00:03 Plenary Show Your Project 508-dashed-line-graphics-library Dashed Line Graphics Library This is a show-your-project submission, we won't need any more than 3 minutes. We made a dashed-line function that lets you change the line pattern to any kind of dashed line (solid1, space1, solid2, space2, etc). We think of this as an extension of the "JS Graphics Library" project we submitted last year in which we added solid "wedge", "ellipse", "parallelogram" (with and without skew). This is a show-your-project submission, we won't need any more than 3 minutes. We made a dashed-line function that lets you change the line pattern to any kind of dashed line (solid1, space1, solid2, space2, etc). We think of this as an extension of the "JS Graphics Library" project we submitted last year in which we added solid "wedge", "ellipse", "parallelogram" (with and without skew). false Yuan Garcia Dan Garcia 2022-08-07T01:09:00-07:00 08:09 00:03 Plenary Show Your Project 580-talk-to-mt-everest-an-elephant-or-charles-darwin Talk to Mt Everest, an elephant, or Charles Darwin This implements a conversation with GPT-3 or Jurassic 1. It adds a prompt to keep the conversation friendly and adds the recent conversation (or a designed one if the conversation is new). You can use any of the 4 GPT-3 models or either of the 2 Jurassic 1 models and adjust the options. An API key from openai.com is necessary for GPT-3 and a key from ai21.com for the Jurassic 1 models. https://snap.berkeley.edu/embed?project=GPT-3%20Gopher&user=toontalk&showTitle=true&showAuthor=true&editButton=true&pauseButton=true This implements a conversation with GPT-3 or Jurassic 1. It adds a prompt to keep the conversation friendly and adds the recent conversation (or a designed one if the conversation is new). You can use any of the 4 GPT-3 models or either of the 2 Jurassic 1 models and adjust the options. An API key from openai.com is necessary for GPT-3 and a key from ai21.com for the Jurassic 1 models. https://snap.berkeley.edu/embed?project=GPT-3%20Gopher&user=toontalk&showTitle=true&showAuthor=true&editButton=true&pauseButton=true false Ken Kahn 2022-08-07T01:12:00-07:00 08:12 00:03 Plenary Show Your Project 579-using-metaprogramming-to-analyze-projects Using Metaprogramming to Analyze Projects I'll demo how to use Snap! 8 features to get an overview of the blocks used in student projects. I'll demo how to use Snap! 8 features to get an overview of the blocks used in student projects. false Michael Ball 2022-08-07T01:15:00-07:00 08:15 00:03 Plenary Show Your Project 587-generative-adversarial-ml-in-netsblox-circle-gan Generative Adversarial ML in NetsBlox: Circle GAN An interactive project for training a generator and discriminator interactively (using a simple "circle classifier" rather than a full-blown neural network). https://editor.netsblox.org/?action=present&Username=brian&ProjectName=Circle%20GAN& An interactive project for training a generator and discriminator interactively (using a simple "circle classifier" rather than a full-blown neural network). https://editor.netsblox.org/?action=present&Username=brian&ProjectName=Circle%20GAN& false Brian Broll 2022-08-07T01:18:00-07:00 08:18 00:03 Plenary Show Your Project 584-3d-plotting-of-2d-array-data 3D Plotting of 2D Array Data https://snap.berkeley.edu/snap/snap.html#present:Username=dan%20garcia&ProjectName=3D%20Plotting%20of%202D%20Array%20Data I've always been fond of isometric 3D projections (in which cubes look like three symmetric 60º-120º-60º-120º rhombi) https://www.pcmag.com/encyclopedia/term/isometric-view and wanted to find a way to display 2D table data in 3D. So, I played around with canvas "shear" transforms for text, and aligned them with the stage elements to produce a 3D grapher. The DATA looks like any standard spreadsheet, with the first row the column labels, the first column the row labels, and the rest of the integer data in the middle. So for example you might have (not sure how this formatting will work), for a small company's sales: [2D Data format](https://people.eecs.berkeley.edu/~ddgarcia/tmp/table.png) ``` Jan Feb Mar Bob 3 0 1 Sue 2 9 0 Ava 7 2 9 ``` and it will graph that in 3D, AND allow you to write the labels "in 3D space", as if they are written on the left or right wall, or left or right floor. https://snap.berkeley.edu/snap/snap.html#present:Username=dan%20garcia&ProjectName=3D%20Plotting%20of%202D%20Array%20Data I've always been fond of isometric 3D projections (in which cubes look like three symmetric 60º-120º-60º-120º rhombi) https://www.pcmag.com/encyclopedia/term/isometric-view and wanted to find a way to display 2D table data in 3D. So, I played around with canvas "shear" transforms for text, and aligned them with the stage elements to produce a 3D grapher. The DATA looks like any standard spreadsheet, with the first row the column labels, the first column the row labels, and the rest of the integer data in the middle. So for example you might have (not sure how this formatting will work), for a small company's sales: [2D Data format](https://people.eecs.berkeley.edu/~ddgarcia/tmp/table.png) ``` Jan Feb Mar Bob 3 0 1 Sue 2 9 0 Ava 7 2 9 ``` and it will graph that in 3D, AND allow you to write the labels "in 3D space", as if they are written on the left or right wall, or left or right floor. false Dan Garcia 2022-08-07T01:45:00-07:00 08:45 00:03 Plenary Show Your Project 586-find-the-minimum-trying-on-the-shoes-of-an-ml-training-algorithm Find the Minimum: Trying on the Shoes of an ML training algorithm This is a simple game where the user is trying to find the minimum of an unknown function. This is a prerequisite to some of the ML work used to develop intuition about gradient descent before learning about it explicitly. https://editor.netsblox.org/?action=present&Username=brian&ProjectName=Find%20The%20Minimum!& This is a simple game where the user is trying to find the minimum of an unknown function. This is a prerequisite to some of the ML work used to develop intuition about gradient descent before learning about it explicitly. https://editor.netsblox.org/?action=present&Username=brian&ProjectName=Find%20The%20Minimum!& false Brian Broll 2022-08-07T01:48:00-07:00 08:48 00:03 Plenary Show Your Project 583-a-small-simulation-system A Small Simulation System Simulations of models of dynamic systems always have the same structure. I present a simple framework (a prototype) to make simulations of various models. https://snap.berkeley.edu/snap/snap.html#present:Username=jowede&ProjectName=a%20simulation%20system Simulations of models of dynamic systems always have the same structure. I present a simple framework (a prototype) to make simulations of various models. https://snap.berkeley.edu/snap/snap.html#present:Username=jowede&ProjectName=a%20simulation%20system false Joachim Wedekind 2022-08-07T01:51:00-07:00 08:51 00:03 Plenary Show Your Project 588-image-convolution-in-snap Image Convolution in Snap! This project demos how hyper blocks make it very fast to do image convolutions. https://snap.berkeley.edu/embed?project=Image%20Convolution%20with%20Hyperblocks&user=cycomachead&showTitle=true&showAuthor=true&editButton=true&pauseButton=true This project demos how hyper blocks make it very fast to do image convolutions. https://snap.berkeley.edu/embed?project=Image%20Convolution%20with%20Hyperblocks&user=cycomachead&showTitle=true&showAuthor=true&editButton=true&pauseButton=true false Michael Ball 2022-08-07T01:54:00-07:00 08:54 00:03 Plenary Show Your Project 585-build-a-decision-tree-from-data Build a Decision Tree from Data This project starts as a Parson's problem for implementing the DT-building algorithm. Then we visualize the tree learned from a synthetic Twitter dataset and a real-world phishing dataset. Starter Template: https://editor.netsblox.org/?action=present&Username=brian&ProjectName=Decision%20Tree%20Template& Training on the Twitter Dataset: https://editor.netsblox.org/?action=present&Username=brian&ProjectName=Decision%20Tree%20Solution& Applying it to a Phishing Dataset: https://editor.netsblox.org/?action=present&Username=brian&ProjectName=Phishing%20Decision%20Tree& This project starts as a Parson's problem for implementing the DT-building algorithm. Then we visualize the tree learned from a synthetic Twitter dataset and a real-world phishing dataset. Starter Template: https://editor.netsblox.org/?action=present&Username=brian&ProjectName=Decision%20Tree%20Template& Training on the Twitter Dataset: https://editor.netsblox.org/?action=present&Username=brian&ProjectName=Decision%20Tree%20Solution& Applying it to a Phishing Dataset: https://editor.netsblox.org/?action=present&Username=brian&ProjectName=Phishing%20Decision%20Tree& false Brian Broll 2022-08-07T01:57:00-07:00 08:57 00:03 Plenary Show Your Project 589-audio-steganography-experiments audio-Steganography experiments audio-Steganography experiments by jadga https://snap.berkeley.edu/project?user=jadga&project=audio-Steganography%20experiments audio-Steganography experiments by jadga https://snap.berkeley.edu/project?user=jadga&project=audio-Steganography%20experiments false Jadga Hügle 2022-08-07T02:15:00-07:00 09:15 01:00 Plenary Plenaries 516-keynote-nicole-marme-and-jens-peter-knemeyer Keynote: Nicole Marmé and Jens-Peter Knemeyer More info coming soon! More info coming soon! false Jens-Peter Knemeyer Nicole Marmé 2022-08-07T05:00:00-07:00 12:00 01:00 Plenary Plenaries 577-the-future-of-snap The Future of Snap! What's next? We'll share our reflections on what's next for Snap!, but come with questions! We'll close out Snap!Con with a group discussion. We'll share our reflections on what's next for Snap!, but come with questions! We'll close out Snap!Con with a group discussion. false Brian Harvey Jens Mönig Michael Ball Bernat Romagosa 2022-08-07T01:00:00-07:00 08:00 06:00 Hallway Hallway Track 539-hallway-track Hallway Track Join your friends and meet new ones in ohyay! Join your friends and meet new ones in ohyay! false 2022-08-07T02:00:00-07:00 09:00 00:15 Hallway Short Breaks 520-break Break Don't forget to stand up and take a quick break! :) Don't forget to stand up and take a quick break! :) false 2022-08-07T03:15:00-07:00 10:15 00:30 Hallway Breaks 535-food-break Food Break Take a break and eat some food, and catch up with friends in the Hallway track. Take a break and eat some food, and catch up with friends in the Hallway track. false 2022-08-07T04:45:00-07:00 11:45 00:15 Hallway Short Breaks 528-break Break Don't forget to stand up and take a quick break! :) Don't forget to stand up and take a quick break! :) false 2022-08-07T06:00:00-07:00 13:00 00:15 Hallway Short Breaks 532-break Break Don't forget to stand up and take a quick break! :) Don't forget to stand up and take a quick break! :) false 2022-08-07T03:45:00-07:00 10:45 00:30 Room 1 Birds of a Feather 399-turtlestitch-community-celebrating-seven-years Turtlestitch Community – Celebrating Seven Years This Birds-of-a-Feather session is to celebrate seven years of Turtlestitch activity in an international community context, sustained by Scratch and Snap conferences over the years. Participants will be invited to share their experiences, projects and new ideas and discuss how Turtlestitch is inspiring learners, mathematicians and artists throughout the world. This Birds-of-a-Feather session is to celebrate seven years of Turtlestitch activity in an international community context, sustained by Scratch and Snap conferences over the years. Participants will be invited to share their experiences, projects and new ideas and discuss how Turtlestitch is inspiring learners, mathematicians and artists throughout the world. false Richard Millwood 2022-08-07T04:15:00-07:00 11:15 00:30 Room 1 Birds of a Feather 441-creating-music Creating Music Jo Watts, Rachel Gibson, Glen Bull and W. Monty Jones Many examples of music are featured on the Snap! web site. We are interested in exploring music through coding in Snap! and would like to meet others who also have this interest. Therefore, we would like to propose a Birds of a Feather session devoted to this topic. Jo Watts, Rachel Gibson, Glen Bull and W. Monty Jones Many examples of music are featured on the Snap! web site. We are interested in exploring music through coding in Snap! and would like to meet others who also have this interest. Therefore, we would like to propose a Birds of a Feather session devoted to this topic. false Glen Bull 2022-08-07T03:45:00-07:00 10:45 00:30 Room 2 Birds of a Feather 448-autograding-in-snap Autograding in Snap! There are a number of different approaches to automated assessment and feedback in Snap (and Snap extensions) including work from NCSU, Vanderbilt, and Berkeley (among others!). If you are interested in automated assessment, join us to talk about current research directions, existing tools, and get connected with other like-minded people! There are a number of different approaches to automated assessment and feedback in Snap (and Snap extensions) including work from NCSU, Vanderbilt, and Berkeley (among others!). If you are interested in automated assessment, join us to talk about current research directions, existing tools, and get connected with other like-minded people! false Brian Broll 2022-08-07T04:15:00-07:00 11:15 00:30 Room 2 Birds of a Feather 437-experiences-using-snap-to-introduce-high-school-students-to-computer-science Experiences using Snap! to introduce high school students to computer science **Snap!** can be a valuable tool for introducing high school students to concepts of computer science. Whether Snap! is used for introductory classes, like the [Introduction to Computer Science](https://github.com/TEALSK12/introduction-to-computer-science) curriculum developed by the [Microsoft Philanthropies TEALS Program](https://www.microsoft.com/en-us/teals), or CS Principles classes, like the [Beauty and Joy of Computing](https://bjc.berkeley.edu/) curriculum for the [College Board AP CSP](https://apcentral.collegeboard.org/courses/ap-computer-science-principles) exam. This Birds of a Feather session invites educators to share their experiences and learnings about using Snap! in their high school classes. **Snap!** can be a valuable tool for introducing high school students to concepts of computer science. Whether Snap! is used for introductory classes, like the [Introduction to Computer Science](https://github.com/TEALSK12/introduction-to-computer-science) curriculum developed by the [Microsoft Philanthropies TEALS Program](https://www.microsoft.com/en-us/teals), or CS Principles classes, like the [Beauty and Joy of Computing](https://bjc.berkeley.edu/) curriculum for the [College Board AP CSP](https://apcentral.collegeboard.org/courses/ap-computer-science-principles) exam. This Birds of a Feather session invites educators to share their experiences and learnings about using Snap! in their high school classes. false Dan Stormont 2022-08-07T03:45:00-07:00 10:45 00:30 Room 3 Birds of a Feather 576-physical-computing-bof Physical computing BOF Connecting Snap! to robots and things Snap_!_ can communicate with microcontrollers enabling users to interact with physical objects. This Birds of a Feather session will provide opportunities to discuss and demonstrate current ways of accomplishing this. Snap_!_ can communicate with microcontrollers enabling users to interact with physical objects. This Birds of a Feather session will provide opportunities to discuss and demonstrate current ways of accomplishing this. Snap_!_ can communicate with microcontrollers enabling users to interact with physical objects. This Birds of a Feather session will provide opportunities to discuss and demonstrate current ways of accomplishing this. Snap_!_ can communicate with microcontrollers enabling users to interact with physical objects. This Birds of a Feather session will provide opportunities to discuss and demonstrate current ways of accomplishing this. false Glen Bull John Maloney