Showing posts with label Grade 3. Show all posts
Showing posts with label Grade 3. Show all posts

Monday, November 30, 2015

TAV (Terrestrial Aquatic Vehicle)

This is a long overdue post for a fun little science project...  My child came up with the idea for TAV (Terrestrial Aquatic Vehicle) and designed it a few months ago, for a class project in Grade 3. Interestingly, he designed it not for a Science project, but an Economics one! His classroom had a project called "Market Place", where students are supposed to come up with ideas for little stores and businesses: make & sell products, earn (fake) money and then use the money for their expenses including living costs, education, retirement savings, etc. A simulation of real-life economics...

The kid decided to create a Tech company and recruited a couple of his classmates for the project. He came up with the idea for "TAAV - Terrestrial Aquatic Aerial Vehicle".

Monday, September 28, 2015

Draw Polygons & Compound Figures with a Given Area using Pro-Bot

Can you program the Pro-Bot to draw polygons & compound figures with a given area?

This, again, is an assignment that I designed for our Grade 3 students. It relates to the Common Core Math Standards: Geometric measurement: understand the concepts of areaFor this exercise, I highly recommend using graph paper, as it provides a helpful medium for the kids to work out the math problems. Provide at least one sheet per child to work out the problem and then additional sheets as required for the groups to draw the figures using Pro-Bot. Here is a link to a graph paper with 1 cm grid in PDF format; you can make copies for the students to draw on using the Pro-Bot.


Area of a Figure


The area of a figure is the number of squares required to cover it completely, and is specified in square units. Here's an article from math.com that gives a quick overview of the topic.

How do you calculate the area of a given figure? You add the number of squares needed to cover the entire figure. Say you are given a square with sides 3 cm each. You need 9 squares of sides 1 cm x 1 cm to cover it completely. The area of the square is 3 x 3 = 9 sq.cm. Similarly, a 5 cm x 6 cm rectangle has an area of 30 sq.cm.

Can we do the reverse too? Given the area, can we come up with the design for a figure with that area? 

Let's look at an example. Given an area of 9 sq.cm, how many polygons can we draw? We can draw multiple polygons, all with the exact same area of 9 sq.cm. In the figure below, you can see:
  • a square 3 cm x 3 cm,
  • couple of polygons with an area of 9 sq.cm.

Can you think of more polygons with an area of 9 sq.cm?

Let's now look at a scenario that shows the practical application of the concept of area. And then program the Pro-Bot to draw a few polygons with a given area.

Programming Assignment

You work for an architectural firm, and have been asked to design a single story house with a floor area of 100 square meters (roughly 1076 sq.ft.) You are to draw and present various designs for the floor plan.

  1. How many different ways can you draw the floor plan with an area of 100 sq.m.? Provide at least 2 to 3 different designs and make a rough drawing of the figures that you come up with.
  1. Classify the figures that you came up with into the various classes of polygons based on the number of sides.
  1. Program the Pro-Bot to draw them on graph paper. Use 1 sq.cm. to represent 1 sq.m. in your figures.
  1. Assume that the plot of land available for the construction, is a rectangle that is 15 m long and 8 m wide. Can you provide a design(s) to build a 100 sq.m. building in this plot? Program your Pro-Bot to draw the design. 
  2. You can program the Pro-Bot to draw other figures with the 100 sq.m. area. Or explore other figures with different areas.

Draw Polygons with a Given Perimeter using Pro-Bot

Can you program the Pro-Bot to draw polygons & compound figures with a given perimeter?

This is an assignment that I designed for our Grade 3 students. It relates to the Common Core Math Standards: Geometric measurement: recognize perimeterFor this exercise, I highly recommend using graph paper, as it provides a helpful medium for the kids to work out the math problems. Provide at least one sheet per child to work out the problem and then additional sheets as required for the groups to draw the figures using Pro-Bot. Here is a link to a graph paper with 1 cm grid in PDF format; you can make copies for the students to draw on using the Pro-Bot.


Perimeter of a Figure


A perimeter is a path that surrounds a two-dimensional shape. The term may be used for either the path or its length. It can be thought of as the length of the outline of a shape. (Wiki)

How do you calculate the perimeter of a given figure? You add the length of all the sides of that figure that form its outline. Say you are given a square with sides 3 cm each. The perimeter of the square is 3 + 3 + 3 + 3 = 12 cm. Similarly, a 5 cm x 6 cm rectangle. has a perimeter of 5 + 6 + 5 + 6 = 22 cm. 

