Showing posts with label Pro-Bot. Show all posts
Showing posts with label Pro-Bot. Show all posts

Sunday, August 17, 2014

Nets of 3D Shapes Part 2 - Prisms & Pyramids: More Practice with Procedures using Pro-Bot

This programming assignment is intended to provide more practice with Procedures using Pro-Bot. We shall use Procedures to store programs for various polygons. We shall then write programs for Pro-Bot to draw nets of some 3-Dimensional figures using these Procedures. 
We already worked on the nets of cubes in our previous assignment,  Nets of 3D Shapes Part 1 - Cubes. This is a follow-up to that work, involving more complex polyhedrons. 


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

Math concepts involved:   Polyhedrons (prisms, pyramids), Nets of 3D figures (visualizing 3D figures on a 2D plane, identifying multiple nets, properties of nets), Polygons (triangles, quadrilaterals, pentagons), Measurement, Angles

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

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

Grade levels:   5

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 few 3D shapes and draw their 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 shapes.



Nets of Prisms:


A prism is a solid object whose bases (or ends) have the same size and shape and are parallel to each other. The sides of the prism are parallelograms. A prism has the same cross-section all along its length. The shape of the bases (or ends) give the prism its name. We shall look at two types of prisms here:
  • Rectangular prisms
  • Triangular prisms


Nets of Rectangular Prisms:


Rectangular prisms are very commonly seen in our daily lives; for example, boxes, books, buildings, etc. A rectangular prism has 6 rectangular faces, 12 edges and 8 vertices. Opposite faces are congruent and have the same dimensions.  All faces of the rectangular prism are rectangles. A cube is a rectangular prism where all rectangular faces have equal edges.

Given below is a rectangular prism and one of its nets. The bases of this prism are square in shape. Hence it is also called a square prism






















  1. Write a program for Pro-Bot to draw the net given in the figure. Store the program for each rectangular face as a Procedure. (If there is a procedure for the 6 cm side square that you have already written, it can be used in this program as well.) 
  2. Can you come up with more nets for the above prism. Try at least one other net and write a program for Pro-Bot to draw it. 
  3. Once you are done drawing each net using the Pro-Bot, cut out the net from the paper. You can fold the paper along the edges and create the prism.
  4. Given below is another rectangular prism. Write a program for Pro-Bot to draw a net for this prism. 
  



Nets of a Triangular Prism:


In the figure below, you can see a triangular prism, with a shape that resembles a camping tent. It has 5 faces, two of which are equilateral triangles and three are rectangles. 




















  1. Write a program for Pro-Bot to draw an equilateral triangle of sides 6 cm and store it as a Procedure on Pro-Bot. Remember to use Repeat Loops when you are working with regular polygons (polygons with all edges equal and all angles equal).
  2. Next, construct a net for this triangular prism. Write a program for Pro-Bot to draw the net, using the Procedures for the rectangle and the triangle that you previously wrote.
  3. How many different nets can you draw for this triangular prism? Write a program for Pro-Bot to draw each net that you can identify for this prism.


Nets of Pyramids:


The word “pyramid” immediately brings to mind the royal tombs of ancient Egypt. The pyramids of Egypt are square pyramids, with a square base and triangular sides. There are various types of pyramids; they are named according to the shape of the base. A pyramid is made by connecting the base to the apex (top point where all the triangular sides meet). 

In this assignment we shall look at three regular pyramids, which have regular polygons as their base: 

  • Triangular Pyramid
  • Square Pyramid
  • Pentagonal Pyramid

Net of a Triangular Pyramid/Tetrahedron:


A triangular pyramid is also known as a tetrahedron ("having 4 faces"). A tetrahedron has 4 triangular faces, 4 vertices and 6 edges. Three triangular faces meet at each vertex. 

In the figure below, a tetrahedron with 6 cm edges is given. All the triangular faces are equilateral triangles, with sides of 6 cm. 





















  1. Can you write a program for Pro-Bot to draw a net for the tetrahedron, using the Procedure for the equilateral triangle of sides 6 cm that you wrote earlier? 
  2. How many nets can you create for the tetrahedron?
  3. After drawing the net using Pro-Bot, you can cut the net out of the paper and fold it along the edges to build the 3D tetrahedron. 

