Happy Ada Lovelace Day: Maryam Mirzakhani

Maryam Mirzakhani was awesome. Her work is far beyond my comparatively meager math skills. She was the first woman and first Iranian to win the Fields medal which made me so happy at so many levels.

She died last year of breast cancer at age 40 which is a tragedy.

She moved the needle a bit for women in Iran. Her mathematical success made her a star for Iran. When she died newspapers ran pictures of her with her hair uncovered. That was a thing and how broken a world do we live in where that still is a thing?

So her math is way beyond me and not relevant to my work (as far as I can tell) but I do feel a connection via our shared heritage and the good that came from her success. And I’m so glad a woman finally got a Fields medal (come on, guys!).

More Maryam Mirzakhanis, please!


Grading Postmortem

I just finished the followup of grading a programming/software engineering assignment with a mostly automated toolkit. The goal was to have “next class” turnaround. It wasn’t quite same day but it was definitely within 20 hours, for the bulk of people. Some of the problem was that Blackboard is terrible. Just terrible. It refused to upload marks and feedback for people who had had multiple submissions and then sent me into a hellscape to try to enter them manually. So there were some upload errors (2 people didn’t have any feedback and a 1 had the wrong feedback due to cut and paste fail). Out of 49 submissions, I had 17 people report a problem or request a regrade. Of those 5 resulted in a change of mark for a total of 19 marks added (the total possible for each was 10 per assignment so 490 total ; 170 were originally given thus 10% of “rightful” marks went missing and needed a manual update; one of these was due to a rouge extra submission after the deadline that was the wrong one to grade for 3 points, so 8.5 missing marks were due to grader bugs).

Now the people with wrong marks generally got “0” often when it was obvious that they shouldn’t have. This was because their program would either crash in a new way or return a really unexpected result. In the later case, since we try to parse the program out put, we’d through an expected exception for that odd output. In both scenarios, this unexpected scenario would crash the grader before it wrote any feedback. Missing feedback was inferred to be an “upload” problem so the students got 0 and an unhelpful error message.

These were stupidly hard bugs to track down! But they point to a couple of holes in our robustness and test isolation approach (we’re generally pretty good on that). In general, I’d like to review the 0s before uploading to confirm but the tight time frame was just too much. It was a tradeoff between the real anxiety, pain, and confusions some students would feel at getting an erroneous 0, and delaying feedback. It’d have been great if I could have turned around the corrections more quickly, but I have only so much time and energy. All students who filed an issue got a resolution by the subsequent Monday evening at the latest. So, two full days with correct feedback before the next assignment. Obviously, quicker is always better, but this isn’t unreasonable.

At least two people were misled by the feedback which basically said “You are missing this file” when it should have said “You are missing at least one of this file or that directory.” Oops! That was mostly work for me than anything else.

In the same day lab, the students did an over the shoulder code review of each other’s first assignment. I wish I had gathered stats on problems found. I told everyone who wanted to file an issue to send me an email aftertheir code review discovered no problems and they had some simple test cases passing. In many of those cases, there were very obvious problems that a simple sanity test would have revealed and oddities in the code which lept out (to me).

I feel this justifies my decision not to return granular feedback or explicit tests. The program is very small and they have an oracle to test against (they are reverse engineering a small unix utility). The points awarded are few and  2 come from basically not messing up the submission format. 1 comes from following the spec requirement to use tabs as an output separator.

But the goal of these assignments is to get people thinking about software engineering, not programming per se. They need to reflect on their testing and release process and try to improve them. I had several students ask for detailed feedback so they would lose fewer marks on the next assignment and that’s precisely what I don’t want to do. The learning I’m trying to invoke isn’t “getting this program to pass my tests” but “becoming better at software engineering esp testing and problem solving and spec reading and…”.

It’s difficult, of course, for students to care about the real goals instead of the proxy rewards. That’s just being a person! All I can do is try to set up the proxy rewards and the rest of my teaching so as to promote the real goal as much as possible.

Giving students low marks drives a lot of anxiety and upset on my part. I hate it. I hate it because of their obvious suffering. I hate it because it can provoke angry reactions against me. I hate it because I love seeing people succeed.

But it seems necessary to achieve real learning. At least, I don’t see other ways that are as broadly effective.

Music Monday: Noona’s Revenge

I read about Two Nice Girls in Ms and promptly went out to our local radical bookstore in Chapel Hill to get all of their albums that I could find. So, two. Noona’s Revenge is one of my favorites and particularly apt this week:

Something terrible has happened to Noona but the specifics aren’t given. It’s all off stage:

Noona was suburban
She’d never seen an El train
Never saw the harm in leaving her defenses down

But he’d stolen something precious and
he left her feeling foolish
And he left her feeling helpless,
It was gone, gone, gone

Some sort of sexual assault was, of course, my first thought. But it can be read as being about “mere” seduction, though that, itself, is tricky. The violence of the possible responses is suggestive:

She could have run him over
She could have dropped him under
He could have lost his balance,
Took a seven storey fall
It could have been an accident
I’m sorry, oh excuse me
Someone starts a rumour and it isn’t nice at all

Part of what elevates the song is that ambiguity: are these possibilties under or over reactions or somehow both?

There could’ve been some gunfire
it might have been a slashed tire
There could’ve been some phone calls
In the middle of the night
It could’ve been somebody
Met the train head on
But Noona’s revenge was to write this song

Without the music, the actual revenge can seem odd: is writing a song which fails to identify the aggressor much of a revenge? Is she having a “best revenge” (as in “the best revenge is living well”)? Or is writing that song powerful in the way we often want art to be?

