Category Archives: Silent Glen Speaks

Note to self: turn off cell-phone data connection during class

In my large intro class I used Robozzle to talk about program control and introduce recursion. Robozzle does use a true call stack and to solve some puzzles (for example, learning stackrecursedlearning stack 2limit your stackcounting – green) you really need to understand both recursion and how the to use the call stack.  This is week one of computer science, so  I didn’t get into a huge amount of detail, but it did seem to get the “newbies” engaged and make the “hackers” realize that they do have something to learn.  Only a tiny handful of students could solve the aforementioned puzzle before being taught how the call stack can be used.  Overall, it was a success (I think), and I recommend it as a learning tool.

A colleague once mentioned “boy, this would be difficult to debug” and reminded me that the iPhone version of the game shows the call stack – or a version thereof – in the “step-through” mode.  I decided it would be a good idea to use the document camera to show this live (rather than hand-drawing the call-stack on the board).  It never even occurred to me that while my phone was exposed under the document camera, I could receive a call from <embarrassing pet name> or a text of <face-reddening material>.  And then “BING”.

Cue my nightmare.

Thankfully the text message was some automated one from AT&T.  However, in my “deer in headlights” teaching state, it didn’t occur to me to then turn off my phone’s data connection.  Nervously, I made it through the next 10 or so minutes of class without incident.

My office hours are gender balanced

If I didn’t see the students sitting in the lecture room while I taught and only knew who I was teaching to by the students who speak to me after class, in the hallways or in my office hours, I would think the gender ratio was at least balanced in computer science.

Overwhelmingly, one-on-one, my students are female.  I can be even more anecdotal.  Most students ask me questions immediately after class, rather than during office hours – I encourage this, and loiter outside the classroom, taking questions.  Inevitably, I get several male students first.  Then, after, I get just as many, if not more, female students.  Are the male students more aggressive? Are the female students more polite?

What I’d really like to know: what is your experience?  Do more women see you one-on-one?  In your comments, it would be helpful if you include your own gender …

(I am posting to the TCS aggregator, even though this is not  TCS specific, because I would like the broader reach.)

Thinking like a computer scientist

I’m teaching a course called “Orientation to Computer Science“.  It seems all the engineering departments have such a course at Oregon State.  It acts as an overview to a degree in a particular field.  I’ve been asked to teach it because I’m young and female delightful and, apparently, likely to increase retention.  I’ll talk more about the class again, I’m sure.  I had a “pre” lecture on Thursday as part of freshman orientation, welcoming the students in my class, which officially starts next week. (Good thing I wasn’t still travelling!)  I told the class that computer science is a way of thinking and that a programmer is not necessarily a computer scientist and a computer scientist is not necessarily a programmer.  To try to get them thinking like a computer scientist, I used the following exercise:

Ask for ten volunteers and have them line up at the front of the room, in no particular order.  Each person acts as a separate processor.  The class must then come up with a simple procedure to program into each of the processors so that, upon execution, will sort the students by height from left to right.

It’s the first time I tried something like this, and it worked really well.  With discussion, explanation, etc, it took roughly 15 minutes, but could be stretched to 30 minutes or even an hour if some formality was added.  The first challenge was just coming up with a procedure that would work for all the processors in line; the first suggestions were of the form “the guy with the blue hat should move left”.  When a reasonable suggestion came up, we needed to work out the bugs: “do you mean stage left?”  Then there was discussion of how long this algorithm takes and how much longer it would take with twice as many people to sort and how the time depends on how unsorted the people are to start with.  (I would have loved to have longer to give them more formality at this point … but perhaps that would have been become a little boring.)

Overall, I was very impressed with how good their intuition was (at least among the vocal students) – I would bet even better than the junior’s that I am used to teaching, who have, perhaps, had their intuition molded out of them.

Would love to hear other people’s suggestions of warm-up activities.

Inoffensive stable matching

I like to start my grad algorithms course with stable matching.  It is a beautiful, clean, practical algorithm.  It can be covered relatively quickly and give an overview of the basics of algorithm design and analysis.  I love it.

What I hate is that every treatment of stable matching available online and in the textbooks in my office is presented as the stable marriage problem with men getting matched to women and men getting their best possible match and women getting their worst possible match.  Seriously?  This algorithm that is used to match children to schools and medical students to residency programs and dental and medical specialists to hospitals and students to universities and lawyers to law firms and rabbis to congregations (or so I’ve been told)?  We need to teach this algorithm as an exercise in heternormative, sexist coupling?

