Kicking off a virtual research summer

Before everything in the world changed, I hired two amazing student researchers for the summer. Both rising juniors, both amazingly talented, both with skill sets and interests perfectly fit to my summer project. Both completely new to research.

I fantasized about poring over new datasets together, teasing insights out of troubleshooting comments. Sketching out schema and models on a shared whiteboard in the lab. Daily check-in meetings and random coffee/cookie breaks. Puzzling over what research questions we could feasibly start to answer in 7 weeks. Watching my student collaborators learn and grow and become independent problem solvers. In short, all of the reasons I so very much enjoy mentoring students in research.

Instead, we have Virtual Summer Research, with the three of us in different cities spread across 2 time zones. Much like the spring, all of us confined to small Zoom boxes, Slack messages, and git commits.

We’re now in Week 2 of the Great Virtual Summer Research Experiment, and things are….going. Actually, that’s not at all fair. They are going quite well, all things considered. My students are learning just how much they don’t know about programming in Python. As am I. 🙂 They’re playing with BigData queries and figuring out more complex SQL than they used in Software Design with me this year. We’re all learning how to write web scrapers and use NLTK. I think we’re pretty close to settling on a specific set of research questions.

So, how do you mentor brand new research students, students who’ve never done research before and were hoping to learn what computer science research is, when you’re all online?

Well, honestly, I’m still trying to figure that out. But here’s what I’ve done so far.

  1. Drastically modify my expectations. I’m usually pretty laid back about setting super specific deliverables, because there are so many unknowns when pursuing a research question and I find that following my students’ lead usually yields excellent results. We’re all exhausted after spring term and unsure about fall and beyond. Because of that, my goal for my students this summer is: let’s play with some datasets and new-to-us tools and learn something we didn’t know at the start of the summer. Any progress is forward progress.
  2. Daily short morning check-in meetings via Zoom. Daily morning meetings are the norm in my research lab in any year, in-person or virtual. Everyone reports out on what they’ve been working on, where they’re stuck, and what they want to work on that day. With our CDT/PDT split, meetings happen a bit later (11 am) than in an in-person summer (usually 9 or 10 am). On the plus side, this gives me plenty of time to get some of my own work done, run/workout, and wrangle/feed my night owl kiddos before the daily check-in.
  3. Building community. I make sure to start our daily check-ins by checking in with everyone — how are you feeling, what fun things are you up to, etc. Yesterday I found a site of 200 getting-to-know-you questions, and you can bet that I will abuse the heck out of those questions this summer.
  4. Asynchronous updates over Slack. We use Slack throughout the day as a low-key way to keep each other updated. We all post questions or issues we’ve run into. So far it’s just me answering the questions, but I suspect as the students become more comfortable with each other and with the research, they will chime in.
  5. Modeling question asking and help seeking. Based on lessons learned teaching online in the spring, I’ve tried to be more explicit than normal in modeling question asking and help seeking. I share my own mistakes throughout the day. I walk students through how I found bugs in my code/queries and through how I’m debugging the code/queries. When I learn something new, I post that, too. I want students to know that it’s ok to mess up and ok to ask for help — and that in fact messing up is par for the course when doing research.
  6. More specific how-tos. I didn’t realize just how much time I spend physically showing students how to do something (install a script, use a module, debug code) until now. When students struggle, I can’t just sit down with them in pair programming mode, with them driving and me directing (or vice versa), as I normally do. So I’m writing a lot more sample scripts than usual, and creating very specific step-by-step documentation. (I probably could create some videos, too, but I haven’t done that yet.) As a bonus, I’ll definitely use this documentation in the future to orient new students to the research.