Net of a Square Pyramid:


A square pyramid has 5 faces, 5 vertices and 8 edges. The base is a square and the other faces are triangles. In the figure below, a square pyramid with all edges measuring 6 cm is given. 






















  1. Can you write a program for Pro-Bot to draw a net for this pyramid, using some of the Procedures that you wrote earlier? 
  2. How many nets can you create for the square pyramid?
  3. After drawing the net using Pro-Bot, you can cut the net out of the paper and fold it along the edges to build the pyramid. 

Net of a Pentagonal Pyramid:


A pentagonal pyramid has 6 faces, 6 vertices and 10 edges. The base is a pentagon and the other faces are triangles. In the figure below, a pentagonal pyramid with all edges measuring 6 cm is given. 




















  1. Can you write a program for Pro-Bot to draw a net for this pyramid, using some of the Procedures that you wrote earlier? Remember to use Repeat Loops while writing the program for the pentagon. 
  2. How many nets can you create for this pyramid?
  3. After drawing the net using Pro-Bot, you can cut the net out of the paper and fold it along the edges to build the pyramid. 

Sunday, August 10, 2014

Solutions: Modular Programming with Squares on Pro-Bot

This is a subset of solutions for the assignment Modular Programming with Squares. This is just one way of coding the solutions, there are multiple correct solutions for the same.


Breaking Down Squares


1.  The shape is a square. It can drawn using the code:
Rpt 4 [    
Fd 12
Rt
]




2.  The above square needs to be divided into two equal parts. You can do this with a horizontal or vertical line across the middle or divide the square along the diagonal. The solution below divides the cake along the horizontal line
across the middle.
Rpt 4 [
Fd 12
Rt
]
Fd 6
Rt
Fd 12

3.  The square now needs to be divided into quarters. Two possible solutions, along the diagonals or using horizontal & vertical lines. The solution below divides the cake along the horizontal & vertical lines.
Rpt 4 [
Fd 12
Rt
]
Fd 6
Rt
Fd 12
Bk 6
Lt
Fd 6
Bk 12

4.  Here is another way to divide the cake into quarters, along the diagonals.
Rpt 4 [
Fd 12
Rt
]
Rt 45
Fd 17
Lt 135
Fd 12
Lt 45
Bk 17

5.  You need to divide the 12 x 12 cake into 9 equal pieces in this case.  Each slice is going to be 4cm x 4 cm.  Here is a solution using Nested Loops.
Rpt 4 [
Fd 12
Rt
]
Rpt 2 [
Rpt 2 [
Fd 4
Rt
Fd 12
Bk 12
Lt
]
Fd 4
Rt
]


Building Up with Squares as the Basic Building Blocks


1.  The square can be drawn using the code:
Rpt 4 [
Fd 6
Rt
]

2.   Here is the code for the rectangle drawn without using Nested Loops:
Rpt 4 [
Fd 6
Rt
]
Fd 6
Rpt 4 [
Fd 6
Rt
]
Fd 6
Rpt 4 [
Fd 6
Rt
]

3.  As seen from the code above, there is a repeating pattern. After drawing each square, you need to move to the starting position for the next square. The above code can be rewritten using Nested Loops as:
Rpt 3 [
Rpt 4 [
Fd 6
Rt
]
Fd 6
]


4. & 5.  To draw the large square that is double the size of the small square, different techniques can be employed. The easiest is to start from the midpoint of the figure. Each time, draw the small square and then turn 90 degrees to the right. Here is the code that uses Nested Loops.

Rpt 4 [
Rpt 4 [
Fd 6
Rt
]
Rt
]


Solutions to the Hopscotch figure:















Rpt 3 [      // Start drawing the rectangular part of the hopscotch from bottom left corner
Rpt 4 [
Fd 6
Rt
]
Fd 6
]
Rt             // Here, you want to try and get to the midpoint of the large square
Fd 3         // 3 cm from the top of the rectangle to the midpoint of large square
Lt
Fd 6         // You have reached the midpoint of the large square now
Rpt 4 [     // Now draw the large square using the previously written code for the same
Rpt 4 [
Fd 6
Rt
]
Rt
]

