Week 3: Reality and routines

We’re now 3 weeks in to our virtual spring term.

This is the point where we should be in some sort of rhythm. Students know us better, we know our students better. The students know the expectations: what happens in a class period, how should I prepare for class, what’s due when. The faculty understand the class dynamics and manage class periods and expectations accordingly. Everything should be humming along.

But that’s in a normal term.

I do think we’ve reached an imperfect rhythm. Faculty at this point have pretty much figured out what technologies to use and what to let go — although many of us are still learning how to use them effectively.* Course structure is pretty much set. I’ve developed my own rhythm for preparing and posting materials for each week, and settled on a Moodle structure that seems to work ok.

I’m still trying to develop rhythms around grading and keeping track of student engagement. I thought I’d found a good structure for grading — and then my course staff student found a number of flaws and technical issues with that structure. Technical issues aside, I’m still trying to wrap my head around what should I be evaluating vs. what do I feel comfortable having my course staff student grade. (Also taking into account what they feel comfortable grading!)

Student engagement is trickier to keep on top of. Sure, Moodle lets me check student completion (and download this into a spreadsheet), and sure, I can probably check my Zoom logs to figure out who attended a class and who did not. But these feel unnatural. In a normal term, I pay attention to who’s attending and not attending class, which I can do by quickly scanning the room. I note who dominates small group discussions and who’s clearly tuning out or shutting out. I rely so heavily on visual, physical cues. Honestly, trading those instincts and skills for reviewing logs is exhausting, even though it seems like it should be much easier to measure engagement quantitatively than qualitatively.

Course rhythms aside, the constant uncertainty is clearly starting to wear on us collectively. Everyone seems a bit more fragile and frayed, quicker to jump to conclusions or to snap. It’s hard to focus when there’s so much up in the air.

This is the time of year where we should be finalizing plans for summer research, where planning for next fall ramps up. In our department, we’re still trying to hire a visitor for next year. I’m in charge of next year’s Comps (senior capstone projects), and we’re drafting project descriptions and reviewing each others’ drafts, in advance of the big topic reveal on May 7.

But we still don’t know whether we’ll have summer research this year, or if so what that looks like. And we have no idea what fall term looks like, either. So every plan we make needs at least one contingency plan, if not several. Will this Comps project work if we’re still virtual this fall? What does “mentoring new faculty” look like when everything is virtual? If we’re on campus but socially distancing (if that’s even possible, which I doubt it is), and we have to severely limit the number of students in a physical classroom, how badly does this torpedo our carefully-planned schedule? How do we ensure that our current majors (and the 50-some new majors that just declared) get into the classes they need to graduate if class sizes are severely limited?

I don’t want to end this post on a low note, and while things are challenging I also don’t want to leave you with the impression that everything is doom and gloom. So let me share a couple of positives from this week:

  1. My 7th grader and I, pre-pandemic, had a standing coffee and bagels date every Friday morning. We’d go to a local coffee shop near her school and I’d drop her off at school afterwards. We’ve found a way to continue that — every Friday morning we drive to an awesome local coffee shop in the next town over, go through the drive-through, and then sip our drinks as we drive home. It’s been a nice little grounding ritual for both of us.
  2. I’ve started including a bonus “hey, if you click through to this optional resource and watch/read it, respond to this set of bonus questions on Slack” in one lecture or activity per week. Not many students share out on Slack, but the ones that do post thoughtful and insightful reflections. This week’s option involved Microsoft Bob, and I appreciated the way they analyzed what Bob did well and what it got wrong. Reading these bonus reflections always makes me smile.

Wherever you’re reading this, and wherever you are in your term or semester or life, I hope you are staying safe and healthy, and that you’ve found a routine of sorts that works for you.


*Yesterday I learned — in real time — what Zoom co-hosts can and cannot do. Hilarity sometimes ensued.

Week 2: Managing expectations

We’re now in Week 2 of this bizarre and unasked-for experiment in online education. While I won’t say that I’ve settled into any comfortable pattern yet, I have settled into an uneasy acceptance. I am, as Steve Krug discusses in my course’s readings for the week, “muddling through” with the tools and the structure.

Last Friday, the college announced officially that we were not coming back to complete Spring Term on campus in May, that the entire term would be virtual, and canceling both Commencement and Reunion in June. Not a surprise, to be sure. I did not, however, expect the profound feelings of loss and sadness the announcement brought. I expect that it’s the finality imparted by the decision, the squashing of that last (and totally unrealistic) glimmer of hope that things would return to “normal” soon. This announcement is just another indicator that we’re not returning to any sort of “normal” anytime soon — not in a few weeks, and probably not in a few months. “Normal” changed overnight, and no one knows what “normal” is supposed to connote anymore.

This announcement framed Week 2 for me, and my Week 2 goals for my course:

  • Acknowledge the loss we’re all feeling (particularly the seniors)
  • Set and reinforce the weekly course rhythms
  • Develop workable and sustainable ways of “working together apart”

Acknowledge the loss we’re all feeling

Our amazing Instructional Continuity team (the director of our learning and teaching center, the academic technologists, and various IT staff) suggested that professors create a short video at the start of each week, summarizing the previous week and previewing/framing the content for the upcoming week. I often did this in my pre-pandemic Monday class meetings, so I eagerly adopted this suggestion. Doing this sort of review/preview is especially important in a course like Software Design, which can sometimes feel like “a loose collection of things that didn’t fit anywhere else in the curriculum”. I like to remind my students of how all of the threads weave together to form a whole.

