Skip to content

Generative Random Art

Kinect for Interactive Online Learning

How about the Kinect for interactive online learning. Students and teachers can interact by moving objects around on the screen, pointing out things as they talk, use physical gestures to change information, etc. Lessons could be designed to let students physically move to interact with online simulations. Examples would be moving their hand at different speeds to get a sense of speed, velocity, and acceleration. Point and click chemistry labs could be more “hands-on” with students holding virtual items. Real plastic labware could be sent to students who then see their equipment filled with virtual chemicals. Students would learn to measure exact volumes of liquid by moving their graduated cylinder which is filled with virtual liquid they see on the screen. This would give the physical interaction experience of a real lab with the freedom of virtual labs (can’t screw up, no danger, freedom to experiment). History classes could include simulations similar to games like Yoostar. Physical Education classes would no longer be a joke with online learning, many of the existing fitness games could be used for the curriculum.

Using the Kinect could be a great way for students to physically interact in their lessons.  Many online simulations can be made more interactive and fun by making the students move around and use their body and arms to change variables.  Further options could be made with Augmented Reality by via just the Kinect or also ipads/ipod touches with cameras.  With an iPad, the Kinect can track the user in the room and send the image to an iPad in the students hands as they walk around the room.  The whole idea is becoming closer to the holodeck in Star Trek

Notes from a former online school student

Liked:

  • do the work when she wanted
    • could sleep in, eat food whenever, work, go out with others, work in PJ’s
    • could take breaks when she wanted
  • not have to deal with other students
  • Independent work – “take it like you see it”
    • see an example and if you don’t understand it then ask a teacher and they work the problem on a white board
  • Submitted reports by typing them but could also call and submit it verbally
    • the process of typing and submitting a report was cumbersome, but would have preferred typing it.
  • Was easy to cheat on assignments by googling answers
    • but then failed on tests
  • didn’t get in trouble if you didn’t log in for a day
    • parents would get a call if you didn’t log in after a few days
  • Assignments were mostly multiple choice
    • made it easy to cheat and impossible to catch cheating
  • Not as many behavior rules as a regular school
    • asking to go to the bathroom, etc.

Didn’t like:

  • Had to do the work
  • Didn’t like the setup
    • main pages and then subpages.
    • would miss sub pages and then have to go back.
    • “never knew what you were supposed to do”
  • Easy to get distracted at home and not do work
    • hard to manage time and stay focused
    • teachers would talk to students if they weren’t doing work
    • school/teachers did not go over time management skills
      • students were told what the needed to do but not helped in learning the skills to do that

Other:

  • would use a webcam in group chats.
    • could see other students and teacher
    • teacher would introduce a project, expectations, and example of what the project would look like
    • students take notes on what to do
  • Projects:  example plant
    • water plant seeds with different liquids and see which made the plant grow the best
    • didn’t do the projects because “they didn’t seem useful, I didn’t do the things that didn’t seem useful”
    • Would have done the projects if they interested her.
    • students were expected to get materials on their own
    • Wrote the paper for the project because she has done similar projects in the past and knew what to expect.

Would have liked:

  • different layout
    • easy to follow lessons and classes
  • more variety and options in hands on projects
  • flexible/personalized deadlines/schedules
  • some way of making friends or communicating with other students.
    • add in the socializing aspect of school.

How do you make an online inquiry based science class?

I really like the 5E model for teaching science.  It seems to the most “real life” way of teaching students new information.  Using the model in my classroom works well, though I often have to gently guide students through the steps and discussions.  I would rather not provide so much guidance, but many of my students are so used to the brainless peck and hunt for information in books to answer simple questions it takes time for them to retrain their brains to think critically.

Recently I’ve been trying to figure out how to give the same experience via online or blended (online and f2f) classes.  My use of the 5E method relies (to a fault?) on the back and forth of conversations between students.  How can this be done in an online class where students are rarely on the same assignment

Here’s my rough idea:

I propose a blended class with parts online and other parts done in school.  It would be similar to the Moundsview eALC but with a focus on students “showing” me what they learned.  Students would use video (take from phones, ipad, computer, etc.) and use that to ask questions, demonstrate/teach how to do a problem, show how their project works, etc.

