Extending the “central question” experiment to Software Design

In my Fall Term course, Computer Networks, I experimented with designing the course around a central question: should the Internet be considered a public utility or a private good? Students produced reflections at the start and end of the term around this question: the start of the term’s reflection focusing on how they understood the question at present, and the end of the term’s reflection utilizing evidence from the course to demonstrate how their answer did (or did not) evolve.*

The experiment proved so successful that I now plan to do this in as many courses as I can. I like how it focuses the students, succinctly, on the core of what we’re learning and reminds them that what they learn in this course has broader impacts beyond the content. At the same time, the central question helps me focus on what’s really important in the course, which helps me make decisions about what content to include or exclude, what to triage, and how to structure course activities.

This spring, I’m teaching Software Design — the same course I taught a year ago. Software Design is an interesting course in that we cover a lot of ground and a number of seemingly disparate topics loosely united by the theme of “these are things we think our majors should know about how to write effective software”. Things like: how to work effectively in teams. Best practices in function and class design. Code style and commenting. A bit of user interface design and accessibility. How to shepherd a project from idea to deployment. Iterative design. Ethics. Design patterns.

I’ve worked with my colleagues who also teach this course regularly over the past couple of years to streamline the story the course tells. I came up with a “layer cake” diagram to show the students how the topics unite and where various concepts fall in these layers. In my “week in review/weekly preview” videos last spring, I included this diagram to indicate what layer(s) we’d hit the previous week and in the coming week. I think this went a long way towards making the course feel less disjointed to the students.

Three layers of Software Design topics: Professionalism at the top, Design and Architecture in the middle, and tools at the bottom.
The “layer cake” model of Software Design topics. In retrospect, I missed an opportunity to make this look more like a cake.

And yet…this didn’t quite get us all the way to where I wanted to be. There’s still a lot going on in that model. Plus, I feel strongly that a huge part of “writing effective software” involves ethical and social reflection. How might this software cause harm, intentional or otherwise? Whom does this leave out? When, and why, might we choose not to bring a piece of software into the world? Do our teams embrace and interweave diverse perspectives and life experiences? In what ways can software development be an act or a practice of social justice?

So, back to the central question. Given all that’s going on in this course, what should that central question be?

The answer I settled on:

What are our responsibilities, as software developers, when putting software out into the world?

I’d like to use the same initial/final reflection assignment I used in the fall, which means I’ll need to shuffle around the first week’s deliverables (not a huge deal) and modify the current reflection I have students do at the end of this course (where they reflect on the process of software development they experienced over the term). And I think this question lends itself well to a first-day-of-the-course activity framing the course for students. (It’s more holistic than the exercise I’ve used forever, which has students reflect on examples of good and poor design in software and systems they use and work through the design outline of a mythical system.)

More importantly, I believe the question tightly ties in those ethical and social justice issues that I want students to grapple with. It reinforces the idea that software design and development is not a neutral activity. We don’t have the luxury of NOT critically examining ALL the things we bring to the process: our biases, life experiences, world views, identities, and beliefs. And this critical examination is as much a part of the software development process as using GitHub effectively, or writing solid unit tests, or constructing tightly cohesive functions, or gathering requirements.

I’m interested, and eager, to see how this experiment plays out — and I’m already looking forward to my students’ initial and final reflections on this central question.

*In a nod to universal design and flexibility, students chose the modality for this reflection. Many wrote a classic essay, some recorded videos, and others produced and narrated slide decks. My rubric accounted for these various modalities.

Advertisement

Virtual conferencing

This week (and last week, technically, if you count the pre-conference workshops), I’m attending SIGCSE, one of the annual conferences for Computer Science education. I go to SIGCSE most years — although, notably, 2020 was one of the years I skipped, the infamous year where the conference was canceled just before the opening keynote. I go to learn, of course, and to attend at least one affiliated event/workshop, but also, more importantly, to reconnect with friends and colleagues (and make new connections!) who also care deeply about teaching and learning in Computer Science.

(Out of curiosity, I went back and figured out how many SIGCSEs I’ve attended. My first was Dallas in 2011. I skipped 2012 because I was on adoptive parent leave. I made it to all the SIGCSEs from 2013-2019 — Denver, Atlanta, KC, Memphis, Seattle, Baltimore, and Minneapolis. So this is my 9th!)

I’ve attended a handful of virtual conferences during Pandemic Times, but SIGCSE is the first one that’s departed significantly from the “cram everything into the same time frame” model — perhaps because they’ve had sufficient lead time to reimagine it as a completely virtual conference. Events are spread out over 2 weeks, if you count the pre-conference workshops and affiliated events. A conference “day” lasts from noon – 8:45pm CT, with a nice break before the last session of the day built in. Everything is self-contained in a platform called Pathable, and while (of course, because we’re computer scientists) people are complaining about Pathable, I think on balance it’s pretty decent for all that it has to do.

The conference is not over yet, but I’ve already noted some pros and cons of attending a conference that’s been designed for a full virtual experience.