I realized that it’s also helpful for me to acknowledge what’s happening outside of the course — reiterating that we can’t untangle ourselves from the context in which we’re learning, and that these are weird and hard times. This week, I started my video recognizing the sadness and loss we’re likely all feeling from the official announcement, and particularly the seniors. I ended my video acknowledging that some students in the class were struggling with much bigger issues, like the health of family members, increased family obligations, or other forms of uncertainty. I reaffirmed that while the course itself has particular learning objectives, my objective as a professor is to teach and lead with compassion above all else during this time.

Set and reinforce weekly course rhythms

Week 1 in Software Design is a bit odd, in that I cover 4 distinct topics in 3 days: framing the larger course questions; the qualities of effective teams and teamwork; a very quick overview of Agile development; and an introduction to git and GitHub. This term, the distinct topics actually worked in my favor. I could experiment with different tools and structures for each topic without worrying too much about how they all “flowed” together, because a normal Week 1 in this course doesn’t “flow” perfectly anyway.

Most of the remaining weeks in the course cover one, or two very tightly related, topics, and thus lend themselves better to a predictable structure. This week is one such week: we cover web usability and accessibility, with a first taste of ethics thrown in for good measure. This week also, the concepts are easily “chunkable” into mini-lecture/example and corresponding activity. And there’s a clear deliverable at the end of the week, the first big assignment of the term.

I currently struggle with how to time the asynchronous activity completion dates. I want to respect the need for my students to work when they can, which might not always be perfectly timed with our MWF schedule and may be disrupted at any time by technology issues or family expectations. This is particularly important because the asynchronous activities often have a team component to them, so I want to make sure teams have time to collaborate on the activity. But I also want to make sure completion dates are spaced out appropriately and that the students have certain things completed, if at all possible, by our synchronous class meeting.

To try and address this, I’ve used Activity Completion on Moodle more liberally this week. Not so much as a mandate, but more as a signal of “these are my expectations, and this is roughly the order in which I expect you to complete them”. I do “lock” some activities into a particular order — complete the reading quiz with a passing grade before you can access the lectures and activities related to that quiz and readings — but many of the activities just require the students to manually check off that they completed them.

Honestly, though, the biggest challenge for me is making sure I have the material ready to go for the start of the next week by the end of the previous week! I … did not succeed on this front this week. But hey, I’m learning.

Develop workable, sustainable ways of “working together apart”

I still struggle with the central question of how to create the collaborative, small group spirit I work so hard to foster in this course in a completely virtual environment. I placed the students into stable, 4-person teams and set up asynchronous activities so that they at least confer with each other when completing the activity. I use these teams during breakouts during our synchronous class meetings, too. (The technology failed me a bit on this front last week, but I think I resolved the issue.)

Beyond this, I want to re-create the between-teams sharing of ideas that often happens in a physical class meeting, or as teams work in our computer labs. I also want to make sure that students know that they can ask me questions just like they’d do in a physical classroom, or by popping into my office when my door’s open — basically, that they don’t and shouldn’t struggle alone.

I’m using Slack heavily for these last purposes. I set up a #coursework channel specifically for students to ask/answer questions or post comments as they work through the asynchronous activities. I am on Slack a lot anyway, but I told my students that I will definitely hang out on Slack during our scheduled meeting times, so if they post then they can expect to get an answer right away. I’ve also tried to be more responsive “outside hours” than I’d normally be, because I don’t want students to feel lost or discouraged.

That said, I am setting boundaries, too! But I’m still trying to strike that balance between being “available enough” and “too available”.

I also haven’t yet been successful at selling open office hours as “time available to work simultaneously with your peers with me available to answer questions in real time”, so I’m thinking of ways to modify the office hours model to make sense for me and for my students.


Beyond this, I continue to struggle with things that I suspect will be issues the entire term: the fatigue of being always-online and interacting in small Zoom windows for a good part of the day; the fact that everything related to virtual teaching takes 10 times longer than face-to-face teaching; the constant worry that students will fall through the cracks; the worry that we will lose members of the Carleton community to COVID-19. And, of course, managing my own expectations, for myself, continues to be a struggle — but I suppose that’s true of non-virtual terms as well.

Course planning in the time of COVID-19

Usually at this time of year, I start to regret my decision to work at a non-semester school. While most of my colleagues are starting to wrap up their spring semesters, I’m submitting final grades for Winter Term and frantically prepping for the start of Spring Term.

This year, of course, everything is different. Now, while most of my colleagues are struggling to figure out how to finish their spring semesters online, I’m struggling to figure out how to move an entire course online.

For the record, I think both situations are equally challenging. In the former case: how do you pivot the way you’ve been doing, well, everything for most of a semester, and finish out the course in a completely different environment from where it began? In the latter case: How do you take a 10 week in-person course, remove a week completely, and take it completely online, with just 2 weeks to prepare?

And, to throw another wrench in the works: what if only slightly above half of your students have “reliable, high-speed Internet access” at home or whatever place counts as home right now?