Classes would be a mixture of reading, watching videos, doing practice problems, taking quizzes.  Formative assessment would take the form of projects that let students show what they learned.  An example physics unit could be on 2D motion with a trebuchet.  Students do inquiry based labs using existing simulations to make observations and gather information.  They then read selected materials to help them make sense of the information they gathered.  Students then use this information to build an real trebuchet using a kit the school provides.  They must be able to hit an object a set distance from the target.  they will make a video showing how it works and explain why, what things they would change to make the projectile go farther or higher.

Independent Study students would be expected to work on certain parts of the project at home and other parts at school.  Students struggling with problems that Sarah does not feel confident answering can be referred to me.  Sarah can explain to me what they are having trouble with or the student can post a written question or a video of what they’re having trouble with.  I think students will be more likely to ask useful questions if they can “just say” what they’re having trouble with instead of writing it.  this would also be useful with projects they’re physically making something.  I can help them by leaving written and video feedback/help.  I could use an ipad or inexpensive graphics pad ($60) to make a screen cast of how to work through a problem (like khan academy videos).

Regular lab students would be limited to logging in during school hours by the website.  They would have the option of asking me in class or leaving messages for me to answer later that day and continue working on other problems.  We could require students to use google docs which would let me track their daily progress and easily add notes to papers and assignments.

I think the video feedback would be a fun change to how online classes are traditionally done.  Students could use their smart phones to easily record questions and responses to the teacher and could even use them to record data in the future.  I know this can be done with the Canvas LMS, but I think it could also be done with Moodle.

Another tool to use would be web conference software Big Blue Button.  It works similar to eLuminate and is easily integrated with Canvas and Moodle.  Students could use it to give virtual presentations, ask questions and get live responses (video and screen sharing).  At Hamline my professor used eluminate to host evening homework help sessions.  He would have the conference on in the background as he graded papers and students could log in to ask questions.  The sessions were saved and available for students look at later.

This would also make it possible for science teachers to work with students at other locations/campuses

Building and testing the classes would take a significant time investment.  As more schools require a year or chemistry or physics I think there will be a greater demand for our students to take these classes.

The Internet is great

I logged into my now unused class website (sciencefor.us) and was surprised to see that it’s getting an average of 250 visits per month from complete strangers!  It turns out people have been finding at my Arduino class blog posts via search engines.  Someone has even used one of my wiring diagram (created with fritzing) in a Spanish post on the arduino forum.  It’s really great to see that my teaching material is still serving it’s purpose long after I stopped using them with my students.  The Internet is really amazing.

Making Science

Physical Computing with the Kinect

After seeing this video Scratch using the Kinect for input, it made me realize I haven’t even thought about the arduino or physical computing for awhile!

Just think of all the fun physical feedback you could have.  The kinect could track people in a room and then use the arduino to have the room respond to them as they walk around or sit or jump up and down.  Maybe a robot that can follow people or super smart lights and electronics.  The clapper will be a think of the past.  I know many of these things are already possible with the arduino or any of the other microcontrollers, but the Kinect could simplify things on the sensors side, allowing you to focus on the response.

Of course, the second I finished with these thoughts I found this video an air hog RC helicopter being controlled by arduino and Kinect.  My idea of a robot with wheels has quickly been upstaged by reality.

Kinect for special needs students

Luckily typing letters with the kinect will not be this complicated

A lot of new hacks with the Kinect have shown up over the last few weeks that highlight it’s use with special needs students.  Originally the Kinect was going to be able to read sign language, but lost the ability when the visible color camera’s resolution was lowered.  Georgia Tech has moved their previous research of reading sign language with computers to use the Kinect.

http://www.youtube.com/watch?v=qFH5rSzmgFE&feature=player_embedded

The ability to track individual fingers might be too far away.  Kinect Avatar shows off the neat ability to track facial features such as the mouth and eyebrows.  This could be a lot of fun for students who struggle with reading people’s faces and body language.

And last, a video demonstrating how Kinect can be used with existing games and computer applications.  It’s always frustrating when new technology can only work with specific programs, this appears to not be an issue with the Kinect.  I envision a combination of frog dissections and Trauma Center in the future of biology classes.

