Abstract
What would you do if you saw one of your friends lying on the floor, not breathing, possibly having a heart attack? Call 911? Start CPR (cardiopulmonary resuscitation)? Those would both be important things to do! But do you know CPR? Do your friends and family know CPR? Chances are, most of them don't. Even if they do know CPR, they might be hesitant to use their mouths to perform it. You can change that though. In this science project, you'll create a simple, interactive game that can teach others how to do Hands-Only™ CPR. Your science project might literally save someone's life!Summary
Sandra Slutz, PhD, Science Buddies
Special thanks to the American Heart Association for providing Science Buddies with the 100 bpm song playlist.
Objective
Create an interactive program to teach people Hands-Only CPR.Introduction
Did you know that, outside of a hospital setting, less than one-third of the people who go into sudden cardiac arrest get CPR (short for cardiopulmonary resuscitation)? Why does this matter? According to the American Heart Association's research, effective, immediate CPR can double or triple a victim's chances of surviving!
CPR is a way of getting oxygen to the brain and other vital organs when a victim is unresponsive and not breathing on his or her own. When you think of CPR, you probably have a mental image of traditional mouth-to-mouth CPR—it is the version you see in the movies and on TV all the time. Mouth-to-mouth CPR involves tilting the victim's head back, making sure his or her airway is clear, and then giving the victim 30 chest compressions, followed by two mouth-to-mouth breaths every 60 seconds. But most people aren't trained in mouth-to-mouth CPR, and it can sound complicated. In fact, to do it right can be hard. Not to mention, you might be squeamish about essentially "kissing" a stranger. But standing around waiting for an ambulance or other emergency responder means precious minutes where the victim's brain and organs aren't getting any oxygen. Lack of oxygen can damage, or even kill, cells. The victim could die, or even if he or she survives, the lack of oxygen could leave permanent brain damage. Fortunately, there's a simple alternative to help most sudden cardiac arrest victims: Hands-Only CPR.
Hands-Only CPR, also called continuous chest compression CPR, is exactly what it sounds like. CPR with just your hands, no mouth-to-mouth needed. To perform Hands-Only CPR, you put your hands, one on top of the other, on the victim's chest, lock your elbows, and use the weight of your shoulders and arms to press firmly at the rate of 100 times a minute. The video above shows what these continuous chest compressions look like and explains the biology behind why they work.
Hands-Only CPR is easy to do, and for most teenage and adult sudden cardiac arrest victims, it is at least as effective as mouth-to-mouth CPR. The American Heart Association (AHA) is working hard to get the word out about how simple and helpful Hands-Only CPR is. The more people who know how to do it, the more lives will be saved. The video below is a joint effort between the AHA and nerdcore rapper MC Lars to educate people about Hands-Only CPR. Following MC Lars' That's CPR rap song is a good way to remember to "keep the beat" and make sure you're pressing 100 times a minute.
With this science project, you can help get the word out, too, and train people to do Hands-Only CPR. You'll create a simple, interactive computer program to teach people how saving a life can be as simple as putting your hands together and pressing firmly to the rhythm of a 100-beats-per-minute song. Research shows that the 100 beats per minute is key—too slowly and the chest compressions won't be effective. So your program will focus on training people what 100 beats a minute feels like. Put your head and hands together and get ready to train your friends and family to save a life!
Terms and Concepts
- Sudden cardiac arrest
- Cardiopulmonary resuscitation (CPR)
- Tempo
- Sprite (the computer graphics kind, not the soft drink version)
- Flow chart
Questions
- Who can go into sudden cardiac arrest and why does it happen?
- What should you do if you see someone go into sudden cardiac arrest?
- How do you perform Hands-Only CPR? How does it compare to mouth-to-mouth resuscitation, both in method and effectiveness?
- Is Hands-Only CPR the right resuscitation method for all sudden cardiac arrest victims?
- In computer programming, what is a variable and what does it meant to initialize the variable?
Bibliography
These resources can help you get the facts about CPR and chest compressions.
- American Heart Association. (2010). Be The Beat. Retrieved September 25, 2017.
- American Heart Association. (2010). CPR Saves Lives. Retrieved September 22, 2010.
- University of Arizona College of Medicine. (2008). Learn Sarver Heart Center's Continuous Chest Compressions CPR. Retrieved September 25,2017, 2010.
These resources will introduce you to Scratch:
- Science Buddies Staff (n.d.). Scratch User Guide: Introduction. Science Buddies. Retrieved September 14, 2017.
- Scratch Team (n.d.). Getting Started with Scratch version 1.4. MIT. Retrieved September 14, 2017.
- Scratch Team (n.d.). Reference Guide Scratch version 1.4. MIT. Retrieved September 14, 2017.
Materials and Equipment
- Computer with internet access. See the procedure for details on installing Scratch.
- Digital camera (optional)
- Lab notebook
Experimental Procedure
Scratch Project Note
This project idea was written using Scratch version 1.4, which is available at the Scratch 1.4 download page. A Science Buddies tutorial for Scratch 1.4 is available on our Scratch User Guide and additional tutorials are available on the download page. The project can be modified to work with other versions of Scratch. Information about the most recent version of Scratch is available at the MIT Scratch website.
Overview
The goal of this science project is to create a simple, interactive program that your friends and family can play to learn when and how to perform Hands-Only CPR. You will use a simple programming environment, called Scratch, to do this. Even if you have never programmed before, you'll be able to follow the steps below to create your program. There are many ways to create this program, and no one way is the "right" way.
Designing Your Interactive Program
- Define a need. In this case, the need is to inform people about Hands-Only CPR and teach them how to do it. Make sure you've done your background research and learned about Hands-Only CPR. Hint: The Terms and Questions listed above can help you focus your research. Based on your research, think about what facts you feel are important to communicate to someone who has never heard of Hands-Only CPR. What instructions would he or she need to perform it well in real life?
-
Establish design criteria. Now you need to get down to the business of developing the specific details. These details are called the design criteria. Having a good set of design criteria will help you focus your efforts. The following questions will help you think about your design criteria. It isn't a complete list, but you can use it to get started. Feel free to add on to the list, or make your own.
- What do you want to tell the user about Hands-Only CPR?
- Do you want to use text, images, or a combination of both to tell the user how to perform Hands-Only CPR? Note: It is easy to import pictures into Scratch. If you want, you can use a digital camera to take your own pictures and use those as part of your program. More details about this are mentioned below.
- Do you want to include a song that has a 100 beats per minute (bpm) tempo? If so, the American Heart Association's list of 100 bpm songs might be a good place to start.
- What will the interactive part of your program be like? What button(s) will the user press to simulate chest compressions?
- How long should the user do the chest compressions for? The demonstration above in Figure 1 gives the user 30 seconds. Did this feel too long, too slow, or just right to you?
- What would you need to know in order to calculate if the user is pressing the button(s) at the right 100 bpm rate?
- What kind of feedback would you like to give the user? Will the user know if he or she is on pace during the game, or will he or she only find out at the end?
- Create and analyze designs. Keeping your design criteria in mind, make some rough sketches, a flow chart, or other plans of what your interactive program will look like and what the sprites (graphics and pictures in the program) do and/or say. Note: A flow chart is a diagram of boxes where each box represents a step in the program.
Creating the Core Part of Your Interactive Program
Build and test a sample program. Once you have created a set of design criteria, it is time to create the core part of your program, the interactive part. The steps below will break down the programming into smaller bite-sized pieces for you. For each bite-sized piece, you might find that the tips included are more useful after you have taken a moment to try the task yourself.
- Download the Scratch program from http://scratch.mit.edu/scratch_1.4/.
- Scratch is very easy to use! First, be sure you have permission from the computer's owner to install the program. If this is your first time using Scratch, read the Science Buddies Installing & Getting Started with Scratch page. This short guide will familiarize you with Scratch and make the rest of this project easier.
- Below are some general instructions to make the interactive core part of your program. If you get stuck, refer back to the Science Buddies Scratch Troubleshooting Guide.
- First, import or create a sprite that will change each beat. In the sample program above, the heart changes color every beat, toggling between red and blue. For more information about importing sprites, read the Science Buddies page Adding Images and Sprites to A Scratch Program.
-
Write a script for the sprite so that it changes color, size, or does some other action at the right rate for Hands-Only CPR, 100 beats per minute. Here are some tips:
- Creating different costumes for a sprite is one way to have it change color or size.
- Which button did you decide the user should press or click to start the interactive part of the game? Use a "when" control block at the top of your script to start the sprite changes.
- The wait blocks, found in the control category, are useful for adding pauses between events.
- When your script is done, you should have a sprite that changes form at the same rate you want your user to perform chest compressions.
-
Now you are ready to add the part of the program where the user presses a button (in the example above, it is the spacebar) to simulate chest compressions. The program needs to keep track of how many times the user presses that button in a certain period of time. Here are some tips:
- General scripts can be written in the stage scripting area. If you don't know where that is, consult Figure 1 in the Scratch User Guide: Installing and Getting Started With Scratch.
- You'll need to create several variables, including one to count the number of beats, and another to set the length of time for the game (in other words, how long you want the beats to be counted). To learn more about creating variables, see the MIT references in this project's bibliography.
- The blue timer blocks, found in the sensing category, can help you keep track of time.
- At the beginning of the game, all variables and the timer need to be initialized. This means you need to assign them a starting value.
- The broadcast blocks, found in the controls category, are useful ways to tell other script(s) to do something when a specific script or action is completed.
- When your script(s) are done, the program should count how many times a specific button was pressed during the course of the game.
-
Next you need to write the script(s) that calculate the rate at which the user is simulating the chest compressions (pressing the button) and report back whether or not that is the correct rate for Hands-Only CPR. Here are some tips:
- Variables you've already created can be used with some of the mathematical operations blocks, found in the operators category, to perform calculations.
- The say blocks, found in the looks category, can be used to have a speaking box appear next to a sprite. In the example in Figure 1, both the girl sprite at the beginning of the game and the heart sprite at the end of the game communicate with the user via say blocks.
- It is incredibly difficult for a user to press a computer key at exactly 100 bpm. Why? It can take a second or more for a user to grasp that the game has started and to find his or her rhythm. To accommodate for this human-computer interface issue, the program in Figure 1 considers any chest compression rate between 95 bpm and 105 bpm to be a success.
- Test your work. At the end of steps 1–7, you should have the core part of your interactive program completed. Try pressing the button to start the program, and then performing the chest compressions in time with the changing sprite. Does your program correctly calculate your simulated chest compression rate? Does it tell you whether or not you're in the right target range for Hands-Only CPR chest compressions? If not, go back and make changes to your scripts. Remember to consult the Science Buddies Scratch Troubleshooting Guide if you get stuck.
Putting the Finishing Touches on Your Program
-
Expand your program. Now that the core part of your program has been written, you're ready to add your own creative touches. Look back at your design criteria and sketches to remind yourself what you wanted to include. Here are a few things you might want to include, but you can probably think of many more:
-
Information about what Hands-Only CPR is and why it is important
- Tip: The text you see in Figure 1's program was made by creating additional backgrounds for the stage.
-
Images, or even animations, explaining how to do the continuous chest compressions successfully
- To make an animation, take digital pictures (or scan in drawings you make) of the poses you need. Import the first image as a sprite, and subsequent ones in the sequence as costumes for that sprite. To simulate movement, write a script that switches between the costumes. You'll have to play with the timing between the costume switches to make the best animation.
- Text describing how to play the interactive portion of the program
- Music
-
Information about what Hands-Only CPR is and why it is important
- Test and redesign. Test your Hands-Only CPR program on your friends and family and record your observations in your lab notebook. How did they like it? Could they eventually simulate the life-saving 100 bpm chest-compression rate? Ask them what they liked and didn't like about your program. Use your observations of them playing, and their feedback, to improve your program.
The Final Product: Presenting Your Interactive Program
- Once you have finished the final version of your program and you are happy with it, it is time to show it to your friends and family again.
- When presenting your work at your science fair, try to bring in a computer. If you are not able to do so, take many screenshots of your work, print them out, and mount them on a display board.
-
Your science fair presentation should also include:
- The requirements list and the design criteria that guided your programming
- A flow chart of how the program works.
- An explanation of what you learned from your research and by creating the Hands-Only CPR interactive program.

