Wednesday, September 30, 2015

Everyone loves Raspberry Pi(e) - right?

This weeks tech toolkit is going to go down a different path than my previous ones. This week I am going to talk about a relatively new product called the Raspberry Pi. Raspberry Pi is a barebones, cost effective computer system that can run on very little power, and do very basic computer operations. It’s possible to build a camera, an alarm clock, a jukebox and more.


This is a little different in that I actually would be teaching the technology itself - however the takeaways for the students would be much more than that. As I dive deeper and deeper into the world of technology I’ve learned that coding is a very interesting way of solving problems. To code you first start with the idea of what you want to do, and then you dissect it into steps. Once you  know what steps and functions your idea needs you start creating, step by step, the code needed to do it.


A really basic example would be if you wanted to write a code that lit an LED up with red. First you have to tell the LED light to turn on. Next you need to tell it to turn red.  Two simple steps - but the point is to dissect every goal into manageable bite sized steps.


I think creating a jukebox or even alarm clock would be a bit too difficult and steep for any young student to take on by themselves, so I would implement this as a classwide collaborative project.  We would, as a class, decide what it is that we want to create. Do we want to create a button that plays a specific song? An alarm bell that goes off at lunch?


The idea behind this 'ideation phase' would be to allow the children to get creative. I can't even imagine what different things they would come up with that they'll want to create!  Once we dissect the ideas and land on an appropriate project (with a little teacher guidance, so we don't end up building a giant ninja robot) we'll move on to the next step.


The second phase would be the breakdown of the functions. If we are building an alarm clock what does that mean? It will need to know what time it is. How will it get that information? It will need to know what to display. It will need to know when to change. And it will need to know when to ring.


I would then separate the children into groups to do some research (these would be instructions that I provide) on how to write the code that will give them the result that they want. It's important to note that these pieces of code would be very simple and basic. I don't actually know anything about how to code yet, but I found this script online that would accomplish the 'alarm clock' task, and for the most part it's easy to intuitively get a sense of what code does what :
import time
import os


showhh = str(time.localtime().tm_hour)
showmm = str(time.localtime().tm_hour)


name = raw_input("Enter your name:")
print "Hello, " + name + "\n" + "Current Time:" + showhh + ":" + showmm
alarm_HH = raw_input("Enter the hour you want to wake up at:")
alarm_MM = raw_input("Enter the minute you want to wake up at:")


print "You want to wake up at " + alarm_HH + ":" + alarm_MM


def alarm():
   hh = time.localtime().tm_hour
   mm = time.localtime().tm_hour
   if hh == alarm_HH and mm == alarm_MM:
      print "ALARM NOW!"
       #os.system("mpg321 /home/pi/voltage.mp3")
   else:
       pass
  
def main():
   while True:
       alarm()


if __name__ == '__main__': main()


A lot of this code I wouldn't actually make the students write, because the actual code writing is not the most important part of the project.  By the end of the project the kids will have been exposed to the world of computer coding - hopefully enough for them to get a sense of if it intrigues them or not. I also hope that they get some valuable experience in a new kind of thinking, collaborating, and problem solving.

I think this kind of project is important because although it is highly technological and although it IS teaching the students 'how to use the technology', it also teaches them and exposes them to a whole new subject matter that they might not otherwise get to learn about or check out. I think we need to embrace and dive into technology as a teaching tool without being afraid of getting 'too technical' because I think that fear becomes evident to the students, and I certainly don't want to discourage them from diving into the subject just because it's intimidating and new to me!

2 comments:

  1. good example of using tech even though you might not have it fully mastered yourself

    ReplyDelete
  2. good example of using tech even though you might not have it fully mastered yourself

    ReplyDelete