Tag Archives: method

Thinking about thinking.

I’ve often taught Science as a way of thinking critically. That is, science education has (at least) two aspects. First, is the content knowledge. This is necessary because it’s not always necessary to reinvent the wheel. If every person had to start with their own tabula rasa and fill it themselves, without the help of those who came before, progress would be non-existent. Further- and this leads into the second aspect, prior knowledge provides a proving ground for developing critical thinking.

For example, every introductory biology class spends a decent amount of time talking about photosynthesis and cell respiration. Just memorizing the pathways is not enough to actually learn anything. In fact, it’s probably the quickest way to ensure that you don’t learn. Instead, it’s useful to talk about how this pathway was discovered.


von Helmont

Instead, it’s useful to talk about how this pathway was discovered. What was the question that people sought to answer? What was known /thought / assumed initially? What were the first (apparently unsuccessful) experiments done to address the question?


Jan Baptist von Helmont did one of the first good experiments to ask the question: Where does a tree’s mass come from?

He used a willow tree for his experiment and monitored the mass of the tree, the mass of the soil, and the mass of the water he gave it. Because the mass of the soil changed very little, while the mass of the tree grew enormously, he concluded that the tree’s substance came from the water he provided. In his own words, “But I have learned by this handicraft-operation that all Vegetables do immediately, and materially proceed out of the Element of water onely. ”

(It is notable that von Helmont recognized, in other experiments, that carbon dioxide was released from burned wood. He called this ‘gas sylvestre,’ referring to the Latin term for wood / forest, silva. This is important because the majority of a tree’s mass comes from the carbon dioxide in the air. von Helmont didn’t do just one experiment in his lifetime, after all.)

The importance of these historical experiments is that it allows the student to consider, ‘if I were in this person’s position, knowing what he or she did, how would I go about asking such a question?’

It was with this in mind that I came across this video on critical thinking, which I would say is the true value of science.


The topics we ask questions about depends on our interests. Perhaps today we are interested in where the mass of a tree comes from and we’ll be biologists. Perhaps most of the time we have a driving interest in the way that molecules interact, so we are primarily chemists. Regardless of the topic, we use the same critical thinking and experimental procedures to answer our questions, so we are really all scientists.




Leave a comment

Posted by on September 9, 2016 in Uncategorized


Tags: , , , , , , ,

Project One of my Game Development Class made my head explode

I’m taking an intro Game Development course online (it’s well known that I hate online courses in general) and here I am on what amounts to day three and I’m struggling.


Do this Stuff. Don’t worry, it’s easy.

Instructor:”So, you just need to make up this data tree thing with nodes and identifiers and stuff… look, just do it and get back to me. Here’s an outline:

  1. Each node has an ID property which is unique number identifying the node
  2. Each node as a Report() method that will print to the console it’s ID and if its a leaf or not
  3. When created, the tree has a single node, the root
  4. The tree has a SplitLeafs() method which will cause all leafs to create two children
  5. The tree has a VisitAll() method which will visit every node and call the node’s Report() method
  6. The tree has a LeafReport() method which call Report() on just the leaf nodes
  7. In your main() method in Program.cs/Main.cs, you have the following:
    1. Create a tree
    2. Call VisitAll() on the tree
    3. Call SplitLeafs() on the tree
    4. Call LeafReport() on the tree
    5. Call SplitLeafs() on the tree
    6. Call VisitAll() on the tree”


Me: “Um, OK. I don’t really know what this is, but if you say it’s easy, I’m sure that I can figure it out.”


Instructor:”Got it yet?”



Me: “Arghh… Let’s see: Tree class and Node class… How do I instantiate these things?

The root has no parent, but has children…”

Instructor:”Yeah. You totally have it. Let’s talk about the completed project tomorrow.”

Me:”Oh crap. So, the tree just gets made once, but then it makes the nodes…? Each node will hold some data: let’s keep that simple. Make it an integer.


What the hell’s a leaf?

Ughh. Simple isn’t simple enough.” 


Feeling the heat now?

Instructor:” A leaf if just a node. It has a parent, but no children.”


Me:  “And, how to we do this splitLeaf thing?”


Cripes! instantiate two children from each leaf….how… to…?The pain!


Instructor:” Look, it’s just a couple methods within the class. write up a couple setters and a couple getters and then one or two other methods to do the work.”


Look, I don’t mean to tighten the screws or anything, but this needs to be done and uploaded onto the Google+ document space…



