Thursday, December 22, 2011

Origin of Species - Introduction

Off I fly, careering far
In chase of Pollys, prettier far
Than any of their namesakes are
—The Polymaths and Polyhistors,
Polyglots and all their sisters.
~ Thomas Moore
What I am immediately struck by is the ease and accessibility of Darwin's writing.  He cleanly and concisely lays out his motivations, reservations, evidence, and thesis.  I think I assumed a more academic style of writing common to the philosophers of Darwin's day. 
I am fully convinced that species are not immutable ... I am convinced that Natural Selection has been the main but not exclusive means of modification.
~ Charles Darwin, Introduction p. 14-15

Polymathic Ramblings

Inspired by this post from the great Neil deGrasse Tyson, I have decided to liberal up my education.  As a lowly engineering and computer science major I am afraid my liberal arts upbringing was limited to 1 credit of economics and half a credit of psychology.  After perusing the list I mentioned above, I discovered The Harvard Classics (which I'm amazed I had never heard of before, Internets you have failed me).  Armed with my shiny new Playbook with Kobo e-reader and the brilliance of Project Gutenburg, I shall set out to polymathisize myself and complete my own education.

On an education related note, I've been wondering a lot about all this talk of 'saving' education.  I still don't think we really know what we are saving education from or what we want it to look like.  Where better to start then with what an ideal student would be like upon leaving school.  What do we want our students to know, to know how to do, and to understand.  I think much of the knowledge contained with Neil deGrasse Tyson's book list and the Havard Classics should be in there.  So, this is also a bit of a proof of concept.

My goal is to read a bit of a book every day and blog about it here (or elsewhere if I can think of an awesome name for the new blog).  I figure that may keep me honest and help me digest what I have read.  I have decided to begin with On The Origin of Species By Means of Natural Selection

Tuesday, August 2, 2011

Preschoolers demonstrate scientific experimentation


I tweeted a review (Wired) of this article: Where science starts: Spontaneous experiments in preschoolers' exploratory play (1). I managed to secure a copy of the article (perk for working at a college) and just finished reviewing it and felt the need to share it with the world.

The study looked at preschoolers (mean age: 54 months) to see if they could isolate variables of a system to infer information about that system (i.e. apply the scientific method) when the probability of information gain is high. Their approach involved a toy that was activated by placing coloured beads upon it. Some of the beads would activate the machine (i.e. it would light up and play music) and some would not. The participants were divided into two groups: the all bead and the some bead conditions. In the all bead condition, the participants were shown that all the beads caused the machine to activate when applied individually. In the some bead condition, the participants were shown that some of the beads caused the machine to activate. They were then provided with two sets of beads (in pairs): one set could be pulled apart to test individually whereas the other had been glued together.

Nearly half of the children in the some beads group tested individual beads in the machine whereas only 5% (1 child) did the same in the all beads group. However in both groups the amount of play with the machine was the same (i.e. the some beads group did not use the machine more and thereby test individually through random chance). In fact, some of the children actually performed a test that the experimenters hadn't thought of; namely holding the stuck pair vertically to test it one bead at a time.

This prompted the investigators to create a second experiment where both sets of beads are stuck together. The results in this experiment were very similar to the first in that nearly half of the some bead group tested the machine by varying contact with the beads.

So what does this mean. Well, what it doesn't necessarily mean is that children are born scientists. What it does mean is that in isolated environments with limited distractions (i.e. limited variables) and limited information (i.e. high probability of information gain), preschoolers tend towards a systematic experimental approach. The authors quickly and rightly note that the current research indicates that this is not true when the systems approach real-world systems with greater complexity.

What does this mean for teachers? Well, it appears that children have an innate sense of experimentation when not overwhelmed by other task demands and there is the potential for information gain. I feel that this should be nurtured with simple experiments that are then discussed and dissected to help develop the habits of mind of successful scientists and critical thinkers. Additionally, there should be teacher led experiments that are more complicated and would overwhelm the students if done alone. This allows for the teacher to model the proper process to the students.

One conclusion that I am tempted to jump to is to bemoan the loss of this 'gift' that students are born with. However, to extrapolate this experiment and apply it to older students or adults would be wrong. I would like to see a similar experiment done with those age groups. My hypothesis is that we would see similar results. So it is not that students lose this basic innate experimental ability; it is more probable that we are not nurturing this skill and helping it grow into a viable ability.

What we need is science based education and critical thinking being taught in primary school and continuing along until high school. Additionally, we need to begin differentiating between teaching science (i.e. the subset of facts and knowledge the scientific method has garnered for us) and teaching with a science based education (i.e. learning to utilize the scientific method, rational thinking, critical thinking, and logic). As the (paraphrased) adage goes: If you teach a student some knowledge, they will know it for a day; if you teach them to think, they will learn for a lifetime.


  1. Claire Cook, Noah D. Goodman, Laura E. Schulz, Where science starts: Spontaneous experiments in preschoolers' exploratory play, Cognition, Volume 120, Issue 3, Probabilistic models of cognitive development, September 2011, Pages 341-349

One note: the authors of the study did receive a grant from the John Templeton Foundation however, having reviewed the study (with my limited knowledge of cognitive theory) I don't see anything fishy going on.

The Damon Supremacy

I thought I would jump on the bandwagon about this clip of Matt Damon trouncing a reporter after his keynote address:



This put a huge smile on my face. His rebuttal of the inane question from the reporter was not only accurate but had enough snark to cause wincing. At approximately 10 seconds you can see his face go transition from polite question answering mode to ass kicking Jason Bourne mode.

I want to focus on the camerman's question about "Aren't 10 percent of teacher's bad". Anytime someone throws out 10% you want to be careful as it tends to indicate a made-up statistic (approximately 10% of the time). Even if 10% of teachers were bad (which I am not arguing, it could well be true) it has no bearing on punishing the teachers that are good. All professions have people that perhaps would be better doing something else; that does not imply that the skilled, productive members should be penalized. This is an example of a straw man which Damon handles beautifully by attacking the cameraman directly.

I was curious about the reporter's affiliation. Her mic indicates reason.tv so I looked them up and discovered ... libertarians ....

Tuesday, July 26, 2011

Teachers, Technology, Skillz, and Bieberfever: Reflections from #edchat

After participating in #edchat tonight I felt I needed to get a few things out. The topic for tonight's episode was "What amount of tech should be a requirement for every teacher to know? Are there any specific core applications for teachers?".

My first concern stems from the topic itself; its wording tacitly implies that technology is necessary to be a good teacher and therefore teachers that do not use technology cannot be good teachers. It also implies as a corollary that we must be utilizing technology in teaching. I don't think I have ever heard a solid argument as to why that must be the case. The most common arguments I hear are that "Students use technology so we must use it as well", "It makes education relevant to the student", and "It is required for a 21st century education".
Justin Bieber, technology, and pointing: it doesn't get any more relevant than that
The first argument is fallacious and is known as the argument from popularity (Argumentum ad populum). The basic idea is that many students use technology therefore technology should be used in education. It is a false premise because mere belief in something does not indicate it is true. Many students like listening to Justin Bieber*, it does not mean his music is worth listening to.

The second argument is also fallacious as it assumes that the combination of technology and education will maintain the relevancy that the technology provides alone:

A. Technology is relevant to students.
B. Students like things that are relevant.
C. Therefore teachers should use technology so students like education.

By accepting this argument you tacitly accept that anything that is relevant to students should improve education. Many students find Justin Bieber relevant, but it doesn't mean I am going to get Bieberfever in my science classroom*. Many students find exploring the outdoors and nature to be relevant until you require they learn about it in class. Obviously the way the lesson is taught has a great bearing on how the students will react, but that is an issue of pedagogy not technology.

The final argument implies that in the 21st century we use technology so therefore to exist in the 21st century you must know how to use technology. Once again it implies a causal relationship where there may not actually be one (and employs the logically fallacy known as affirming the consequent). The additional aspect to this argument I hear is that we must prepare students for jobs in the 21st century; jobs that do not exist yet that arise from problems we haven't stated yet. They then argue that teaching knowledge is ineffective because it will have changed by the time the students obtain these future jobs. However, the same can be said regarding the technology: it will be entirely different when the student leaves school and begins working/seeks higher education. The argument can be made that learning how to use today's technology provides a base for learning tomorrows; which I would agree with. However, that implies that learning today's knowledge provides a base for learning tomorrow's knowledge as well, which puts us back at square one. The argument also implies a teaching of technology for the sake of technology which leads me into my next concern: the lack of a clearly stated goal for teaching with technology.

It appears to me that we are integrating technology because it is there. Many mention the importance of ensuring the technology is used in accordance with proper pedagogy, a statement I couldn't agree more with. But there is so much more talk regarding how to use tech and very little regarding pedagogy that I worry that last statement is lip service to a degree. So to rectify this I will attempt to take the arguments I have listed and synthesize a goal for the integration of technology.

The main argument is preparing students for the future, so we will start there. The question that must be answered is what will the future look like. The only assumption I can start with, is that there will be people (because if there are no people, this argument is moot). So, what can we deduce if we assume that there will be people (in brackets I list the skills I believe are needed to accomplish the task/goal):
  1. People will wish to communicate with each other (communication skills)
  2. The communication will cause ideas to be generated and problems to be discovered (creativity and problem solving skills)
  3. The problems will require solutions (creativity)
  4. The solutions will require the application of new/unknown knowledge (research methodologies)
  5. The solutions will require analysis (skepticism and rationality)
To me this is what needs to be taught to be ready for the future. I group these fives items (communication skills, creativity, problem solving skills, research methodologies, and skepticism and rationality) and entitle them critical thinking skills (although you could as easily call them learning skills).

Now no where in my listing I have noted technology. This implies to me (and I am biased as I created the excellent listing above) that technology is not a skill per se but a tool to be used to facilitate the execution of the skills. For example, if you needed to nail two pieces of wood together you could use a hammer or a nail gun. However, to use the tool properly I need to know why I am nailing the wood together and what the final product should look like; the technology will not show me that.

To bring the analogy to education, we can't know what tech to use until we understand the problem we are attempting to solve with our teaching. By assuming the solution will require technology we limit the number of possible solutions and stifle our creativity. The solution we arrive at may not be the most optimal or even a valid solution. Instead we need to add technology to our toolbox and utilize when the problem indicates it is required.



* Shameless SEO plug
* I promise to stop now, that should be enough to get this post on page one of Google.

Tuesday, June 28, 2011

If I Didn't Jump to Conclusions, I Wouldn't Get Any Exercise ...

I've been pondering why my students neglect checking the simple possiblities when their programs stop working. They always seem to jump to the possibilities that are more elaborate and therefore less likely. I was pondering this when I had my own jump to big stuff moment *cue transistional wind chime back-in-time music*

I was driving in my vintage '98 Grand Am (I know jealous), when I heard a clunking sound from the back. So I turned off the radio to listen more closely, at which point I became distracted by my own deep thoughts. About 5 minutes later I realized I didn't have any music which made me distraught. So, I immediately starting playing with my radio assuming that it had died. I tweaked the volume, changed the station, changed to AM and back to FM (I know I still listen to the radio), and was about to bemoan the death of my radio when I recalled turning it off. With a sheepish triumph I pushed the ON button and was graced with soft melodies.

So, it would appear that jumping to the worst possible conclusions is something I am guilty of too. I am sure this is an identified bias that humans suffer from but can't for the life of me remember which one it is. Luckily the first step to absolving a problem is recognizing you have one (even if you can't remember the name of it, which I guess is another problem ...)