If half our field were women, do you think women would be repeatedly getting the shaft in this lesson plan?  If we didn’t need It Gets Better in our society, would we be proscribing to man meets woman, man proposes to woman, man marries woman?  If we lived in a dreamy society that didn’t spend one-third of Africa’s debt each year in the wedding industry, would we be using this metaphor?

So, here you go: very basic, stripped-down lecture notes on the Gale-Shapely algorithm that matches jobs to candidates.  (Written quickly, corrections welcome.)

If someone could change the wikipedia page on the problem from stable marriage to stable matching, I would be much appreciative.  (My wikipedia skills are no match.)

Update 9/22: To clarify, it is the United States that spends (on the wedding industry) an amount equivalent to one-third of Africa’s debt.

Update 9/25: Jeff Erickson presents stable matching using doctors and hospitals.

Update March 2015: Motherboard picks up the story.

How do you find conference acceptance rates?

It’s getting to be that time.  Mid-tenure.  I apparently am supposed to include acceptance rates for conference publications.  Google got me about half the numbers, but for the rest … is it annoying to email the program chair for that conference?  Even if it was a few years ago?  How else would you find out?

Update 9/22: helpful links and suggestions in the comments below!

Grade inflation and teaching evaluations

I recently got my teaching evaluations back for a graduate course on approximation algorithms that I taught in the spring quarter.  They were significantly better reviews than I’ve received in my previous courses (which were okay – slightly above the College average).  I chalked it up to it being the first course I taught for which all the students in the room were taking it as an elective.  They wanted to be there.  If they didn’t like the course or me as a teacher, they probably wouldn’t be there.  The grades in the class were also higher than I’ve ever given before – all A’s and B’s.  I abhor grade inflation, but this might be thought of as grade inflation.  For an elective graduate course though?  I truly believe the performance should be almost uniformly high.  But perhaps the high evaluations were because of this higher-than-normal grade average?

In my last go at the undergrad algorithms course, the course evaluations were filled out the week after the second midterm, on which the students did not do very well at all.  (Yes, I probably made the midterm too difficult.)  My teaching evaluations?  Super low.  I do see how one could game the system …

Starting this fall, OSU is moving to electronic teaching evaluations.  If a student does not fill in an evaluation, they will get their grade several weeks late. If they want their grade as soon as humanly possible, they will first have to fill out an evaluation.  I predict that the number of filled evaluations will go up and I also predict that evaluation scores will drop.  I further predict that “bad” lecturers will see a bigger drop than “good” lectures.  Why?  Currently, evaluations are filled out in class.  So, to fill out an evaluation a student must be present on a given day.  “Bad” lecturers likely have lower attendance rates and students who do not like the course/lecturer are more likely to not attend lectures.  I’ll try to remember to report back …

From C's to A's
Created by: Masters Degree

Getting started writing

I just finished writing a grant proposal which, while I spent more time on it than I wanted, I had purposely left not much time for it.  I do tend to spend as much time as I give myself on things, which is why I like teaching in the morning and not preparing for lecture until the day of.

Anyhow, when I started working on this, I was having difficulty with writer’s block.  I had plenty of notes, and somewhat of an organization, but I

just

couldn’t

write

a

complete

sentence.

Frustrated, I decided to just get something down on paper.  I started writing an introduction that was entirely self-depricating, riddled with bad puns and references to “self-abuse” – generally amusing myself.  I very quickly wrote two pages and dug into the meat of the proposal, now adopting the usual (more dry, formal, self-congratulatory) tone that is more common to NSF proposals.

I have to say, though, I think being on an NSF panel could be quite a bit more fun if we actually submitted such … honesty?

Responsibility for versus responsibility to

I received some advice from an established biochemist via a friend in regards to the stress related to advising graduate students.  See, of the new tasks in the past year, graduate advising has been the most stressful for me.  I feel this weight of a person’s career in my hands.  What if I pick the wrong problems?  What if wreck their confidence?

But the advice lifted a weight off my shoulders: you are not responsible for your students, you are responsible to your students.  You don’t have control over whether your students engross themselves in their work, whether they read papers beyond the ones you explicitly say to “read this”, whether they will really focus on their research – you can’t be expected to be responsible for this.  However, you can read and edit their writing, suggest papers and books to read, introduce them to your colleagues, teach them.

It was a simple change in propositions, but it made a big difference for me.

On a somewhat related note, I’m planning on taking up Matt Welsh’s advice on evaluating grad students.  He advocates setting goals on a quarterly basis and remarking on how well those goals were met.  I think this will work well for concrete items such as writing up a paper for which proofs have already been established and completing qualifiers, but how should we set goals for work that may or may not be possible (ie. “settle this conjecture”)?