Functions simplify algorithms by grouping steps similar to the way some people communicate ideas with emojis. I might introduce the topic by discussing the meaning of a few social media posts where emoji are used in place of a phrase or clause.
Since I’m teaching in a Catholic school, I use rosary beads to explain functions.
Again I would relate this to science with my students and experimental variables.
Functions are a piece of code you do over and over again.
I love the idea of teaching Functions through song…repetitive songs. We often use Head, Shoulders, Knees and Toes to redirect K with movement and reset focus. The song actually starts out with a function repeated x2. Then it breaks to…eyes, ears, mouth, nose…We often change the words to reflect subject areas learned (ex. Trees: "leaves, branches, trunk and roots…) The movements help to solidify concepts…I do believe we can author a Function song with movement to differentiate for friend’s learning styles…will ponder and get back to you on your that. Often, stepping away and allowing the brain to consider, brings new light to the situation. As with understanding Functions, it might not take the first pass through…pull-up, go around and revisit…
Teaching functions using songs is a terrific idea. I would also tie in the loopy lesson that uses dance to teach loops. We could make up a series of steps, give it a name and recall it in a more complicated dance. I think this would work well in grades 4 and 5.
I explained functions to my students by stating like they are a shortcut button you have created to you don’t have to keep writing the same code repeatedly.
I will tell my students: The function is you tell computer how to do an action, And you can call functions again and again.
I had never thought of the song chorus idea for teaching functions before. At the senior high level of science, I’m fortunate enough to be able to tie in students’ past knowledge of Excel Spreadsheets use of the function =AVG to average a range of numbers.
I’d mentioned utilizing music and teaching computer science together a couple posts back, so I loved the example of using choruses as named functions. I think young students can see that when they learn, and they combine things they’ve learned, they too are sort of calling functions. If kiddos have lists of chores at home, they have a sort of named function there. Instead of writing each step to emptying a dishwasher, you can just ask someone to empty the dishwasher, and they know what you’re talking about. Similarly, we can NEST functions in this way, just like we do with loops.
The combination of students learning directly from the teacher about defining, ‘calling’, and singing choruses and then writing their own choruses from popular or well-known songs is a great addition to the ‘facilitator’ module. It gives the impression that we’re all learning and working together in the classroom, which is a key element of becoming a good computer scientist.
A small gripe for any support that might read this: I noticed that the link to “1. Review “Functions:Songwriting” Lesson Plan: Course D” at https://studio.code.org/s/K5-OnlinePD/stage/7/puzzle/9 inadvertently links to https://levelbuilder.code.org/curriculum/coursee/6/Teacher
A little hunting and poking around finds the correct lesson, but the lesson linked currently deals with loops! Just a bit confusing - the lessons at the bottom appear to link to Course E lesson plans instead of Course D - unsure if this is intentional.
Being in an elementary school, I think functions could potentially be difficult. I think that using a chorus as an example might be a good place to start. I also like the idea of incorporating art. I can use the idea of copying and pasting different shapes to create pictures. The initial shape I create would be the FUNCTION I name, and then I copy it, rather than trying to recreate it, exactly, multiple times. I could even talk about using templates that we trace - if we’re going unplugged.
In Kindergarten math, we learn about function machines. Functions “machines” are where you would apply the same rule to any number that goes in. A rule could be “+1.” If 5 goes in, 6 comes out. If 7 goes in, 8 come out and so on. I believe that my students could easily make the connection between applying rules to numbers to applying the “functions” in coding.
I love the song writing example. There are a lot of sounds out there right now that have more functions than lyrics. It would be fun to challenge the students to find some examples.
I really liked the songwriting demonstration. It made sense to compare it to a song that the children know. I want to try this with my students before adding to the ideas.
Functions allow students to identify specifically the task. This make others understand the relevant idea needed in the program
Relating the function to the chorus of a song is a great idea!
Teaching functions to 1st graders. I really like the songwriting lessons with I’m a nut and Old Macdonald. Teaching them steps and then how to make those basic repeated steps almost abbreviated. Another idea I had with teaching the functions would be having kids talk about the process it takes in making a sandwich. There might be some parameters and functions we could discuss. Any real world applications will help them.
I think I mostly use functions when it comes to making mind maps or any kind of graphic organizers. When you use lines or “y’s” to add more information you are using a function, it expands the information.
Functions in our science curriculum are introduced as the job that something does. For teaching functions in coding I would talk about how they save us time and save us from repeating ourselves.
For teaching how you don’t say the function or parameters directions out loud I would use this chorus lesson or a reader’s theater with staging directions and actor directions. Also I may use the first 30 seconds of this clip of Joey on Friends.
I like the idea of using a Minecraft recipe as a function. Even students that don’t play understand the idea of recipe and can understand repeating the steps to make something.