Amy Nathan
Ontario Tech University


Research conducted in elementary schools generally finds that students can gain skill development in algorithmic thinking, computational thinking, and problem-solving (Chen et al., 2017). This strengthens Math and Science abilities and understanding (Saez et al., 2019). This chapter will review literature focused on the effectiveness of games and learning by design to create artifacts on the coding platform Scratch. Finally, this paper will examine the application value of game-based learning for students to construct meaningful knowledge and enhance their 21st-century skills, as well as its impact on the overall learning experience.


coding, computational thinking skills, constructivism, critical thinking skills, game-based learning, learning by design, problem-solving skills, TPACK, scratch


Technology is constantly evolving and growing in our daily lives. We regularly rely on technology to simplify tasks. In the classroom, researchers have focused on literacy and numeracy; however, there is an increasing emphasis on integrating Science, Technology, Engineering, Math and 21st-century skills (Bers et al., 2014; The Partnership for 21st Century Learning, 2015). New devices like tablets and smartphones are being developed to be more user-friendly and rapidly expands its audience to include young children. This has resulted in increased use of technology in the classroom (Bers et al., 2014). Technology has evolved and has become more accessible to educators leading to greater interest in integrating game-based applications as educational tools to supplement traditional learning in the classroom (Nebel et al., 2016).

The rise of Covid and pandemic restrictions caused educators and learners to shift to remote learning. Remote learning created an immediate need to reimagine teaching and learning. This forced educators and students to experiment with various technology to determine new ways of learning and engagement. There is a consensus among scholars that game applications have been an effective learning tool in the classroom. Recently, remote learning has demonstrated that games are equally valuable in supporting virtual learning. Games can engage and sustain students’ excitement for learning, keep them interested, and be involved in what they are learning (Agbo et al., 2021; Yadav & Oyelere, 2021). Game-based learning helps bridge the gap between gaming and learning. It creates a union between the educational component and the concept of gaming to make learning fun. (Yadav & Oyelere, 2021). Studies recognize that incorporating technology and games is engaging and leads to increased knowledge and enjoyment.

Gameplay is not the only focal point of game-based learning research. Game design and learning by design have gained more traction recently with researchers (Baytak & Land, 2011; Gross & Gross, 2016; Kafai & Burke, 2015). Researchers have found that the design elements that go into creating games have cognitive demands on the learner. The learner creates a personal connection with the new knowledge to construct meaningful game designs (Baytak & Land, 2011; Gross & Gross, 2016; Kafai & Burke, 2015). The research indicates that the interaction of gameplay and designing games leads to improvements in skills such as media literacy, problem-solving, critical and computational thinking (Agbo et al., 2021; Baytak & Land, 2011; Gross & Gross, 2016; Hewett et al., 2020; Kafai & Burke, 2015).

Coding has received much attention from scholars because it can include various software design practices, from programming to debugging and remixing code (Kafai & Burke, 2015). Teaching computing through inquiry and problem-based projects is key to acquiring 21st-century skills in learners (Neira et al., 2021; The Partnership for 21st Century Learning, 2015). Through coding and computational thinking, students develop 21st-century skills such as critical thinking, problem-solving, communication, collaboration, leadership skills, responsibility, innovation and creativity (The Partnership for 21st Century Learning, 2015). Computational thinking is a skill that students are developing through new curriculum expectations. Computing is when algorithmic processes are required for any goal-oriented activity (Mason & Rich, 2019). Computational thinking is then the method for achieving these goals, utilizing technology and devices to solve these problems. Students analyze the problem and use commands and coding to achieve the desired outcome (Bers et al., 2014; Chen et al., 2017; Estapa et al., 2018; Rich et al., 2018; Saez et al., 2019; Wing, 2006). There are numerous applications that educators can use to teach coding, from issuing commands in a text or block-based language that creates results within the system (Baytak & Land, 2011; Gross & Gross, 2016; Neira et al., 2021; Rich et al., 2018; Kafai & Burke, 2015). Some common coding programming applications are Alice, Kodu and Greenfoot (Estapa et al., 2018; Kafai & Burke, 2015). However, Scratch programming language was one of the most commonly used by teachers to teach computing and coding to K-8 (Rich et al., 2018) because of its low barriers and user-friendly aspects.