There’s a whole bunch of other things to consider, too.

  • What’s the minimum tech configuration I can assume my students’ computers have? What minimum tech configuration is fair to assume, for them and for me?
  • What do I do when a student’s technology can’t meet some minimum I’ve deemed necessary to be able to complete the coursework?
  • How do I take a course heavily centered around teamwork and team projects and move that online? Particularly when students are in different timezones and may not have the best Internet connectivity?
  • What will the mental state of my students, and my own mental state, be when the course starts and as the term progresses? How can I compassionately account for this while designing and delivering my course?

My thinking and planning continues to evolve, and there’s a lot I’m still trying desperately to figure out. But here’s where my thinking is right now.

Structure

  • Each week has a theme. This is similar to what I do now, anyway.
  • Each week is structured around 3 “days”, or topics. I’ll label these Day 1, Day 2, and Day 3, to signal to students my expectations that they’ll engage with the material 3 times a week, but that there’s flexibility as to when they engage.
  • 2 of the 3 days consist of completely asynchronous activities. This should help with the inconsistent Internet access issues, to some extent, as well as with some of the timezone issues.
  • These asynchronous activities will include short video lectures (powerpoint w/ audio, me sketching on a whiteboard, me demonstrating a technique or fleshing out a concept), followed by small group (and some individual) activities. I need to figure out how to collect something from these activities so that I can provide feedback and summarize these reports for the class.
  • The third day will have a short (30 minutes?) synchronous component, structured as a Q&A or a whole-class activity or something like that. This will always be during our class meeting time and always on the same day of the week, for consistency. And it will be recorded for those who can’t attend in person.
  • I will stick with targeted readings before each class, along w/ something they need to turn in to show me they engaged with the readings. This will largely be the same as I do now.

Team/small group engagement

I should explain here that I usually teach this course in an interactive classroom, fitted with small tables (each with its own computer and monitor) and lots of whiteboards. So there is a “table culture” in my course, where students end up interacting heavily with the people at their table in small group activities and discussions. I want to try and re-create that environment online, to the extent that I can. So far, I’m thinking:

  • Stable, small groups (3 students) that will also serve as project teams.
  • I will assign teams the first day of class, and teams will be based on timezones.
  • These teams stay stable for the entire term, unless something goes awry and I need to break up a toxic team.
  • Most of the asynchronous activities will be done in these groups. Sometimes I may combine 2 small groups if I think the activity would benefit by having more participants.
  • Having very small groups that share a timezone should in theory make it easier for groups to meet on their own synchronously. There also may be fewer connectivity glitches if they are trying to connect/coordinate with fewer students, rather than with an entire class.

Things I still have no clue about

  • I’m still working out how to manage the term-long team projects — to do this, I need to first understand what technology my students have. Can I assume, for instance, that they have some way to access a terminal? A text editor? A Python installation? Will something like repl.it work for what they’re doing?
  • Am I better served lopping a bit off of every topic, or of lopping off one or more topics entirely? One model has me cutting out the week+ of ethics material, but that seems to be exactly the wrong approach.
  • What is the correct number of smaller, lower-stakes assessments that will enhance student learning without overwhelming the students — or me?
  • How should I structure office hours? What does office hours look like when it’s completely online?
  • And, of course, since part of my research home is in computer networking, I remain deeply skeptical that any of our networks can actually support the load we’re about to throw at them….

My goal by the end of this week is to have the main structure of the course finalized and fleshed out, so that next week I can start constructing the activities, videos, demonstrations, etc. And hopefully, by the time April 6 rolls around, I’ll be ready to go….for some definition of “ready”.

Navigating the new normal

About an hour after I last posted, Carleton’s president emailed the campus with the announcement we’d all been sort of expecting anyway: Carleton’s moving all instruction online through at least Midterm Break in early May, and likely beyond.

The complete details, as one might imagine, are still very much in flux. Because how could they not be? We’re all in uncharted territory here. But what we do know: Finals end as planned today. Students have an extra day (until Wednesday) to vacate campus. Students can petition to stay if they really can’t leave, and we’ll have services to support them. Spring break’s extended by a week, until April 6, to help faculty and staff reconfigure courses and course support for online learning. Spring term will end on time, and be a week shorter than a normal spring term.

Everyone’s a little lost, and everything feels off right now. My extended Friday office hours were part instruction and part informal therapy session. I invited students to just show up even if they didn’t have questions if they felt unmoored and like they needed to be around others, and a few took me up on that, sitting and working or listening while I answered others’ questions. Some of my senior advisees are scrambling to graduate early, because they can, and I’ve been helping them navigate the ad-hoc accelerated process and think through their options.

We started immediately as a department thinking through some of the practical aspects of moving computer science instruction online, and have already agreed on some common tools to use and/or test drive before April 6. It’s certainly helped that many companies who provide online learning tools are moving to make those free to educators and students during this time. We arrived quickly at the minimum technical configuration our students need to have to participate remotely, which will help ITS plan to provide resources to students who need them. My chair has been an absolute rock star in all of this: attentive to the myriad details while still taking time to make sure we’re all comfortable in our teaching assignments and keeping us talking to each other. And our technical associate’s been working overtime to help us figure out the technical details of things like remote access to servers and other department resources. I feel as though we’re ahead of the curve as far as department preparedness goes.