Can we do the reverse too? Given the perimeter, can we come up with the design for a figure with that perimeter? 

Let's look at an example. Given a perimeter of 12 cm, how many polygons can we draw? We can draw multiple polygons, all with the exact same perimeter of 12 cm. In the figure below, you can see:
  • a square 3 cm x 3 cm,
  • a rectangle 5 cm x 1 cm,
  • a rectangle 4 cm x 2 cm,
  • a hexagon with sides 3 cm, 1 cm, 1 cm, 1 cm, 4 cm, 2 cm

Can you think of more polygons with a perimeter of 12 cm?

Let's now look at a scenario that shows the practical application of the concept of perimeters. And then program the Pro-Bot to draw a few polygons with a given perimeter.

Programming Assignment

Old McDonald lives on a farm and has lots of animals. He would like to build a new set of fences to keep his cows safe.

  1. If Old McDonald has 36 meters of fencing available, how many different ways can he build an enclosed area for his cows? Make a rough drawing of the figures that you come up with and then program the Pro-Bot to draw them on graph paper. Use 1 cm to represent 1 m in your figures.
  2. Classify the figures that you came up with into the various classes of polygons based on the number of sides.
  3. Write programs for Pro-Bot to draw at least 3 of the figures that you came up with.
  4. Suppose Old McDonald has only 35 meters of fencing available, but wants to build a square or rectangular fence using all of that fencing material. Would it be possible for him to build it? Why or why not? 
  5. You can program the Pro-Bot to draw other figures with the 36 cm perimeter. Or explore other figures with different perimeters.


Tuesday, June 16, 2015

Pac-Man is Chasing my Planet!

My child's class was recently introduced to Cartesian coordinates in Math. And in our coding class, we have been practicing interactive programming for the last few weeks. So, I thought of putting together a very simple template that  combines both the concepts, that the kids could then remix...  Pac-Man is Chasing my Planet! was the result... took me less than 10 minutes to put together and the kids loved it.

We went through the Pac-Man template code as a group & discussed the use of the XY coordinates. I showed the kids how the XY coordinates displayed under the Scratch animations area change, as I move the cursor around on the screen. Our discussion then proceeded along the following lines:


  • If I wanted my sprite (the planet, in this case) to move anywhere the cursor moves, what values should I use for the sprite's X and Y coordinates? 
  • The above point was also a good place to talk about variables, and how the change of the cursor position is always reflected in the planet's position. 
  • Should I move the planet around for just a few times or all the time? What kind of a loop should I use here?
  • How can I make Pac-Man always follow the planet? Which loop should I use? 
  • What values should I use for Pac-Man's X and Y coordinates? 
  • Here, the kids quickly saw that without a small degree of separation between the coordinate values of the planet & Pac-Man, the two sprites overlap each other.
  • BTW, the "if-else" clause was purely optional, for those to wanted to add another level to their game. The majority went with just a "go to x() y()"
  • And finally, the interactive part of the game... I put in the requirement that there should "a key press" or "the green flag click" to make the game start, and something similar to end the game. 

In the next one hour, the children came up with multiple variations of the game, making their own sprites and designing various versions of tag... All in all, a very fun class for them and me to wrap up the school year.

Happy Summer!!

Tuesday, April 21, 2015

A Drive through the Zoo: Learning about Angles using Pro-Bot

My child's class started learning about angles about a week ago. And the teacher requested me to design an exercise for Pro-Bot that will introduce the idea of angles. As the kids are very new to the concept, I wanted to keep this one fairly simple, while still using a mix of acute, obtuse and right angles.

A trip to the zoo is almost always part of our field trips every school year. The zoo in our city happens to have buses that drive along the various points of interest/ themed animal enclosures. I felt that the turns made by the bus in this familiar setting of the zoo, might be a good way to introduce angles.

In this exercise, a scaled down version of the bus route, provides the path for Pro-Bot to drive on. As the Bot drives along the path, it is required to make angular turns at each point. I have provided the angular measurements required in degrees and distances in centimeters. The bus travels in a loop, the directions are shown using arrows. Note that the map below is not drawn to scale.





