In order to introduce the concept of programming to my students, I’d have them think about the steps they take in order to complete a task or chore at home. For example, if the child needs to take out the trash, what would be the first, second, third, etc. tasks needed to be done in order to satisfy that chore.
I started an after school coding club at the elementary level last year. I had the kids work in pairs switching off giving each other step by step directions. We have a giant chess board made out of linoleum tiles in our STEM lab. The “game piece” could only move according to the directions they were given. The “programmer” would try to move the “game piece” to an object on the chess board. Then, the kids switched roles. We then started to write the directions using graph paper on which they drew arrows. Lastly, we discussed how computers use written sets of directions and that they are called algorithms. Physically acting out a set of directions really helped my younger students with their communication skills. Additionally, it aided all of my students in understanding the importance of detailed, step-by-step directions and directionality when they got into the code.org lessons.
You can use the example of brushing your teeth in the morning!
Looking forward to trying it out with the students
Hi Melissa, I completed my online course but cannot get my certificate Here is a screenshot of my progress.
I would very much appreciate your help with this
I have used the Code.org curriculum to model and demonstrate these concepts, but I think that I’ll introduce something similar to the sandwich making example pzhitomi mentioned. I love to make a mess (in the name of learning)!
I’ve always used the ol’ “Making a PB sandwich.”
I would use a pattern, like possibly a dichotomous key, in science in order to teach sequencing. Then I would talk to my math teammate. They teach sequencing in algebra and have her do some crosss curricuicular activities. This could relate back to computer science.
At the beginning my programming unit I ask my students to come up with sequence of instructions to make me accomplish a task. For example, I could ask them to instruct me to walk to a specific location in the classroom and fetch a book. The fun part is I’m a computer and I take only explicit commands.
Have made the connection to writing a sentence or a short story. In order to make sense, it needs to be in order. For example, does it make sense to come to school before you get out of bed?
Have also made a grid on the floor that acts as a map. Have a dog house located in one section of the grid and a stuffed dog (that a child holds and moves) on the other. In between, there are flowers in some of the spaces. The kids verbally have to get the ‘dog’ to the house without stepping on the flowers. We use precise language (move forward, turn right, turn left). Then we take those verbal directions and begin to write them out. We talk about how long it would take to continue writing and that the same short sentences are being used over and over. That, turns into pieces of code. From there, small groups can work together to write code, the term debugging is introduced and the need for precision is discussed. We also see which path is the most efficient. This was an idea that I got from a colleague, Kristen Wertz.
Algorithms are a series of steps you need to take when you are coding.
I would introduce code sequencing to my ESL students by placing an object (book, pencil case) at the end of the room and asking them to direct me to it. I’ll walk forward, but won’t stop until they tell me to. I’ll move the object and illicit more specific directions that will include which foot to move first, number of steps (repetition), turning and stopping. Once they have grasped the concept and I have reiterated the importance of sequencing (steps to take) I will ask each group to write or draw a list of instructions to move from Point A to Point B (their choice) in the classroom and then share their instructions with other teams to see if they reach the goal. This would be a good starting point for developing cognition in terms of process. I can then relate it to broader contexts of real-life by drawing on the sandwich making, getting dressed or brushing teeth examples other educators have shared here.
Pretty new at this but I enjoyed teaching algorithms to my students using the Happy Maps lesson plan. Students were quite engaged although I had to use a whiteboard to display the map. I also used codes ABCD to represent the arrows. By using the codes ABCD have I already introduced them to the concept of Programming?
I teach grades 4 and 5, I use excerpts from a BBC production which is available on NetFlix called Algorithims. My students see excerpts throughout the year.
I have my small groups (3-4 students) write instructions for making hot chocolate or toast and then exchange the instructions and FOLLOW THE INSTRUCTIONS EXACTLY…LOTS OF LAUGHS!
Sequencing is a blanket topic within all subject areas in K (where I’ve spent my last 13 years.) From ELA, story sequencing, to Math, number sequences and equation solutions, to Science, Life Cycle and other cyclical concepts, to SS, considering governmental sequences and product production cycles. Considering CS Algorithms as an “ordered task” should be well-received by students K-2. Adding that Programming means that a machine will function with the Algorithm will certainly entice students to learn the concepts and language within CS. I had the opportunity to demo a few CS lessons this past year in K. We discussed Algorithms and staying safe within sites. I had drawn a large Flurb and Fruit, along with floor-size arrows. [Also, posted Compass directions on the walls, with the kids help!] I call it “FLURB ON THE FLOOR.” The students took to it right away, utilizing the carpet Grid to plot Flurb’s path to the fruit. They loved the task and caught on right away; speaking to the CS vocabulary. This sparked me to create Flurb grids with laminated large-grid posters…also a 3D Flurb for the floor out of cord. I also picked-up a bunch of “Super Heros” for grids. Unplugged and differentiated…
When I introduced coding to my students, I explain an algorithm by having them give another students directions to get from one place in the room to another, pick up or move an object, then go back to where they started. It was a real eye-opener when they had to learn to debug right off the bat because they forgot about the perspective of the “robot.” They had written their directions without actually moving through the steps, so they often had their rights and lefts mixed up. They really got the point quickly and learned the important vocabulary as well.
I loved reading all of your ideas. In my sixth grade classroom students brainstorm in groups to generate every day algorithms. They come up with ideas like brushing teeth or tying shoelaces. They can use Google Docs or Slides to share and test all algorithms.
In my high school special education classroom, teaching the concept is often accompanied to video game discussion and looking at youtube gaming videos to identify where sequencing may have been used by the programmer. It is up to the students to problem solve how to complete the puzzles.