Community-Driven Programming: Offering Coding and Robotics Classes in your Library PUBLIC LIBRARIES LEADING THE WAY Community-Driven Programming Offering Coding and Robotics Classes in your Library Mary Carrier INFORMATION TECHNOLOGY AND LIBRARIES | JUNE 2023 https://doi.org/10.6017/ital.v42i2.16619 Mary Carrier (mcarrier@mvls.info) is Technology & Growth Specialist, Mohawk Valley Library System. © 2023. ABSTRACT Mary Carrier serves as the Technology & Growth Specialist for the four counties of the Mohawk Valley Library System in Schenectady, New York. Prior to this position, Mary dedicated over 15 years to teaching digital literacy and technology trends at the Clifton Park-Halfmoon Public Library, a suburban public library that has over 40,000 registered patrons and 1,500 visitors per day. The community has a strong presence in youth and family programs and is a popular place for teens and children to learn, play, and create. In 2015, she began offering coding and STEM classes to children and teens at the library and in the community as outreach programs. Mary will share her expertise in technology programming for children and teens and the importance of planning, preparing, and testing curriculum for coding and robotics classes. INTRODUCTION When you get unsolicited input from the community, it is worth the effort to investigate. Rather than say “that will never work here,” take the time to listen. Is this the voice of one or of many? At the Clifton Park-Halfmoon Public Library located south of Saratoga Springs and north of Albany, New York, our 55,000-square-foot library serves two communities with a combined population of 64,575 and hundreds of visitors from the greater capital region. As a Digital Services Trainer my focus was geared toward teaching computer classes to older adults. My pace was slow, steady, and empathic as I translated this world of technology into digestible “bytes” for everyday use. I could easily relate to the foreign language these tools presented since I did not grow up with technology. This community of learners grew steadily between 2007 and 2014, particularly when more and more people were buying e-readers, tablets, and smartphones. I found my niche, I was making a difference, and I was comfortably coasting. I was fortunate to be in a community that used new technology and valued learning. After all, they had free access to a variety of computer classes and one-on-one assistance at their local library. The digital literacy foundation grew and was strong in the community after finding the support needed; however, over the years, I was getting antsy as I reached a plateau. My new challenge was passed on to me in a loose net, rather than on a silver platter. A cub scout leader approached me as his son was “aging out” of scouts, that transitional period between fifth and sixth grade. He recommended the library start a coding club, and he was willing to help. Coding was an area I knew very little about as a technology discipline, and working with children would be a new challenge for me, but I was ready to jump right in. What started out as a few weeks of experiential learning, turned into seven years of coding and robotics classes for third mailto:mcarrier@mvls.info INFORMATION TECHNOLOGY AND LIBRARIES JUNE 2023 COMMUNITY-DRIVEN PROGRAMMING 2 CARRIER grade through high school students with the addition of programs for kindergarten through second graders in later years. The process to initiate a coding club started in 2015 with research and fact finding. I gathered information about computer science and coding, including the benefits of learning computer science at a young age, methods to teach these skills, and websites and resources to help with the development of the curriculum. With data in hand regarding resources, benefits, and age recommendations, my supervisor and I sat down with the parent and brainstormed the best way to approach offering a coding club that would be beneficial to the community and manageable from our perspective. We decided to offer a six-week series and called the club Code Crew. Fifth through eighth graders were invited to register for this two-hour after-school program with a goal to create projects in Scratch (https://scratch.mit.edu/), which uses block programming. Each team of two to three students worked on a project to highlight the benefits of using the library. Teams created interactive stories about finding a favorite book, checking out materials, and highlighting the library’s programs, such as Story Time. At the end of the six weeks, each team presented their project to an audience of family members and staff. The goal was to learn how to code in Scratch, create a final product to promote the library, collaborate, and have fun. Code Crew was just the beginning. From there, our library offered a variety of series and one-time classes in Scratch, Scratch Jr., Python, CSS/HTML, and JavaScript. Here’s what I learned along the way… PLANNING YOUR PROGRAM Set your goal to offer coding curriculum to children, teens, and/or adults. Some of our main goals were to emphasize the importance of computer science, to allow children the opportunity to create versus consume computer games, and to promote collaboration and confidence. Research what programs and resources are already available and where in the community. Check with local schools from elementary to high school, continuing education programs, youth organizations such as the YMCA, and summer camps in your local community. If there are other programs currently offered, who are the participants in the program? Are there restrictions or limitations? For example, is coding offered only to accelerated students or available to all children? Is it restrictive due to participation fees? This research will indicate if there is a local offering. A free program at the library is more inclusive. Design Based on what you investigated, would this work in your community? In your design, who is your audience, what skills will they need, and what is the recommended age based on your review? What is your capacity for a class, or class size? Consider the number of computers or laptops and the number of students that is manageable based on the age of your audience. Who will run the class? Do you have staff that are interested and available, or do you need to outsource this program? How much do you need to budget? We were fortunate that the parent with the original idea had a programming background. He started as a volunteer and quickly became a contractor as we added more and more classes. https://scratch.mit.edu/ INFORMATION TECHNOLOGY AND LIBRARIES JUNE 2023 COMMUNITY-DRIVEN PROGRAMMING 3 CARRIER INVESTIGATE PROGRAM CONTENT Reviewing coding websites, curriculum, or lesson plans can help with successful preparation. Generally, these three websites are popular, well-known coding websites. More specifically, they are my top picks because they appeal to different learning styles: • Scratch coding: https://scratch.mit.edu/ • Code.org: https://code.org/ • CS Google First: https://csfirst.withgoogle.com/s/en/home There are tutorials that include written instructions, video instruction, and exercises for different skill levels from beginner to advanced for students. These tutorials all include beginner block programming that use a drag and drop method to click blocks of code together. Children are guided through colorful, themed tutorials in logical order for learning. By creating a user account, students can save all their projects and progression for another class or to continue at home. Each website has different benefits. I started with Scratch (https://scratch.mit.edu/) as it is the most widely used (created in 2007), has an unforgettable logo (Scratch the cat), and provides helpful tutorials to use in class. After learning the basics of moving Scratch, adding loops to repeat actions, and changing the backgrounds and sprites (characters), children are ready to make their first Pong Game. Animating sprites to talk to each other and change scenes is the next fun basic element to try. Participants love seeing the conversations develop and sharing their stories with each other. We used Code.org (https://code.org/) to help promote the benefits of computer science by showing memorable videos in class that have celebrities, sports figures, and social media creators expressing their positive experience of learning to code. Code.org promotes an Hour of Code challenge every year during Computer Science Education Week, which is the first week of December. Kids love this website because it uses popular and current themes, such as characters from the movie Frozen, Star Wars, and Minecraft. Google CS (Computer Science) First (https://csfirst.withgoogle.com/s/en/home) launched in 2013 and is a website used for classroom style collaboration. As an instructor, you can choose to use Google Classroom to encourage sharing, and collaboration among participants, and to review an individual’s progress. The exercises and videos are incredible and support learning that continues to build skills with exercises defined as beginner, intermediate, and advanced. It uses Scratch block programming with easy-to-follow lessons to use with a class or for self-paced learning. DESIGN AND TEST Design the curriculum and lesson plan for the class. Think project-based. Plan an introductory exercise that builds to a project. Do a test run. Bring in a few volunteer students and run through the lesson plan or run a pilot program and adjust based on the results. Consider skill level and attention span. How will you accommodate this? I learned to be prepared with additional projects to offer students who finish early. Give them time to explore. Ask students https://scratch.mit.edu/ https://code.org/ https://csfirst.withgoogle.com/s/en/home https://scratch.mit.edu/ https://code.org/ https://csfirst.withgoogle.com/s/en/home INFORMATION TECHNOLOGY AND LIBRARIES JUNE 2023 COMMUNITY-DRIVEN PROGRAMMING 4 CARRIER to help each other and stick to completing the project. The project should be fun and easy enough to get them excited about coding. ASSESS AND ADJUST Coding is not for everyone. Assess what went well and what you may want to change. Don’t take it personally if students didn’t like it or don’t return. Some children and teens feel overwhelmed when they feel their skill levels are below others. Encourage them to watch the video tutorials and start with the basics, like Google CS First step-by-step video tutorials. Figure 1. Google CS First lessons. Figure 2. Scratch for CS First. INFORMATION TECHNOLOGY AND LIBRARIES JUNE 2023 COMMUNITY-DRIVEN PROGRAMMING 5 CARRIER After introducing and running a coding class for a while, you will have a built-in following and enthusiasm in your community. A natural progression is to start working with robots. The coding that has been successfully run on a computer screen can now be applied to an object. Children have learned the general concepts of block programming, which is directly applicable to the coding used to control robots. Loops, conditionals, and various commands can be programmed to bring the robot to life. Robots love to dance, do obstacle courses, race, and “dress up.” Each of these robots are compatible with block programming such as Scratch and object-oriented programming languages such as Python. Three types of robots are used for classes at The Clifton Park-Halfmoon Public Library. Figure 3. Robots used for classes. Finch Robots We purchased the Finch robots (https://www.birdbraintechnologies.com/) first because they were priced reasonably below $100. They came with a long cable that tethers to a laptop and each is coded through a free download Scratch 2.0. Newer Finch models are available and use a blue tooth connection. There are video tutorials and lesson plans available on the Bird Brain Technologies website. These can be used for grades K-12. Dot & Dash Robots There are apps, challenge cards, and curricula available on the Wonder Workshop website (https://www.makewonder.com/). These robots are best for grades K-8. Makeblock – mBot Makeblock includes activities and lesson plans for Pre-K-12 (https://education.makeblock.com/). One of the most important components of working with robots is to research what is needed to run the robot. Typically, there is an app or download required. Whether you use a laptop, Chromebook, or tablet, planning and preparation is key. We purchased six Kindle Fire tablets to use with the mBots and found that the Blockly app needed was not available as a download. I was able to run a hack to allow me to download the Google Play Store app, but with a little more research, this could have been avoided. Give yourself time before offering a program to test, test, test. And even then, you will adjust and learn along the way. Finch Robots Dash & Dot MakeBlock - mBot https://www.birdbraintechnologies.com/ https://www.makewonder.com/ https://education.makeblock.com/ INFORMATION TECHNOLOGY AND LIBRARIES JUNE 2023 COMMUNITY-DRIVEN PROGRAMMING 6 CARRIER Figure 4. Teams working together to set up an obstacle course for the Finch Robot. INFORMATION TECHNOLOGY AND LIBRARIES JUNE 2023 COMMUNITY-DRIVEN PROGRAMMING 7 CARRIER PRACTICAL TIPS • Start with tutorials. • Use a pilot group of kids/teens. • Don’t be afraid. You don’t have to be an expert. • Encourage the class to help each other and to present their projects. • Utilize students as classroom helpers as they gain confidence. • Continuously assess and adjust your plan. • Growth takes time, keep building the program, and move forward as long as there is interest. The library community’s strong presence and support for youth and family programs made this programming endeavor successful. As interest in the program grew, I hired two part-time librarians and a parent as contractors. The community response allowed us to develop curricula for K-2, 3-5, and 6-adult. Figure 5. Chart shows the breakdown of attendance by programming topic. Scratch was targeted for third to fifth graders; Ready-Set-Code for kindergarten to second graders, and Python Programming for fifth graders to adult. Total attendance for children and teens for coding and robotics programs: • 2016: 877 • 2017: 1,069 • 2018: 1,244 • 2019: 921 INFORMATION TECHNOLOGY AND LIBRARIES JUNE 2023 COMMUNITY-DRIVEN PROGRAMMING 8 CARRIER And this reach extended beyond the library walls. Outreach was offered through afterschool enrichment programs and participation in our annual district-wide Science and Health Discovery Night, a showcase of science, technology, engineering, math, and health exhibits and interactive demos for all ages. Volunteer exhibitors from a variety of companies and organizations participate and draw an audience of more than 3,000. We also allowed six out of sixteen of our Finch robots to be borrowed by teachers and community members for at home learning and play. Our success was worth the effort. There is nothing better than when you hear the squeals of delight, see the pride in the creator, and witness collaboration. ABSTRACT INTRODUCTION Planning your program Design Investigate program content Design and test Assess and adjust Finch Robots Dot & Dash Robots Makeblock – mBot Practical Tips