Based on the above map, write a program for Pro-Bot to drive along the following paths, assuming that the Pro-Bot is facing in the forward direction:
  1. The path from the Entrance of the zoo to the African Savanah. How many turns did the Pro-Bot make? Were the angles acute, obtuse or right angles?
  2. To continue from the African Savanah (where you stopped before), to the Elephants enclosure, how many degrees did the Pro-Bot turn? 
  3. Program the path from the African Savanah to the Raptors. How many turns did the Pro-Bot make? Were the angles acute, obtuse or right angles?
  4. Continue the path from the Raptors to the Kids' Play Area. Did you use acute, obtuse or right angles for the turns?
Alternatively, the kids can be asked to program the entire bus route as a single program, marking the types of angles used along the way.


Monday, August 18, 2014

Sensors in Pro-Bot: Relay Driving by Pro-Bots using Sensors

Pro-Bot has three kinds of sensors built into it: touch, light and sound sensors. Before we start writing programs for Pro-Bot that use the sensors, let’s see what purpose these sensors serve and what “sensing” means.

Sensing 


When someone taps your shoulder, how do you know you were touched? When the light bulb goes on in a dark room, how do you know the room suddenly got bright? When you put a candy in your mouth, how do you know that it is sweet? Because your skin sensed the touch, or your eyes sensed the light, or your tongue sensed the taste… Once you sense something, you typically react to it, don’t you? When you sense the touch, you may turn around to see who tapped your shoulder; when you sense the light coming on in the dark room, you may squint your eyes and try to figure out what is in that room; when you sense the sweetness on your tongue, you may feel happy and say “yummy”…

Your skin, eyes, tongue, etc., have “sensors” that sense some “stimulus” like touch, light, taste, etc., and enable you to respond to it. You may have also noticed that you have different sensors for different functions. Sensors are made to detect very specific stimuli. For example: your skin doesn’t see, you have eyes to do that; your eyes don’t taste the sweetness of the candy, you have taste buds on your tongue to do that.

Now what if a robot could behave similarly (it may not behave in exactly the same ways as you do)? A robot can be fitted with sensors and programmed to respond in a certain way when the sensor senses a stimulus.

Pro-Bot has 3 kinds of sensors - one senses light, one senses contact (or touch) on its front and rear bumpers and the other senses sound. Pro-Bot’s sensors must be turned on, if you want them to detect stimuli and respond to them (they are switched off by default). Think of it as needing your eyes to be open to see the light. The sensors detect only the specific stimuli that they are designed for. For example, the touch sensor or the light sensor on Pro-Bot will not detect or respond to sounds. They will respond only to touch and light stimuli respectively. However, short sharp sounds (like a loud clap or a short yell) may be detected by the sound sensor and you can program the robot to respond to it.

Now, how does Pro-Bot react when these sensors sense something? Consider the touch sensors on Pro-Bot’s front and rear bumpers. You can program Pro-Bot to do something when those sensors sense a contact (such as bumping into something, or getting bumped by something). Similarly, the light sensor on Pro-Bot can be programmed to do something when it detects a change in lighting.

Pro-Bot has 5 specialized Procedures that correspond to inputs from its sensors. These are 
33 FRONT
34 REAR
35 DARK
36 LIGHT
37 SOUND

You can access and modify the above Procedures via the Menu button on the control pad. The instructions in each of these Procedures will be executed when the the corresponding sensor detects a stimulus. If the Procedure corresponding to the sensor is empty (if you decide not to react to a stimulus), Pro-Bot does not respond to changes in the sensor condition. 
So, what happens after Pro-Bot has responded to a stimulus? Before you answer that question, consider this scenario: Imagine that you are sitting in your chair and reading a book. Your friend comes over, taps you on the shoulder and asks you something. Your skin’s touch sensor senses the tap, and your ears (another of your sensors), sense the spoken words. Maybe your friend was asking you to join her in a game. Let us say you respond saying “Later”. What do you do next? You would continue reading that interesting book, right? 
Let’s analyze what just happened. You were doing something… then you got “interrupted” by your friend… you “handled” that interruption… and then you got back to doing your reading… A computer or a robot can react the same way. When its sensor detects a stimulus, Pro-Bot can react to it by running a specific program, and after it is done, Pro-Bot continues with what it was doing before the interrupt happened. For example, if Pro-Bot was driving and midway, it entered a dark tunnel, it would detect the change in light and may turn on the headlights (if you programmed it to respond that way) and after that, it would continue driving along. After it is done with the response to the stimulus, Pro-Bot resumes the steps in the main program. 

