Monday, December 22, 2008

Capriciousness is not a Pedagogical Virtue

I have an unfortunate difficulty in finding philosophy professors who can teach. Fortunately, I'm not a philosophy major. My experience in this area is somewhat limited, only having attempted to take two such classes, but so far I'm down two for two.

The first time was a class titled "Logic", ostensibly on logic, which turned out to be on informal discourse instead. This was bad enough, but the instructor's dead-pan delivery, rote reading of the textbook, and consistent inability to answer questions told me everything I needed to know. I dropped the course, because it had nothing to offer.

The second time was a class titled "Logic", which turned out to actually be on the subject of formal logic. It might not have been so bad, but the instructor's dead-pan delivery on the first day made the warning bells flash. Having already scoped out the topics on the syllabus and the book, I felt that this time, at least the course content was in the area. Additionally, the instructor seemed to know the material at a deep level... to the point that he would flip between multiple notations and have to correct himself midstream. I thought he had something to offer, even if he gave a droopy presentation that day.

I was right, he did seem to know his stuff. He also had something to offer and genuinely seemed interested in having the class perform. But I was also wrong, in that there were factors other than casual interest and long-term experience that determined the effectiveness of the instructor and class outcome. Specifically -- looking back on it -- a capricious instructional philosopy coupled with apparently conflicting interests and college commitments precluded a good learning outcome.

Regarding conflicting interests, students have them too. Yet when an instructor has them to the point that he fails to instruct, it impacts everyone.

Several students began to question his commitment to the class, as they observed that he was not familiar with what was in the course book and evidently had not taken the time to familarize himself. He admitted as much in class on more than one occassion, saying that he had some sort of college related work to do. Two hand-in homework assignments were given in all the semester; the first was not graded before the mid-term and the second was assigned and handed back only a few days before the final.

Again, the reason was that he was too busy. Whatever the cause he put a low priority on outside time spent on the class.

His instructional method was easy to follow, but mainly because it was "extensively shallow" and presented no organized material. That is, class time consisted almost completely of an ad-hoc question and answer session where a few students would say "Question blah" and he would then start to work the question. But he used vague, imprecise language, ambiguous wording, with lots of verbal hand-waving about results and methods, and abruptly halting mid-stream with a "well you can figure it out from there" gesture. (On the plus side, he would usually complete a proof and restate it more clearly when asked to do so.)

The class could be thought of as "rubric free" in the sense that the instructor's expectations and the guidelines by which we should judge our own progress were not clear. In short, students were told to read the book and do as many of the section problems as possible and then come to class with any questions. As mentioned he did not seem to be interested in presenting the material in an orderly manner: he was only ever prepared to do so a couple of times during the course. There were only a scattered handful of what might resemble lectures based upon hand-outs, but those were poorly organized cut-and-paste jobs presented with odd language variations and frequent mistakes. After years of instruction in this area one might think that an instructor would have developed supporting materials that were clear and consistent; that did not appear to be the case. Several of the formal definitions left me and my peers searching for the question intended to be answered, let alone the proper mode of answering. Some of this was no doubt a fault with the textbook, but even staying on track with the book was difficult because the class time didn't track the readings. One never knew where the class was at, and the classtime in general did not contribute to learning.

That this instructional method was not sufficient for most students was strongly suggested by the failure of almost all of the students on his mid-term. Yet the methodology behind his test was itself unpredictable. He rejected valid answers for unspecified reasons. There were to my knowledge no partial credits and few constructive remarks given. The hand-in homework was of course useless for learning since none was graded or returned in a timely manner. A peer remarked that upon handing in a remake answer identical to one marked incorrect on the mid-term, the instructor checked it off at full credit. This suggests that the instructor was not committing the necessary amount of attention to grading the tests, but simply scanning and crossing off answers.

Both the mid-term and final exam were presented with unfamiliar language -- not used in the text, homeworks or in class time -- and with problems that were largely not representative of the kinds of challenges we were presented in class or in homework. This capriciousness may be a worthwhile quizzing or homework strategy for a logic class to reinforce the ability of the student to translate. Yet when this is not regularly reinforced with taught techniques during the course it serves no purpose in the testing except to disrupt the students' thinking.