Teaching Programmers ... or Programming Teachers?

So, I've been struggling lately with deducing the best* way to teach computer programming. So far, I'm at a bit of a loss. From my exhaustively intensive Google searching, I have deduced that there is not much out there regarding teaching computer programming/science. It appears that either everyone already knows how to do it, or everyone assumes they know how to do it. Being as I've assumed that I don't know how to teach it, I'm up the proverbial creek without a paddle.

So that leaves me with the task of creating a paddle for this creek (and that is where the analogy ends before you throw me overboard **). I will begin by recounting my current approach to teaching CS and proceed from there:

1. I lead in class 'tutorial' sessions peppered with lectures. I try to keep the lecturing (i.e. directly disseminating information without the students programming) short to focus in on solving a coding problem together.

2. In terms of assessment, my courses have exams (1 if the course is under 3 weeks, 2 if longer) and projects (open ended, PBL style). I have recently started adding in assignments, which are coding problems that are laid out for the students.

3. My class runs for a 5 hour block, Monday to Friday (which is a lot of time to teach).

4. I've started adding in what I call 'Quick Checks' which are questions related to the theory of what we are covering, but unrelated to the problem we are solving (they are meant to help the students pull out the concepts being used to solve the problem).

Now that that is out of the way, here are my observations thus far:

1. It recently dawned on me that my approach of 'live-coding' is really no better than having the students copy copious amounts of notes from the board. I believed that since they were coding (and therefore doing) it was a good approach. However, I have been finding that the students are just copying the code down without applying much thought to the process. So, problem 1 is to find a way to rectify that while still covering problems that are interesting and applicable to what they will face in the job market.

2. The Quick Checks have shown me that the students have difficulty separating the logic of the solution from the scenario of the solution. I think that they see them as the same thing. This is of course highly detrimental to coding, as coding is problem solving which is the act of applying similar thinking to new problems. So problem 2 is finding a way to separate the ingredients from the recipe.

3. The open-ended projects (which are meant as a means to explore the topics covered in course and create items for their portfolio) tend to be highly derivative of the examples I do in class. I feel this reinforces my conclusion drawn in 2 that the students have difficulty separating the logic from the solution.

4. There is still a problem with the terminology we use (i.e. methods, functions, constructors, parameters versus arguments) as well as problems with writing proper syntax. Along the same thread, some students are still having trouble formatting their code neatly (which I am a huge advocate for). This makes it much harder to learn the more challenging problem solving skills as the they are still grappling with the language in which the solution is framed.

5. There is difficulty in remember what we have already completed on the current problem. This is challenging as we often try to reuse code to minimize the amount that needs to be written. However, if you don't recall what has already been done, it is difficult to reuse it or even move forward. I find this also translates into not knowing what the program should be doing when we test it.