Breaking Down & Building Up: Modular Programming with Squares on Pro-Bot

We have already worked on drawing squares using Pro-Bot. We used Repeat Loops to create a square in our previous assignment here

Now, let’s work a bit more with squares, first breaking it down into smaller parts and then building up compound figures using squares as our basic building blocks.


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

Math concepts involved:   Polygons (squares, rectangles), Measurement, Fractions, Compound figures, Angles

Grade levels:   3, 4, 5

Hours required:   2 or more


Breaking Down Squares

1.   You have spent your Sunday afternoon at home baking a delicious chocolate cake. You baked the cake in a square pan that measures 12 cm long on each side. What shape is your cake when you look at it from above? Can you draw this shape using Pro-Bot? 
2.   You plan to share the cake with 2 of your friends. You cut the cake into equal parts for yourself and your friends. Using Pro-Bot can you draw a figure to represent your cake and how you would cut it? What fraction of the cake would each person get? 
3.   One more friend comes along. So, you decide to cut the cake into equal parts for yourself and your 3 friends. Using Pro-Bot can you draw a figure to represent your cake and how you would cut it? What fraction of the cake would each person get now? 
4.   How many different ways can you think of to cut the cake into 4 equal parts? Using Pro-Bot, draw figures to represent each case. What shapes are the fractions in each case? 
5.   Your friend says that a single serving of cake should be no larger than 4 cm x 4 cm in size. How would you cut the cake to get slices of this size? Using Pro-Bot, draw a figure to represent your cake and how you would cut it in this case.  How many pieces can you cut the cake into?


Building Up with Squares as the Basic Building Blocks


1.   Use Pro-Bot to draw a square of sides 6 cm each. (Remember to use Repeat Loops for drawing the square).

2.   Now, let’s create a rectangular shape with the following dimensions, using the above 6 cm square as our building block:  
Length  =  3 x length of one side of the square 
Width  =  length of one side of the square 

Can you write a program for Pro-Bot to draw this figure, using the program for the 6 cm side square that you wrote earlier? 

























  

3.   Can we use Nested Loops to draw the above figure? Explain why.

4.   Next, let’s create a bigger square with the following dimensions:       
Side of big square  =  2 x Side of the 6 cm square

Can you write a program for Pro-Bot to draw this figure, using the program for the 6 cm side square that you wrote earlier? 



















5.   Can we use Nested Loops to draw the above figure? (Tip: It is easier to start drawing from the midpoint of the figure while using Nested Loops.)


Here is a set of possible solutions to the above assignments.


Modular Programming


From the two examples above, you can see how a small module that performs one distinct function (in this case, our program to draw the 6 cm side square) can be used to build bigger components. The big components that we created in turn can work as modules for an even bigger program. 

This activity provides a quick peek into modular programming, a principle that is widely used in most programming languages. Modular programming is the process of dividing a program into smaller, separate sub-programs. 

Let's look at an example that is familiar to you. Do you play with Lego construction sets? A lot of times, when you buy Lego sets, the box comes with several small bags inside of it, each labeled with a number. There will be an instruction booklet that tells you how to use the tiny pieces inside each bag to create a small component of the big toy that you plan to make. Once you have created a couple of such components from the different bags, the book tells you how to put them together to create a slightly bigger unit... and the process goes on till you get to the completed product... 

Just like you build large Lego toys using multiple smaller units, each of which in turn was made of still smaller pieces, we can build large programs using smaller components or modules, which in turn can be made of even smaller modules.

So, why do we prefer to use modular programming rather than develop one giant program? Here are some reasons...

  • Reusing the code. You write a module just once, but it can be used multiple times by different programs. In the above examples, you wrote the code for the 6 cm side square just once, but you used it multiple times while developing two different programs. 
  • Breaking up the program into smaller modules makes it easier to maintain the program. For example, if you decide to change the larger programs to be using 10 cm side squares, all you need to do is make one change in your smallest module for the square from 6 cm to 10 cm. The change is easily reflected in all the bigger modules that use it. 
  • It is easier to find and fix errors in smaller modules. 
  • Smaller modules ensure that the code is short, simple, easy to read and understand.
  • It makes it easier for different people to develop different modules independent of each other. You could have one person write the program for the 6 cm square, another person write the program for the rectangle using the 6 cm square and yet another person write the program for the bigger square. And then, all of these could be put together to create an even bigger program as seen below...