What you have learned above is a fundamental behavior in Computer Science and Robotics: handling interrupts

Let us test our understanding now with an assignment that uses sensors.



Relay Driving by Pro-Bots using Touch Sensors:


Computer Science Concepts involved:   Procedures, Sensors to detect and react to stimuli, a quick peek into Interrupt handling

Math Concepts Involved:   Linear measurements, Solving real world problems by modeling with mathematics

Grade Levels:   3, 4, 5

Hours Required:   1

Materials Required:   A pre-set path drawn for the Pro-Bot to drive on, preferably marked with blue tape. Optionally, a shoebox with one vertical side cut open to act as a garage for Pro-Bot


Programming Assignment:


Let’s look at a simple task to start off with, involving 2 Pro-Bots. The steps are listed below.
  1. Mark a path on the floor with blue tape that is about 40 cm long. You can also mark a target finish line at the end of the path.
  2. Place one Pro-Bot at the beginning of the path, facing forward and ready to drive along the path. 
  3. Place the second Pro-Bot at approximately the midpoint of the path, 20 cm away from the start point, facing forward and ready to start driving. (Both cars face the same direction.)
  4. Optionally, place a ‘garage’ (made out of an upside down shoe box with one side cut for the car to enter) at the very end of the path.
  5. Make sure that the sensors are set to "On" from the Menu button on Pro-Bot.
  6. Program your Pro-Bots so that the first car starts driving along the path while the second car is waiting. The first car hits the back of the second car, makes a beep sound and stops. The second car now starts driving. It drives all the way into the finish line/ garage. It makes a beep sound and stops. (Optional step: when it gets inside the garage, it switches its headlights on.)


Now, how can we program the two Pro-Bots to do this?
  • For the first Pro-Bot, the task involves driving forward, say 20 cm, to reach the second car and then reacting to a touch on the front bumper when it hits the second Pro-Bot. So, your program for the first Pro-Bot has to be split up into two parts - the Main program that handles the driving forward part and Procedure 33 FRONT that handles the contact to the front sensor. You will have to edit Procedure 33 FRONT to make the beep sound & add in a few Pause instructions to make the car stop.
  • For the second car, driving starts only when it gets hit on the rear bumper. To make the car wait, your Main program shall have a few Pause instructions in a loop. You would also need to modify Procedure 34 REAR to make the car react to the hit on the rear bumper and drive to the finish line/ garage. Optionally, once inside the garage, the light sensor can detect the darkness and respond to it; for this modify the procedure 35 DARK to switch on the lights.

Once the two Pro-Bots have been programmed, press the GO button on both cars at the same time and watch the relay race happen! Here is a sample set of programs, for two Pro-Bots kept at a distance of 20 cm from each other and the finish line at a distance of 20 cm from the second Pro-Bot:



Pro-Bot 1:

  • Main - Fd 20

  • 33 FRONT -  Sound 3
                              Rpt 20 [
                              Ps
                              ]

Pro-Bot 2:

  • Main - Rpt 20 [
                   Ps
                   ]

  • 34 REAR -  Fd 20
                           Sound 3

  • Optionally, 35 DARK - Light On

Note:   This project can be easily extended to include more cars and more complicated paths. Since we do not have a Stop instruction available, we can make the car stop by using the Pause instruction in a loop. 


Extension


If working on the relay race project with 3 or more cars, all the cars other than the first and last ones would need to handle both their front and rear touch sensors. Let’s look at an example with 3 cars, assuming they are kept at a distance of 20 cm each. In this case, the first car would behave as Pro-Bot 1 above and the last car would behave as Pro-Bot 2 above. Here is a sample set of programs for the 3 car relay race:


First  Pro-Bot :

  • Main - Fd 20

  • 33 FRONT -  Sound 3
                              Rpt 20 [
                              Ps
                              ]

Middle Pro-Bot:

  • Main: Rpt 20 [
                  Ps
                  ]

  • 34 REAR -  Fd 20
                           Sound 3
                                
  • 33 FRONT -  Sound 3
                              Rpt 20 [
                              Ps
                              ]