This paper will review the literature on the effectiveness of game-based learning and learning by design to construct artifacts on the coding platform Scratch. Scratch is a digital coding learning tool defined as an internet browser-based program developed by MIT that is free for teachers, parents, and students (Amador & Soule, 2015). This chapter will review the literature and explore the curriculum application of Scratch for meaningful knowledge construction and skill acquisition.

Background Information

Game Design

In a well-designed game, the learner assumes the identity of a player, uses the rules and feedback systems to face challenges to reach a goal as they participate in the game (Gee, 2013). Researchers generally use the theoretical constructivist framework for designing a game due to the learner’s active role on the platform. Research indicates that this creates a sense of agency, ownership, and control in the learner because it is their choice (Gee, 2013). Interestingly, many scholars found that the active role learners take in gameplay and game designing creates a sense of autonomy (Baytak & Land, 2011; Brandon & All, 2010; Gross & Gross, 2016; Gee, 2013; Kafai & Burke, 2015). Researchers found this finding mirrored when students were actively involved in the designing and construction of their own projects on Scratch (Baytak & Land, 2011; Gross & Gross, 2016; Kafai & Burke, 2015). The learner achieves independence by attempting tasks by themselves, and their choices dictate the outcomes. Incorporating games has become popular in Education because it takes a student-centred approach to learning.


Goals are an essential component of gameplay and game design. Within the gameplay parameters, changes occur in the learner when interacting with the game environment to achieve a target or goal. The targeted concepts learned or skills developed are organized and ordered in difficulty. Therefore, producing customization within the game, where problems and challenges are ordered in levels to fit the learner’s capabilities to be successful (Gee, 2013; Padirayon et al., 2019; Yadav & Oyelere, 2021). Game design is a dynamic process of redesigning for learners to achieve the desired end goal, the successful creation of a game. Game design involves cycles of planning, designing, testing, debugging, knowledge sharing and social interaction (Baytak & Land, 2011; Gross & Gross, 2016).

Productive Struggle

Games in general provide another environment for students to actively interact with the concepts to get meaning without the fear of making mistakes (Gee, 2013). The advantage of games is that they incorporate productive struggle. Students are more likely to put time, effort and are more likely to take risks in a game because they want to win or advance to the next level. They have prior knowledge from playing other games outside of school to know that they may not be successful on the first try. This gives them a safe space where it is more acceptable to make mistakes, and persevere, thereby encouraging a growth mindset. Another reason games add value as a learning tool is because it provides teachers opportunities to modify learning expectations for different learning needs and differentiation so that all students can construct meaning from the learning experience (Buffington & Rosengrant, 2020).


Regardless of engagement in gameplay or game design, Gee (2013) states that the concept of games encourages risk-taking and gets the learner to attempt new things. The learner faces tasks, activities, and challenges that are progressively more difficult. Studies indicate that when a learner faces new challenges, they acquire new knowledge and build new meaning based on prior experiences (Baytak & Land, 2011; Padirayon et al., 2019; Yadav & Oyelere, 2021; Kafai & Burke, 2015). Finally, evidence stipulates that when the learner explores and takes risks, the learner is on the edge of their current competency. Learners maintain a pleasantly frustrated state to persevere and complete the cycle of expertise leading to more challenging problems (Gee, 2013). The new challenges disrupt the equilibrium and encourage the learner to take risks to restore it to advance to more complex problems.

Scratch Learning Tool

Scratch’s learning approach makes learning and understanding coding user-friendly and accessible for learners at all levels (Baytak & Land, 2011; Simpkins, 2014). It is fun and easy to follow and implement. The technical requirements are not complicated for beginners. The Scratch website (Scratch – Imagine, Program, Share, n.d.) is accessible at on a desktop, laptop or tablet with a compatible internet browser; Chrome, Firefox or Safari (Amador & Soule, 2015; Baytak & Land, 2011); smartphones currently have view-only access. Users can create a free Scratch account, but it is not mandatory to use Scratch.

