Houston Mini Maker Faire 2016 Recap

Houston Mini Maker Faire was an awesome experience. Melody Lam, Brandon Plost, and I setup a booth with all of our creations. We had lots of visitors and lots of Bellaire students came out too. The Bellaire robotics team has their own booth as well.

I will be back next year with something new to show off.

Brandon greets his fans
Brandon greets his fans
Some of our projects
Some of our projects
Temperature and Light Datalogger displaying on Raspberry Pi
Our Temperature and Light Datalogger displaying on Raspberry Pi
Lam codes an LED matrix display
Lam codes an LED matrix display to show images
More projects
More of our projects
Brandon's AWESOME Raspberry Pi Game Cabinet
Brandon’s AWESOME Raspberry Pi Game Cabinet
Game cabinet innards
Game cabinet innards
Yifan plays a game
Yifan plays a game on Brandon’s arcade system
Robotics members learn to sew
Jenny and Cassie (robotics team members) learn to make stuff
3D rendered realtime topographic display using sand
3D rendered realtime topographic display using sand
Jonathan talks about Houston Aerospace Scholars
Jonathan talks about Houston Aerospace Scholars
Lego Bridge
Lego Bridge
Lego Rey and BB8
Lego Rey and BB8
Lego trees and splash
Lego trees and splash
Lego Wind Turbine
Lego Wind Turbine
Green R2D2 from area R2D2 building club
Green R2D2 from area R2D2 building club
Vintage Amplifier
Vintage Amplifier

Houston Mini Maker Faire 2016

Houston Mini Maker Faire 2016!

My name is Jimmy Newland and I am a physics, astronomy, and (sometimes) computer science teacher at Bellaire High School. Over the last few years, I’ve been learning electronics. This stuff fits in perfectly with computer science and physics. I’ve been experimenting with labs for physics based on Arduinos and sensors. I was inspired after reading an article in The Physics Teacher about a lab studying simple harmonic motion using an Arduino board and an ultrasonic sensor. There is also another from the same author about an RC circuit analysis lab using Arduinos.

Check out the physics labs I’ve cobbled together that have students using Arduino boards and sensors to gather data from the real world.

I’ve also made a hobby out of electronics and was very excited to partner with 2 of my former students to display our handiwork at the 2016 Houston Mini Maker Faire.

Here are a few of my creations:

  • Binary Minute Timer
  • VU Meter (the knob goes to 11!)
  • Neopixel Ring Clock with GPS and RTC
  • Spooky Eyes Pumpkin

static_qr_code_without_logo

Epic National Park Adventure 2016!

Map
All the places we went!

The Newland family took a 7 day road trip through almost all of New Mexico to visit a range of national parks, national monuments, and national forests. We threw in a state park and a city park for good measure.

Google has a way to produce custom maps so we put together a list just to help us remember all the cool places we went.

These photos are in reverse chronological order and are just a small sample of the whole album.

IMG_3683

Screen Shot 2016-07-19 at 12.17.04 PM

Screen Shot 2016-07-19 at 12.16.06 PM

IMG_3621

IMG_3585

IMG_3573

IMG_3556

IMG_3549

IMG_3547

IMG_3535

IMG_3519

IMG_3499

IMG_3497

IMG_3466

IMG_3464

IMG_3461

IMG_3455

IMG_3447

IMG_3424

IMG_3414

IMG_3399

Creating Astronomical Images

(Newland is boring – skip right to the coding!)

In the summer of 2015, I got a fantastic chance to help out with as astronomical observing run courtesy of UT Austin and McDonald Observatory (thanks to Dr. Keely Finkelstein), not to mention the generous support of our research advisor, Dr. Chris Sneden and his post doctoral student, Dr. Monika Adamow. We also had hands-on image processing lessons from McDonald Observatory education and public outreach staff members Dr. Judy Meyer, Rachel Fuechsl, and Marc Wetzel.