This week, Grading All The Things and wrapping up winter term are my priorities, as well as making sure my kids, who are now on extended spring break through the end of the month, are not killing each other and/or spending 12 hours a day on screens. I have a ton of administrative tasks that fell off of last week’s to-do list when the announcement hit, that must get done this week. So any planning for spring at this point will be during those down moments when my mind wanders, or perhaps as a break from grading to quell my building anxiety. Next week, planning begins in earnest, and I hope to chronicle my thoughts and plans here as I, and we, navigate this new, strange normal.

How are you, and your institution, navigating your new normal?

Responding to midterm evaluations

I have a confession to make: I have fallen out of the habit of doing midterm course evaluations.

I don’t know why, exactly, I did. I’ve always found midterm evaluations to be useful as a way of taking the pulse of the course. Even if I think I have a pretty good sense of how things are going and what the major complaints are, I still learn useful information from my students. I’ve discovered problems with textbooks, problems with the timing of due dates, and problems with the sight lines in a classroom from midterm evaluations. I’ve learned surprising things about what things my students enjoy and what they value. (Hint: they are not always the same things.) I often use them as an opportunity to check the learning objectives I’ve set for the course, and how well students think we’re meeting those.

They are invaluable in helping me recalibrate my courses.

So I’d fallen out of the habit. But last term, I taught a course I haven’t taught since 2012. And it was a struggle to get back into the rhythm of the material and the pace of the class and the workload and such. So I thought that would be a golden opportunity to bring back the midterm evaluation into my life.

Boy, am I glad I did.

I’d had a sense that the class was going ok, but that something seemed off, and I couldn’t quite place why. The midterm evaluations illuminated the issues very quickly, and also explained why it was so hard for me to figure out the source of the issues. In a nutshell: The students couldn’t make sense of much of anything in the book. My version of flipped classroom pedagogy requires my students to do some targeted reading and complete targeted reading quizzes before class, so that I can see what they got out of the readings and where I need to spend some extra time before we dive into deeper practice with the material, and then deeper still on the problem sets. Since they were lost when reading the book, they were lost when attempting the quizzes. Sometimes they gave up, and sometimes they just kept guessing until they got the right answer. This means their foundation was shaky, and they were not really prepared to engage with the material in class. But the way I had the quizzes set up, it was hard for me to see the depth of the problems. And then, because they couldn’t engage with the material in class at the level I’d expect based on what I saw in the reading quizzes, they weren’t prepared to engage with the problem sets — which are challenging.

A perfect storm of chaos, basically.

I’ll admit that it was hard to read this set of evaluations. Mostly, I felt like I had let my class down, and berated myself for being a “bad professor”. Which is human but not really constructive. So I sat with the comments for a few days, planning how to address them. Clearly my course needed a restructuring, one that would work around the shortcomings of the textbook while still remaining true to my pedagogy. But I wasn’t sure how to do this.

As my class took an exam in the first half of the following Monday’s class, I finally figured out what I wanted to do, and sketched out a plan on slides. When the last student handed in the exam, I said we were going to talk about the evaluations. And I summarized their concerns. And outlined the “perfect storm” I described above, and how I thought this was affecting their learning. How finding a good textbook for this type of class at this level is difficult, and how I’ve successfully used this book for many years, but that’s irrelevant because what mattered most is that they struggled with it so that means it was not a good fit for this class, and how I will take this into account the next time I teach this class and have to pick a textbook.

And then I outlined a plan for the rest of the term, one that I hoped allowed them to attempt the readings more successfully and with a bit more focus (reminding them that I do give them hints on what to focus on, through a set of reading questions in addition to the quizzes). We would start each class explicitly with the key points from the readings listed on the board along with my impression of what concepts they found most challenging, giving them the opportunity to agree/disagree with my assessment. This might mean that I had to change my planned examples and exercises on the fly, which made me a bit nervous since I was still relearning the material along with them — but I promised to be honest with them when I felt like my free-wheeling might lead us into rough waters, and they seemed to be ok with that. That I’d dedicate more class time to giving them the opportunity to start/work on problem sets, so that they could ask questions right away and we could figure out together if they need some extra practice before attempting the problem sets.

I am grateful that I work at an institution where students feel safe enough to be honest with me about what is and is not working for their learning. I am grateful for the level of thoughtfulness and self-reflection my students bring to the learning process. Students here place high expectations on faculty and expect a lot from us (which they should!), and their feedback and observations make me a much better teacher. Responding to this feedback, and restructuring my course, proved an interesting challenge and a good opportunity for me to reflect on my pedagogy — not just my philosophy, but my practice.

I don’t think I completely hit the mark on everything I intended to do last term, but I do think things improved, for both me and the students. And, as I put together my course for spring term, I realized that I could and should incorporate some of these same practices (extra checking in with the students, being explicit about the key points from the readings) into that course as well. We’re only a week and a half into the new term, but I’m excited to see how things go. And, I’m already looking forward to what this batch of students will share on this term’s midterm evaluations.

Introducing CS 1 students to algorithmic bias via the Ethical Engine lab

There’s a lot of recent interest around the ethics of technology. From recent popular press books like Algorithms of OppressionAutomating Inequality, and Technically Wrong*, to news stories about algorithmic bias, it seems like everyone is grappling with the ethical impacts of technology. In the computer science education community, we’re having our own discussions (and have been for some time, although there seems to be an uptick in interest there) on where ethics “belongs” in the curriculum, and how we can incorporate ethics across the curriculum — including in introductory courses.