And my favorite bit is that it’s clear that Noona didn’t write the song! It’s a lovely paradox esp when the music resolves so strongly.

I’m betting Noona’s voting in the midterm. I’m voting with her.

Sunday Baking: Popovers, Cookies, and, of course, Baps

I had this “foolproof” popover recipe hanging in my tabs for weeks. Now the surest proof that I’m no fool is my consummate skill at breaking such recipes, but this was ok. I made a half batch because I only have a 6 deep cup muffin tray and the full recipe produces 8. I did the greasing for 4 (melted butter baked on for 5 minutes) but had enough batter for six. It was an unintended experiment!

They didn’t look superimpressive but the came out fine:

I have empirical proof that their greasing technique works and you really want to use it:

I finally got the baps back to their original glory (for Zoe). The coarse meal crust is deemed an improvement.

Note that we ate three before I could take the photo.

I finally finally made cookies including the first pizzelle of the year:

And a half batch of giant salted olive oil chocolate chip cookies:

A half batch because I ran out of eggs.

Belated Birthday Flicks

I had a plan on my birthday to do a double feature of The Miseducation of Cameron Post and BlackkKlansman. For a variety of reasons it didn’t happen then but we managed to catch both: Cameron Post last Sunday at 9:30 and BlackkKlansman today.

They were awesome.

BlackkKlansman is sorta classic Spike Lee working in form. I’m sorry to have missed the more experimental Chi-raq, but I suspect that this is a more successful film on every level. I’m a bit sad Spike et al felt the need to jazz up the story with a bombing. I mean, it was well done but kinda overrides the actual story.

Cameron Post is sheer genius esp the direction, editing, and cinematography. This is no dis on the acting, which was excellent, but testimony to how good these other aspects are.

The part I found especially effective was how the camera lingered on certain scenes after they were “over”. The most prominent example was the final breakfast: the kids get up and leave and we have 5-10 seconds just watching the reformed gay minister eat his cereal. The next shot is them leaving the building.

The film is full of these stretching moves and they are incredibly effective at making the film feel more real and gives the scenes room to sink in. The pacing is fine! It doesn’t lag at all, which is the tricky bit.

I really enjoyed Desiree Akhavan’s first film Appropriate Behavior but Cameron Post is really on a different level.

See them both!

This Week in Zoe News

Baez has been doing a lot of phone interviews with local papers, some on the tour route and some not. It’s a weird little cottage industry. The interviews don’t pick up anything new, indeed they are very repetitious. Given the internet I wonder why they still happen.

Anyhoo, we have the Minneapolis Star Tribune:

Q: There are some powerful songs on your new album such as “The President Sang Amazing Grace” about Barack Obama at the service for the Charleston church shooting victims.

A: Those are absolutely powerful. The “President” song and “Another World” take the album to a different level. I love that album.

The San Diego Troubadour has a long reflection on Joan’s career:

However, she was inspired enough to record a song in 2015 after President Obama spontaneously sang “Amazing Grace” during a eulogy for Rev. Clementa Pinckney, who had been murdered in his own church by a racist during a prayer meeting in South Carolina. The song, “The President Sang Amazing Grace,” demonstrates how, once again, Joan Baez’s musical path crossed with history. It was written by Zoe Mulford, a singer-songwriter whose work is built on the vintage music of the Appalachians and the British Isles, much like Joan Baez’s early career. The song appears on Baez’s latest album, Whistle Down the Wind.

While the recording on album effectively resonates the soul of the song with a piano arrangement reminiscent of Ken Burns’ Civil War, there is a poignant performance of Baez singing the song on a Scandinavian talk show during an interview available on YouTube. This is worth seeking out. It shows Baez bringing to life a song of sorrow and hope as she did in 1963. It is vintage Baez. She has not lost her touch.

The song and this performance serves to bookend a career that began with a shy 18 year-old girl quietly stepping into the spotlight and merging a passion for social justice—which was in short supply in 1959—with a love for the unifying power of song.

On her latest album she brings this home by gifting us with Zoe Mulford’s song about a racial tragedy and the inspired response of America’s first African-American president. It portrays a president who seeks to heal and comfort with empathy and compassion in the face of tragedy.

There’s the Chicago Sun Times:

Her stark sentiments about the state of the world are reflected in her latest album, “Whistle Down The Wind,” featuring beatific covers of contemporary artists including the pensive acoustic strummer “I Wish The Wars Were All Over” (Tim Eriksen), the poetic serenade of “Civil War” (Joe Henry) and the clear album highlight, “The President Sang Amazing Grace.” The latter was written by Zoe Mulford in response to Barack Obama’s eulogy for the victims of the 2015 church shooting in Charleston, and is done justice by Baez whose serene soprano crawls right into your tear ducts.

Same Day Grading

Or near same day.

One reason I started adding MCQ quizzes to my coursework is the fast turn around. This year I aimed to get all my Software Engineering coursework back by the end of the class where it was due. Part is done by “automated” grading but part was organizing my TAs to grade the short essays quickly.

They rose to the occasion. All 4 did this set rather than the normal 2 so they had 12-15 each. They sat together for cross validation. They only used a rubric (no manual comments) but were at the late lab for discussion.

The students had a morning lab where they tried to apply the rubric to their own essay and a partners.

This seems nigh perfect. They got a lot of help before the next essay. There was no “wasted” grading effort (eg ignored feedback). And the TAs are free! No grading hanging over their heads.

I’m happy! Wins all around.