Thursday, September 29, 2016

LA 3-3 Weekly Code Activity: Physical Computing Challenge


This week my eyes were opened to the power of the Makey Makey. I think the awesomeness of this device lies in its accessibility. By allowing anyone with a computer to plug this USB cable in (wonder how that works, they wonder) and attaching wires to objects (and how might that work?) the Makey Makey provides for "organic" learning through play. "Be stoked." Get excited and go for it.


I "hacked" my computer to think that bananas were keys on my keyboard and played the drums. I learned: a little about rhythm, and how I don't have much; a little bit about computers, and they way they receive input to produce output; some about programming, and the way I can tell the computer exactly what I want it do when I give it some information; a little bit about debugging, because connecting the alligator clip to the brown tip of my banana stem did not allow my computer to recognize the input from that banana; and a little bit more about the potential for learning with well-designed, easily used, creativity-enabling tools.









I didn't have a lesson plan. My only instruction was to create and learn.  If we can provide this opportunity to students, like the inventor of Makey Makey, Jay Silver, did with some non-school students right here in Vermont, imagine what they could create, develop, learn.  We could provide the structure or "scaffolding," to quote one of my classmates, and really give the students an opportunity to engage with the world at their own pace and in their own way.  And that's really what makes the world such a special place to be a part of.  Right, Jay? : )

Wednesday, September 21, 2016

LA 2.4 Scratch and CS First

For this assignment, I created this! It's a game where you are a space ship attempting to navigate through the shooting stars of space on your way to your home planet, Bigredline.  I made that! In only a couple hours!  Pretty cool what you can do with an internet connection.

Scratch.mit.edu has a ton of these kinds of projects, and I had some helpful vidoes to walk me through the process.  But in being walked through the process, you learn how all the pieces come together, and how, with some tweaking, you could create an entirely new experience.  I basically told the computer to do what the videos told me to do, but it got me thinking about the possibilities of what I, or anyone who understood the concepts, could do with these powerful tools.  By giving students access to this resource, you are allowing them to tackle coding at their own pace, limited by their imaginations.  Sure, there's only a limited number of commands.  But with all the possible combinations, even the most ambitious child should be accommodated.

I was also introduced to a google program called CS First.  Anyone from the community can submit an application to be a volunteer leader.  Then, you show up at a school, a bunch of kids show up at the school, you sign them into the website and let them learn!  The volunteers can come with no tools and no experience, and google will provide the rest, through tools like scratch and instructional videos.  I had never heard of this program before, and it seems like such a neat opportunity for not only the students, but maybe those interested in getting some practical hours in front of a classroom of students...hmmm....

CS First provides the location, programs, instructions, scripts for the volunteer, everything the group needs to successfully spend time coding, in several different areas including game design, fashion & design, sports, or social media.  What a great idea for a program, and what a great way to provide the resources for teaching something that will no doubt play a large role in everyone's life, really, moving forward.

I hope some of my classmates find a downside or some potential pitfalls, or even a flaw in the system, because I think I might be just excited about it and only see the good.

Tuesday, September 20, 2016

Creating with Code LA 2.3: Computer Science UnPlugged

Hello everyone, and welcome to my second blog.  This semester, I am learning how to create with code: how to create actual code, how coding is used in the classroom, and why it is important to understand the concepts of coding.

This week, we are looking at some introductory lessons to the concept of code.  We have been tasked with reading some articles which speak to the effectiveness and necessity of teaching kids how to code.  One article, Forget Foreign Languages and Music. Teach Our Kids to Code, is obviously for investing resources to educate our youth on coding and programming languages.  The author, Brendan Koerner, talks about the young mind (5-11 years old) has a lot of the potential to learn languages, even artificial computer languages, as organically as they first learned to speak.  He talks about how coding is the "language" of the future:  Several of my classes this semester hinge on the idea that even if you don't need to know how to code in your lifetime, you will need to work with someone who does.

Mark Guzdial, a professor in the School of Interactive Computing at the Georgia Institute of Technology, disagrees with that opinion, believing that any education children of that age might have in relation to coding is too rudimentary to be of any value, and won't stick with them for any appreciable amount of time.  If we teach them too early, he indicates, they're not really getting anything out it.

Well, I'm 28, and it would seem very difficult to me now to attempt to learn Mandarin Chinese; moreso than I would have thought it difficult were I one year old (or two years old in the East Asian age reckoning system).  I'm willing to give this coding thing a shot because I do think it will play a significant role in my lifetime, so I better start off with the basics.

Last week I tried A Little Less than an Hour of Code, and I helped my old zombie nemesi chomp the hell into my sunflowers.  This week, I'm taking it offline and trying some paper and pencil activities to grasp some more concepts of coding.

I tried the Muddy City activity to learn about minimal spanning trees because I do not know what minimal spanning trees are.  The activity tasks you with drawing a diagram of a town set upon an area prone to flooding, like Littleton, Massachusetts' old Junior Senior High School (since razed and rebuilt too nearby.)  The idea of the game is that you must connect each house to all the other houses as efficiently as possible (you're conserving resources so the town can afford a swimming pool because there isn't enough natural clean water.)  The cs concept you are learning is how developers for both hardware and software must connect thousands of "pieces" as efficiently as possible.  Computers used to fit only in rooms; now you probably have one in your pocket.

I couldn't be bothered to go offline because I paid for this backasswards satellite internet and it's not rainy or cloudy out so I will use it, damn it.  I went to Scratch.mit.edu and played Minimal Spanning Tree and now I understand how complex and consuming it must be to manually connect hundreds of thousands of "pieces" with as little waste as you can.  No wonder my cs buddy has a much nicer car than me; he earned it.