Ask an Expert
Global Connections
This project explores topics key to Good Health and Well-Being: Ensure healthy lives and promote well-being for all at all ages.
Variations
- Try making additional teaching levels to help someone be sure he or she has learned the technique well. For example, make a second level with just music, and a third level with neither a flashing icon nor music. In real life, there wouldn't be audio or visual aids to help someone time the chest compressions!
- In your program, did you calculate success or failure by averaging the beats per minute? If so, it is a good first solution, but a user might be compressing at an uneven rate. Maybe he or she was compressing slowly in the beginning and then sped up a lot at the end. In real life, keeping a good, steady rate of compression is important, so try modifying the program to determine or reflect this.
- The more experienced someone is at programming, often the more efficient his or her code is. Go over your program with an experienced programmer. What things would he or she have done differently? Why? Are his or her solutions shorter or more precise?
- Is there another topic, health-related or otherwise, that you feel strongly about? Try creating an interactive program to education your friends and family about that topic.
- If you enjoyed this programming challenge, here is a list of other Science Buddies Project Ideas that Use Scratch.
Careers
If you like this project, you might enjoy exploring these related careers:
Related Links
- Science Fair Project Guide
- Other Ideas Like This
- Human Biology & Health Project Ideas
- Computer Science Project Ideas
- My Favorites