In a normal summer, we build community among our students within Computer Science and within the broader STEM at Carleton community. Students work side-by-side in the same lab as the other CS research students. STEM professors talk about their research at weekly Tea Talks. This virtual summer features a weekly virtual professional development seminar for STEM students, run by our STEM Program Manager, with topics such as how to read a scientific paper, how to use library resources effectively, STEM careers/grad school, and how to build a relationship with your research mentor. In CS, we’re working on ways to re-create Cookie Hour, and we have a (so far lightly utilized) Slack workspace for everyone doing summer research as a way to try and re-create “computer lab culture”. Only about half of our summer students in CS have started, so we’ll see if traffic picks up when more people are researching.

Here are a couple of other things I’d like to try:

  • Co-working time. My dismal office hours failure this spring has me thinking about ways to encourage office hours attendance. One idea: rebrand some number of office hours as “drop-in co-work time”. Open up Zoom or Google Hangouts, and work “side-by-side” as we’d do in my office or in the computer lab. This mode of working would be especially ideal as we dive into new datasets — staring at the same data and thinking aloud as we’d do in an in-person summer.
  • Presenting results virtually. We do a lot of informal show-and-tell at daily check-ins during in-person summers. We haven’t done this yet, virtually. I want to get into the habit of frequent, low-stakes presentations, as a way to share work in progress. Bonus: this will help hone our Zoom skills, preparing us all for another term or year of at least partial online learning (which seems likely at this point).

If you’re working virtually with research students this summer, I’d love to hear how it’s gone for you. How are you building community? What’s worked and what’s failed? What tools have you found most and least useful? Comment here, and/or tweet and @ me (@drcsiz). Let’s continue the conversation.

Virtual spring term wrap up

With all non-senior grades due yesterday morning (senior grades were due last week), spring term is finally and officially in the books!

Given that my research students started this week, and looking ahead to my schedule for the week (so! many! meetings!), I completed and submitted all of my grades at the senior grade deadline. I’ve now had a week to regroup and reflect on the term, and figure out what lessons I’ll take away from it.

In this post I’ll talk a bit about what went (surprisingly) well, what fell flat, and what I’d do differently next time, whether we’re in person, online, or some combination of the two.

What went well

Specificity. I tend to be very specific in my assignment prompts and in my assignment rubrics. Over time I’ve recognized that this is good and inclusive pedagogical practice, but honestly it was born out of necessity — as junior faculty in a male-dominated department, it was a defensive mechanism against students who questioned my pedagogy and right to be in the classroom, and/or felt I wasn’t qualified to “appropriately” assess their work. Specificity, it turns out, really helps students focus on what’s expected of them, particularly when they’re already feeling overwhelmed in an unfamiliar learning environment.

Organization. When most of your course delivery is asynchronous, Moodle gets unwieldy quickly. Even in non-virtual terms, Moodle gets unwieldy quickly. I’ve developed a template of sorts over the years for organizing my course weeks on Moodle with judicious use of labels and the assignment module, and I modified that to fit the flow of our virtual class. I also discovered that Google Calendar, when you embed it in Moodle, provides a much easier interface for students to figure out what’s due when than the built-in Moodle calendar, so I relied on that quite heavily. Finally, I’d never used Activity Completion before, but I leaned heavily on that to both control access to material (“complete this to unlock that”) and to give the students a way to keep track of what they’d completed and what they had left to do.

Consistent, stable teams. I decided early on to make the term-long project teams “collaboration teams” for the entire term. While a few teams struggled to connect with each other, the majority of teams connected effectively and formed mini-communities within the course, and these teams worked pretty much how I intended them to work. I suspect this “saved” a few students who might otherwise have gotten lost from completely falling off the wagon. (Unfortunately, it did not save all of these students.) For the most part, teams provided much-needed community within the larger course, and helped replicate some of the “table culture” that emerges in the face-to-face version of this course.