The Scratch program utilizes the drag-and-drop block coding approaches to manipulate characters, called Sprites (Amador & Soule, 2015). The colourful interface of Scratch makes it visually appealing to the intended target audience of children under 16 years old. Additionally, Scratch uses colour-coded sections featuring different coding elements (Amador & Soule, 2015). Figure 1 displays the coding blocks, the blocks include the following; Motion (blue), Looks (purple), Sound (magenta), Events (yellow), Control (orange), Sensing (light blue), Operators (green), Variables (dark orange) and My Blocks (pink). This block programming resource allows users to use codes to create animations and interactive stories or games (Baytak & Land, 2011; Gross & Gross, 2016). It is a versatile resource that allows students to learn to code and can incorporate cross-curricular expectations, such as Math, Language Literacy, The Arts, Science and Social Sciences ​(Lazarinis et al., 2019)​. When using Scratch, students think creatively and critically, developing computational thinking skills through applying sequences, loops, events, conditionals and operators, as well as problem-solving to troubleshoot errors in their codes (Baytak & Land, 2011; Delacruz, 2020; Niera et al., 2014; Simpkins, 2014).

Scratch interface, displaying code categories; Motion (blue), Looks (purple), Sound (magenta), Events (yellow), Control (orange), Sensing (light blue), Operators (green), Variables (dark orange) and My Blocks (pink).

Figure 1: Web Interface of Scratch

Scratch is regarded as an excellent starting point for learners because it includes a library of free sample designs that can be modified and adapted as needed by the learner (Baytak & Land, 2011). Numerous digital coding communities share tips, advice and a range of challenging Scratch tutorial projects on the web and youtube channels (see Appendix A), allowing educators and learners to select appropriate projects. The tutorial variety on Scratch follows a “low ceiling, high ceiling” principle (Estapa et al., 2018). It includes a variety of beginner-level projects to start and create program codes and more complex projects to challenge and retain the attention of more advanced and experienced programmers and coders.

Impact of Scratch

Another consistent observation among researchers deemed Scratch to be an impactful digital educational tool to introduce young students to the programming and coding world, adding to a learner’s learning process (Baytak & Land, 2011; Estapa et al., 2018; Mak, 2014; Neira, 2014; Rich et al., 2018). Results from studies revealed consistent positive findings in learners’ skill development. First, in a small elementary sample, studies found that students can develop algorithmic thinking, computational thinking, and problem-solving skills through the implementation of Scratch. When researchers compared Scratch users to those who did not, results showed a growth in skills (Chen et al., 2017). Coding tools like Scratch led scholars to determine a need to “debug” and the practice of trouble-shooting within the application. This encouraged higher analytical, critical thinking and a form of problem-solving in students (Baytak & Land, 2011; Bers et al., 2014). A study found that students use procedural thinking to plan their code and then use sequencing processes to create their code (Bers et al., 2014). When the program was executed, students could determine if it was successful. If the code was unsuccessful, students could look through their steps to “de-bug” the code and then re-run it to see if they were able to find a solution to their problem (Saez et al., 2019). Researchers concluded that grade 5 students could use Scratch to design functional games in the context of their environmental science unit by following the learning-by-design process. Results indicated an increased knowledge, social interaction during the testing, debugging and redesigning stages (Baytak & Land, 2011). These stages allow the learner to explore and take risks (Gee, 2013).

Curriculum Application of Scratch

Scratch is a useful gamified educational tool used in various learning environments; in-person, hybrid or remote. Regardless of the mode of delivery of teacher instruction, the pedagogical approach is still a student, learner-centred pedagogy. Being a virtual elementary teacher for the past two years, the TPACK framework (Muilenburg & Berg, 2015; Neira et al., 2014) is necessary for online pedagogy. This framework is an integration of curriculum, pedagogy and technology. Within the Math curriculum, students are engaging meaningfully with both coding expectations and Mathematics expectations.

Students can use Scratch to create a game, image or animation (Estapa et al., 2018) to represent the grade 5 Ontario Ministry Mathematics Curriculum Expectations. Lessons can be designed to incorporate Scratch to meet the Ontario Ministry Math Curriculum overall and specific expectations. In Algebra, the overall expectation is “C3. Solve problems and create computational representations of mathematical situations using coding concepts and skills” (Ontario Ministry, 2020). The specific expectation is that students “C3.1 Solve problems and create computational representations of mathematical situations by writing and executing efficient code, including code that involves conditional statements and other control structures” (Ontario Ministry, 2020). The use of conditional statements is very informative; students get instantaneous feedback to determine if they have achieved what they wanted during testing and can debug with the assistance of their peers and teachers to reach their goal (Baytak & Land, 2011; Kafai & Burke, 2015).

