A Rumination on Science and Education

September 7, 2011 8:21 pm

I'm currently reading a biography of the physicist Richard Feynman (by James Gleick).  So far it's excellent.  What I'm really fascinated with right now is (at least how Gleick portrays) the progression of science during Feynman's schooling years (the mid to late 1930s).  The number of high caliber physicists at the time (and the time just leading up to it) is astounding: Einstein, Bohr, Rutherford, Heisenberg, Dirac, Lorentz, Schrödinger, De Broglie, Fermi, Oppenheimer, and I'm probably missing some still.  Those guys are each incredible scientists in their own right and it's no wonder the understanding of physics changed so dramatically during the 1930s.  The only comparison I can think of is the progression of art during the European Renaissance.

As I'm reading, I can't help but wonder about what set apart that time period in history from anything since in terms of scientific progression.  Computer Science has a similar vein of tumultuous rapid progression during the era of Turing, von Neumann, Dijkstra, Gödel, Church, Cook, Levin, Kleene, Shannon...But as I'm looking at it, most of these pioneers (in fact, all but Dijsktra) were essentially contemporaries of the physics revolution being discussed.  They all would have been products of the same time period of schooling (whether in the U.S. or Europe).  Which further raises the question of what was so different about the education systems through which these incredible people went?

Sadly, I don't really have an answer.  But if we're looking to reform our education system for better results, what better goal than to figure out what was happening in education from about 1910-1935?

But then, maybe it wasn't the education system at all.  Maybe it was the societal mindset about learning and discovery.  Maybe it was simply that the education system and society didn't inhibit the intense drive for understanding and innovation that these people felt.  Quoting from page 63 of the book (Genius: The Life and Science of Richard Feynman):

At MIT in the thirties the nerd did not exist; a penholder worn in the shirt pocket represented no particular gaucherie; a boy could not become a figure of fun merely by studying....America's future scientists and engineers, many of them rising from the working class, valued studiousness without question.

If this is an accurate portrayal of the time period, it certainly helps explain to me why so many incredible scientists were produced during that era.  Gleick describes in one passage of how Feynman and many of his contemporaries grew up reading the Encyclopedia Britannica eager to learn more about the world around them.

They tinkered with, broke, and repaired things--something I think is rarely encouraged these days.  I know this is one of the ways I developed my own interests in science and computers.  I wanted to learn how things worked, so I played with them, changed them, broke them, and attempted to repair them (sometimes successfully).

People are inquisitive by nature.  I think we, as a society, are getting far too good at crushing that inquisitiveness with standardized lesson plans which allow no room for deviation to follow student interests, standardized pedagogy which insists all students learn in the same way, and standardized tests which demand that all students regurgitate their "knowledge" in one, simplified fashion.

If there's one thing I learned in the years I worked as a T.A. it's that students assimilate information in incredibly varied ways.  Its hard to come up with new approaches to the material on-the-fly in order to try to help the student make the connection.  But if you don't, and instead insist on "the one true approach" to the material, the student will fall behind, become discouraged, and lose interest in the subject matter.

We need to encourage the asking of questions and the seeking out of answers by research, experimentation, or otherwise.  We need to foster the innate curiosity, creativity, and inquisitiveness that children have.

I'm not so concerned with the mindless consumption of media or playing of games because our minds need downtime to process and assimilate the world around us.  However, I think the hours spent watching TV and browsing the Internet are more of a symptom than a cause; in that we still seek out "new" things, just in a manner that parents aren't worried about anyone getting hurt or anything getting broken.  But situations where one might get hurt or something might get broken are, by far, the most likely situations where we might actually learn and remember a lesson.

Sadly, blogging is just one of the things I'm behind on...

September 6, 2011 7:03 pm

I'm gonna try really hard to remember things now. It's hard when you're pregnant.

I finally got my windshield replaced! I got a letter from Babies R Us corporate, asking for two printed estimates to get the work done, so I sent those off and got a check back from them a week or so later. So I got it replaced, about 3 weeks after the damage was done. Not too shabby!

The next day, I went to the dentist and it was not nearly as bad as I feared.

Cub Scouts has started up again for the year. We now have 4 den leaders, which is good because we have a large den and, of course, I'm going to be out for a while. We've got our year all planned, though, and I think it's going to be great! I'm in charge of keeping track of the boys' progress, though, and it's kinda tricky sometimes. The power of spreadsheets will get me through!