One initiative aimed at touching on ethical issues in CS 1 particularly caught my attention. In July 2017, Evan Peck, at Bucknell University, posted about a programming project he and Gabbi LaBorwit developed based on MIT’s Moral Machine, a reworking of the classic Trolley Problem for self-driving cars. This project, the Ethical Engine, had students design and implement an algorithm for the “brains” of a self-driving car, specifically how the car would react if it could only save its passengers or the pedestrians in the car’s way. After implementing and testing their own algorithms, students audited the algorithms other students in the class designed.

Justin Li at Occidental College built upon this lab, making some changes to the code and formalizing the reflection questions and analysis. He wrote about his experiences here. In particular, Justin’s edits focused more on student self-reflection, having them compare their algorithm’s decisions against their manual decisions and reflecting to what extent their algorithm’s decisions reflected or did not reflect their priorities.

I was intrigued by the idea of this lab, and Justin’s version seemed like it would fit well with Carleton students and with my learning goals for my intro course. I decided to integrate it into my fall term section of intro CS.

Like Evan and Justin, I’ve made my code and lab writeup freely available on GitHub. Here are links to all three code repositories:

Framework

Based on Justin’s and Evan’s writeups, I made several modifications to the code.

  • In the Person class, I added “nonbinary” as a third gender option. I went back and forth for a bit on how I wanted to phrase this option, and whether “nonbinary” captured enough of the nuance without getting us into the weeds, but ultimately decided this would be appropriate enough.
  • Also in the Person class, I removed “homeless” and “criminal” as occupations, since they didn’t really fit in that category, and made them boolean attributes, similar to “pregnant”. Any human could be homeless, but only adults could have the “criminal” attribute associated with them.
  • In the Scenario class, I removed the “crossing is illegal” and “pedestrians are in your lane” messages from the screen output, since in this version of the code these things are always true.

I also made it a bit clearer in the code where the students should make changes and add their implementation of the decision making algorithm they designed.

Execution

I scheduled the lab during Week 8 of our 10 week course, just after completing our unit on writing classes. We take a modified “objects-early” approach at Carleton in CS 1, meaning students use objects of predefined classes starting almost immediately, and learn to write their own classes later in the term. The lab mainly required students to utilize classes written by others, accessing the data and calling upon the methods in these classes, which conceivably they could have done earlier in the term. However, I found that slotting the lab in at this point in the term meant that students had a deeper understanding of the structure of the Person and Scenario classes, and could engage with the classes on a deeper level.

I spread the lab over two class periods, which seemed appropriate in terms of lab length. (In fact, one of the class periods was shortened because I gave a quiz that day, and the majority of the students had not finished the lab by the end of class, which leads me to believe that 2 whole class meeting periods at Carleton, or 140 minutes, would be appropriate for this lab.) As they do in all our class activities, students worked in assigned pairs using pair programming.

On the first day, students made their manual choices and designed their algorithm on paper. To ensure they did this without starting with the code, I required them to show their paper design to either my prefect (course TA) or myself. A few pairs were able to start implementing the code at the end of Day 1. On the second day, students implemented and tested their algorithms, and started working through the lab questions for their writeups. Most groups did not complete the lab in class and had to finish it on their own outside of class.

At the end of the first day, students submitted their manual log files. To complete the lab, students submitted their algorithm implementation, the manual and automatic logs, and a lab writeup.

Observations

Unexpectedly, students struggled the most with figuring out how to access the attributes of individual passengers and pedestrians. I quickly realized this is because I instruct students to access instance variables using accessor and mutator methods, but the code I gave them did not contain accessor/mutator methods. This is a change I plan to make in the code before I use this lab again. I also plan to look a bit more closely at the description of the Person and Scenario classes in the lab, since students sometimes got confused about which attributes belonged to Scenarios and which belonged to Persons.

Students exhibited a clear bias towards younger people, often coding this into their algorithms explicitly. One pair mentioned that while their algorithm explicitly favored younger people over the elderly, in their manual decisions they did “think of our grandmas”, which led to differences in their manual and automatic decisions in some places. A fair number of students in this class came from cultures where elders traditionally hold higher status than in the US, so the fact that this bias appeared so strongly surprised me somewhat. Pregnant women also got a boost in many students’ algorithms, which then had the effect of overfavoring women in the decisions — which many students noted in their writeups. While nearly all pairs explicitly favored humans over pets, a few pairs did give a small boost to dogs over cats, while no one gave any boost to cats. I’m not sure why this class was so biased against cats.

I was impressed by the thoughtfulness and nuance in many of the lab writeups. Most students were able to identify unexpected biases and reason appropriately about them. Many thoughtfully weighed in on differences in their algorithm’s choices versus the choices of their classmates’ algorithms, one pair even going so far as to reason about which type of self-driving car would be more marketable.

In the reflection question about the challenges of programming ethical self-driving cars, many students got hung up on the feasibility of a car “knowing” your gender, age, profession, etc, not to mention the same characteristics of random pedestrians, and being able to utilize these to make a split-second decision about whom to save. This is a fair point, and in the future I’ll do a better job framing this (although to be honest I’m not 100% sure what this will end up looking like).