Using Scratch, the teacher takes a learner-centred pedagogical approach with students. The students are in control of their individual project creation based on the content they want to include. It is through their actions and choices of coding blocks that an outcome is determined (Gee, 2013; Neira et al., 2014). The learner can attempt more demanding coding projects involving more complicated coding sequences and challenges as they develop their skills (Estapa et al., 2018). They have the freedom to discover free tutorials and join coding support groups to encourage and challenge themselves. Lastly, technology has played a vital role in Education in the past few years. Teaching and learning to code virtually involve using the Scratch application in conjunction with a conferencing application like Zoom (2021). Using both simultaneously builds a supportive digital community. On Scratch, community and support are built as users can go in and see the code to comment and give helpful feedback; on Zoom, there can be whole-group and small-group collaboration in breakout rooms to foster community.

Working with programs like Scratch is unique because it encourages Prensky’s (2010) partnership form of learning. Students to partner with their peers and teachers to collaborate and support each other. Kids are motivated to participate, collaborate, think critically, and problem-solving because it becomes fun and play-based. The learning environment grows to become student-centred and inquiry-based (Hewett et al., 2020; Yuan et al., 2019). Scratch is user-friendly, simple, visually appealing by design and engaging to both genders (Mak, 2014). Students do not realize they are developing 21st-century skills that will benefit them to meet future technological demands in the workforce (Chen et al., 2017). They simply enjoy the learning process and experience as they engage in the task at hand. In addition, students become better at collaboration and conflict resolution by identifying problems and creating solutions to resolve them (Buffington & Rosengrant, 2020; Mak, 2014). Another reason these tools add value to developing computational thinking for students is that it allows teachers to modify learning expectations for different learning needs and differentiation so that all students can succeed. (Buffington & Rosengrant, 2020; Mak, 2014).

Scratch Discussion


According to research, potential problems in implementing Scratch involve student privacy, training and access. There are some privacy controls on the application and class groups that can be created to ensure this. It is still recommended that students create unique usernames and passwords or that the teacher creates the usernames for the students. Once projects are shared, anyone on Scratch can view and comment on the code. Also, many teachers, especially those who have been teaching for a long time, may be hesitant to embrace new technology. This type of teaching and learning is heavily scaffolded in the initial stages (Kafai & Burke, 2015), making teachers hesitant if they are not experts. Due to technology, teachers have free access to tutorials (Hurley, 2018) and ready-made, student-friendly coding projects (see Appendix B) to alleviate some pressure on them. Additionally, even with its low barriers, the cost and accessibility to devices can be problematic depending on the socioeconomic status of the students’ families. Teaching with technology, even with its many benefits, can be unpredictable in the classroom Difficulties can arise when setting up accounts for all students and troubleshooting related issues. Students, parents and teachers may lose motivation or become overwhelmed with many troubleshooting issues.

Feedback, Learning Goals, and Success Criteria

Research shows the vital role feedback, learning goals and success criteria play in student achievement and skill development. Through Scratch, students create, build, test, and communicate an order of commands to reach a goal accomplished on the screen. The more students use Scratch out of enjoyment, the more they reinforce their 21st-century skills without realizing it. A consensus throughout studies is that implementing computational thinking improves students’ computational abilities and strengthens their math understanding (Estapa et al., 2018). Research shows that co-creating learning goals and success criteria result in the most positive successes in skill development because students understand the learning outcomes. Students then know they must plan and work towards the goal (Kvenild et al., 2017). For a sample of learning goals and success criteria for a class coding project, see Appendix A. In addition, teachers and students should work together using technology to accomplish a goal (Prensky, 2010). Educators have a significant role in a child’s education. Students need to see their teachers, their role models going outside their comfort zone to use multimedia and technology to be inspired to push their boundaries. Students seeing their teachers attempting something new has the greatest potential to spark enthusiasm, leading to engagement, success and more positive outcomes.


Technology will only become a more permanent fixture in students’ lives. As educators, we must guide students to engage with resources like Scratch at a young age to foster curiosity to try new things, develop essential skills and their minds in creative ways. Students can have immediate feedback for their problem-solving attempts, determine patterns and trends in sequencing processes. Students should have opportunities within the curriculum to practice programming. Computational thinking is a skill that directly correlates to curriculum and also impacts everyday life. Future efforts should explore the transferability of these skills in other areas and determine the impact of augmented and virtual gaming environments. Technology is evolving, elementary curriculum expectations and teacher practices must follow suit to allow students to engage with these resources to increase their knowledge, and enhance their skills while enjoying the learning experience.