I was scheduled for jury duty on Sept. 1 (actually, that was after one 6-month postponement b/c they wanted me to report while we were going to be out of town), and I was really not looking forward to it. I very much did not want to drag my 8-months-pregnant self out to Oakland. But it worked out: I didn't end up having to report at all! Score.

I've had a couple more doctor's appointments since I last blogged, but everything still looks great. The baby is measuring right on schedule, and I'm doing really well (though gaining too much weight—ugh!). I love getting a clean bill of health for both me and the baby! (Which is not to say that she's not causing me a fair amount of pain and discomfort, but if she's healthy, I guess it's worth it. Too late to change my mind now anyway, right?) I have one more ultrasound scheduled for 9/21, and hopefully it'll show that's she's growing just right and is in a good position. I'll be almost 36 weeks then. Oh, but get this: I have an appointment set up for 9/28 (with a midwife, not my OB, since if everything continues to go smoothly, it'll be one of the midwives doing the actual delivery, not an OB), then my next one is 10/17...and then my due date is 10/21! Gah! Only two appointments left before my due date? This is coming up fast!

Our apartment manager called last week to say that a 3-bedroom apartment was coming available! Yay! Except that it's upstairs and facing N Livermore, a very busy street. So my unreliable knees and I would be lugging baby & gear up and down stairs all the time, and we'd never be able to open our windows because of the street noise. And although we really want that additional bedroom, we've decided we don't want it that badly. So we passed on it, which means that...

...we spent our Labor Day holiday doing more work in the nursery-to-be. We got two of the bookcases out of there a few weeks ago, but the other three still needed new homes, and the remaining furniture needed rearranging. For a while there it was a game of musical piles of stuff, but we did it! All the bookcases have been ensconced in various corners of the apartment, the printer now lives atop Kyle's desk (which is still in there), and the crib, changing table, and awesome glider my parents sent are all in their places. We even left room for the dresser we do not yet own (well, sort of—there's currently a pile of miscellany in its place, but we hope to find homes for that stuff soonish). So everything that we have for the nursery is in its place; we just need to get that dresser and figure out where things are going on the walls. Oh, we also did those minor touch-ups on the used furniture we bought and got the crib side all immobilized and stuff. (Kyle also finished repainting our kitchen table and chairs, and they look so much better now!) I feel so relieved to have that room organized. Phew!

I think that's enough for now. Also, I can't think of anything else.

Grails oddity

September 1, 2011 3:51 pm

I've been working on a bug for most of the day today.  From all of my understanding this bug shouldn't have been happening.  This is always a pain because it means something is, obviously, wrong with my understanding, but because of that I didn't know where to look.

The issue was that I was getting an unsaved transient object instance error when I tried to save updates to an object from a form.  My issue with it was that I wasn't creating any new objects in my Controller code.  If I'm not creating any new objects, how can there be a unsaved transient?  And thus I spent a few hours learning through fiery trial-and-error, because I couldn't find anything that would actually tell me what object was transient or where it came from.

The solution to this problem was in some of Grails' behind-the-scenes, automagic data-binding.  Normally you can data-bind an associated object using a field in your form with a name like "associatedObject.id" and then Grails will automatically setup the relationship for you when you bind the request parameters to your object.  What I've now discovered is that Grails will also attempt to look up an associated object if you have a field in your form with a name like "associatedObject" even if you don't use it for anything, and when it fails to find the object it creates a transient for you.

I needed to do something special with that field so I was using "associatedObject" instead of "associatedObject.id" and then in my data binding I was excluding that field from the binding:

bindData(objectInstance, params, [exclude:['associatedObject']])
objectInstance.save(flush:true)
-- unsaved transient exception

Again, the unsaved transient was an automatically created object that Grails created when it failed to lookup a match for the "associatedObject" field--this is regardless of the fact that I never actually tried to use that field for anything yet.

So I had to change the name of the field to something else, let's say 'assocObject'.  And once that's done it's perfectly happy to do what I want:

bindData(objectInstance, params)
objectInstance.save(flush:true)
// Saves successfully

Just thought I'd throw this out there since I spent several hours of my life discovering this little nuance and wasn't able to find any useful information on the Internet.  I just wouldn't have expected Grails to create a secret object behind the scenes like that when I never actually tried to use the value for anything.  Sure, if I attempted to bind it, great, work your magic; but if not, I wouldn't expect it to interfere.