In regards to solutions, unfortunately at this point I only have ideas. My biggest worry about implementing changes is my own bias that the changes are effective/ineffective. I need a metric to indicate if the students are actually benefiting. My thinking is something similar to the Physics based Force Concept Inventory, however I cannot find an equivalent one for CS. Since my courses are over so quickly and then we are changing topics/programming language it is difficult to use my exams as a means for assessment (although I have ideas along that thread).

So, at this point dear reader I leave you as puzzled as I am; hopeful that you are intrigued to find this solution (or at least awake). I will leave scribblings on my ideas to future posts.


* best is a fairly loose word to use here, I know ... tsk tsk

** that is the actually end of the analogy, the first was a blatant lie.

Tuesday, March 29, 2011

Installing XAMPP as a Portable Application

This tutorial will take you through installing XAMPP (Apache Server, MySQL, PHP, and Perl; the X is to indicate it is cross-platform) as a portable application on a USB drive. To complete this tutorial you should have a USB2.0 drive with at least 500 mb of free space available (I recommend a minimum of a 2Gb drive dedicated to this purpose).

We will be installing XAMPPLite as it is a bit smaller (approximately a quarter of the size at 277mb) of the current full install of XAMPP and therefore better suited to run off a stick. There is no XAMPPLite at the current version release of XAMPP, so we will download and install the last release (1.7.3).

Download the file from:

Once downloaded (the file is only 28.4mb) run the file.

This window will appear. Ensure that your USB drive is plugged into a USB port on your computer. Select the letter assigned to your drive for the Destination folder shown to the left. Click on the Install button and go put your feet up for a bit (it will unpack the files to your drive which should take approximately 20-30 minutes).


Once the unpacking is finished a command prompt window will open and ask a series of questions:

  • Should I add shortcuts to the startmenu/desktop? (y/n)
Choose n (no) here as this is a portable install and you probably won't run it off this computer on a regular basis (otherwise do a normal install of XAMPP or a similar program).
  • Should I locate the XAMPP paths correctly? Should I proceed? (y/x=exit setup):
Choose y (yes) here as this is not really much of a choice (and is necessary for any install of XAMPP).
  • Should I make XAMPP portable without drive letters? Your choice (y/n):
Choose y (yes) here as USB drives can be assigned a different drive letter depending on what is already installed on the host computer. This will allow XAMPP to work regardless of the drive letter on the USB Drive. However, you will have to manually start XAMPP to work with it off the stick (as it will not be a service). This will be covered in the next tutorial.

You should now receive a number of lines indicating that programs are being relocated followed by a message saying that XAMPP is ready to use. Press the enter key to move to the next step.

XAMPP then indicates that it set the time zone for you and where to go to change that later (once again a future tutorial).

At this point you are presented with a menu of options. Choose x to exit the menu. Congratulations you are now the proud owner of a portable web server.

Thursday, February 3, 2011

