Since the language of Computer Science is sometimes like a foreign language, I have to think of creative ways to introduce some of the concepts. There are words that are common to all of the software programming languages, such as loops and conditionals. These words are easier to explain and quickly become familiar words that the students recognize and understand. On the other hand, Java words such as instantiate, encapsulate, interfaces, and abstract classes are definitely foreign to most students. Other software programming languages have unfamiliar words also. For example, when I start to describe the broadcast message1 and when I receive message1, Events commands in Scratch, I occasionally notice a blank stare or confused look on the students’ faces. I know that I am losing the attention of my audience because broadcasting and receiving messages are not everyday words used by most people.
After surveying the classroom, I think of a creative idea using a soft, small ball sitting on my desk to demonstrate how a software programmer can “broadcast” a message from one Sprite, which is a Scratch character, to another Sprite. The second Sprite will wait until it “receives” the message and then respond. Since tossing a ball is common to most kids, I know that it will be a good visual that they could understand. I describe how the command works just like a ball being tossed between two people. The first person tosses the ball, broadcast message1, and the second person has to wait until she catches the ball, when I receive message1, before she can respond. After tossing the ball around the room a few times, broadcasting and receiving our messages, the students clearly see the correlation between the tossing and catching of a ball and broadcasting and receiving a message.
Giving the students a visual made software terminology much less foreign to them. Whether I use tangible visuals such as balls and playdough, which make the lesson more interactive and exciting, or color coded visuals using Expo markers and small whiteboards that the students can use to differentiate parts of a Java program, these creative ideas help me better explain the foreign language that is used in Computer Science.