Pros

  • It fits the rhythm of my workday. This point is very time-zone dependent, but as someone in the Central US Time Zone, I’m conferencing in the latter half of my day. I can get the kids on the bus/settled into virtual school, get some deep work done in the morning, and join my family for dinner during the longer break before the last session of the day. And the last session ends right before the younger kid’s bedtime, so I can still say goodnight. Also, I don’t have to hunt down decent coffee. (Or wait for a break to grab a snack!)
  • New affordances = more control over my conference experience. Turns out, video opens up a lot of opportunities to reimagine how one conferences. Most sessions are recorded, so if I need a break or am called away for a kid or work “emergency”, I know I can go back and watch later. All of the talks in the paper sessions are already posted, which means the actual session can focus on Q&A and not rushing through slides. I’m co-chairing a paper session on the day this posts, and my co-chair and I have been able to collaborate on questions to help prod conversation if the audience is unexpectedly quiet. (Also? Watching video talks at 1.5 speed is a game changer!) SIGCSE’s playing around a bit with the medium, too, releasing “Morning Coffee” videos that highlight someone in the community (who, I think, might also be presenting that day?). And apparently someone has re-created the hallway track, although I have yet to check that out.
a computer monitor and a laptop showing a conference talk video and a Google Doc window.
Pre-watching talks and brainstorming questions via Google Docs with my co-chair. Not pictured: all the times I was interrupted to break up a fight between the kids; the loud piano playing in the background; cats wandering in and out of the room.
  • Conversations during presentations. I absolutely love the ability to converse (via chat) with other attendees during sessions. Much more socially acceptable than frantically whispering to your neighbor. It also makes asking a question in public less fraught.
  • Less exhausting (up to a point). Yes, being on video and online all day is its own form of exhausting, but I do appreciate that I’m not conferencing from first thing in the morning to well into the evening. And sleeping in my own bed at the end of a long day = priceless.

Cons

  • Less serendipity. I don’t run into people randomly in the hallways or in line for coffee, which means I’m not catching up with friends and colleagues (unless I message them in Pathable). I miss my people!!! In the past, some of the best sessions I’ve been to were unplanned — I ran into a friend and followed them to whatever session they were headed into, or met someone who mentioned a particular speaker was not to be missed, and followed their advice. I’d pull out a crocheting project while watching a presentation and end up striking up a conversation with random strangers who crochet or knit. That serendipity is missing now.
  • No opportunity to explore, or re-explore, a different city. I really do miss traveling and exploring new cities (or re-exploring cities I’ve visited in the past). I’ve done excellent long runs in Seattle, Atlanta, and Denver; unexpectedly discovered vegan restaurants in Memphis and KC; explored museums and bookstores in every city; wandered for miles just because; gotten lost. I mean, I could get lost in my own neighborhood, I guess, but it’s not the same.
  • A longer overall time commitment. Yes, it’s nice to have things spread out, but that means SIGCSE is a 2-week commitment this year. And while if I were physically at a conference I wouldn’t balk at attending a Friday night or Saturday session or three, it’s harder when you have to pull yourself away from family time to attend a keynote. (Although it did get me out of cooking Sunday dinner last weekend!)
Cat appearances are usually a pro, but cats who don’t honor personal space are definitely a con.

While I still vastly prefer the in-person conference experience (although will that be true post-pandemic? when will I truly feel comfortable in a crowd of strangers, indoors, again?), the virtual experience is … not bad. I’d love for us to find a way to keep some elements of the virtual experience — perhaps retaining video talk uploads and giving more time to Q&A during paper sessions, allowing avenues for virtual attendance for anyone who wants to or has to attend that way (and have the experience be equitably rich), and reimagining the “packed days” paradigm.

What have your virtual conference experiences been like? What’s worked better than you expected? What do you miss the most? I’d love to hear your thoughts!

Looking forward

This week marks the end of Winter Term at Carleton. The day this posts is the last day of classes; finals end on the 15th. It’s been a long, tough term, every bit the slog we expected (and then some), and not that there’s much of a break before the start of Spring Term classes on the 29th, but it’s a break nonetheless that we all sorely need.

There’s a lot to be anxious about, to be sure — we’re not out of the woods with COVID just yet, and there’s the fear we’ll ease up too early on restrictions before enough of us can get vaccinated. One kid is back in school full time (and has already had a 2-week all-school shutdown because of COVID spread in the school) and the other goes back in just over a week. The continued violence against Asian-Americans worries me, both as a decent human being and as the mom of an Asian son. The trial of Derek Chauvin looms large over everything around here, too, making an already difficult week even more so for many members of our campus community.

And yet.

I find myself more hopeful lately, more willing to look ahead to what we might be able to do in the future. I’m looking forward to more things, with fewer qualifiers — more “when”, less “if”. More outright planning, less contingency planning.

