Thursday, February 27, 2014

February 25 and 27, 2014 - Days Eleven and Twelve

These last days, students may choose to work on their Programming 101 lessons in Tynker or practice coding the robots. Remember that the Tynker lessons we used during coding were purchased for each participant, and students will have access to these after coding classes are over. They can be completed at any time, and students may continue building new projects at their leisure.

I have really enjoyed teaching this class. Our group was very creative and stayed engaged in all of the activities. Thank you very much for sharing your children with me for these twelve sessions!

~Pam Lewis~

Thursday, February 20, 2014

February 20, 2014 - Day Ten

Students worked solely on their Programming 101 lessons in Tynker today. McKenzie asked me to add everyone's projects to the "showcase" so that every child can see everyone else's projects in our class. When logged in, click Courses at the top of the screen, and then click the button that says, "View Showcase."

Tuesday, February 18, 2014

February 18, 2014 - Day Nine

Students learned to use procedures with the robots today. Procedures are programs that are saved for later use. They can be integrated into other programs to make really big, complex programs. For instance, you could save a procedure that draws a leaf, another procedure that draws a petal, and a third procedure that draws a stem. The main program could then call all of these secondary programs to create a flower.

There are 32 open "slots" for users to create and save their own procedures. There are an additional five slots for users to program the special sensors on the robot. These sensors include the front bumper, back bumper, sound sensor, and sensors that detect the presence or absence of light. An example of how the sensors might be used is that the robot could be programmed so that if the front bumper hits something, the robot might honk its horn, back up, and turn completely around. Or perhaps, its headlights come on when the lights are turned off in the room.


Students learned how to create, save, and call procedures by inputting commands that were given to them on the interactive whiteboard. They executed the main program to see the outcome. One of the shapes turned out to be a simple flower, and the second was a much more complex flower.


Some students then chose to see what they could create with procedures, while others continued their Programming 101 lessons in Tynker.






Thursday, February 13, 2014

February 13, 2014 - Day Eight

For the benefit of a few of our friends who missed last Thursday because of the talent show, today we reviewed how to program the robot to draw equilateral polygons. The hardest part is determining the number that goes after the "turn right" or "turn left" command. That number represents the angle at which the robot should turn. To find this, divide 360 by the number of sides of the shape you wish to draw. To determine the interior angle of the shape (not needed for the program), subtract the angle the robot should turn from 180.


Students were asked to program their robot to draw any two shapes from the chart (5 sides or greater). Once complete, they either continued experimenting with their robot or worked on their Programming 101 lessons in Tynker. Next week, students will learn how to program and integrate "procedures," and how to use special commands that control sounds and lights.

Tuesday, February 11, 2014

February 11, 2014 - Day Seven

The fourth graders have just finished a math unit in their regular classroom in which they learned to plot XY coordinates on a grid. We have a mix of third and fourth graders in our Introduction to Coding class, so I introduced this concept to third grade while reviewing with fourth grade. Then I gave everyone an XY coordinate grid with six points plotted in various locations. Students also got a robot and a pack of brush pens.


Their tasks were as follows:
  1. Next to each letter, A-F, write the coordinate of each point (crawl before you climb = X,Y). 
  2. Compose a program to move the robot from point A to point B, following straight lines only (no diagonals), and execute the program to make the robot draw the path.
  3. Near the starting point (A), write the program you used. 
  4. Near the program you wrote, write which way the robot was facing when you started. 
  5. Follow the same instructions for point B to point C, point C to point D, etc. 
  6. When you have finished, circle any intersecting lines and write their coordinates next to the circle.
The grids were printed on 11x17" paper, so students were confined to a much smaller workspace than the butcher paper that we used last week. Each block on the grid represented a four centimeter square. The total number of centimeters that the robot needed to move had to be included in the program.


There were a variety of different routes the robot could take to make it from one point to another, so some groups wound up with more intersecting lines than others. Sky was determined NOT to have any intersecting lines. She noticed that her more complex routes were starting to look like a dinosaur. She chose to use the remaining minutes of class programming the robot to finish her dinosaur. How creative! I wish I had a picture of the final product, but I did get this picture of it (below) in progress. She even added teeth. You'll notice that the robot didn't draw exactly on the bottom grid line. Sometimes the robot gets stuck a little when it is on the edge of the paper. The program was not flawed.


Students are also continuing with their Programming 101 lessons in Tynker. Some students are working on creating their own programs. McKenzie is working on a Magic 8 Ball.To date, these nine students have created 83 Tynker projects!


Thursday, February 6, 2014

February 6, 2014 - Day Six

Our robots have arrived! w00t!

The robots have a hole in the middle for a special brush pen, so that a trail can be left behind as the robot moves. This can be useful to verify the output of a program and determine whether it needs to be debugged or not.



In addition to moving forward, backward, and turning right or left, programs can include specific distances (in centimeters) and angles at which to turn. In order to draw a regular polygon with all sides and angles equal, the user must determine the angle at which the robot should turn. Students were told they should divide 360 by the number of sides of the shape they wish to draw. To draw a simple triangle, the robot would turn 120 degrees. Thus, the command to draw a triangle with three centimeter sides would look like this:
The number three in the above command represents the number of times the commands following it should repeat. The output displayed on the robot's screen actually looks like this:
The above command conforms better to the Logo language specification. The reason for the difference is so the user won't have to push as many keys to make the program. The opening bracket is included on the same key as the Repeat.

Students can determine the interior angles of a regular polygon by subtracting the angle at which the robot should turn from 180.
Students were given a few short commands to program into their robot. With a pen inserted into the robot, they executed the command on butcher paper to view the output.

