Must-read articles in CACM

Most of the time this blog is about my personal experiences and not about broader topics. But this month’s Communications of the ACM had two articles that I think everyone needs to read, so I’m going to write a post pushing them.

The first is an article by Mark Guzdial talking about bias in student course evaluations. Because I’m at an institution that values teaching and because course evaluations are standard practice for evaluating instructors, I’ve spent a lot of time reading both my evaluations and the evaluations for people coming up for promotion and tenure. Mark makes some very good points about why we might want to re-evaluate the idea of student evaluations as a metric for teaching and also pointing out that doing so would be difficult.

The second article that caught my attention was one by Jodi Tims who is the current ACM-W chair. In it she talks about the idea that improving gender equity in computing needs to be an effort made by all people in the field, not just those organizations focused on the topic and most especially not just by women in computing themselves. Jodi makes very specific suggestions for what individuals can do, but I also urge everyone to join a more organized group focused on gender equity. It’s a tough problem, and tough problems need to be solved through a large collective effort.

Advertisements

The reason I get out of bed

Today is a cold, dark January day, and I most certainly didn’t want to get out of bed. I even hit the snooze this morning, something I almost never do. I spent the first 30 minutes of my day grumbling about how I had to go to work, until I reached my inbox and found this message from one of my Java students:

Professor Amber, I GOT IT TO RUN!

Thank you so much for the help! That was really satisfying getting it to run after numerous trial and errors. I hope you don’t mind me bothering you with homework like this. I am very thankful and happy you helped and got it to run successfully!

I exchanged easily a half a dozen emails with this student yesterday, and he was reporting back that he had finally gotten it done. And it reminded me that this is precisely why I get up on January days to go teach.

Poor software interfaces, yet again

Although I teach very introductory programming classes where the focus is on the basics of how to program, I try as much as I can to share with students other issues that will be useful to them as they mature as programmers. We talk about object-oriented design as much as is possible with the limited knowledge they (and, let’s be frank, I) have. I discuss the importance of debugging and being willing to ditch a program that is poorly structured, even though most of their programs are too small to require such things. And perhaps most importantly I try to discuss how their choices as programmers make using the software they write either much better or much worse. Again, it’s hard to seriously address user interfaces in the classes I teach, but I think making them aware of it is crucial.

It always helps to have examples of poor interfaces, and I’m sorry to say that the systems we have to use at DePaul too often deliver in this regard. Most recently we had to switch from an internally-developed college advising system to a university-wide system. There are many things to hate about the university advising system, but let me just pick two from today:

  1. When I have a student listed on a page and click on a link to see their degree progress I have to re-enter their ID number. This is despite the previous page listing their ID number and the page being dedicated to them.
  2. When making an appointment with a prospective student, I have to know their home zip code to make the appointment. Seriously.
I miss the system my home college had so much. As in, I miss it literally every day. On the other hand, this system will provide me with endless examples of how user-interface designs can make what is otherwise a useful system feel horrible to use. I suppose that makes for many future teachable moments.

I do not want to grade: a tribute to Dr. Seuss

I’m fortunate enough to be at an institution on the quarter system, and one that starts early enough in September that by this time of year grading is a distant memory. But many of those I know aren’t so lucky. I was talking to my brother on the phone this weekend and the subject of his not-yet-finished grading came up. Always trying to make the best of things my brother started a Dr. Seuss-like rhyme about it. I burst out laughing and promised him that I would expand on his idea as a blog post. So I give you my tribute to Dr. Seuss started and inspired by my brother and dedicated to all those struggling with final papers, exams, and projects.

There they sit.

The final exam. The final project. The final paper.

Grade me, they speak. Grade me, they sing. Grade me, they suggest.

I do not want to grade I say.

I do not way to grade today.

I do not want to grade on the train.

I do not want to grade on the plane.

I do not want to grade in the house.

I do not want to grade with a mouse.

I do not want to grade as I walk.

I do not want to grade while I talk.

I do not want to grade before lunch.

I do not want to grade after brunch.

I do not want to grade in the sun.

I do not want to grade everyone.

I do not want to grade as I sit.

I do not want to grade even a tiny bit.

But my students wait for me.

So while I clearly disagree.

I will grade them all, one, two, three.

The small successes

It’s been a particularly difficult quarter for me. Fall quarter is usually busy, but I’ve had two or three fairly significant service tasks added to my already full plate that pushed me into a bit of overload. What little research I’ve done is also on tough things like teaching programming and student retention, which at times can feel more discouraging than inspiring.

Luckily, twice this quarter I got notes from students that helped boost my morale. The first was a thank-you note from a student who recently graduated. I found in my mailbox when I finally checked it this quarter after a long summer away. His note is below:

thank-you-note

The second morale-booster was a note that one of my programming students wrote on her final exam notes yesterday:

exam-notes

Obviously, reading these two notes is wonderful. But what is especially helpful for me is that I don’t recall doing anything special for these students. In both cases I think I was just doing what I normally do when I teach, and yet it so positively impacted these students that they wanted to let me know. When I get discouraged it helps to think that while I can’t make a difference for every student, I can help some.

We need to talk about our failures

Although the majority of my advisees are now undergrads, I still have an occasional graduate student advisee. As it happens, I met with one of my advisees this week who is in the Masters program in computer science. He and I have met multiple times, mostly before he started taking classes at DePaul, and I’ve enjoyed our conversations a great deal. During our meeting yesterday we talked about the algorithms class he’s taking. Like a non-trivial number of our Masters (and, frankly, undergraduate) students, he’s struggling with algorithms. It was clear in our meeting that he’d done a lot of soul searching about what had gone wrong and what he could do differently next time. But it was also clear that he needed a little reassurance, since this was the first graduate-level (e.g. not introductory) class he’d taken.

So I told him that a lot of students struggle with algorithms. It’s abstract and difficult, and it makes sense that people find it challenging. I also told him about my big failure as an undergrad, which was with architecture and assembly, not algorithms. That was the only class in which I failed a midterm. I did much better in the latter part of the class, but the poor midterm made it one of two classes in which I earned a B as an undergrad. I told him that struggling with one area of computer science doesn’t mean anything about your ability in the field. It just means that you have to work harder at that topic, as I did with architecture.

I think it had the intended effect, which was to encourage him in his efforts to pass the class, either this time or the next time he takes it. He wrote the following in an email after our meeting:

Thanks for today’s conversation. I honestly was a bit embarrassed and had a hard time to admit my experience in [the algorithms] class.

I especially appreciated your sharing your own experiences with your Architecture class, and other students’ experience with Algorithms.

Onward!

The experience made me realize that talking about my failures in computer science can, at the right time, be something encouraging for others. I wonder how often computing educators do that. Whatever the answer, I think we need to do it more.

ACM TurC 2018 Symposium

While at SIGITE 2017 at the end of last week, which was great as usual, I learned that SIGCSE China will be holding the ACM TurC 2018 Symposium next May in Shanghai. I attended the 2017 TurC Symposium and had a wonderful time, so I encourage all of you to consider submitting to the 2018 TurC Symposium. SIGCSE China has lots of active and energetic members, and you won’t regret having a chance to meet them and to spend time in Shanghai.