by Matt

WordPress for student run class sites

November 2, 2010 in Teaching by Matt

I’ve been using WordPress Multi-site for my class website for a few years. Last year I began experimenting with the plugin BuddyPress for student blogs, groups, forum posts, and communication. Students really enjoyed having their own website to customize and the facebook like abilities of updating their status, friending classmates, and “liking” other’s updates. It was easy for me to setup forum discussions as part of assignments and to track group progress via their group blogs.

Most students quickly figured out how to navigate the site and all of it’s features. Some were confused, but were able to get help from myself or other students.

This year I’m going to focus on student created content on the class website. The goals are to:

  1. Increase student participation and buy-in on the class website.
  2. Improve their internet related skills (I’ve been surprised how lacking this is for some students).
  3. Encourage students to continue their science work outside of class (I rarely give homework.
  4. Integrate the class website in a way that is useful and is not a replacement of what can be done in the classroom.

I’ve started out by giving some students the job of “web jockey”.  They write down the science questions asked at the beginning of each class and the answer.  These questions are written as new posts on the main class website in a category called “Science Questions”.  WordPress 3 custom menus let me create a menu item for just that category for easy listing.  This will eventually create a large repository of questions that students wanted to know more about.  Students can continue the discussions in the comments section on each post (though no one has done this, nor have I encouraged it, yet).

My other effort has been a “Creative Works” site.  this is separate from the main class website and requires an account to view so that student privacy respected.  In Biology students have posted creative short stories and summaries of science current events.  My hope for the short stories is for students to easily share their more artistic side in science class.  The current events follow in the same thinking of science questions.  Students can choose their articles from teacher approved websites.  This will result in a collection of news articles that students have found interesting or relevant to others their age.  This repository could then serve as a starting point for research projects.

by Matt

Student’s Review of Physical Computing

June 14, 2010 in Uncategorized by Matt

I just finished teaching my third quarter long Physical Computing class. It had its ups and downs but was overall very positive. I have my students fill out a Course Review sheet to give me some feedback about what they liked, didn’t like, and what improvements to make.

There is an obvious pattern in comments from the three times I’ve taught the class to different students. They all enjoyed the freedom to experiment, they found it difficult at times but want to take the class again because there’s so much more to learn, and they were frustrated by others who weren’t taking the class as serious as they were. I’m encouraged by the results because it showed a genuine interest in the class and philosophy behind it. I had hoped that the student’s interest in their projects would push them through the difficult parts, and it worked.

I’m working on a slightly new format for the class next year. I will focus on leading them through more projects and then having them modify that project before moving on. As the class progresses I hope to begin using teaching assistants that feel comfortable with the Arduino and circuits. I’m also hoping to begin using the arduino in my regular science classes to build simple lab equipment such as temperature probes. With time the student population’s confidence and ability will increase and the project freedom can open up.

by Matt

Lawn Computing

April 26, 2010 in Arduino by Matt

After weekend to think about the results from our experiments with conductivity and plants I’ve brewed up some great ideas. A lawn that makes sounds and changes lights in trees as kids (and adults) run around. If you get close to a tree it lights up, if you touch it’s leaves it starts to make sounds. Each footstep makes a noise, as you run faster the sound changes. The tricky part is making the whole thing wireless and seamless. Right now you must stay connected to the ground wire to complete the circuit. Maybe each person could have a speaker and sensor on them that acts indepently.

I talked to my students about the idea and they had even more great ideas. We could make games that people play using sounds and lights on plants. People would interact with the yard/park to play games!

by Matt

Outdoor Conductivity Fun!

April 22, 2010 in Arduino by Matt

This quarter’s Physical Computing class is focusing on making interactive music.  The first topic is resistance.  We’ve gone over what a regular circuit resistor is and now we’re testing the resistance/conductivity of everything else.  Today we a simple circuit to test the conductivity of plants outside.  It was amazingly successful and fun.

Students hypothesized that tree bark would work as a good conductor.  They felt that the leaves might not be good conductors because they are meant to fall off each year so they’re probably not connected as well.  We headed outside and ran a lot of fun tests and found that the leaves not only conducted electricity very well, but students we could form a long student chain and touch the grass 20 feet away and still complete the circuit with little resistance.

More experiments to come and posts with code and videos.

int buzz = 3;
int sensor = 0;
int threshold = 20;

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

void loop(){
 int sVal = analogRead(sensor);
 int sVal2 = 0;

 for(int x=0; x < 20; x++){
 int sVal = analogRead(sensor);
 sVal2 = sVal2 + sVal;
 delay(1);
 }

 sVal2 = sVal2/21;

 Serial.print("sval = ");
 Serial.print(sVal);
 Serial.print("t");
 Serial.print("sval2 = ");
 Serial.println(sVal2);

 if(sVal2 > threshold){
 tone(buzz, sVal2);
 } else {
 noTone(buzz);
 }
}

by Matt

Using Buddypress

March 8, 2010 in Uncategorized by Matt

I’ve been using Buddypress to run my physical computing class website for 2 months now.  Students have enjoyed the class website and like the ability to reply to messages and easily find everyone’s blog posts.  I still can’t figure out how to best use “groups”, “blogs”, and “forums” for collaboration.

Right now I only have 1 group, the “Arduino Fan Club” for forum postings.  I post short questions on the forum and students can see what everyone else responded with.  Each student group has a blog that they use for their group assignments.  I’m not sure how students would use “groups” instead of their group blog.  Just a lot of trial and error.

by Matt

FlexBook knockoff

February 22, 2010 in Uncategorized by Matt

Macmillan’s editable digital textbook system called DynamicBooks is explained in a recent NYT article.  It sounds exactly like the CK-12 Foundation’s FlexBooks which are open source textbooks that allow anyone to download, and modify in anyway they like.  Books go through a review process and can be submitted by anyone.  Maybe DynamicBooks will have something new, but if it’s just like FlexBooks with copyright, what’s the point?

by Matt

The brain through lobotomies and hypnosis

February 18, 2010 in Science by Matt

I’m using the NIH curriculum about the brain and addiction.  My students are really enjoying the activities and discussions.  To give some extra work time for lagging students I showed the PBS video The Lobotomist.  By popular demand it turned into a 3-day video and discussion.  My of my students struggle with mental illnesses and addiction.  Once the procedure became a “mainstream” procedure for dealing with most mental illnesses or behavior issues the stories became all the more frightening.  If they lived in the 40′s they could have been one of the thousands of people that were given lobotomies.

The video will definitely become part of future lessons about the brain.  It provides a history on how our perception of the brain has changed over time.  After the video we could easily move into learning about the regions of the brain.  I’m still looking for information about medical hypnosis.  There is so much quackery out there about hypnosis it’s difficult to find credible information, especially useful videos about it.  My father who is a pediatrician told me a video he saw in med school that showed a conscious but hypnotized patient receiving surgery on his elbow.  There’s even a part where the doctor must chip at part of the bone.  I think hypnosis would be perfect for showing that the brain interprets and processes the information coming in from our peripheral nervous system and really does act as the “control center”.

by Matt

Using BuddyPress

February 16, 2010 in Teaching by Matt

buddypress iconI’ve been using WordPress for my class website for a little over a year.  This quarter I started using the social networking plugin BuddyPress for my physical computing class.  It took my students some time to get used to it, but they’re really enjoying it!  One of my students even updated her status over the weeked to say that she’s hanging out with some friends.

Buddypress is similar to facebook.  Students can add friends, create groups, change their status updates, send private messages, create forums, reply to comments, and create blogs.  All activity on the site can be tracked in the “Activity” page.

Since Buddypress is a plugin for WordPress all of the blog/website abilities are available.  My class is split into 5 groups of 4.  Each group has their own blog for completing blog assignments and posting updates about their group’s status.  Each post is automatically added to the “Activity” page so other students and myself will know what’s new.

Students can choose from a variety of themes I’ve provided to customize their group’s webpage.  Students will be encouraged to take photos and videos of their projects to add to their website.

Overall my students seem very excited about using the class website and the “social networking” features.

by Matt

Arduino capacative touch sensor

November 11, 2009 in Arduino by Matt

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
 }
}

by Matt

Phyllotaxis

October 18, 2009 in Science by Matt

A student asked my about the “Golden Ratio“  or phyllotaxis last week during class.  I had only vaguely heard of it before so he gave me a little lesson and surrounding students joined in.  From mathworld.wolfram.com, here’s what phyllotaxis is:

The beautiful arrangement of leaves in some plants, called phyllotaxis, obeys a number of subtle mathematical relationships. For instance, the florets in the head of a sunflower form two oppositely directed spirals: 55 of them clockwise and 34 counterclockwise.

http://innovis.cpsc.ucalgary.ca/innovis/uploads/Research/PhylloTrees/phyllotrees1.jpg

There are also some great simulations/demonstrations of phyllotaxis on the wolfram site.

I found another site with in depth explanations and a few lessons that could be adapted for high school students – http://www.math.smith.edu/phyllo//CourseMaterial/Teachingmodules/phyltut1.html

Here’s another site with a variety images and a video – http://innovis.cpsc.ucalgary.ca/Research/PhylloTrees.

When we move on to plants I plan to include a unit on phyllotaxis as will be a great way to include art and math.