Thursday, May 8, 2014

Global Codeathon

Travel updates will have to wait.  We did check out Sapa, Halong Bay and Hoi An with my mother and aunt, but school life is taking over for now.

This post is heavy on technology terms.  If you have questions, let me know in the comments.

After the first Vietnam Technology Conference I got more interested in programming.  I started by teaching myself Scratch and using codecademy.com to learn Python.  I started a Scratch after school club that all of you faithful readers have heard about.  Well, here are my new updates and thoughts.

Scratch:
In class over the last month, I've used it to review for geometry and for story telling.  With story telling in Scratch, the sequencing structure and timing of characters talking leads to very different work than student's produce when just writing.  The element of animation, which has added great visuals to their work, is then used during traditional writing time.  "Show not Tell" is not easy for a class of ELL students.  "In your writing, describe how it would look if you made it in Scratch" has been a better way of communicating "Show not Tell" for a few students.
More importantly, setting up a logical sequence, problem solving and teamwork/peer help are the positive side effects of Scratching (to do Scratch).

I wish there was a chat feature in Scratch like there is on Google Docs.  While using Docs, group work is a silent activity but there are an incredible amount of ideas and edits that I watch fly through the chat box, comments and document revisions.  During Scratch time the Scratchers (people who program with Scratch) are moving all over the computer lab (I wish I could say that we had laptops in the classroom...).  This creates a more active and noisy-er class than is normally found in a computer lab.  All of this is the sound of independent learning.

As a teacher, the less I have to instruct and the more that the students share ideas(thus peer teach), the better( in most cases and especially in this case).  The benefits of this are great.  We are within a school with a rigid workbook structure and a focus on the individuals' work.  Group work, open-ended work and projects are a new concept for many of my students.  Relying on their peers during Scratch has improved intra-class communication, teamwork, patience and in some cases, students who do not get along end up helping each other if their projects are similar.

Global Codeathon
The Hanoi Tech Group is a group of teachers from seven different schools in Hanoi.  It is made up of tech directors, ICT teachers, classroom teachers and principals.  We get together, talk about tech in the classroom, pedagogy and how to get Chromebooks into Vietnam without ordering 10,000 (The original number of units that the for a manufacturer wanted to sell to deal with import laws here).  It is about learning from each other and strengthening our network of colleagues.
As a result of the wonderful people in this group, this is happening: The Global Codeathon.  Check out the team at UNIS who has put all of this together.  Some of them were not coding a year ago either.  So, if you haven't started using Scratch or another tool to teach programming, catch up, you'll be confident after 15 minutes.
I have three boys from my class who have been in my Scratch club and have shown a lot of interest in doing projects at home and peer-teaching.  They will be joining the Codeathon as intermediate participants.  I'll be teaching in a very different role.
When teaching with Scratch in class I demonstrate coding, but I never sit down at the 'teacher' computer, the one hooked up to the projector.  Either I:
1. Connect with my Nexus tablet and Teamviewer (advantage is I can see the numbers or zoom in on code on the tablet in case I can't clearly read the numbers from the back of the room)
2. Mini-remote keyboards.  I have to watch the projector, but it responds better than Teamviewer.
3. Wander around and help with individual problems if another student cannot help.

At the Codeathon I will be helping people remotely, through the interwebs.  We (the teachers all over the world who will be helping in the same way) will be meeting to figure out the finer points of this tomorrow.  Google Hangouts has screen-share so seeing someone else's work can be done.  Communicating in the right way will be ... difficult? different?  I like the teaching approach of steering a student towards the answer, but letting them put the last piece or two together if they are able to and ready to.  I know my own class very well, I don't know who I'll be assisting on the 17th.  I want to be a fast effective teacher, so that I can give attention to all of the Scratchers who need help.  I'll be unable to modify my style of instruction to these new kids.  I don't think that I will be as effective as I am in class.
I hope I'm wrong, but I'll have to figure out how to be effective with only the power of remote video and chat.

Python:
First, the criticism I've heard runs along the lines of: it isn't used as much as C or Java or some of the other languages which are 'more useful'.  I still think that it is a great first language.  Javascript made perfect sense after learning some of Python as was Google Scripting (pre-add ons, I haven't scripted anything since the change but I assume that the language is the same).  Python was also a logical extension of Scratch too.
My next school teaches AP Computer Science with Java.  so I started to learn Java last week through The Hard Way guide.  Different, yes, of course.  Easier, I don't think so.  It would not be my first choice or a good one to start with.  There are a lot of new concepts when first learning programming (and more that I haven't even thought or read about yet).  Python was easy so I could focus on the concepts that are common across all languages.  I'll keep pushing through on Java though.
Immediate application was also part of the fun of Python.  Minecraft on the Raspberry Pi is set up with an API and library that you can use to write little programs, in Python, that run within Minecraft.  Seeing this output was fun and rewarding for me.  I'm not a gamer but I am starting to love Minecraft.  How much more excited to keep pursuing programming will a student be when they can see their favorite game manipulated rather than just more: println("this is a typing assignment");

The Pi Camera attachment was delivered by my mom last week.  Writing scripts for that will be in Python as well.  More fun places to use programming in a real way for my own amusement and to teach with.  I'll blog once I get the camera set-up.  It is still in the box it came in, if that isn't a sign of how busy I am.  I'll usually stay up all night with my new toys.

Minecraft for Pi
Minecraft Edu
The Hard Way

2 comments:

  1. Jeff, I just started teaching Scratch last week. My students love it! I have noticed particurarly how one student who struggles with languages is doing great with programming. I will be teaching it all term. Any more ideas fire them my way!

    ReplyDelete
  2. Brian,
    I'm assuming you have an online account; search for jwrensen and you can remix any of my shared projects, most are geared towards geometry or a specific class question (my project is the example or one to start from).
    Jeff

    ReplyDelete