Here are some specific things that I’m particularly looking forward to, in no particular order.

  • In person research with students. While we’ll still have restrictions and a community covenant in place, we received word yesterday giving the go-ahead to host students in our lab spaces this summer! I plan on giving my students the choice of in-person or virtual research this summer so that I can be as flexible as possible — and honestly, I’ll likely give that option to students from now on, pandemic or no. I am positively giddy that I will be able to work side-by-side with students this summer, scribbling on whiteboards together and talking face to face. We’ll finally get to use our brand new research spaces, too!
  • My Spring Term course. I’m teaching Software Design to what looks to be a big group (40 students, plus or minus a few). I adore teaching Software Design. I’ll still be teaching fully online. I taught this course online last spring, and it went fine. But I’ve learned so much since then, and I’m super eager to pour what I’ve learned into redesigning the course for the upcoming term. Luckily, we’re talking tweaks and not wholesale changes, but I suspect they’ll make a huge difference into the class flow.
  • Getting vaccinated! Unlike some states, higher ed faculty and staff in MN are not classified as “essential workers” for the sake of vaccination priority, and because of my age and my relatively good health status, I’ll be in the last priority group for vaccination. That said, I am signed up several places for “please call me if you have open vaccine that you need to get in someone’s arm by the end of the day”. And by all accounts, MN’s vaccination rate is accelerating. I’m on track for a summer vaccination, but with any luck, I might even be vaccinated before my research students start their work this summer. Fingers crossed!
  • Summer gatherings. To be honest, I think it will be a long time before I’m comfortable in someone else’s indoor space mask-free. But the improving weather opens up more opportunities to gather, carefully, outside, with a wider swath of people. I’m excited to see friends “in 3-D” that I’ve only seen on Zoom for months. And maybe this summer we’ll actually be able to use the season passes to a nearby amusement park that I bought in late summer 2019…

As spring arrives and as more possibilities open up, what brings you hope? What things are you looking forward to doing?

One year

This coronavirus pandemic is quite scary. I am wondering if we’ll have a completely virtual spring term. It seems likely at this point.

Personal journal entry, March 10, 2020.

Oh, 2020 me. How naive you were.

I blogged a few weeks back about the exhaustion and grief we’re collectively feeling as we approach the one year “anniversary of the pandemic.” The idea of a pandemic anniversary is interesting in and of itself, but I take it to mean the anniversary of the massive shutdowns in the US, when schools moved online and businesses closed down and events were canceled and you couldn’t find a roll of toilet paper or a container of bleach anywhere. So, early March.

When I wrote the post, I wondered how I would actually feel when the “anniversary” finally arrived. Would it be an emotional experience? Would I experience a wave of grief? Would I feel hopeless, sad, angry, pissed off? Or perhaps numb? And when, exactly, might these emotions hit?

I found some answers this past weekend, when I found myself continually going down the rabbit hole of replies to a simple tweet by NPR’s Lulu Garcia-Navarro:

How I spent my Saturday night — and, er, more time on Sunday than I care to admit.

Reading the replies proved a surreal experience, transporting me right back to early March. Details I’d pushed out of my mind to make way for a survival mindset resurfaced:

  • The discussions with my partner about whether, and how, to “stock up” for something like this. Did we even own bleach? What about Lysol? How much food do we have in the freezer and pantry?
  • Thinking back to every sniffle and fever going back to December 2019 — had it already gone through our family? (Answer: no, since I’ve been repeatedly tested and have donated blood and nothing’s shown up.)
  • The growing sense of unease about being out in public.
  • Taking extra precautions with the snacks I brought in for the last day of class project showcase, and ransacking my office to find hand sanitizer (March 11).
  • Wondering if the middle school musical (where elder kiddo had a one-line singing solo!) would go on as scheduled, and/or if the black belt midterm test slated that same weekend would still happen. (Answer: no to the musical, yes to the test.)
  • The all-faculty meeting on March 12, the day after the last day of Winter Term classes, where we were all crowded together in one room to hear the announcement that we were moving to an online Spring Term. (And feeling increasingly uneasy about all being in the same room, unmasked and not distanced, during what was now clearly a pandemic.)
  • The last time I ate in a restaurant — Friday, March 13, with the younger kiddo, after finishing the first part of our black belt midterm tests. (Pizza, ginormous homemade soft pretzel sticks, and probably root beer.)
  • The moment the kids’ schools shut down for “extended spring break” (March 16) — and the realization that my professional and family roles would be tightly intertwined for the foreseeable future.

I certainly didn’t expect that we’d still be at home (largely), still not vaccinated, still with a pandemic raging. And, in some respects (I’m looking at you, Texas, and all the other states without mask mandates), in potentially worse straits. I didn’t know that my mood most days would still swing between numbness, despair, fury, exhaustion, and just a wee bit of hope.

But I also didn’t expect that I’d become reasonably competent in teaching online, and that I’d embrace certain aspects of that medium. I didn’t know that the pandemic would force me to reckon with almost everything I believed and thought I knew about grading and radically change how I evaluate student work. I didn’t think that our super active family would actually welcome the cessation of extracurriculars and embrace the concept of wide-open evenings and weekends spent together.

The answer to “how will I feel when the anniversary arrives?”, so far, is pretty much “the same way I feel most days during this pandemic”, with perhaps a growing sense of hope over everything else. Mixed, too, with a bit anxiety over what our new, post-pandemic normal will be.

What feelings are you experiencing as we hit the one year mark of the pandemic?