LCOGT ELP Node at McDonald Observatory
LCOGT ELP Node with Mt Locke in the background
The LCOGT ELP Node robotic telescope and camera
Panorama of LCOGT ELP Node 1 meter telescope

We learned to use the Las Cumbres Observatory Global Telescope which allows an observer to queue up observations of targets with parameters such as specific filters and time exposures. Then, what ever node has a clear view of that target within the time frame will take the exposures and put the raw data on the observers account. The raw FITS files can be easily converted into either TIFF or JPEG files which can be more easily worked with using image software.

For the HOC 2014, a group from Google CS First, PencilCode.net, AAS, NASA Chandra X-Ray Observatory, and Code.org created an interactive lesson teaching the basics of astronomical imaging, the basics of the computer science of imaging, and some computational thinking. Students learn to combine images of different colors to make a new image. They also learn to use color values and unique combinations to make their own original astronomical image.

HOC 2014 Coding Example
HOC 2014 Coding Example

I decided to take some raw data from the trip and have the students do a little web-based coding to demonstrate combining images using different filters. This will be a part of the Hour of Code 2015 event for my astronomy classes.

Hour Of Code Project: Start Here!

  • Recolor – try creating a color by stimulating your own red, green, and blue eye cells with an intensity between 0 and 255. This is how computers create color.
  • Scene – explore filters and color-shifting using a coloring function that maps input RGB colors to an output RGB colors.
  • Flower – mash up two images using a coloring function to mix red, green, and blue light from multiple images.
  • Bubble Nebula -see how astronomers combine different images to create a single colored image of a nebula (completed example)
  • M101 – try to use the r, v, and b to get an image of a galaxy
  • North America Nebula – try to use the r, v, and b to get an image of a nebula
  • supernova – see how astronomers combine different images to create a single colored image of the leftovers from a star exploding
  • starforming – explore a deep six-wavelength stack of astronomy images, and create your own unique never-before-published RGB image of a star-forming region
  • keplersnova – In 1604 a star suddenly exploded and became the brightest object in the sky. Examine the remnants of the supernova observed by Kepler in the 17th century
  • blackhole – See x-ray data revealing a supermassive black hole at the center of a galaxy

Here are my attempts to create some pretty pictures. I converted the FITS files from LCOGT into TIFF files which I combined and processed using Photoshop. This takes more effort than just combing the colored images but aren’t they pretty?

Bubble nebula made with Photoshop & FITS Liberator
Messier 101 (pinwheel galaxy) made with Photoshop and FITS Liberator
Messier 18 processed with Photoshop and FITS Liberator
Heart of North American Nebula processed w/ Photoshop & FITS Liberator

Using GlowScript in AP Physics C

Rather than work on THIS week, I spent some time today trying to put together something for the Hour Of Code for my AP Physics C class. I am a fan of Rhett Allain at Wired’s Dot Physics. He teaches using a version of Python (really VPython) called GlowScript and I have been working up some code using some of the video analysis labs we’ve done in AP Physics. First, here is the video upon which this code is based. Check that out first. This is one of the fantastic direct measurement video labs from Peter Bohacek and has built-in controls and measurement tools. Those by themselves are fantastic for teaching and learning physics.

Here is my code written and edited at GlowScript.org. Give it a try and compare the result to the video. Not too bad. Now I think the cool bit will having the students do similar things. This is a PERFECT activity for Hour of Code coming up in December.
Here is the code, but although the link above is working, the code below may not.

For astro, I’m going to modify an activity from HOC 2014 from AAS, PencilCode, Google CS First, and Code.org.

Whiteboards for Physics Class

Student whiteboards
1 of 9 student group whiteboards cut to 2′ x 2.67′

In the summer of 2015 I attended a Rice AP Summer Institute for AP physics C run by Jeff Funkhouser. We were in groups of 3 or 4 at tables and we worked on FRQs as well as other tasks. When each group was to present something, the members would put all the work on a 2’x3′ dry-erase board. Then we all face one another and analyze the work of the other groups. This was an interactive and efficient way to cover a lot of material in a short time.

