Wednesday, June 15, 2016

Communication Between Student and Teacher: I Need Help!

Help Notification

While at the Mobile Makers teacher training academy, I was re-introduced to a method for students to communicate with teachers.  They suggested the use of three colored indicators: green, yellow, and red.  The idea is that students can work independently on a project.  If the student gets stuck and cannot continue without help, they display the red indicator.  This lets the teacher know they need to give the student attention soon.  If a student dispays the yellow indicator, this communicates that the student needs help or has a question but can still continue with their program for a while.  If a student displays the green indicator, this communicates that the student is finished.  Students who complete a task and display the green indicator can then go assist other students who display a red or yellow indicator.

As far as the indicators go, in class we've been using foam balls (think red and green clown noses) that can be hooked on to the edge of a computer monitor.  The instructor, Brian Mathien, shared with us that he uses different colored clips that the students can hook on the edge of their computers.  I have heard of this technique while at another education conference and the students displayed different colored cards.

I think this is a great technique and I plan to use it in my programming class.  I would also like to use this in my math classes.  I see it as a great way for the students to give feedback about their current level of understanding.  It also allows the teacher to focus more attention where it is most needed.

Tuesday, June 14, 2016

Introducing a New Programming Technique: Driver and Navigator

One of the things that I learned about while at the Mobile Makers teacher training academy in Chicago was a new technique for learning about programming.  In the past when I taught a new programming concept, I would talk a little bit about it and then show the students how to apply it.  The students would then copy down my code onto their own computers to see if it works.  I often found that I might be going too fast for some of my students.

A new technique that I learned about assigns different roles for students in order to keep students more engaged and to help increase student understanding.  Rather than typing in the sample code myself into the display computer, I could assign one student to be a "driver" for the example.  While this student is "driving", all other students would need to turn away from their devices and pay attention to the app creation.  My role would then be to "navigate" this student through how to create the app.  This would cause me to verbalize my thinking more and could give students more insight into what they are doing and why.  This also would dramatically slow down my explanation.  Once the "driver" has completed a few lines of code, I would then ask the rest of the class to turn back to their devices and recreate the code we wrote together.  We would continue this pattern of watching the "driver" and then trying the code on their own.


This technique can also be applied when students are working together.  Students can work in pairs where one is the driver and the other is the navigator.  The driver is the only student who can touch the keyboard.  The navigator dictates the next steps to take.  The students switch roles often so that both are contributing to the problem-solving process and one student doesn't take over.

Mobile Makers Teacher Academy: Pre-Course Work

This week I began my two-week training at Mobile Makers in Chicago to learn the Swift programming language.  My school district would like to encourage more students to get involved with computer science.  They looked into several different options, and we decided that since we are a 1:1 iPad school district, we would like to teach our students how to program for iOS devices using the Swift programming language.

Before arriving at the training program, we were asked to complete some pre-course work.  Through this pre-course work, we were exposed to some of the syntax and structures associated with the Swift programming language.  During this work, I read through some different resources, watched some screencasts, and completed two apps.


Hello World

The typical introductory program for someone learning a new language is the "Hello World" app.  The app requirements allowed me to create some different text fields, labels, buttons, and images.  Through this app, I was able to work with variables and I learned to how to create a link between items in the storyboard (text fields, labels, etc) with the code.


Multiply

The second app for the pre-course work was called "Multiply".  In this app, I was able to create a simple calculator.  The app user is able to type in two numbers and choose to add, subtract, multiply or divide.  Based on the answer, a different picture appears.  This app introduced me to concepts such as the segmented controller and the syntax of a "switch" case.  The switch case allowed me to efficiently calculate the sum, different, product or quotient based on which segment was selected in the segmented controller.