Walking the Talk

There has been a lot of chatter on the Twitter about life-long learning and how we embody that as professionals and instill the same into our students. It is very easy to say you are a life-long learner and perhaps just as easy to extol the virtues of it to your students. However, I find when trying to instill new habits, a little bit of modeling can go a long way.

If you want your students to become life-long learners you need to not only talk about it - you need to demonstrate it. Start the class with a comment like "I just found this yesterday ..." or "I just learned about this and wanted to share it ...". Show students that knowledge is not something that can be amassed and then ignored.

So, to ensure that I walk my talk I have decided to add a weekly post summarizing the best design and coding resources I have stumbled upon during that week. I normally post them to my class wiki site however things have a way of becoming buried in there.

So what do you think? Is this an idea you could adapt to your classroom? How else can you show your students the benefits of life-long learning through not just your talk but also through your actions?

Resources of the Week - Feb 4/2011

Here are the best design resources I found while surfing this week:

General Reading:
5 Pitfalls to Avoid for New Web Designers from webdesign tuts+

How to Tell When Your Rates are too Low from FreelanceSwitch

16 Useful and Free eBooks for Web Designers and Developers from Skyje

Inspriation:
The Crazy Evolution Of 10 Major Brands' Logos

Tutorials
Best of the Web - Jan 2011 from psd tuts+

Photoshop Basix video tutorial series from psd tuts+

Futuristic Space Scene from PixelTango

Freebies:
150 Free Business & Application Icons from graphicriver

30 Fun Free Blogger Templates from Tintation

Friday, January 28, 2011

An Introduction to Glogster

Note: This is an accompaniment to my article Word Clouds, Collages, and Glogs - Oh My! published in the January 2011 issue of STAO Crucible.

Glogster EDU is a website that will allow you to create interactive posters. Sign-up is free and as an educator provides you with the ability to create student accounts.

Upon arriving at the Glogster EDU site, choose Register from the top right corner. Fill out the details to create your new Glogster account. You will then be taken to your personal dashboard.

Here you can create a new glog by clicking on the Create New Glog button near your profile description (note that Glogster requires you to have Adobe Flash Player installed). This will present you with a blank 'canvas' upon which to create your new masterpiece


.



The toolbar on the left has a variety of built in graphics, text layouts, images, and backgrounds to play with. You can also add in video and audio or other files (such as .pdf) on the wall. Finally the Draw option allows you to do whatever you like by painting on the screen. You can give your glog a name at the top of the screen and choose Save Or Publish to either save your work or publish it to the public gallery.

Glogster provides a unique way for students to express themselves graphically. It is fun and easy to use. So what are you waiting for ... get glogging!

Wednesday, January 26, 2011

An Introduction to Wordle

Note: This is an accompaniment to my article Word Clouds, Collages, and Glogs - Oh My! published in the January 2011 issue of STAO Crucible.

Wordle is a website that will allow you to create word clouds. There is no sign-up necessary (or available at all) and the site is completely free.

Upon arriving at the site you will see some of the latest creations made by users of the site. Click on Create your own (marked by red arrow) to begin your masterpiece.

You will then be prompted to paste in a block of text. Wordle will analyze the word frequencies in the text to produce the word cloud. Words that appear more frequently will appear more prominently in the cloud. Press the Go button after you have entered your text to create your Wordle.

Along the top of your Wordle you will find options that allow you to tweak the design a bit (by adjusting font, colour, word layout). However, you will find that the overall design is produced by the site and is mostly random.

When you are happy with the final product you have a couple options to preserve it for posterity. There is a Print button just underneath the Wordle. If you have the ability to print to PDF (CutePDF is free software that will allow you to do that), you could save it that way. The other option is to use the Print Screen button on your keyboard (normally located in the upper right portion of your keyboard; on some computers needs to be coupled with CTRL or FN to work). You will have a copy of your scree placed on your clipboard. You can then paste it into either a picture editor (like Microsoft Paint) or a word processor (like Microsoft Word) to edit it.

That is about it for the site. It is extremely easy to use and can be a great way to review vocabulary for a unit. One last item to mention would be the advanced options (available from the menu bar at the top of the site). Here you can enter words with a numerical weighting. Words with a larger weighting will appear larger in the Wordle.

Finally, a Wordle I created with the text of this article (a meta-Wordle perhaps?).

Thursday, January 13, 2011