Jeff mentioned where one can buy or make the boards. Well I finally made the boards. Any big-box hardware store will have the material. I went to Lowe’s but I also called Home Depot and I could’ve done the same thing at either place. I asked about the price of the glossy hardboard. It’s also called tile board sometimes. Both stores had 8’x4′ sheets for around $15 and both places would cut the boards into equal pieces for nothing or for $0.25/cut. Lowe’s hardboard I actually used. Seemingly equivalent board at Home Depot.

rough sketch to make the cuts clear to the sales associate helping me out

I also bought a $5 hand sander and some $5 work gloves. Now I will take the receipt to school and get reimbursed and I have 9 boards. Perhaps I’ll head back to the store sometime during school and get some more boards. This makes a classroom set for me. It might be better for each period to have a set but this is a start.

Thanks Jeff for the great idea!

Bellaire ExMASS Students Take ESF 2015 by Storm!

Steven Z.-W., Kevin N., Afton W., Sue Anne D., Jennifer W.

Bellaire participated in the SSERVI/LPI ExMASS project in 2014-2015. A group of 5 students did original research related to asteroids. You can read more about the group and their research here.

The Bellaire team was selected among the various schools to attend a planetary science conference related to lunar and asteroid science to present their poster during poster sessions. I got to tag along. The conference is the NASA Exploration and Science Forum and gathers lunar scientists and small body (asteroid mainly) scientists to share current research. The posters alone were worth the trip. The talks and the tours made the whole experience one-of-a-kind for us.

Bellaire Poster on display. Number 74.

We got to attend the sessions and ask lots of questions. And also visit with the other poster presenters. There was one other high school group. Mainly the attendees are current scientists but young planetary scientists are also a focus of the conference. Each poster presenter had 1.5 minutes to convince people to come find their poster.

In the Lightning Round, poster presenters convince people to come visit
Planetary scientist Andy Rivkin asks the team about their research
Opening talk by SSERVI director Yvonne Pendleton. Afton is actually paying attention…

We heard a lot of talks about cutting-edge planetary science.

Maurizio Pajola talks about grooves on Mars’ moon Phobos
Adrian Brown talks about spectral features on asteroids.
Benjamin Hockman shows off the “hedgehog” hopping rover design using an Arduino board.
UC Boulder engineers show up telerobotic testing platform using an Arduino a Raspberry Pi.
LMMP on a Microsoft Surface table by JPL and NASA Ames

We got to explore some very cool data visualization stuff from NASA Ames and the Jet Propulsion Laboratory. The Lunar Mapping and Modeling Portal looked especially awesome on a Microsoft Surface table. You could also explore Mars using an Oculus Rift VR headset. One could see asteroid, lunar, and Martian 3D prints from real data. And take the new VestaTrek web-interface for a test drive. The JPL team must have been tired of my constant questions about the comp sci and data vis stuff. This was my favorite spot at the conference. Thanks to George Chang, Emily Law, and Shan Malhotra for being patient and helpful!

3D Printed Surfaces of Mars, the Moon, and Vesta from actual datasets by NASA Ames and JPL.
Oculus Rift VR exploration of planetary science datasets from JPL and NASA Ames.

We also got a guided tour of NASA Ames (where the conference was hosted). The wind tunnels are the largest on Earth and very impressive. We also got to tour the Ames Vertical Gun Range (where impacts are simulated), the Vertical Motion Simulator (where flight systems are tested), and the NASA Ames visitor center with the requisite astronaut ice cream and t-shirts. I did get a shirt and coffee cup. We also got up close and personal with Hangar One and some former NASA test aircraft.

NASA Ames Giant Wind Tunnel (just one small part)

This wind tunnel system has played a part in everything from the Shuttle program to Mars Curiosity Rover not to mention almost every aircraft sold by U.S. manufacturers.

AVGR target zone. Note the plumb bob and sand crater.
Team next to target vacuum chamber for AVGR.
Some of the interchangeable ICAB units at the NASA Ames VMS.
Very cool spherical display at the NASA Ames Visitor Center. It had images on the entire surface.
Infamous Hangar One in partial state of deconstruction.