The best way to summarize his instructional philosophy was "capricious".

Some students are slackers, and cannot be helped except through a psychological breakthrough. Others "just don't get it" because the material is too far removed from their prior experience. The instructor's approach appeared to be aimed at these students, but it evidently failed to bridge the gap. Many students like myself devoted significant amounts of time to study but felt the effort was not reciprocated by the instructor's dedication of his own time to the course. The lack of organization and structure in class time left us with little direction on what was important, where to focus our effort, or how the topics fit together meaningfully into a solid body of theory.

Personally I felt it was a disservice to the students. I've seen valid uses of randomness before in an instructional environment, but deliberately choosing to use randomness is not a substitute for adequate preparation and is no excuse for poor organization and a hand-waving lack of rigor.

Incidentally, I got an A+ in the class but the capriciousness of the instructor's pedagogic approach left me feeling that I should have dropped the course and focused on other studies.

Tuesday, October 21, 2008

Time Management Part II

I'm watching a recorded NC State video on entrepreneurship, by a guy named Doug Kaufman. He mentions that he used to work at Blackboard as the Director of Product Development. I'm interested to learn that he has a PhD in psychology, which makes sense given the social and individual dynamics of the services being offered in that market.

Kaufman also mentions that while at Blackboard, customers made him aware of various problems, one of which was that people had to continuously check back to see if their grades had been posted. His take on a solution was phone-based text messaging, which certainly could have some appeal to the masses of text-messaging teens.
The response by Blackboard developers to such requests in general, he indicates, was, "it isn't possible". This is the normal give-and-take. (between idealistic or ignorant product management and developers in a recalcitrant and reactionary development team?) I'm not so sure I'd want to have my school spamming me with text-messages when they cost me money, but certainly Blackboard had other options, and many more now, including email and ATOM/RSS feeds. The Blackboard issues I discussed in the earlier post are there by neglect. Blackboard doesn't "get it".

So now he's talking about exploratory work and prioritizing, and the drop-dead requirement stated by clients to customize -- which then nobody used. In other words, they did big-up-front development instead of incremental refinment in an iterative feedback loop; Kaufman's thought is that they simply should have said "no", implicitly taking the boolean decision premise of big-up-front development. Yet he goes on to observe that you need to deliver something despite imperfections, because feedback and iteration with a real product is critical. Kaufman gets it.

But I'm an older student, and text-messaging isn't really my thing. For one thing, I just don't like paying a network company these one-off charges for services -- basic cell service is enough and I want my monthly cost to be the absolute minimum. Also, I like "audit-ability", or the ability to go back and store stuff for review later, and with regard to the phone services their whole point is to encapsulate your information in their device and to export it from their services costs money and effort. That, to me, is worse than having to go to a PC to access email or browser to communicate. I want to see generic hardware using an undifferentiated network, with the software providing the differentiation. I'd rather have my phone be mostly a Star-Trek communicator style device (instant talk to people I know) with some of the other core features of cell phones.

Tuesday, September 16, 2008

Time Management Vs Just In Time Class Schedules

I'm just so-so with my time management. A lot of my work is thinking, which takes long uninterrupted stretches of time, and the ability to put distracting thoughts aside. So when there are a lot of interruptions or suddenly important demands, it messes with my mind. Time slicing isn't really conducive to productivity anyway, but planning ahead mitigates some of the distraction and allows you to allocate time in good sized chunks.

A really irritating practice is when instructors at the college level (many of whom have taught a given course for decades) say they are going to announce assignments and due dates on the Web at some undetermined time and day every week. "It'll be up to you", they say, "to check the course Web site to find out what the assignments are and when they are due."

Where else is this sort of lazy, just-in-time assignment and frequent polling of due dates considered acceptable? I can't think of one other instance.