Team meetings. Boy, I wish I had done this earlier in the term! I met with each team over Zoom in the second-to-last week of the term, after peer and self evals came in and around the time the penultimate deliverable was due. I spend about half a class period doing this during in-person terms, and use it as a way to help teams figure out what to focus on for the final version of their project (are there features to jettison? are they focusing on user goals? what will get them closest to the vision they had at the start of the term?). This also provides a way for me to talk with students about team dynamics that emerged in the peer and self evaluations. I think the students were relieved to get some one-on-one focused time with me, something more personal than the weekly Zoom class meetings. And I made sure to do a quick non-course check-in with the students during this time, to focus on their well-being. This was a huge success.

Class discussions. It took me a while to figure out how to conduct these in a more authentic and engaged way. I used stable breakout rooms so that students were always paired up with the same students (their project teams), with some minor shuffling if only one student on a team showed up to class. I quickly realized that me jumping from room to room to check in did not work at all — it was clunky and immediately halted conversation. I started using Google Docs, placing all of the discussion prompts and spaces for notes there. (Sometimes I used a single document for the whole class; other times, each team had their own Google Doc.) Instead of room-hopping, I monitored the Google Doc(s), jumping in with comments in the Doc to redirect discussion or elevate a point, and popping into breakout rooms when it appeared a group was heading off-track or clearly lost. As an added bonus, the Google Docs provide a record of the discussion, so that students who could not participate in real time could still reference the notes and take-away points — and even students who participated could go back and review the take-away points. I definitely plan to use this strategy much more in the future, even in face-to-face courses! (And this might be the only effective way to conduct discussion in a socially-distanced, mask-wearing classroom.)

What fell flat

Building community. I had modest hopes at the start of the term that Slack could provide an acceptable way to build community asynchronously. I seriously underestimated the amount of work that building community online takes. Despite my best efforts (which were pretty lousy, I’ll admit!), interactions on Slack were pretty much one way between the students and me. My attempt to wrangle together a virtual project demonstration/feedback session (as several smaller combination showcase/office hours during Reading Days and Finals) failed to yield a single participant. I delve a little more deeply into the issues (and how I attempted to use badges to salvage the community) in this post on Carleton’s Learning and Teaching Center blog.

Office hours. Try as I might, I could not get students to utilize office hours on any sort of regular basis. I had both drop-in hours (no advance appointment necessary) and office hours by appointment, and both went over like lead balloons. I am not sure why students did not utilize these — fear? lack of a pre-existing relationship? (although even students I knew before this course failed to take advantage of office hours.) branding? I wonder if requiring students to make an office hours appointment with me in the first couple of weeks in the term would help fix this. At least it would remove the barrier to setting up the meeting and then showing up to the meeting.

Timing of deliverables. There was a mismatch in my head, over how I thought each week would flow, and how this matched up with when I had readings and reading activities due. Often this meant that our Wednesday synchronous class meetings hit on things that technically weren’t due until Friday. Luckily, this is easily fixable moving forward, particularly since now I have a slightly better sense of how to manage flexibility with keeping everyone roughly on the same track.

Flexibility in deadlines. Let me preface this by saying that flexibility was absolutely the right call, given all of the things students faced this spring and continue to face. For many, this flexibility allowed them to successfully complete and pass my course. Every major deliverable in the course had a de-facto 48 hour no-fault extension built in. Once students realized this, however, many of them treated that 48 hour buffer as the actual deadline. This made it more difficult for my grader and me to keep up with assessments, and to manage deliverables that built upon other deliverables. When most work revolves around team deliverables, there’s also the tricky balancing act of handling a student who needs some flexibility with the needs of the other students on the team — how does everyone navigate this minefield while meeting everyone’s individual learning goals and needs? I don’t have any great answers, but I did learn a lot this term and will use those lessons to craft better ways of handling this in the future.

Concrete takeaways and homework for the summer

I realized as I compiled my thoughts for this section that all of the takeaways revolve around one theme: providing students more autonomy and independence over their learning. Moving online forced us more into that mode, but continuing this mode offline is a good idea pedagogically anyway. So, what can I do to help students become more independent learners?