Links

  1. http://www.joystiq.com/2010/12/20/kinect-hacks-american-sign-language-recognition/
  2. http://123kinect.com/kinect-autism-father-boy/
  3. http://siliconangle.com/blog/2010/12/10/kinect-finally-brings-us-minority-report/
  4. http://radar.oreilly.com/m/2010/12/dancing-with-kinects-future-in.html
  5. http://www.engadget.com/2010/12/28/free-kinect-keyboard-emulator-lets-you-wow-while-afk-video/

Kinect and the new interactive classroom

The Kinect is Microsoft’s new addition to the Xbox 360 and let’s people use their whole bodies to control the Xbox and play games.  It uses a couple of cameras and microphones to determine where people are in a room and track their motions in three dimensions, and it works really well.  I’ve been blown away by the videos out there and can’t wait to try it myself.  With as much as it’s poised to change how video games are played, I think it’s set to change the role of technology in the classroom.  Interactive whiteboards as they are now will disappear.

Teachers and students will move freely around the room and control projected objects.  Students will raise their hand and take control of the screen.  Teachers will walk around the room and keep complete control of the board.  Augmented Reality will become common place in any classroom with a digital projector.  The whiteboard will truly become interactive by letting the whole class interact with it and with classmates.

For the past year I’ve been teaching a variety of Physical Computing classes with my high school students.  They have been thrilled with the hands-on nature of the class and it’s “magical” moments when students make a singing platypus that reacts to touch or a tree in the parking lot that makes noise when people get near.  It’s been about using science and technology to make things that people want to interact with.

The Kinect brings this to a new level by providing all of the necessary hardware in a small, affordable package.  Students will want to get up and move around to control their learning environment.  They can interact with on screen objects or characters.  Virtual labs become something fun by letting students pick up big beakers of solutions and mix them.  Students can work together on a virtual lab counter.

A number of videos have shown up on youtube and vimeo showing off people’s hacks.  Lady Ada posted a bounty for the first person that could hack the kinect to work on a PC.  within days the bounty was claimed and exciting videos like this one of a computer learning to recognize objects or this one of animated shadow puppets.

Clearly I think great things will come of this and how students interact with the computer will change dramatically.  An area of education that I see benefiting greatly from this is special education.  Last month at parent and child get together for students with special needs I saw a toddler using a SMARTboard.  He was ecstatic to use match pumpkins on it.  At times he got confused because he had to stand in front of the projected image and therefore blocked what he was trying to look at.  He also had trouble holding the marker properly and pushing the right spot.  With the kinect he could control the board from a distance and thus avoid the common problem of blocking what you’re trying to look at.

It also got me thinking about what it must be like for students in wheelchairs.  They would have to manuever their chair to the front of the room, reach to touch much of the screen and never be able to interact with the top half of the board.  I have not seen a person in a wheelchair using an interactive whiteboard but I imagine it would be a frustrating task at times.  Again, I see technology like the Kinect helping students with physical disabilities controlling the screen and anything on it with the same ease as other students.  Instead of having to use their whole bodies, the software would be configured to allow students to do the same with arm and hand jestures.  Projects like the EyeWriter show how effective simple hardware and good software can be.

Arduino capacative touch sensor

Arduino capacative tin foil capacative sensor from Matt Nupen on Vimeo.

In preparation to knock the socks of my students with the arduino’s potentional I made a capactive touch sensor with some tin foil. It also acts as a proximity sensor by sensing when someone or something alters the magnetic field around the capacitor (tinfoil in this case) .

For the capacitive sensor I followed in the instructions in this forum post: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1171076259

I modified to code to light up 4 LEDs depending on how much you are interfering with the sensor. The first two light up if you move your hand closer while the last 2 light up when you touch it. Lots of fiddling with the sensitivity range, but worth it.

I also added in a piezo buzzer that changes frequency based on how close you get to it.

Code for the 4 LEDs borrowed from http://arduino.cc/en/Tutorial/BarGraph
Code for the buzzer borrowed from http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1256389806

//## SENSOR
int  i;
unsigned int x, y;
float accum, fout, fval = .2;    // these are variables for a simple low-pass (smoothing) filter - fval of 1 = no filter - .001 = max filter