Last Pro-Bot :

  • Main - Rpt 50 [                     // Remember to make the Pro-Bot wait longer 
Ps // here to allow for the other two cars to catch up.
                   ]

  • 34 REAR -  Fd 20
                           Sound 3

  • Optionally, 35 DARK - Light On




Sunday, August 17, 2014

Nets of 3D Shapes Part 1- Cubes: More practice with Procedures using Pro-Bot

This programming assignment is intended to provide more practice with Procedures using Pro-Bot. We shall use a Procedure to store the program for a square. We shall then write programs for Pro-Bot to draw nets of a 3-Dimensional object, a cube in this case, using the Procedure. 


Computer Science concepts involved:   Sequential programming, Repeat loops, Nested Loops, Procedures

Math concepts involved:   Cubes; Nets of 3D objects: visualizing cubes on a 2D plane, identifying multiple nets per cube, properties of nets of a cube; Squares, Measurement, Angles

Material required:  Card paper/thin cardboard to draw the nets on

Extension activity:   Make the cube by cutting out the net from the card paper and folding along the edges 

Grade levels:   3, 4

Hours required:   2 (or more)


Nets of 3-Dimensional Figures


A 3-Dimensional (3D) shape is a shape that has length, width and depth. They are also called solid figures or solid shapes. The length, width and depth are the three dimensions. Most of the objects that we see around us are 3-Dimensional. For example: your books, school bag, a box of crayons, Pro-Bot, table, chairs, water bottle, soccer ball, even yourselves are all 3D shapes.

How do these shapes differ from 2-Dimensional (2D)  figures, like the ones that you draw on paper? Think about how a cube or a sphere differs from a square or a circle drawn on paper. Well, the difference is that they have depth, unlike the 2D figures drawn on paper, which have only length and width. 3D shapes do not lie flat on a plane surface and they are difficult to draw on a piece of paper. 

But what if we could open up the 3D shapes and lay them out flat on paper? This would show us exactly how these solid shapes are made. A net can help us convert a 3D shape to a 2D figure. Nets are the flattened shapes of 3D objects. The net shows every edge and every face of the 3D figures laid out flat on paper. The net has only length and width; it does not have depth. It makes it easier for us to study and analyze some of the properties of a 3D object. You can cut out the net from the paper and fold it along the edges to create the 3D object. The same 3D object may be flattened into more than one net.

Let’s look at a very common 3D shape, a cube, and draw its nets. We shall use Pro-Bot to draw the nets on thin cardboard. You can then cut out the nets and fold them to create the 3D object.


Nets for a Cube


Have you seen the dice that you use for board games? It has the shape of a cube. A cube is one of the most common 3D figures, with 6 square faces, 12 edges and 8 vertices. 

What would the cube look like if you cut it open along some of its edges and laid it out flat on a piece of paper, so that you can see every face and every edge? The flattened version of the cube would be its net. There can be more than one net for a given 3D shape. Can you guess how many nets exist for a cube?

In the figure below are a couple of nets for a cube of sides 6 cm each. 




















You can see from the figure that each net is made up of multiple squares; each square representing a face of the cube. All the squares are similar, with edges measuring 6 cm each. If you fold the above nets along the edges/lines drawn in the figure, you would end up with a cube.



Programming Assignment


  1. Write a program to draw a 6 cm side square. Remember to use Repeat Loops in your program for the square. Store your program as a Procedure.   (Since the same square is used multiple times in each net, it would be easier for you as the programmer, to write the program for the square just once, store it in a Procedure and then call that Procedure from your main program whenever you need it.) 
  2. Write the programs for Pro-Bot to draw the nets for the cube as given in the figure above. Use the Procedure for the square that you previously wrote while writing the programs.
  3. There are 11 possible nets for a cube, two of which are given above. Can you identify the other 9 nets for the cube as well? 
  4. Write a program for Pro-Bot to draw each net that you identify, using the Procedure for the square in your program.
  5. Once you are done drawing each net using Pro-Bot, cut out the nets from the paper. Fold the paper along the lines drawn and create a cube from each net.You could even draw the numbers/dots on the six squares as seen on a pair of dice. 
  6. List the properties that seem to be common for the various nets that you came up with.
  7. Compare the area and perimeter of the different nets. 



Saturday, August 9, 2014

A Follow-up Exercise to Drawing Digital Numbers using Pro-Bot

