Section 0.6
Coding Initials
Learning Goals
Students will compare an abstracted skill with a computational thinking skill.
Students will write a computer algorithm for drawing their initials.
Objectives and General Description
The objective of this lesson is to highlight the difference between an abstracted skill and an algorithm that is developed with computational thinking skills.
Students begin by quickly writing their initials on a piece of paper. After a discussion of difficulty, students are then asked to write a program that will draw their initials on the computer screen. Students discover that things that are easy to do in person are often more difficult to recreate on the computer.
Important vocabulary: Abstraction, Computational Thinking, Sequencing
Activities
Activity 0.6.1 (Budget 5 minutes)
Give students a post it note or ask them to take out a piece of paper. Tell them they have to complete this task in one minute. When they are ready, tell them to write their initials on the paper, all capital letters in a block style format. Students will complete this task very quickly with plenty of time to spare. Have a brief discussion:
On a scale of 1 - 10 (1 is easy; 10 is extremely hard), how difficult was this task?
Could you do it with your eyes closed?
How many individual steps were required to write your initials?
Introduce the concept of abstraction. In this example, writing our initials is an abstraction. We can do this without thinking about it. The complex details are still there but we can just complete the process when hearing the instruction "write initials". The phrase is an abstraction representing a complex set of instructions.
Activity 0.6.2 (Budget 45 minutes)
Show the students the website, PencilCode.net. Run the demo program and explain that the instructions cause the turtle to move on the screen and draw a line. Give them a quick demo of how you can drab blocks, change the color, change the speed, etc. Then tell the students that they have 30 minutes to get the turtle to draw their initials on the screen...just like they did on the paper (capitol letters, block format, spaces between the letters.). Students are not allowed to use the text block. The turtle must draw the initials.
As students get started on this task, there are several tasks that might be challenging. Provide suggestions if necessary but allow the students to struggle a bit. Encourage them to talk to their classmates. Common difficulties..
Avoiding a line drawn between letters. Students have to code the ability to pick up the pen, move and put the pen back down.
Curved letters (S, C, O, etc.). The Guide has some helpful hints on colors, shapes, etc. Here are specific instructions for curves.
Once the 30 minutes is used, have a quick gallery walk. Let students walk around and look at the results of their peer's programs.
Discussion:
Difficulty on a scale of 1 - 10? Why?
Computational thinking. This involves taking a large problem and breaking it down into manageable steps.
Sequencing: Did the order of the blocks matter? Explain that one way of controlling the execution of your program is by sequencing...going in order. The order definitely matters.
How many blocks did it take you to write your initials? Who made an S or a C? How did you do it?
Did anyone use these blocks: for, while, if? How did those work? Introduce concepts of Iteration and Selection.
Activity 0.6.3 (Budget 60 minutes or given as a take home assignment)
Written responses: Each student will complete a written response reflection document. The response prompts and the scoring rubric are included Part 3 in the Board Game Algorithms Student Instructions. Students will respond to the following two prompts:
Identify one point during the process in which YOU encountered a problem or a challenge. Describe the problem and your solution. Note: Writing “I fixed it” is not sufficient. I want details on how you solved it.
Identify and describe one algorithm that exists within your flow chart. Your description should include the purpose of the algorithm (why is it important to the game) and the function of the algorithm (how does it work).
Students need to begin developing their technical writing skills. Technical writing involves clear, succinct and accurate responses. Examples of given in the student instructions of low quality and high quality responses. Teachers also have access to a document with multiple high quality responses. The resources for Activity 0.6.3 are the same as the technical writing resources provided in Section 0.5.