When you consider the trade-off, it is pretty inconvenient and a very inefficient use of time. If I'm a super-efficient student, I cannot read ahead, because I don't know what the readings are to be; I cannot practice the right problems either, or get a head-start on the next section. Consider also the laziness of the technique: a student who checks the Web site frequently incurs a time penalty for doing so, because the posting of assignments usually won't be made at a predetermined time (even if this is promised) and it takes time and is a distraction to have to get to a computer and to look up the Web page and sign in to yet another Web application (a different one for each class is not unusual) and find out there's nothing new. Everyone in class is doing this polling too, for at least a few days during every week of the course.

But the worst part of it is that it is out of sight, and out of sight is out of mind when you have multiple pressing demands placed on you. If I check in on the assignments too early and find nothing posted, how do I know there's nothing to be done? And if a posting is made while I'm away at classes or on a Friday evening heading into a weekend, it is unlikely I will find out about the assignments at all, or so late that I will have to crunch something to fit them in.

I've got three classes this semester like this. A third doesn't announce assignments beforehand, but at least tells us in class day by day what they are and when they're all going to be due a few weeks in advance.

Teachers, make a note: Just-in-time Web postings of assignments SUCK.
You want to post the assignments? Make up a single sheet at the beginning of the semester, and post it to a simple, plain-vanilla Web site.

Monday, June 23, 2008

The Problem with Probability

The way Probability is taught is really not conducive to remembering the material. It reinforces one of my biases towards engineers, and more so about mathematicians, that they may brilliant at what they do, yet they can make for extremely bad programmers.

Let me use some notations from probability as a discipline to demonstrate. I won't even mention concepts, except to say that each notation listed on a different line means a different thing, and things on the same line are different ways of saying the same thing:
p
p(x)
f(x)
P(X) P{X}
P(X=i) f(i) fx(i) P(X=x) fx(x)
P(X<i) F(i) Fx(i)
P(X>i)
P(X,Y)
P( a<x<b>X>a )
E[X]
Var(X)
C(a,b)
P(a,b)
and so on. In short it is a screwed up abuse of functional notation.

The common dogma is that probability is "a hard subject to teach and a hard subject to learn".
Maybe so, but this kind of gratuitously overloaded notation seems purposefully designed to make the subject difficult to communicate.

Think about the teacher writing a formulas with all those things up on a chalk board, then about the student taking the notes, then about the student trying to read the notes later and reason on the material. If telling the difference between these hand-written symbols is difficult, verbalizing formulas with them correctly is impossible:
"let's see, pee-of-ex paren ex less than ex equals eff sub ex paren ex"
could read P(X<x)=fx(x) or P(X<x)=Fx(x) etc. No matter that the experienced student may ferret out the correct meaning, sooner or later: the overloaded notation makes learning the topic, and reasoning in its language, needlessly difficult and hopelessly error-prone.

Here's a hint: it isn't productive to use upper case and lower case letters to distinguish between critical concepts throughout a subject, nor to abuse functional notation to mean something it doesn't mean anywhere else. A system of logic expressed in homonyms and synonyms is pedagogically deficient, regardless of the content, who is teaching it, or who is trying to learn.

Monday, May 5, 2008

SEED mockup: Cell Structure Cribsheet

This is a little piece, spoofing SEED Magazine's cribsheet style, describing the structural components of an animal cell.

For those interested in bio-fuels, notice that all cell membranes and membrane-like structures are composed of phospho-lipids, that is, oily molecules attached to a phosphorus containing molecule. It is not economical to produce bio-fuel by grinding up animal cells; there simply isn't enough bio-mass. Besides, feral cats aren't so easy to catch in large numbers. However, simpler life forms like algae, fungi, and bacteria can be grown on an industrial scale, using cheap feed stocks to produce high-quality oils at a rate orders of magnitude higher than can be produced using oil seed crops like soy.

Sunday, March 23, 2008

Maple madness

Maple 11 is an interesting environment, but it's idiosyncrasies are maddening at times.
After 11 versions, you'd think that the "Find" command would work similar to other tools.
I just tried "CTRL-F": it opens a "Find/Replace Text" dialog.
I type in "with(" because I'm trying to collect all the packages I've referenced on the worksheet and put them in one place (at the top).