One of the lab questions asked students to reflect on whether the use of attributes in the decision process is ethical, moral, or fair. Two separate pairs pointed out that the selection of attributes can make the decision fair, but not ethical; one pair pointed out the converse, that a decision could be ethical but not necessarily fair. I was impressed to see this recognition in student answers. Students who favored and used simpler decision making processes also provided some interesting thoughts about the limitations of both “simpler is better” and more nuanced decision-making processes, both of which may show unexpected bias in different ways.

Conclusions and takeaway points

Ten weeks is a very limited time for a course, so for any activity I add or contemplate in any course I teach, I weigh whether the learning outcomes are worth the time spent on the activity. In this case, they are. From a course concept perspective, the lab gave the students additional practice utilizing objects and developing and testing algorithms, using a real-world problem as context. This alone is worth the time spent. But the addition of the ethical analysis portion was also completely worth it. While I have yet to read my evaluations for the course, students informally commented during and after the exercise that they found the lab interesting and thought-provoking, and that it challenged their thinking in ways they did not expect going into an intro course. I worried a bit about students not taking the exercise seriously, and while I think that was true in a few cases, by and large the students engaged seriously with the lab and in discussions with their classmates.

I teach intro again in spring term, and I’m eager to try this lab again. The lab has already sparked some interest among my colleagues, and I’m hoping we can experiment with using this lab more broadly in our intro course sections, as a way to introduce ethics in computing early in our curriculum.

*all of which are excellent books, which you should definitely read if you haven’t done so already!

A snapshot of (the quickly ending) Fall Term

It’s Week 9 of our 10 week Fall Term, and I am sitting here wondering just where the hell September and October went. Seriously, wasn’t yesterday the start of the term? (Guess I should take “Goals for Fall Term” out of the blog post idea queue, then….)

It’s been a busy fall term, and it feels like I have a lot more on my plate than usual. I chalk this up to a combination of a number of projects currently on my plate plus continuing recovery from my broken elbow this summer. All of it interesting (for varying definitions of “interesting”). So here’s a look at some of what I’ve been up to the past couple of months.

Teaching: Revisiting an Old Favorite Class

I love teaching Intro. I love guiding students through their first (or one of their first) experiences with programming, algorithm design, and algorithmic thinking. I love the pace of the class, the creativity my students bring to the projects and in-class exercises, the material, and even the wide variety of backgrounds and experiences of my students.

I used to teach Intro all the time. But an influx of young ‘uns and visitors and general scheduling oddities meant that I haven’t taught it since Winter 2015. So I was thrilled to see Intro on my schedule twice this year, Fall and Spring term. But also a bit worried: would this be like a new prep for me, given the long-ish layoff?

Complicating matters is that I switched from a textbook I loved, but for which I could no longer justify the hefty price, to a perfectly fine lower cost textbook. Which meant I’d have to rework my reading assignments, at the very least.

The layoff and the textbook switch led me to approach the class as if I hadn’t taught it before. I revisited and revised all of my learning goals. I did a full backwards design of the class. I mapped topics and projects to learning objectives to make sure they still matched and were still relevant. I added a lab on ethics (which I’ll be blogging about in the coming weeks) and replaced the two exams with 5 quizzes (really mini-exams). I committed to using Slack as a communications medium — with, I’ll be honest, a bit of trepidation.

Luckily, the workload has been manageable. I spend a reasonable amount of time prepping (nowhere close to new prep time, but a bit more than “I recently taught this” time). The majority of my class is first year students, which makes for a really neat class dynamic — and I’m really enjoying the mix of personalities. I truly look forward to teaching every MWF and I’m having a good time in the classroom. The Slack experiment is going better than expected — and has been extremely useful for sharing code with students during and after class. All in all, it’s been a most excellent return to the realm of Intro CS!

Research: Papers, Papers, Papers

Being at an undergraduate-only institution means my research collaborators are undergraduate students. And I’ve lucked out in the student department lately. I have two amazing student researchers, both now junior CS majors, who have worked with me since last spring. They designed and ran their own experiment this summer, and even recruited an interviewee, conducting and then transcribing the interview, too! This fall, we’ve concentrated on analyzing the results from the summer experiment, and are using these results to plan out our next set of experiments.

My stretch goal for my students was to have them submit an extended abstract to the student research competition at SIGCSE, since SIGCSE’s in Minneapolis next year. I’m happy to say they met this goal! I have no idea how reviewers will receive our work, but in any case, it was a good experience for my students — and a good opportunity for me to reflect on where the work is now and where we should go next.

My students are working on one aspect of my larger research project, and my goal this fall was to primarily work on that as well. But, I have a rejected conference paper that I’ve been sitting on since last spring, from the other aspect of my project. And I happened to stumble upon a CFP for a conference that’s a pretty good fit for the paper. And the deadline was a bit uncomfortably close, but not impossibly so. So, I was able to revise that paper and get it back out into the review stream. Bonus: revising that paper helped me think through the next stages of that project, and I’ve moved that project back into the rotation. Our upcoming long break between Fall and Winter terms will be the perfect time to get some sustained work on that project completed, and move me towards my next conference paper.

So, I went from maybe 1 paper-ish thing submitted to 2 paper-ish things submitted! Gold star for me.