Amador, J, & Soule, T. (2015). Girls build excitement for math from Scratch. Mathematics Teaching in the Middle School, 20​(7). 408-415.

Agbo, F. J., Oyelere, S. S., Suhonen, J., & Laine, T. H. (2021). Co-design of mini-games for learning computational thinking in an online environment. Education and Information Technologies, 26(5), 5815–5849.

Brandon, A. F., & All, A. C. (2010). Constructivism theory analysis and application to curricula. Nursing Education Perspectives, 31(2), 89–92.

Baytak, A. & Land, S. M. (2011). An investigation of the artifacts and process of constructing computers games about environmental science in a fifth grade classroom. Educational Technology Research and Development, 59(6), 765–782.

Bers, M., Flannery, L., Kazakoff, E., & Sullivan, A. (2014). Computational thinking and tinkering: Exploration of an early childhood robotics curriculum. Computers and Education, 72, 145-157.

Briggs, K. (2019, April 26). Scratch 3.0 Tutorial #1: Make your first program. [Video]. YouTube.

Buffington, L., & Rosengrant, D. (2020). Making Differentiation Magic in the Classroom with Minecraft. The Physics Teacher, 58(8), 564–568.

Chao, P.Y (2016). Exploring students’ computational practice, design and performance of problem-solving through a visual programming environment. Computers and Education, 95, 202-215.

Chen, G., Shen, J., Barth-Cohen, L., Jiang, S., Huang, X., & Eltoukhy, M. (2017). Assessing elementary students’ computational thinking in everyday reasoning and robotics programming. Computers and Education, 109, 162-175.

Delacruz, S. (2020). Starting from Scratch (Jr.): Integrating Code Literacy in the Primary Grades. The Reading Teacher, 73​(6), 805-811.

Estapa, A., Hutchinson, A., & Nadolny, L. (2018). Recommendations to support computational thinking in the elementary classroom. Technology and Engineering Teacher. 25-29.

Gee, J. P. (2013). Good Video Games and Good Learning.

Gross, & Gross, S. (2016). TRANSFORMATION: Constructivism, Design Thinking, and Elementary STEAM. Art Education (Reston), 69(6), 36–43.

Hurley, A. (2018, November 29). Getting started with Scratch Teacher Account. [Video]. YouTube.

Hewett, K.J., Zeng, G., & Pletcher, B.C. (2020). The acquisition of 21st-century skills through video games: Minecraft design process models and their web of class roles. Simulation & Gaming, 51(3), 336–364.

Kafai, Y., & Burke, Q. (2015). Constructionist Gaming: Understanding the Benefits of Making Games for Learning. Educational Psychologist, 50(4), 313–334.

Kvenild, C., Shepherd, C., Smith, S., & Thielk, E. (2017). Making friends and buying robots: How to leverage collaborations and collections to support STEM learning. Knowledge Quest, 45(3), 62-69.

Lazarinis, F., Karachristos, C., & Stavropoulos, E. (2019). A blended learning course for playfully teaching programming concepts to school teachers. ​Education Information Technology 24(2), ​1237-1249.

Li, M.-C., & Tsai, C.-C. (2013). Game-Based Learning in Science Education: A Review of Relevant Research. Journal of Science Education and Technology, 22(6), 877–898.

Mak, J. (2014). Coding in the elementary school classroom. Learning and Leading with Technology, 26-28.

Mason, S., & Rich, P. (2019). Preparing elementary school teachers to teach computing, coding, and computational thinking. Contemporary Issues in Technology and Teacher Education, 19(4), 790-824.

Muilenburg, L. S. M. S. Y., & Berge, Z. L. (2015). Revisiting teacher preparation. Quarterly Review of Distance Education Journal Issue, 16(2), 93-105.

Neira, H., Connolly, C., Palacios-Alonso, D., & Borrás-Gené, O. (2021). A Guided Scratch Visual Execution Environment to Introduce Programming Concepts to CS1 Students. Information (Basel), 12(9), 378–. (2018, September 19). Scratch 3.0 Programming for kids. [Video]. YouTube.

