In our endavor to make learning fun and free of memorization, we have been using Python to allow children to experiment and analyze data to form their own opinion and discover facts. This way, children engage is learning process with more intensity and the they show higher retention rate vis a vis conventional learning.
This makes them think and try different things before they get it right. The focus shifts from being always 'right' to get it right after several failed attempts.
Children create simple shapes using markers. They learn how to plot a shape, change color and size. They also learn show to find the shapes they can draw.
We give the some code to children to copy, paste and run. In this case, we send two lines of code:
import matplotlib.pyplot as plt
plt.plot( 0, 0, marker='o', color='red', markersize = 50)
The objective is not to teach coding but use it to learn basic concepts. In the above example, we teach children to change marker (shape), color and markersize (size).
The children experiment with shapes, colors and sizes. In future lessons, they learn about position of their shapes, thus leading to understanding of negative and positive numbers, co-ordinate systems, etc.
import matplotlib.pyplot as plt
plt.plot( 0, 0, marker='o', color='pink', markersize = 50)
Let them experiment with different colors. Ask them to put colors of their shirt or top, bottom, color of walls and other things that are present at that time. Thus, they will be able to develop sense of colors.
plt.plot( 0, 0, marker='o', color='green', markersize = 50)
plt.plot( 0, 0, marker='o', color='grey', markersize = 50)
plt.plot( 0, 0, marker='o', color='brown', markersize = 50)
Let the children experiment. Ask them to try things like negative, zero or fractions too and compare them.
plt.plot( 0, 0, marker='o', color='green', markersize = 150)
plt.plot( 0, 0, marker='o', color='green', markersize = 10)
plt.plot( 0, 0, marker='o', color='green', markersize = 50)
plt.plot( 0, 0, marker='o', color='green', markersize = -50)
plt.plot( 0, 0, marker='o', color='green', markersize = 15/4)
plt.plot( 0, 0, marker='o', color='green', markersize = .50)
plt.plot( 0, 0, marker='s', color='blue', markersize = 50)
plt.plot( 0, 0, marker='s', color='red', markersize = 150)
plt.plot( 0, 0, marker='s', color='black', markersize = 100)
plt.plot( 0, 0, marker='^', color='green', markersize = 50)
plt.plot( 0, 0, marker='*', color='grey', markersize = 50)
plt.plot( 0, 0, marker='d', color='orange', markersize = 50)
plt.plot( 0, 0, marker='p', color='orange', markersize = 50)
plt.plot( 0, 0, marker='h', color='pink', markersize = 50)
plt.plot( 0, 0, marker='8', color='black', markersize = 50)
plt.plot( 0, 0, marker='P', color='yellow', markersize = 50)
plt.plot( 0, 0, marker=r'$\heartsuit$', color='red', markersize = 40)
plt.plot( 0, 0, marker='o', color='red', markersize = 100)
plt.plot( 0, 0, marker='s', color='blue', markersize = 100)
Teach them about position of shapes
plt.plot( 0, 0, marker='o', color='red', markersize = 100)
plt.plot( 0, 30, marker='s', color='blue', markersize = 100)
plt.plot( 0, 0, marker='o', color='red', markersize = 100)
plt.plot( 10, 30, marker='s', color='blue', markersize = 100)
We send three lines of code to copy and paste as it is too early to teach them:
plt.figure(figsize=(10,10))
plt.xlim(-50, 50)
plt.ylim(-50, 50)
Now, we can experiment with left and right, up and down. It is good time to show them what negative and positive numbers do.
plt.figure(figsize=(5,5))
plt.plot( 0, 0, marker='o', color='red', markersize = 10)
plt.plot( 20, 0, marker='s', color='blue', markersize = 10)
plt.xlim(-50, 50)
plt.ylim(-50, 50)
plt.figure(figsize=(5,5))
plt.plot( 0, 0, marker='o', color='red', markersize = 10)
plt.plot( -20, 0, marker='s', color='blue', markersize = 10)
plt.xlim(-50, 50)
plt.ylim(-50, 50)
plt.figure(figsize=(5,5))
plt.plot( 0, 0, marker='o', color='red', markersize = 10)
plt.plot( 0, 20, marker='s', color='blue', markersize = 10)
plt.xlim(-50, 50)
plt.ylim(-50, 50)
plt.figure(figsize=(5,5))
plt.plot( 0, 0, marker='o', color='red', markersize = 10)
plt.plot( 0, -20, marker='s', color='blue', markersize = 10)
plt.xlim(-50, 50)
plt.ylim(-50, 50)
plt.figure(figsize=(5,5))
plt.plot( -5, 20, marker='o', color='red', markersize = 10)
plt.plot( 20, -10, marker='s', color='blue', markersize = 10)
plt.xlim(-50, 50)
plt.ylim(-50, 50)
Assist the children in putting multiple shapes. Ask them to decide the postion of a news shape, left, right, up or down to a shape already drawn, before they draw it.
plt.figure(figsize=(20,10))
plt.plot( 10, 0, marker='o', color='red', markersize = 100)
plt.plot( 10, 30, marker='s', color='blue', markersize = 100)
plt.plot( 10, -30, marker='^', color='green', markersize = 100)
plt.plot( -10, 0, marker='*', color='grey', markersize = 100)
plt.plot( -10, 30, marker='d', color='orange', markersize = 100)
plt.plot( -10, -30, marker='p', color='purple', markersize = 100)
plt.plot( -30, 0, marker='h', color='pink', markersize = 100)
plt.plot( -30, 30, marker='8', color='black', markersize = 100)
plt.plot( -30, -30, marker='P', color='yellow', markersize = 100)
plt.plot( 30, 0, marker=r'$\heartsuit$', color='red', markersize = 100)
plt.plot( 30, 30, marker='>', color='lightgreen', markersize = 100)
plt.plot( 30, -30, marker='v', color='lightblue', markersize = 100)
plt.xlim(-50, 50)
plt.ylim(-50, 50)