Career Planning: What Do I Want to Be When I Grow Up?

I’ve had the idea in the back of my head that someday, maybe, I’d go into academic administration. Within the past year or so, I decided to explore this path more proactively. I did the scary thing of VERBALIZING TO A DEAN that I was contemplating administration. I applied for a few grants (unsuccessfully) that would have funded some leadership-type projects I’ve been considering. (I’m still working on the projects, just without the funding.) I mentioned my goals in conversation with faculty colleagues from other liberal arts schools at Tapia.

Lately, I’ve taken this up a notch or 5.

First, I was accepted to, and am participating in, the HERS Institute at Wellesley this academic year. The homework, and the activities and sessions at the first weekend in October, have been extremely useful so far. And a bit scary, since some (many?) of them drive me outside my comfort zone. My cohort is full of amazing, inspiring, energetic women — my 60 new colleague best friends. 🙂 I’ve figured out so much about myself, my strengths, my weaknesses, my unstated goals, already! I feel like this experience is preparing me very well for whatever comes next in my career — and has helped me thing more broadly and expansively about the possibilities. The next session is coming up next weekend, and I can’t wait!

Second, and scarier: I put my name forth for consideration for an administrative position at my institution. No matter what the outcome, putting myself forth has helped me think through my priorities, and will be a good experience for figuring out how to pursue opportunities in the future.

Life: Recovery Takes Time, and a Boatload of Medical Appointments

My newest hobby is attending multiple occupational therapy appointments each week, as I continue to rehabilitate my broken elbow. The good news is that the breaks are completely healed, and I’ve been cleared to do whatever I want! I’ve worked my way slowly back to running, and on Monday I ran 30 minutes nonstop. Which doesn’t seem like much given I’m a 3-time marathoner, but was a huge milestone after months of “just” walking or walk/running to avoid jostling my elbow too much. I can now fully participate in taekwondo, although I still can’t do a full pushup (not even on my knees). But that will come in time. I’ve also started swimming again, and while I need to make a few adjustments to account for my reduced range of motion, swimming has felt good.

The not as good news is that it’s been a long, slow, uncomfortable slog to regain my range of motion and strength. Apparently, elbows are difficult entities. My therapy exercises are uncomfortable and sometimes painful. My progress stalled out for a while (thanks, scar tissue in the elbow!), but I now seem to be moving forward again, thanks to ultrasound and Graston treatments. There is a chance I might need surgery again to clear out the plethora of scar tissue that’s formed in the elbow, but I hope I can avoid that.

I used to scoff when people said they could “feel the weather changing” in their joints. I don’t scoff any more, because this is now my lived experience. I feel old.


Even with everything on my plate, it’s been a manageable term. Sure, some days require some Herculean logistics, and I’ve had to move around my office hours more than I care to admit to accommodate the less-movable OT appointments, but I’ve managed to keep my weekends mostly work-free and my sanity mostly in check. Here’s hoping the end of the term is as manageable as the rest of the term has been (fingers crossed).

 

Random thoughts, Friday before first day of classes edition

The week before classes is traditionally very busy. Lots of meetings, faculty retreat, Academic Fair, advising especially if you have first year advisees — not to mention, the rush to get everything ready for the first day of classes. And the busy-ness and franticness, I’m finding, is amped up to 11 (on a scale of 1-10) when you’re coming off sabbatical.

I’m finding a few things more challenging than usual:

  • Interacting with people. Oh, so many people! Comparatively at least, since I’m used to working by myself at home with only my cats for company. I’ve found I need a lot more alone time to recover after these encounters, more time than usual. Tuesday and yesterday afternoon were especially brutal — Tuesday because of faculty retreat (a half day filled with people! ack!), and yesterday due to a combination of meetings + Academic Fair (where first years can go and learn about the academic departments and services) without a break. Last night I could barely function or think. Good times.
  • Emails. Emails emails emails. I’m realizing I was spoiled on sabbatical: not only was I getting way fewer emails, but also I could ignore about 90% of the ones I did get. Not so anymore. I’ve fallen way behind on email processing this week, so in addition to the 1000 other tasks I have to do today to get ready for next week, I have to pencil in time to tackle at least the more pressing ones. And let’s not mention the Slack channels I’m on, where conversations have ramped up quite a bit in the last week.
  • Getting all the logistics in place for the term. This includes things like coordinating meetings with community and campus partners for our capstone projects, which affects the times and days of the week I meet with my capstone groups. And reserving lab space for in-class labs. And finding a meeting time and place for the science fellows seminar. Which, you guessed it, means lots of emails. Oh yeah, and figuring out office hours and blocking off time for research and class prep and and and …. ok, deep breaths.

I know that This Too Shall Pass and Everything Will Somehow Get Done By Monday. Deep breaths. Deep breaths. ….

* * *

I’m really enjoying my new office and my new building. My hallway consists of me, the director of our learning and teaching center, and the new writing program director. Lots of potential for great conversations and maybe projects with both. The Cinema and Media Studies/Music admin offices are across the hall, as well as CAMS and Music faculty offices and the Learning and Teaching Center. Being in such an interdisciplinary spot is going to be really interesting!

Our department has a Slack channel now, since we’re spread out (2 of us are in my building, and the rest are spread between 3 floors of another building), as a way of communicating small things and having small discussions/getting questions answered. I’m also getting used to the fact that my colleagues now call me on the phone to have once were quick hallway conversations. I’m used to ignoring my phone — I guess I can’t do that any longer.