And we got a personalized guided tour of the SETI Institute by Seth Shostak. We got to meet some of the team and see some of work done at the SETI Institute. Including information about the Allen Telescope Array. We also got to tour the studio where Big Picture Science is created!

Seth Shostak from the SETI Institute gave us a personal tour.
Allen Telescope Array display at the SETI Institute. The Allen is Microsoft co-founder Paul Allen.
3rd Place Award for Posters

This trip was one of the coolest experiences I’ve had as a science teacher. At the end of the conference we got a huge surprise when the students were awarded 3rd place in the poster competition along side postdocs, grad students, and undergraduates. Congrats to the Bellaire ExMASS asteroid research team. Let’s see how the next team from Bellaire fares. Thanks very much to Andy Shaner of the Lunar and Planetary Institute for hosting us, ferrying us all over Mountain View, and coordinating everything! He’s also the coordinator for the ExMASS High School Research Project.

2015 AP Comp Sci Free-Response Solutions

2015 AP CS FRQ Solutions

Today the 2015 APCS FRQs were released. Here are my solutions. I did create all the extra code to test all these classes and interfaces out as well. But these are just the answers to the questions. If you want a BlueJ project with classes for testing the code, click here. If you just want to browse the classes, click here.

Question 1

//part A
 public static int arraySum(int[] arr)
 {
    int sum = 0;

    for(int n : arr)
      sum += n;

    return sum;
 }

//part B
 public static int[] rowSums(int[][] arr2D)
 {
    int[] sums = new int[arr2D.length];

    for(int i = 0; i < sums.length; i++)
    {
       sums[i] = arraySum(arr2D[i]);
    }

    return sums;
 }

//part C
 public static boolean isDiverse(int[][] arr2D)
 {
    int[] sums = rowSums(arr2D);

    for(int i = 0; i < sums.length; i++)
       for(int j = i+1; j < sums.length; j++)
          if(sums[i] == sums[j])
             return false;

    return true;
 }

Question 2

public class HiddenWord 
{
   private String hidden;

   public HiddenWord(String h) 
   {
     hidden = h;
   }

   public String getHint(String hint) 
   {
     String r = "";

     for(int i = 0; i < hint.length(); i++) 
     {
       if(hint.charAt(i) == hidden.charAt(i))
         r += ""+hint.charAt(i);
       else if(hidden.indexOf(hint.charAt(i)) > -1)
         r += "+";
       else
         r += "*";
     }

     return r;
   }
}

Question 3

// part A
 public int getValueAt(int row, int col)
 {
    for(SparseArrayEntry e : entries)
    {
       if(e.getRow() == row && e.getCol() == col)
         return e.getValue(); 
    }

    return 0;
 }

 // part B
 public void removeColumn(int col)
 {
    numCols--;

    for(int i = entries.size()-1; i >= 0; i--)
       if(entries.get(i).getCol() == col)
          entries.remove(i);

    for(int i = 0; i < entries.size(); i++)
       if(entries.get(i).getCol() >= col) 
       {
          SparseArrayEntry h = entries.get(i);
          SparseArrayEntry e = 
             new SparseArrayEntry(h.getRow(),(h.getCol()-1),h.getValue());
          entries.set(i, e);
       }
 }

Question 4

// part A
public interface NumberGroup 
{
     public boolean contains(int num);
}

// part B
public class Range implements NumberGroup 
{
   private int[] list;

   public Range(int min, int max) 
   {
      list = new int[Math.abs(max-min+1)];
      for(int i = 0; i < list.length; i++)
          list[i] = min + i;
   }

   public boolean contains(int num)
   {
      for(int n: list) 
         if(num == n)
            return true;
      return false;
   }
}

// part C
public boolean contains(int num)
{
   for(NumberGroup n : groupList)
      if(n.contains(num))
         return true;
   return false;
}