Not quite a book review
Jan. 10th, 2016 09:24 pm![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Which is almost certainly true. I've actually had occasion to use a little bit of calculus on the job (in doing analysis of algorithms), and in answering idle-curiosity physics problems, and I've used trigonometry to design tents, and I've used both trigonometry and linear algebra to write graphics programs, but 99.99% of the U.S. population will never need to do any of those things, either on the job or in private life. Most people need to be able to do arithmetic (with the aid of a calculator, but they need enough of a feel for numbers that they can tell whether the answers are at all plausible), and read a graph, and it would be nice if they knew that correlation isn't causation, and what statistical significance means. As a logician, I'd like it if ordinary citizens knew that "not all cats are grey" is equivalent to "at least one cat is not grey", and that "if that's a duck, then I'm Henry Ford" is not equivalent to "if that's not a duck, then I'm not Henry Ford".
Anyway, the author documents vast numbers of students whose only academic problem is an inability to pass such irrelevant math classes (middle school, high school, or college), but who are denied the opportunity to study Shakespeare or Swahili or spot-welding. He points out that most of the doomsaying about an imminent shortage of STEM-qualified workers comes from employers who have a strong vested interest in creating an overabundance of such workers. And he likes to illustrate things with sample test questions.
Here's a question he likes:
A rectangular-shaped fuel tank measures 27-1/2 inches in length, 3/4 of a foot in width, and 8-1/4 inches in depth. How many gallons will the tank contain? (231 cubic inches = 1 gallon)
(a) 7.366 gallons
(b) 8.839 gallons
(c) 170,156 gallons
He likes this because it tests "did you read the question carefully?" -- specifically, did you convert 3/4 of a foot into 9 inches -- and do you know what needs to be multiplied and what divided? He says if you failed to notice the "feet", you would get the incorrect answer (a) (in fact, he's misplaced a decimal point: you would get .7366 gallons, which you should also be able to rule out through common sense because a tank that big has got to hold more than a gallon!)
Here's a question he doesn't like:
Two charges (+q and -q) each with mass 9.11 x 1031 kg, are place 0.5 m apart and the gravitational force (Fg) and electric force (Fe) are measured. If the ratio Fg/Fe is 1.12 x 10-77, what is the new ratio if the distance between the charges is halved?
(a) 2.24 x 10-77
(b) 1.12 x 10-77
(c) 5.6 x 10-78
(d) 2.8 x 10-78
I have to confess I do like this question, because it doesn't require doing any arithmetic at all, only remembering that both gravitational and electrical forces follow an inverse-square law. Although if you have two masses of almost 1032 kg half a meter apart from one another, they're both black holes and you have bigger things to worry about than measuring the forces between them.
However, I don't see a lot of benefit in asking this question on an MCAT (which is where it allegedly came from). Yes, identifying the relevant and irrelevant features of a problem is important to a doctor, but physics isn't.
For a certain board game, two dice are thrown to determine the number of spaces to move. One player throws the two dice and the same number comes up on each of the dice. What is the probability that the sum of the two numbers is 9?
(a) 0
(b) 1/6
(c) 2/9
(d) 1/2
(e) 1/3
Again, he doesn't like this question, and I do: it requires no arithmetic, no probability, no combinatorics, only the ability to see past the irrelevant stuff to what matters.
Is this what they call a "trick" question? One that requires common-sense reasoning, not just the application of a memorized procedure? If so, I'm all for them.
Anyway, I've only read a quarter of the book; we'll see what else he has to say.
Dear textbook authors...
Oct. 15th, 2013 10:26 amI'm teaching this semester out of Hennessy & Patterson's Computer Organization and Design, which is well regarded in the field and has lots of good information — but which also has a reputation in the field for lots of typos. So I'm using the Fourth Edition, Revised Printing. One (or more) of the students in my class is using the Fourth Edition, without the words "Revised Printing" on the cover. I didn't think that would be a serious problem, but it turns out that many of the questions I assigned are substantially different — although about the same topic — in his edition from mine. And I can't always tell from his solutions what questions he was answering.
First day of class
Aug. 29th, 2013 09:18 amGraphics class: drew a diagram of a pinhole camera, with an image appearing upside-down on the back wall. Replaced the box with an eyeball. Asked "why is the image upside-down? Why not flipped left-right, or something else? Why should the direction of up-or-down be privileged? Light rays aren't significantly affected by gravity (except near a black hole, which we aren't)."
Did some more thought experiments until one student said "it's not upside-down, it's rotated." So we discussed rotation, reflection, scaling, etc. and I promised that all that stuff they learned in Linear Algebra would actually make sense and be useful this semester.
Computer Architecture class: discussed units, and why E = mc^2 makes sense but E = mc^3 couldn't possibly have been right. Word problem: I walk at 2 steps/second, each step covering 2.5 feet. I jog at 3 steps/second, each step covering 4 feet. If I alternate jogging 75 steps with walking 75 steps, how fast am I moving on average?
Solved the problem two different plausible ways, getting different plausible answers. Discussed which one was wrong, and why. What happens if I lengthen my jogging stride to 5 feet? Obviously this is a 25% increase in jogging speed, but what's the percentage increase in average speed? What if instead of alternating every 75 steps, I alternated every 30 seconds, or every 100 yards? Good discussion.
Data structures class: let's explore a vague problem. In the game of SubDivvy, the players agree on a positive integer to start with, and on each turn, the current player chooses a proper divisor of the current number, subtracts it from the current number, and that becomes the new "current number." Tell me everything you can about the behavior of this game.
Then commenced a series of student-led discussion. Debated definition of "proper divisor"; agreed to exclude the current number itself (or the game end in one turn), and negatives (or the game goes forever). Not sure whether to exclude 1. Defined loss of game as "there is no proper divisor," which means the number is 1 (if we allow 1 as a proper divisor) or prime (if we don't). Proved that current number only decreases, never reaches 0, and never goes negative. Proved that in the allow-1 version of the game, game always ends after at most n-1 turns; still working on minimum number of turns. Proved that (still in the allow-1 version) 1 is a losing configuration, 2 is winning, 3 is losing, and 4 can be won or lost depending on what you choose as the first move -- in other words, strategy does matter in this game (there are games in which it doesn't). Wait: we've been assuming there are 2 players, which I never said. What if there were 3, or 4...? At the bell, left students with the challenge of characterizing winning and losing game states. Good discussion.
If only every day of classes went this way....
That was fun (classroom report)
Mar. 22nd, 2013 08:50 pm"Yes, I do." He ran the program: the naive implementation took 1.5 milliseconds, and the optimized implementation took about 30 microseconds. Beautiful!
He ran it again, with similar (though not identical) results. And again, and again. Pretty convincing... except that he was sorting an array of 8 numbers, on which even the stupidest heapsort shouldn't take 1.5 milliseconds. Furthermore, looking at the algorithms, I concluded that the speedup should be at best a factor of 2, not a factor of 50. So I asked him, on a whim, to swap the code segments to run the optimized implementation first, and the naive implementation second.
The optimized implementation took 1.5 milliseconds, and the naive one 30-some microseconds. Consistently. The presenter looked like he'd been hit with a pole-axe. The rest of the class were amused, but equally puzzled. We discussed possible explanations, and eventually concluded that it probably had to do with loading a Java class file from disk on the first demand for it. (1.5 ms actually sounds low for that, unless he has a solid-state drive.) After suggesting a couple of ways to correct for this, the students agreed to sort another array first, without timing it, and then try the timed runs. They also suggested moving the timing code in closer, so that it only measured the parts of the code that differed from one algorithm to the other.
The optimized implementation took 30-some microseconds, and the naive one 20-some microseconds. That again, and again, and again. This wasn't such a shock, really, as the presenter's own toy-sized demonstration had actually done more work under the "optimized" algorithm than the naive one; it was predicted to work better, in the average case, on reasonably large heaps. So we tried size 8000, and the naive algorithm still won. Then 10000000, and it was pretty close: the optimized algorithm won one match out of five, and lost only narrowly the rest of the time. Then 20000000, and the optimized algorithm won fairly consistently.
So some valuable lessons were learned about empirical efficiency-testing. Not what we set out to do, but you take teachable moments where you find them.
CS education in Vietnam
Mar. 18th, 2013 09:10 pmEducation and testing
Sep. 18th, 2012 07:29 amI teach computer programming, and I tell my students to always write test cases for their program before writing the program itself. In other words, before you've started solving the problem, you need to specify clear criteria for what it would mean to have solved it successfully: if I run the program on this input, I should get that result. This process helps my students clarify in their minds what the problem really is, makes it easier to solve the problem, and makes it less likely that students under last-minute time pressure will skip testing their programs.
More generally, when you're solving any kind of problem, it makes sense to specify clearly what results you hope to achieve and how you'll know when you've achieved them, before you start trying to come up with solutions. (If you're a politician, of course, you're less concerned with whether you successfully solved the problem than with the perception of whether you successfully solved the problem... so you're better off not specifying the desired results in advance, but retroactively defining them as whatever you accomplished, thus guaranteeing success. But we're not politicians here.)
Many of the problems I solve in daily life have to do with teaching. So it makes sense to specify what I expect students to learn, and how I'll tell whether they learned it, before starting to teach. It could even be argued that if I can't think of a way to check whether students achieved the desired learning outcomes, I don't really understand them myself well enough to teach them.
This is where we get the high-stakes, standardized tests so prevalent in modern education. Several things go wrong with this sort of testing:
The time spent on testing itself can start to detract from teaching. More testing is not necessarily better testing.
Even if an outcome is "measurable", that doesn't mean it's easily and inexpensively measurable. When learning outcomes are incorporated into a large-scale standardized test, there's an automatic bias in favor of things that are easily measured for lots and lots of students -- multiple-choice questions, essay questions with a checklist of points to address, etc. This may not accurately reflect many of the things we actually want students to learn.
When student testing is used to measure the effectiveness of individual teachers and schools (which, in theory, should be a perfectly good use of the data), it means most of the people involved in the testing process have an incentive to cheat: students, teachers, and local administrators. The only people with an incentive to see the tests administered fairly and accurately are those farthest from the testing process: the graders and the education reformers in government and central administration. Even if "cheating" doesn't take the form of getting "correct answers" illicitly and passing them around, it can mean "teaching to the test."
"Teaching to the test" is not a bad thing if the test actually reflects what you want students to learn. (Nobody would complain about a programmer "programming to the test," and in fact a prominent school of software development says you should almost never write code except to pass a specific currently-failing test.) But in combination with issue 2 above, the tests' existence skews the teaching process in favor of things that are easily tested, as above: memorizable objective facts and recipe-following are preferred over creativity and analysis.
Discuss. Any ideas for how to fix this? Have I framed the problem wrong in the first place?
Posted via LiveJournal app for iPhone.
cultural literacy
Mar. 9th, 2012 11:13 amThen I went around the room and asked each student to describe, in a minute or so, what topic (s)he was working on for the research paper, and why the rest of us should be interested. Somewhere in the course of this, I mentioned this talk (which none of them had attended), and said something about how Dr. Bauerlein's hand-copying exercises might sound sadistic and Luddite -- wait, does anybody in the room know the word "Luddite"? No, not one. Anybody familiar with the "Ballad of John Henry"? One. So I summarized John Henry's story, and how he won by a nose, but then "lay down his hammer and he died," and suggested that technology putting people out of work isn't just a 19th-century phenomenon. Which led us back to the ostensible topic of the course, which is computer technology and its effects on people's lives. Not only costing them jobs, but changing the way they learn and remember things, hence the hand-copying exercise.
Slow thinking
Mar. 7th, 2012 06:43 pmI just attended a talk by Mark Bauerlein, author of The Dumbest Generation and other works exploring the effects of digital media on thinking.
In 1910 (he says), about 10% of the high-school-age population in the U.S. were actually in high school, and 1% of the college-age population were in college. The remaining 90% and 99%, respectively, worked under the supervision of adults. They spent very little time in the company of other teenagers. As a result, there was no such thing as "youth culture", no "peer pressure" (because they seldom interacted with age-group peers), no "generation gap" (because there was more intergenerational than intragenerational communication).
By the 1950's, however, teens and twentysomethings spent much of their time with their age group, and one could talk about "teen music", "teen literature", "teen movies", as opposed to their "old-fogey" analogues. In 2012, teenagers exchange an average of 3500 text messages and hundreds of phone calls per month, almost entirely with their age group; they're unaccustomed to talking with old people (i.e. over 30). In addition, since social media tend to create homogeneous communities that confirm rather than challenge one's beliefs, they're unaccustomed to talking with people who disagree with them.
Information technology makes it extremely easy to find, quickly and efficiently, exactly the facts you're looking for, without distracting you with "other books nearby on the shelf", or the font in which a newspaper was printed, or something jotted in the margins by a previous reader. When you want information retrieval, it's great -- but learning is not information retrieval. Sometimes the branches along the way are more interesting than exactly what you started out looking for.
Bauerlein sometimes assigns his students to look up some definitions and turn them in -- written in longhand, with a pen or pencil. This not only prevents simple copy-and-paste, but forces students to spend at least a second or two on each word, and it adds some haptic feedback, all of which increases the likelihood that it'll stick. Likewise, he sometimes assigns students to transcribe a chapter of Walden, in longhand, to get the rhythm and style of Thoreau's words into their heads. It reminded me of the "slow food" and "mindful eating" movements.
Posted via LiveJournal app for iPhone.
Programming languages, continued
Feb. 15th, 2012 09:44 pmNobody in Monday's or Wednesday's class complained at all about doing the assignment in Scheme. In fact, they've finally buckled down to actually work on the problem, which was due two weeks ago. (This course isn't a prerequisite for anything else, so I can let deadlines slide if necessary to make sure everybody actually "gets it".)
I've put the lectures and new material on hold, and have been mostly just helping students get their programs working. One team realized, by the time they had passed one particular tricky test case, that they had used three higher-order functions in four lines; doing the same thing in Java or C++ would have been probably fifty lines of code.
final exam week
Dec. 17th, 2007 01:03 pmIn happier news, I've finished writing the final I'm giving this afternoon, and taking it myself (33 minutes -- they should be able to do it in two hours.) As far as I know, none of the students in this afternoon's class has lost any grandparents recently, and half of them have been in my classes before, so they've already used up the standard-issue supply of grandparents. Still need to write the final exam that I'm giving Wednesday, and write the final exam that I'm giving Friday, and grade a whole bunch of homework.
The syllabus for the big class doesn't say anything about late homework. (I found out I was teaching the course on 24 hours' notice, so the syllabus was a bit of a rush job.) Which means I'm technically within my rights to give zeroes to anything turned in after the due date. I haven't been quite that strict so far this semester, but maybe I'll give a flat 10% to anything turned in a month late, 20% to anything turned in a week late, and actually grade the things turned in nearly on-time. That'll trim down the mountain of homework substantially.
Da Werkshop iz Ovah
Jun. 23rd, 2007 10:39 pmAnyway, I got home Friday night utterly drained, but sorta triumphant at the same time: there were no major disasters, I didn't look like a total fool, and most of the participants seem to basically "get" the most important points of the workshop.
Today was spent recuperating, catching up with chores and bills that had fallen by the wayside, etc. Tomorrow: mow the lawn, and clear a bunch of stuff out of the garage so the professionals can replace the garage doors on Monday. Monday: go to the chiropractor, go to the bank for a cashier's check to pay the garage-door people, do some more cleaning and chores, prepare a class on ornamenting dance music, photocopy some sheet music, maybe work on the textbook or the Ostgardr web site redesign....
an exciting day. whoop.
Jun. 6th, 2007 05:43 pmAnyway, assessment (particularly of student work this year) was the top item on the agenda for today. We didn't actually get to any of it, as we spent the entire six hours coming up with general goals, a few words each, for each course, goals that in many cases could have been found in the existing course descriptions. What a waste of time. Not that the outcomes-assessment was likely to be any more pleasant or productive, but we're supposed to produce a report about it in the next month.
On the bright side,
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Da Weekend, continued
Apr. 23rd, 2007 08:08 pmMy talk was scheduled for 8:30 Saturday morning. I had given much the same talk at a previous conference, also at 8:30 AM, to an audience of three... so I wasn't holding out much hope for this talk. But we had 15-20 people in the audience, which I won't complain about. My co-presenter and I hadn't found time to really discuss what we were saying until we got to the conference on Friday and started trying to merge her PowerPoint slides with mine in some kind of coherent way. By Friday night I had 98 slides for a 75-minute talk, a recipe for disaster. I talked through it in my hotel room in 73:51, but assumed that things would take longer in performance. Saturday morning co-presenter suggested I do most of the talking and she would pipe up from time to time with added comments, which sounded OK to me. Except that in practice, all of her added comments were things that would have showed up two slides later anyway, and she went on longer than I would have, and she persuaded me against my better judgment to work through a cool example, and... we got to about slide 70 by the end of the 75 minutes. I fast-forwarded to the final, "For More Information" slide, thanked the audience for listening, and got out. But from comments after the talk, I think people got the essential ideas, and some are interested in learning more.
One of the keynote talks was by a Famous Academic who's been teaching computer science since I was born. The first statement on his first slide said "If you're passionate about what you teach, it doesn't matter how you teach it; the students will get it." To which my immediate reaction was "And if you show enough resolve and confidence in invading Iraq, it doesn't matter how you carry out the invasion or the occupation; the result will be a stable, US-friendly democracy. And when you wish upon a star, your dreams come true." Now, I'll grant that a passionate teacher is more interesting than an uninterested one, and passion is infectious... but I will not grant that it's a sufficient condition for effective learning. I have to believe that in the real world, there are better and worse ways to explain the same subject.
Although I heard a talk a few years ago by a guy from the government agency in charge of research on education. He mentioned something called the What Works Clearinghouse, a collection of educational practices and interventions that have been proven (with statistical significance) to make a difference in learning, and he added "it's a very small database." Apparently in educational research there are so many uncontrollable random variables floating around that it's almost impossible to show (with statistical significance) that anything -- passion, textbook, order of topics, classroom management, homework, teacher expertise, etc. -- reliably makes a difference. Which makes one wonder why we bother putting students through schools of education, why we bother writing new textbooks, why we bother rating professors, ....
Anyway, I got home at 1 AM on Sunday, <arlo>went to bed and didn't get up 'til the same morning</arlo>.
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
I like trains
Apr. 19th, 2007 09:39 pmI'm safely ensconced in a hotel room now. Tomorrow I go to a 3-hour workshop (there are three of them, they all sound interesting, and I don't remember which one I signed up for!), then a bunch of miscellaneous talks about how to teach computer science. Saturday morning my colleague and I are scheduled to give a miscellaneous talk about how to teach computer science, so I spent most of the train ride trying to reconcile her PowerPoint slides with mine into a single coherent presentation. Last-minute? No, not us....
I made a bunch of sausage-egg-and-cheese tarts (aka "The Atkins Breakfast Special") before I left the house, so I didn't have to resort to Amtrak snack-car food. I'll have no alternative on the way home....
misc. news
Jun. 22nd, 1998 04:38 pmI spent four days last week at the Computational Complexity Conference in Buffalo, where I renewed contacts with various complexity theorists. I also gave a "rump session" talk on my work on "Delayed Binary Search, or Playing Twenty Questions with a Procrastinator". The audience seemed to enjoy it: I got more questions than the previous two speakers combined, I was invited out to a bar by two of the research gods of the field, and by 11:00 the next morning two of the audience had made significant additions to the theory: David Schweizer found a recurrence that seemed to correctly describe the delay-2 case, and Andris Ambainis found a proof that the optimal algorithm took time logψn + O(1), where ψ satisfies ψ3 - ψ2 = 1, exactly what would be predicted by Schweizer's recurrence. I decided this was significant enough to invite them to co-author. I told them I was busy for the next week, but wanted to submit the thing for a conference deadline July 7; I hope they're working on it now.
Thursday night I returned from Buffalo. I spent Friday grocery-shopping and pre-cooking for the SCA feast we prepared and served on Saturday. Various things went wrong: there was no firewood until over an hour after we arrived, so the legs of lamb started cooking later than they should have; we didn't know where to get water on site, so the rice started cooking later than it should have; the autocrat suffered a car accident; a misunderstanding led to me ferrying a search party up and down Flatbush Avenue searching for her while she was safely at the site and
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Unfortunately, we couldn't stay around for the night or the morning: we had dogs at home to feed and walk, and I had to catch a plane Sunday afternoon to Houston, where I am now and until next Sunday morning, attending a workshop on how to teach beginning programming using Scheme. Most of the participants don't know the Scheme language, so they're struggling to learn it; I, on the other hand, am primarily trying to learn how to teach from Scheme from someone who's been quite successful at it.