Nebel, S., Schneider, S., & Rey, G. (2016). Mining Learning and Crafting Scientific Experiments: A Literature Review on the Use of Minecraft in Education and Research. Educational Technology & Society, 19(2), 355–366.

Ontario Ministry (2020). The Ontario Mathematics Curriculum.

Padirayon, L., Pagudpud, M., & Cruz, J. (2019). Exploring constructivism learning theory using mobile game. IOP Conference Series: Materials Science and Engineering, 482, 012004.

Pesare, E., Roselli, T., Corriero, N., & Rossano, V. (2016). Game-based learning and Gamification to promote engagement and motivation in medical learning contexts. Smart Learning Environments, 3(1), 5.

Prensky, M. (2010). Partnering. Teaching digital natives. Partnering for real learning (pp.9-29). Corwin Press.

The Partnership for 21st Century Learning. (2015). P21 framework definitions.

Rich, P. J., Browning, S. F., Perkins, M., Shoop, T., Yoshikawa, E., & Belikov, O. M. (2019). Coding in K-8: International trends in teaching elementary/primary computing. TechTrends, 63(3), 311–329.

Saez-Lopez, J., Sevillano-Garcia, M., & Vazquez-Cano, E. (2019). The effect of programming on primary school students’ mathematical and scientific understanding: Educational use of mBot. Education Technology Research Development, 67,1405-1425.

Scratch – Imagine, Program, Share. (n.d.). Scratch. 

Scratch. (n.d.). Tutorials. Scratch.

Scratch. (n.d.). Chatbot!- Scratch Studio. Scratch.

Simpkins. (2014). I Scratch and Sense But Can I Program? An Investigation of Learning with a Block Based Programming Language. International Journal of Information and Communication Technology Education, 10(3), 87–116.

Yadav, A. K., & Oyelere, S. S. (2021). Contextualized mobile game-based learning application for computing education. Education and Information Technologies, 26(3), 2539–2562.

Wing, J. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.

Zoom Video Communications (2022). Zoom.

Appendix A: General Instructions

Learning Goals

The learning goals reflect objectives from curriculum expectations. Sample learning goals for Grade 5 using the Scratch program are:

-Students will create computational representations by writing and executing efficient code

-Students will include conditional statements and other control functions in their coding program -Students will solve problems within their code independently and in small-group settings

Success Criteria

Success Criteria for this lesson would be co-created with students and would look like:

-I have included at least one Sprite (character) in my Scratch code program

-I have created a background/scene

-I use at least 2 conditional statements

-I use at least 2 other control functions (such as motion, looks, and sensing)

-I have edited my code and made sure my program works (self-assessment)

-In a group, I have received and given peer feedback to help problem solve

-I have included a brief description of how to play/use my project


  • A comprehensive yet concise tutorial video made by for the most recent version of Scratch. This video shows educators and students how to navigate the interface of Scratch and create codes to manipulate the character and scene. Access “Scratch 3.0 Programming for Kids” by here:

  • By visiting the Scratch website, educators and students can access various instructional videos to help them get started or develop specific codes and programs, such as animating your name or creating a story or game. The following link provides access to several helpful tutorial videos that can guide students’ use of the program
  • Another compelling in-depth tutorial video on navigating Scratch that is more detailed in showing how to use the different functions was created by Kevin Briggs. This video is longer; however, it has a lot of great advice on setting up an account and how to make codes. This is just the first tutorial video in a series that the creator has made, “Scratch 3.0 Tutorial #1: Make Your First Program” by Kevin Briggs here: ​

  • Lastly, educators can create a teacher account once familiar with the Scratch program. A teacher account will allow students to be added to a class, monitor their work and create studios to display student work. Abby Hurley has created a tutorial video to show educators how to set up teacher accounts and use them to add students and view student work. Access “Getting Started with Scratch Teacher Account” by Abby Hurley here: ​

Scratch Studio

Studios are a great place to display student projects; students can post their code programming projects. Digital access allows all students to revisit and work on, comment, provide peer support and celebrate creativity. This is an example of a studio from my virtual class this year:


Icon for the Creative Commons Attribution 4.0 International License

Technology and the Curriculum: Summer 2022 Copyright © 2022 by Amy Nathan is licensed under a Creative Commons Attribution 4.0 International License, except where otherwise noted.

Share This Book