I do hope the construction noise outside my window ends when classes start.

My building is 2 blocks from downtown, which means 2 blocks from coffee shops and the bagel place and restaurants and such. Plus there is a coffee shop in my building. I foresee a lot of coffee and bagels in my future this year. Perhaps I won’t be losing the Sabbatical 5 Pounds I gained last year. But, on the other hand, this means more interesting places to walk when I am feeling stir-crazy and need to clear my head.

* * *

And on that note, it’s back to class prep and email taming and all of the other Friday before classes start tasks. To all the Carls new and returning: see you on Monday, and have a fabulous fall term!

A rough return to teaching

I’ve spent the past few summers (minus last summer when I was on sabbatical) teaching in a summer high school program. The program consists of 3 weeks of morning classes and afternoon guided research with a faculty member. I really, truly enjoy it. Teaching high school students is an interesting challenge. And by and large the students have been thoughtful, engaged, creative, and eager to learn. (It’s also very gratifying to see some of them as Carleton students post-high school!)

So when my colleague approached me last fall about teaching again this summer, I agreed. The program, I reasoned, would give me the opportunity to ease back into teaching before returning to the classroom in the fall. Plus I already had curriculum and research projects ready to go. What could possibly go wrong?

Suffice it to say that my envisioned triumphant return to teaching was anything but.

The actual mechanics of teaching? That went easier than I anticipated. The rust fell away quickly, much to my surprise. Being in front of students felt natural to me, and I found my teaching groove in short order. Pacing was still tricky at times, but pacing is always a bit of an inexact science.

What I didn’t anticipate, and what was roughest about re-entry: the small but active minority of students in my research group who decided early on that what I was teaching, human-computer interaction (HCI), was not Real Hard Core Actual Computer Science Because We’re Not Programming 24-7. And the undercurrent of disrespect for my authority, and for my RA’s authority (also a female computer scientist).

Now, I should pause and make it crystal clear at this point that THIS IS NOT NORMAL FOR THIS PROGRAM. The vast, vast majority of students are respectful and open to learning, and to expanding their ideas of what computer science is. I can count on one finger the number of research students I’ve mentored in this program who have been actively disrespectful of me and the subject matter. Sure, I’ve had some students in the past who were openly or less openly skeptical about the merits of HCI as a computer science field, but by and large those students at least came to appreciate what I was trying to teach them in the end, even if in the end they decided it wasn’t quite their cup of tea. And I’ve had some really interesting conversations with the objectors that have not only strengthened my framing of my material, but have also led me to reflect on what material I choose to include and how I include it. Both of which make me a better, more effective teacher in the end.

I spent a lot of time and energy during the program reflecting on where this particular strain of disrespect originated. Part of it likely relates to the HCI = Not Real Computer Science attitude, which is certainly not limited to the students in my class (and is still somewhat pervasive in the field, unfortunately). Part of it also likely relates to the general bro-ness and toxic masculinity that has always surrounded computer science, something that’s come into sharp focus lately with any number of recent news stories. Why did it emerge in force this year, and not in previous years? That, I’m still trying to figure out.

It’s been a very long time since I’ve had to deal with this level of disrespect in the classroom. I’ve been at Carleton long enough that I’m part of the fabric of the department — I am “accepted”. Gaining seniority (in age and in status) over the years increased my credibility with the students, giving me more authority in their eyes. The close-to-gender parity we have in our faculty also helps quell at least some of the disrespect. So I was caught off-guard.

Once I recognized what was going on, I went into damage control mode. I summoned up my Authoritative Teacher persona from the depths — she hasn’t been around much since my pre-tenure days. I blinded them with science — or, at least, hit them hard with the scientific basis for every psychological or design principle we discussed. I randomly threw out my credentials, just to remind them that Yes I Do Know What I Am Talking About As I Have A PhD In Engineering And Years Of Experience. I occasionally let out my Inner Bitch and used my Evil Mom Stare with abandon.

But I also second-guessed almost everything that I did, and said. I put up my guard in ways I haven’t had to do in a very long time. Teaching, and every single interaction in this program, took up at least twice as much of my mental and emotional energy. Teaching in this program is normally draining, but this year, at the end of the day, I truly had nothing left in my tank. And that was not fair to my family or to myself.

Lots of people have asked me if I’ll teach in the program again next year. I honestly don’t know. On the one hand, I still believe strongly in this program. I have met and worked with so many incredible teens and young adults in this program. By and large, my students are thoughtful, creative, eager to challenge themselves, whip-smart, and funny. Most of my students did outstanding work on their research projects, and embraced the experience and challenge from start to finish. And I enjoy serving as a role model to high school students, both as a female computer scientist and as an HCI researcher. But on the other hand, this summer exacted a huge toll from me. I was exhausted, and bitter, every single day. Why does it feel like it’s just my responsibility to hang in there, fight the good fight, and change their minds? How productive, and happy, would I be if I didn’t have to deal with this crap?

Hopefully, I won’t experience anything like this in the fall when I return to the classroom full time. Or, if I do, at least I’ll be prepared to recognize it and deal with it. That, I suppose, is the sad silver lining in this experience.