No matches found.

I try variations with spaces, before and after. Make sure nothing is highlighted.
Still "No matches found".

I drop the parenthesis. It finds a match. Impressive. I click the "Find Next" button.

Nothing happens. Apparently the Maple 11 find function locks on to the first match found and doesn't let go. My guess is that the search algorithm doesn't properly save the last position and always starts from the top.

Saturday, March 22, 2008

XML in Maple 11 (bug and fix)

Maple may corrupt its own file format, making it impossible to load a worksheet.

Maple 11's worksheet format is an XML compliant document. XML-based software requires that documents be "well-formed" in order to be considered "valid", and acceptable for processing. One well-formedness constraint is that the character set included in the document is consistent with the character encoding selected for the document, or the default encoding (which is UTF-8).
Maple 11 instructions such as printf can cause invalid characters to be produced as characters in an output block. It appears that Maple 11 will incorrectly save such output blocks without properly encoding the characters or escaping them as CDATA sections. When Maple 11 attempts to re-open the worksheet , parsing of the XML fails at the non-well-formed block and a warning given that the worksheet is incomplete.

The user may believe that a significant portion of work has been lost, but that would only be true if they save the file again. In fact, the worksheet is still complete, but Maple 11 is unable to parse the document to reconstruct its "working memory" of the worksheet.

An effective workaround is to open the worksheet in a text editor (notepad), programmer's editor (vi/emacs, etc), or XML editor (oXygenXML, XMLSpy, etc) and delete the invalid output block, saving the result as a new worksheet (.ws) file. I prefer to use oXygenXML rather than a text editor. OxygenXML helps spot the well-formedness errors quickly, and ensures that only well-formed XML is saved back to disk. After saving, the new worksheet can be fully opened in Maple 11, and the code modified to avoid generating invalid character codes.

A proper fix is for Maple 11 to avoid dumping incorrectly coded characters to the XML. Maple 11 should generate proper UTF-8 encoding sequences, and/or substitute certain subsets of UTF-8 outside of the usual ASCII range with numeric character references.

Although I could fix this easily, others may not be so lucky. Since there was no FAQ dealing with the issue I decided to report it and post it to my blog.

Friday, February 29, 2008

Innumeracy

A colleague mentioned that NCSU has an NSF funded research program to improve math curricula in North Carolina high schools, called "MINDSET". The first line of the article linked above made me think of my high school days, as well as my recent experience in the mathematics program here at State.

One of the principal approaches described by the MINDSET article is to incorporate engineering problems into the coursework. The other effect of the program is broaden the mathematical treatment to include more areas of math, including probability and statistics.

This is all well and good. Relevance of the material is critical to memory. But speaking from experiences, what I have found most lacking in the middel-and-high school education system is basic literacy teaching -- "numeracy" -- particularly before kids start attempting proofs-based maths such as Calculus, Geometry/Trig, and Algebra.

Now, when I write "proofs-based maths", I don't mean that the coursework is necessarily taught in a formal, proofs-oriented manner. What I mean is, that a basic "proofs" class is absolutely essential to really grokking why we're doing what we're doing in mathematics , whether it is taught from a theoretic perspective or through applications. A simplified "logic and proofs" sequence, designed to be addressed to a general audience (not just the honors students) could be the most important thing missing from the current curricula.

We expect kids to read and write, and they do this at first by emulating concrete examples. Do we then conclude that showing them concrete examples of Latin is sufficient for them to generalize the grammar rules of English? No. We offer direct explanations of the forms, and then relate the forms to their experience. This is basic literacy. We need something similar for mathematics: basic numeracy, teaching basic logic, set theory, and enabling students to read and reason in mathematical terms. IMHO, this is missing from the (general) math curricula.

Thursday, February 28, 2008

Friday, January 4, 2008

Bad habits die hard

I have a bad habit of pulling away into my own "zone" and losing touch with people. One of the things I've done to combat this is to participate as a volunteer on the local town parks and recreation advisory board, volunteer to help the Chamber with its Web site, and serve as organizer for local Web Design meetings:



One thing I've learned from volunteering to set up a site for a local Chamber: most people still do not grasp the idea of single sourcing. The Web is just another conduit for information, so if you've typed in "XYZ" into a newsletter, you might as well have just typed it into an article on a Web site. Instead, people insist on doubling-up on the work and adding the expense of having Web Designers cut-and-paste materials they've already written into a Web page.

Moral: If what you're really looking for is help doing the copy-writing, then who you really need on a regular basis is a good writer, not a designer. On the other hand, if you've got information to publish in periodically through multiple channels, you don't need someone else to cut-and-paste for you, you need to put an effective single-sourcing workflow in place.

Incidentally, although I completed the Web site for free, and set in place automated advertising, calendars, event registration, search capability, and fully automated membership updating from QuickBooks; even though the site was for practical purposes self-maintenable; even though people liked the style; the Chamber decided that they needed to ask for a round of sealed bids for maintaining the site. I realized that something else was going on, but I could only speculate. I made a competitive but-by-no-means-low bid, but never heard back from the Chamber... that is, no formal bid award announcement was made. I decided I had to focus on my studies and other clients. My reasoning was that if free wasn't low-cost enough, and the organization was going to demand formality but not provide it in return, I probably couldn't afford them as a client.

Tuesday, January 1, 2008

Tensegrity model

This model of a tensegrity icosahedron has been on the shelf for several years. It has aluminum struts terminated with non-threaded shoulder-eye "blanks" pushed into pan-head nylon anchors.



The original model, like most hobbyist and even commercial kits, used rubber bands as tension chords. I was looking for something more... scalable. One of the points of such models is to illustrate a large-scale design principle on a small scale, but rubber bands are really not a fair approximation of materials actually used in constructing larger tensegrities. So I took the opportunity of the holiday vacation to rework the model with construction grade materials.

Rubber bands, "bungie" cords, stretch cord, and the like, are ok for a crude approximation, but there are difficulties with using very flexible materials. First, rubber-based products decompose relatively rapidly upon exposure to air. A model will be sitting on a shelf, and one day you'll hear a twang and see the model bounce onto the floor. Second, such models are supposed to be engineered, at least in principle, which means calculating lengths, working loads, deflection, etc, etc, etc. But working with cheap rubber straps, hoops, and/or knotted cord means that tension loads will be unpredictable, even in principle. One recent article on tensegrity masts in Make magazine referred to a step in the construction process as "fluffing" the model. That's ok for straw models using band-aids and masking tape, but I wanted something predictable.

I envisioned the solution way before I found it: the problem called for an adjustable axial connector, that is, one that is in-line with the tension cable. The function would be sort of like a turnbuckle, in that the tension could be adjusted post-construction, but it would be connected at the terminal ends of the cable. This eventually led me to dead-end terminals, then to swageless connectors, which can be found in the boating industry. QuickAttach is a good examplar. Yet, I was unable to find any manufacturer supplying such connectors in a small enough size; anyway, at +$20 each commercial products are way too expensive for model building.

After a lot of searching over the holiday, I devised a method using low cost off-the-shelf parts to emulate the swageless rigging. The parts included electrical wire nuts, shoulder eyes, and monofilament fishing line. A 1/16" drill bit, cordless drill, wood-and-nail jig, a spring clamp, and some needle-nose pliers, completed the tools necessary. A close-up of the terminal end is shown on the right.

I was initially worried that the threads on the shoulder eyes would shred the monofilament., but informal trials with the micro-rigging showed that it typically failed only under substantial force. Often the cables failed at a point other than the terminal end, so I had my axial connector and an effective procedure for assembling the cables. With this method, it is practical to create tensegrity models with components having predictable cable dimensions.

If you find this useful and decide to use this method, please don't follow Fuller's example: give me some credit. You can do this by referring to this method for building a tensegrity as the "MAC" method, which can stand for "Mitch's Axial Connectors" or "Mitch Amiano's Connectors".