I’m not kidding. I went from dominating my into C++ class to being a joke in this next class. I’ll try to  deconstruct the problem and post a walkthrough of the general idea if anyone’s interested.


Google+? Wha…..

Leave a comment

Posted by on June 20, 2013 in Uncategorized


Tags: , , , ,

Vaccinated, chapter 10: An Uncertain Future

ImageA lot has been made of the putative link between vaccines and autism since the 1998 publication of ‘Illeal-lymphoid-nodular, non-specific colitis and pervasive developmental disorder in children‘ by Andrew Wakefield. In chapter 10 of Vaccinated, we will be discussing how this article started an epidemic of fear amongst the parents of young children that had a drastic effect on public health.

The author quotes Philip Roth’s The Human Stain as a testimony to the power of suggestion. “To hear the allegation is to believe it. No motive for the perpetrator is necessary, no logic or rationale is required. Only a label is required. The label is the motive. The label is the evidence. The label is the logic.”

In our discussion of this paper we will review the circumstances surrounding its publication, the data presented by the paper, what they mean and don’t mean and what efforts have been made to research the possibility of such a causal link.

A good review of the work done to examine the evidence for any such connections can be found here. We will review the data presented in this article and since that article is a secondary source, we will uncover some of the primary data that this review discusses as see how it compares to the original paper.

In putting this together, I am reminded of an interesting TED talk about how science is done and the necessity for critical examination of data. The talk, by Margaret Heffernan: Dare to disagree is well worth the listen:


Leave a comment

Posted by on April 2, 2013 in Uncategorized


Tags: , , , , , , ,

Objects and Methods made my head swim – but not any more!

I’ve really been struggling with understanding objects and methods from my work on codecademy. Although it is a great site, because it is crowdsourced teaching, some topics just don’t get the best treatment. It’s not all that common to haveImage someone who knows how to do something well and have them also be able to explain it well to a student (just ask some of my poor victim / students from my first several semesters teaching).

Nevertheless, I trolled through some of the Q&A sessions looking for a good explanation of the material I was struggling with and couldn’t find anything that answered my question very well. What I did find, though, were some decent pieces of ideas that I thought I could combine into a more comprehensive bolus of work that reviewed the topics I just covered, provided some practice working with objects and methods and even a switch statement.

Here’s the setup:

Shermer High school. A couple famous students go there and we can make up Objects representing each of these students using a constructor. Also, each of these students has a brand name jacket that they cherish and these are also created as objects. So the twist is: we’re creating objects(Persons) who have other objects(jackets) as one of their properties. Furthermore, to make this exercise include methods as well, I’ve added ‘wash’ and ‘sew’ methods. Each time one of these methods is carried out, the jackets are changed (e.g. when you wash a jacket, you lose a button. When you sew a jacket, you add a button).

What I wanted to accomplish was to make these objects and methods and learn how to call them so that they carry out their work. Presented below is this program with some annotation and console.log statements that should clear up what’s going on.

Please let me know if this is helpful to anyone – or if this could be cleaned up and done in a more clear and concise way.

// Constructor to make jackets
function Jacket(brand){
case jordache:
this.make = “Jordache”;
this.buttons = 5;
this.color = “blue”;

case gap:
this.make = “Gap”;
this.buttons = 2;
this.color = “brown”;

case oldNavy:
this.make = “Old Navy”;
this.buttons = 3;
this.color = “white”;


//constructor to make people
function Person(name,age,brand) { = name; //unique
this.age = age; //unique
this.brand = new Jacket(brand); //object = “Shermer High”;    //constant
this.sayHello = function(){
console.log(“Say Hello to ””, student at “;
//method that washes jacket – loses a button each time
this.wash = function(){
console.log(“You just washed “ +”‘s Jacket.”);
this.brand.buttons = this.brand.buttons-1;
console.log(“That jacket now has “+this.brand.buttons+” buttons.”);
return this.brand.buttons;
}; = function(){
console.log(“You just mended “”‘s jacket.”);
this.brand.buttons = this.brand.buttons +1;
console.log(“That jacket now has “+this.brand.buttons+” buttons.”);


// Make three people using a constructor
var geek = new Person(“Anthony Michael Hall”, 14, oldNavy);
var girl = new Person(“Molly Ringwald”, 15, gap);
var caroline = new Person(“Caroline”, 17, jordache);

//now complete with uses of these objects and methods
console.log(“Getting started”);

console.log( ” has an awesome “+girl.brand.make +” jacket.”);



Tags: , , , , , , , , ,