//## Buzzer
int piezoPin = 3;

//## LED
int ledCount = 4;
int ledPins[] = {
 4, 5, 6, 7 };   // an array of pin numbers to which LEDs are attached

void setup() {
 Serial.begin(9600);

 DDRB=B101;     // DDR is the pin direction register - governs inputs and outputs- 1's are outputs
 // Arduino pin 8 output, pin 9 input, pin 10 output for "guard pin"
 //  preceding line is equivalent to three lines below
 //  pinMode(8, OUTPUT);     // output pin
 //  pinMode(9, INPUT);      // input pin
 //  pinMode(10, OUTPUT);    // guard pin
 digitalWrite(10, LOW);  //could also be HIGH - don't use this pin for changing output though

 // loop over the pin array and set them all to output:
 for (int thisLed = 0; thisLed < ledCount; thisLed++) {
 pinMode(ledPins[thisLed], OUTPUT);
 }

 pinMode(3, OUTPUT); // set a pin for buzzer output

}

void loop() {
 y = 0;        // clear out variables
 x = 0;

 for (i=0; i < 4 ; i++ ){       // do it four times to build up an average - not really neccessary but takes out some jitter

 // LOW-to-HIGH transition
 PORTB = PORTB | 1;                    // Same as line below -  shows programmer chops but doesn't really buy any more speed
 // digitalWrite(8, HIGH);
 // output pin is PortB0 (Arduino 8), sensor pin is PortB1 (Arduinio 9)

 while ((PINB & B10) != B10 ) {        // while the sense pin is not high
 //  while (digitalRead(9) != 1)     // same as above port manipulation above - only 20 times slower!
 x++;
 }
 delay(1);

 //  HIGH-to-LOW transition
 PORTB = PORTB & 0xFE;                // Same as line below - these shows programmer chops but doesn't really buy any more speed
 //digitalWrite(8, LOW);
 while((PINB & B10) != 0 ){            // while pin is not low  -- same as below only 20 times faster
 // while(digitalRead(9) != 0 )      // same as above port manipulation - only 20 times slower!
 y++;
 }

 delay(1);
 }

 fout =  (fval * (float)x) + ((1-fval) * accum);  // Easy smoothing filter "fval" determines amount of new data in fout
 accum = fout;

 int mappedFout;
 mappedFout = map(fout, 1100, 1400, 0, ledCount);

 //Serial.print((long)x, DEC);    // raw data - Low to High
 // Serial.print( "   ");
 // Serial.print((long)y, DEC);    // raw data - High to Low
 Serial.print(mappedFout);
 Serial.print( "   ");
 Serial.println( (long)fout, DEC); // Smoothed Low to High

 // map the result to a range from 0 to the number of LEDs:
 int ledLevel = mappedFout;

 // loop over the LED array:
 for (int thisLed = 0; thisLed < ledCount; thisLed++) {
 // if the array element's index is less than ledLevel,
 // turn the pin for this element on:
 if (thisLed < ledLevel) {
 digitalWrite(ledPins[thisLed], HIGH);
 }
 // turn off all pins higher than the ledLevel:
 else {
 digitalWrite(ledPins[thisLed], LOW);
 }
 }

 int piezoFreq = map(fout, 1100, 1400, 0, 2500);
 buzz(piezoPin, piezoFreq, 60);

}

void buzz(int targetPin, long frequency, long length) {
 long delayValue = 1000000/frequency/2; // calculate the delay value between transitions
 //// 1 second's worth of microseconds, divided by the frequency, then split in half since
 //// there are two phases to each cycle
 long numCycles = frequency * length/ 1000; // calculate the number of cycles for proper timing
 //// multiply frequency, which is really cycles per second, by the number of seconds to
 //// get the total number of cycles to produce
 for (long i=0; i < numCycles; i++){ // for the calculated length of time...
 digitalWrite(targetPin,HIGH); // write the buzzer pin high to push out the diaphram
 delayMicroseconds(delayValue); // wait for the calculated delay value
 digitalWrite(targetPin,LOW); // write the buzzer pin low to pull back the diaphram
 delayMicroseconds(delayValue); // wait againf or the calculated delay value
 }
}