The following set of questions is a follow-up to drawing digital numbers using Pro-Bot. Rather than draw every number from 0 through 9, these questions allow the students to draw just a sub-set of the numbers. This is how I plan to use it with my students: Write out one or two of the following questions each on chits and let the kids pick the chits randomly. This way, everyone gets to work on a different problem and it allows for a bit of math practice as well.

  1. Use Pro-Bot to draw the odd numbers from 0 to 9 according to the dimensions given in the figure.
  2. Use Pro-Bot to draw the even numbers from 0 to 9 according to the dimensions given in the figure.
  3. Use Pro-Bot to draw the missing number in the following pattern: 0, 3, ___ , 9, 12
  4. Use Pro-Bot to draw the missing numbers in the following pattern: 13, 11, ___ , 7, ___, 3
  5. Use Pro-Bot to draw the numbers that are multiples of 3 in the group 0 to 9.
  6. Use Pro-Bot to draw the numbers that are divisors of 8 in the group 0 to 9.
  7. Use Pro-Bot to draw the number that you get as the result of the problem 2 x 2 x 2 = ?
  8. The sum of 2 numbers is 5. One of the numbers is one more than the other. Use Pro-Bot to draw the two numbers according to the dimensions given.
  9. The difference between two numbers is 3. The sum of the two numbers is same as 5 x 3. Can you identify the numbers? Draw the numbers using Pro-Bot according to the dimensions given below.
  10. If your birthday is a single digit number, draw it using Pro-Bot with the dimensions given below. Else, add up the digits in your birthday and draw that number using Pro-Bot.
  11. Use Pro-Bot to draw the prime numbers in the group 0 to 9. A prime number is a number greater than 1, that can be divided only by 1 and the number itself. It does not have any other divisors.


All measurements in the figure below are in centimeters. 





















Here is a set of programs for drawing the various numbers.


Monday, August 4, 2014

Applying Fractions to Polygons

In this programming assignment, we shall draw polygons and divide them into fractions using Pro-Bot. This assignment can be a follow-up to the one where we learned to draw various polygons using Pro-Bot. We shall use sequential programming for drawing irregular polygons and Repeat Loops to draw regular polygons. Next, we shall divide the polygons into specified fractions using Pro-Bot as our drawing tool.


Computer Science concepts involved:   Sequential programming, Repeat loops

Math concepts involved:   Polygons (regular and irregular), Linear & Angular Measurements, Fractions, Area, Congruence

Grade levels:   3, 4, 5

Hours required:   2 or more



Polygons


In geometry, a polygon refers to a closed, two-dimensional figure formed by a set of straight line segments. The straight line segments are called the polygon’s edges or sides, and the points where two edges meet are the polygon's vertices or corners.

If all edges are equal and all angles are equal, then it is a regular polygon. Else, it is an irregular polygon.


Square:

  1. Use Pro-Bot to draw a square of sides 8 cm. Each interior angle is 90 degrees.
  2. Divide the square horizontally into quarters (1/4) using Pro-Bot as your drawing tool. 
  3. Divide the square vertically into quarters (1/4) using Pro-Bot as your drawing tool.
  4. Divide the square into 4 equal squares, using Pro-Bot as your drawing tool. What fraction of the large square does each small square occupy?
  5. Divide the square into 2 equal sized triangles, using Pro-Bot as your drawing tool. Are the triangles congruent? 

Rectangle:

  1. Use Pro-Bot to draw a rectangle of sides 4 cm and 6 cm. Each interior angle is 90 degrees.
  2. Divide the rectangle into thirds along the longer side using Pro-Bot as your drawing tool. 
  3. Divide the rectangle into halves along the shorter side using Pro-Bot as your drawing tool.
  4. Divide the rectangle into quarters using Pro-Bot as your drawing tool.
  5. Divide the rectangle into 2 triangles along a diagonal, using Pro-Bot as your drawing tool. Are the triangles congruent? Are they equal in area?

Rhombus:

  1. Use Pro-Bot to draw a rhombus of sides 6 cm. One pair of opposite interior angles is 60 degrees each and the other pair is 120 degrees each. 
  2. Divide the rhombus into thirds, using Pro-Bot as your drawing tool.
  3. Divide the rhombus into sixths (1/6) using Pro-Bot as your drawing tool. Are the fractions congruent shapes? Are they rhombuses? If not, what shapes are they?