Students tried to program the robot to draw an octagon, and then determine the interior angles of the octagon. Charlie was the first one to do this, so I challenged him to create a dodecagon. He did it!

I think they might have had fun with the robots.





Tuesday, February 4, 2014

February 4 - Day Five

We continued working with LOGO commands today. Given simple programs, students drew the predicted output on a grid, and given specific shapes, the students had to write the program that would draw that shape. Students also simplified programs by including a repeat.


Sky wanted to check her work on the regular whiteboard before she declared her program complete. Awesome!




Thursday, January 30, 2014

January 30 - Day Four

Our school has just purchased a set of robots for use in the lower school. These should arrive in several days, and our Introduction to Coding students will be the first to try them out! These robots are shaped like cars, with a keypad and a display that shows the output. The programming language used is LOGO. Today, we learned a few basic LOGO commands, including repeats that can be used to simplify programs. Using the interactive whiteboard, students created simple programs to move a dog to specified places on a grid.

Tuesday, January 28, 2014

January 28 - Day Three

Wikipedia defines steganography as "the art and science of encoding hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the existence of the message." Today students worked with a partner to decode hidden messages in sounds. They were provided with a series of high and low pitched music notes designed to replicate audible modem tones. I explained that back in the olden days before broadband cable and DSL, we had to connect to the internet with an old-timey modem that used our phone lines - called "dial up" - and it was really slow. It wasn't even wireless! The dial-up modem made really ugly high and low pitched sounds that turned into screeching while it was connecting. Those tones were the modem's way of sending messages. We listened to an example that I downloaded from YouTube. Students then listened to the sound files and transcribed each set of five-bit low notes as "0" and high notes as "1," thereby resulting in a binary number. The binary number was then translated into a base 10 number, and that base 10 number matched a letter of the alphabet. The resulting letters were put together to make a word or short phrases.


You have to really want to hide a message to do it this way. It's time consuming work for the decoder, and the coder as well!


Charlie noticed that some of the resulting binary was repetitious. Because he noticed the patterns, he was able to decipher a couple of letters rather quickly.



Ella was our rock star for this activity. She worked alone and quickly translated more hidden messages than anyone else.
After this, students continued working on their Programming 101 lessons in Tynker. Because we have some piranhas that are really tearing through these lessons, (<cough> Alyssa </cough>) I have opened up the last five so that all fifteen lessons are available if needed.

Thursday, January 23, 2014

January 23, 2014 - Day Two

After students located their pencil that was labeled with their initials in binary . . .
We learned about bits and bytes. Bit is short for binary digit. One bit on its own can't represent much, so they are usually grouped together in sets of eight, called a byte. The speed of a computer depends upon how many bits it can process at once. A 32-bit computer can process more information faster than a 16-bit computer. Bits and bytes are what a computer uses to store and transmit information.

We reviewed how to turn base 10 numbers into binary, and we practiced changing binary numbers back to base 10. We also reviewed how to represent letters in binary form as well.

Students learned a card trick today! I sent home a set of six cards so they can amaze you with their new mind-reading abilities. After you are dazzled, please ask them if they can explain how it works. In addition to the short-and-sweet answer that they are likely to provide, they should be able to explain how that relates to what we have learned about binary.

Students then continued working on their Programming 101 lessons on the Tynker website. I "assigned" more lessons this afternoon so that those go-getters who have been working ahead at home can continue on with new material if they wish.


Wednesday, January 22, 2014

January 21, 2014 - Day One


Today was our first Introduction to Coding class! We have six girls and three boys, all from third and fourth grade. When students entered the room, they were asked to find the pencil that had their initials on it. With confused expressions, the students just grabbed a random pencil.

They also received a capital letter binary decoder key like the one above. Computers format letters, numbers, images, and sounds as some representation of ON or OFF - zeros and ones - or binary code. Students used the capital letter binary decoder key to determine whose pencil they had, and they swapped pencils until they had their own. They quickly figured out that there are repeating patterns in the binary key. I also displayed a word in binary on the interactive whiteboard, and they used the decoder to find out the secret word.

The first number on the right in the key to change base 10 numbers to binary is one. The number to the left of one is two - double the number one. The number to the left of the number two is four - double the number two. The pattern continues like this, so it is a little easier to convert base 10 to binary without having a printed key in hand. Students were able to quickly fill in the blanks of the above image to write the numbers 1-32 in binary.
After these "unplugged" activities, students moved to the laptops. A premium account from http://www.tynker.com was purchased for each participant. Students use their regular username and password to log in. The premium accounts on Tynker include fifteen self-guided tutorials in their Programming 101 course. I don't think we will have time to get through all of the tutorials during class, but students may work on these at home as well. Their account will not expire, so they can work on these at their leisure. After several lessons, students will be able to create their own game using the Tynker interface. The lessons are as follows:
  1. Introduction
  2. Vector Drawing
  3. Animation
  4. Storytelling
  5. Pointing and Turning
  6. Make a Slideshow
  7. Design an Animated Avatar
  8. Make a Birthday Card
  9. Exercise: Write a Joke
  10. Exercise: Train a Dragon
  11. Exercise: Keyboard Interactivity
  12. Exercise: The Ant Eater
  13. Exercise: Visual Effects
  14. Exercise: A Rocketship that Shoots
  15. Exercise: Build Your Own Game
Each of these lessons must be "assigned" by me before they appear for the students. As of this writing, only the first four lessons have been assigned. I may assign all of the lessons if it turns out that some students are working much faster than others, however students should complete the lessons in order. Always remember to sign out of your Tynker account.





 

Copyright (c) 2010 Introduction to Coding. Design by WpThemesExpert
Blogger Template by New Blogger Templates.