First, I want to explore the ideas of specifications and/or contract grading. I sort of did specifications grading-light this past term, with my rubrics following a “does not meet expectations”/”meets expectations”/”exceeds expectations” format, but I want to expand this idea out further. I also want to look into working with students on what they want to get out of a course and how to structure the pieces of the course to help them craft that for themselves.

Second, I want to continue integrating activity completion into my courses, to help students keep better track of expectations and due dates, and to control the release of information better (“do this before you can unlock that”). Ideally, this will also help students connect the dots of how all of the pieces relate and inter-relate.

Third, I suspect we’ll be in pandemic mode for quite some time, and that things may never quite get back to “normal”. Students may continue to engage in courses in multiple ways: in person, completely virtually, some fluid combination of these. How accessible are my courses, really? I learned a lot this term about the barriers to learning in my own materials — unclear labs, dense readings, opaque tool documentation, etc. I want students to grapple with the course concepts, not the how-tos.

Finally, I want to empower students to seek help and form connections with me and others in the course. How can I be more explicit in how I connect students to each other, and ensure that all students feel like they belong and are valued? How can I foster more back-and-forth interactions in both face-to-face and asynchronous conversations?


While this was not at all the term I was supposed to have, the struggles, the constant adjusting and readjusting on the fly, the dealing with students’ (and my own) trauma, have all made me a more reflective, more compassionate, and more effective educator. I am eager to apply these lessons moving forward, in making my courses more inclusive and accessible to all.

Week 9: Teaching during trauma

I had a different post planned. But that post will have to wait.

I had different plans this week. I don’t even remember what they were, now.

I planned on relief and closure.

Instead, I mourn. I rage. I despair.

I worry. For my Black students, grieving and raging and (once again) doing the emotional heavy lifting and educating and wondering if, not when, they will ever see justice and equity in our institutions in their lifetimes. For my friends, students, and colleagues living in the Twin Cities, with front row seats to the protests, the destruction of neighborhoods, the police violence, the National Guard marching down their streets. For my friends, family, and students living in other cities, with their own front row seats to their cities’ protests and police violence. For what’s going to happen as our president threatens more violence and military action, rather than calling for reflection and mourning and reform.

I flail at what I should be doing. How do I put into words what can’t be put into words? How do I let my students know that honestly, at this point coursework does not matter? It just does not matter. But in a way that doesn’t put the burden on them to advocate for themselves to me, at a time when their emotional and physical energy is already overdrawn? What about a statement of solidarity? How can you draft a coherent statement of solidarity when all you want to say is “We’re furious. We despair. It’s all a mess. We don’t know how to fix it. But we owe it to you to try, and to not make you do any more heavy lifting. It’s our turn now. You need to rest.”

I do my best. I put something into words for my students, giving them an out if they need an out from the end of the term obligations. I check in on people (but not as often as I should). I put something into words for our department, to get us started on a statement of solidarity. Others will finish it, because I’m out of words. I do the same for the STEM Board. It’s clunky. I hope others will help me make it less so. I make sure to be present, more so than I have been. I give myself permission to just keep up, just for a few days until I regain some footing.

I read. I recommend books I’ve already read to others. We all should have done this years ago. But now is better than never.

I take a good, hard look at what I’m doing. What am I doing? What concrete actions am I taking, can I take, will I take? How will I ensure this drive and commitment doesn’t fade away with the news cycle? How can I lead others in taking concrete actions, too?

I meet my class synchronously for the last time later today. I’m still not sure how I’m going to spend that time with them. I’d planned on having them reflect on the course learning goals in the context of their coursework this term. I may still do that, but instead with an eye towards how we can apply the learning goals they achieved to practicing software development in an ethical and just way. I may just listen, and let them lead.

I listen. I observe the conversations of the students and activists. I learn. I read. I catch up to where I should have been years ago. I take action, baby steps, not enough steps.

It’s a start.