Parallelogram:

  1. Use Pro-Bot to draw a parallelogram of sides 4 cm and 6 cm. One pair of interior opposite angles is 45 degrees each and the other pair is 135 degrees each (Remember that for a parallelogram, opposite angles are equal).
  2. Divide the parallelogram into 2 equal parallelograms, using Pro-Bot as your drawing tool. What fraction of the original parallelogram is occupied by the smaller ones?
  3. Considering that the minimum dimension that can be provided by Pro-Bot is 1 cm, what is the maximum number of smaller parallelograms that you can divide up the larger parallelogram into, using Pro-Bot as your drawing tool? What fraction of the larger parallelogram is occupied by each of the smaller units?

Equilateral Triangle:

  1. Use Pro-Bot to draw an equilateral triangle of sides 6 cm. Each interior angle is 60 degrees.
  2. Divide the triangle into 2 equal triangles, using Pro-Bot as your drawing tool.
  3. Divide the triangle into 3 triangles of equal area, using Pro-Bot as your drawing tool. You can do this in a couple of ways: 

  • Divide one side of the triangle into 3 equal parts. Then draw lines connecting the opposite vertex to the two points that trisect the side. 
  • Find the centroid: If you draw a line from each vertex to the midpoint of the opposite side, the point at which all three lines meet is the centroid. Draw a line from each vertex to the centroid to divide up the triangle into 3 equal triangles.

Sunday, August 3, 2014

Programming Roman Numerals using Pro-Bot

The aim of this programming assignment is to use Procedures in Pro-Bot to draw Roman Numerals. 
Roman numerals, the numeric system used in ancient Rome, employs combinations of letters from the Latin alphabet to signify values. Numbers are formed by combining symbols and adding the values. There is no zero in this system. Roman Numerals, as used today, are based on seven symbols: 





















Symbols are placed from left to right in order of value, starting with the largest. To write the Roman numeral, each of the non-zero digits should be treated separately. However, in a few specific cases, to avoid four characters being repeated in succession (such as IIII or XXXX), subtractive notation is used as follows (Wikipedia):
  • the numeral I can be placed before V and X to make 4 units (IV) and 9 units (IX)
  • X can be placed before L and C to make 40 (XL) and 90 (XC)
  • C can be placed before D and M to make 400 (CD) and 900 (CM) according to the same pattern
Examples: 
  1. The numbers 1 to 10 expressed in Roman numerals are: I, II, III, IV, V, VI, VII, VIII, IX, X.
  2. The number 2014 expressed in Roman numerals is MMXIV (2000 = MM, 14 = XIV). 
  3. The number 1954 can be expressed using the subtractive notation: 1000 = M, 900 = CM, 50 = L and 4 = IV. Therefore, 1954 is MCMLIV.


Programming Assignment:    


Write programs for Pro-Bot to draw the symbols in the Roman Numeral system, according to the dimensions given. 
Write a program to draw each symbol. Test your programs on Pro-Bot to see if you get the desired shapes. Store the program for each symbol as a separate procedure in Pro-Bot’s memory. 
Next, draw the Roman Numeral representation for different numbers using Pro-Bot. Make calls to the procedures from your Pro-Bot program to draw the various components in the Roman Numeral representation. 
Note: Pro-Bot does not have the option of lifting and lowering the pen via programming instructions. Hence, after drawing each symbol, it is necessary to physically lift the unit and place it on the starting spot for the next symbol to successfully draw a multi digit number. 
This assignment could also work as a group project, where each student writes the procedures for 2-3 symbols each. The students can then take turns calling the procedures for the symbols in a multi-digit number.

Computer Science concepts involved:  Sequential programming, Procedures
Math Concepts involved:  Roman Numerals, Place value, Measurement, Angles 
Grade Levels:  3, 4, 5
Hours required:  2 or more



Lesson Plan:


Hours 1& 2:  
Introduce the Roman Numerals and their values. Write programs for Pro-Bot to draw each of the symbols according to the dimensions given below. Save each program as a Procedure on Pro-Bot. 

All dimensions are in centimeters. The angular measurements are in degrees.





















Hour 3: 
Find the Roman Numeral representation of multi-digit numbers of your choice. Call the procedures in Pro-Bot that you previously wrote to draw each symbol in the number.

Example: 
Write programs to draw the Roman Numeral representation of the following numbers using Pro-Bot. 
  1. 123 
  2. 49
  3. 490
  4. 1056