1.   Elmo and his friends are planning to play hopscotch. Elmo suggests a figure that looks like the following and draws it out using Pro-Bot. Each square in this hopscotch figure has 6 cm sides. Can you write a program for Pro-Bot to draw this figure? Can you re-use the programs that you wrote above to draw this figure?





















  • You can also store each of the programs that you wrote above (for the rectangle and the big square) as separate Procedures and call them from your Main program for Pro-Bot to draw the hopscotch figure.




A Different Approach to the above Program



If you have an even number of students/ groups working on this project, you could try the following exercise with the hopscotch figure:

  • Divide the class into an even number of teams, so that each team pairs with another.  Let’s call the teams in each pair as Team A & Team B.
  • Team A in each pair would create the procedure for the big square. Team B in each pair would create the procedure for the large rectangle.
  • The pairs then exchange the Pro-Bots.
  • So now, each team has the procedure that they created themselves plus the procedure that was created by the other team. They do not need to know how the other team created their procedure;  they just need to know what it does (a black box).
  • Each team shall give clear instructions to their partner team as to how their procedures work. They can even draw a picture to show what their procedure would create, specifying the start & end points, and give it to the other team.
  • Each team now integrates the procedures/modules (their own work + the other team’s work) to create the required final result & test it.
  • This could be a good activity to introduce the kids to the concepts of real world engineering projects: division of work among different teams, testing & integration of results.



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.


Tuesday, August 5, 2014

Transmit Electricity with Minimum Loss from the Power Plant to the Cities

In this programming assignment, we shall work on finding the shortest path to reach a point on the XY plane. We shall then write a program for Pro-Bot to travel along the shortest path that we found. This is a peek into the world of optimization, comparing and contrasting various solutions to a problem and choosing the best one that fits our needs and constraints. 

Your task is to find the paths to the various points on the XY plane, given the XY coordinates. Next, compare and contrast the cost options for the different paths and choose the best one that meets the constraints. Once you have found the best option, determine the  distances and angles at which Pro-Bot has to make turns, in order to traverse the path and write your program. 



Computer Science Concepts involved:   Sequential programming, Optimization

Math concepts involved:   Right triangles, Coordinates on XY plane, Measuring distances between points given (x, y) coordinates, Angles,  Finding shortest paths

Grade levels:   4, 5

Hours required:   1



Programming Assignment



Electricity is generated in power stations and then it gets transported to various cities for distribution to the consumers. Not all of the electricity that gets generated will reach the consumer. Several losses occur along the way on the distribution network. The power company would like to keep the distribution losses at a minimum as the consumers do not pay for it. 


Here is a set of coordinates given, representing 3 cities X, Y and Z and the power generation station at point A. 





















Power is generated at location A and then transported to the cities. For each unit of distance between the points, 1 Kilowatt-hour of energy is lost (Kilowatt-hour is a unit  used to measure energy). Your task is to find the best option for drawing electric lines between the power station and the cities, which will have minimum total loss of electric power during transmission.

Your options are: 
(a) to have direct power lines drawn from A to the cities separately or 
(b) draw power lines from A to a city and then draw more power lines from that city to the next and so on. 

Given the coordinates of the cities and the power station, can you find the shortest distances between them? Use the values that you found to calculate the amount of electrical energy that is lost during transmission to the various cities. Which option do you think would work better, option (a) or option (b) as given above? 

Compare all options to see which approach can minimize the total loss of power during transmission from the power station A to all three cities X, Y and Z. 

If Pro-Bot is driving along the path that provides the minimum loss of electricity, starting from point A and visiting all three cities, can you write a program to trace Pro-Bot’s path? Assume that Pro-Bot is at the point (0, 0) and facing the X axis when it starts its journey.

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