T-minus seven days to online teaching

Some lessons learned today in the project of taking my classes online:

  • If you’re going to be screen capturing in a video lecture, do a very short test lecture first, flipping through all the windows you may show, to make sure you have your font sizes big enough to be legible. If you don’t you’ll end up re-recording a 20-minute live coding session.
  • Don’t get too update if you have to re-record something. It will probably be better the second time through.
  • In general try not to have 20 minute videos. Also, trust your students to forgive you if your first video is too long. Just try to pruning them down into more digestible chunks as you go along.
  • If you are using Microsoft Teams, let go of the need to understand exactly where your files are. The answer is probably “in SharePoint”. Or possibly “in Stream”.
  • You have no idea how loudly you type. (Okay, this is probably just me. I had no idea how loudly I typed.)
  • If you’re confused by the difference between a Forum, a Topic, and a Conversation and how to use them to organize discussion, your students will be confused as well. Time to write up some directions, or at least class conventions. Also maybe generate some sample conversations to get things started. And a test conversation they can use to try things out in.

However, my most important lesson of the day was a personal lesson – in the face of uncertain and stressful times, reminders that you are part of a community that cares for itself and for you as an individual does wonders for soothing anxiety. A friend texted me today from a miraculously well-stocked store, asking if they could pick anything up for me, and arrived later at my house as the bearer of smiles and supplies. It reminded me to take a breath and reach out to others in my network who might need help themselves. It’s going to be so easy to be so isolated in the coming weeks.

So, the teaching lesson here is to remember to help students feel connected to the wider world and to each other and to remember that even if we all aren’t close enough to each other to drop off a bag of groceries, we’re in this together and will help each other succeed.

Making the Jump to Online Teaching

Like many (most?) faculty who started the spring term teaching in a face to face context, I’m finding myself suddenly figuring out how to move my classes mid-stream to a new format.

Based on what my college provides, the major platforms I have available to me are Microsoft Teams and Sakai as my CMS. I’m discovering there are a lot of features in these tools I didn’t know about. I’m also discovering that they’re a bit complicated to learn how to use and I’m concerned about how well students will pick them up – particularly without someone able to help them get over the bumps in person.

That’s what has sent me to Zoom for office hours. Based on my experience and some testing with others, it seems fairly easy to get up to speed in. I’ve confirmed it works acceptably well on a smartphone, even if I’m screen-sharing code in my text editor. I like that I can produce a single link that is how you get into my “office” any time you have an appointment with me or want to drop in for office hours.

Beyond that, my challenge for tomorrow is to start to get efficient at recording video lectures, as well as the process for getting them into a Teams channel that the relevant class can access. It is an unfortunate semester to be teaching courses numbered 220 and 230 and I anticipate content showing up in the wrong channel at least once.

The most reassuring thing is that I’ve gotten far enough into this process my to-do list is growing at an alarming pace. I am taking this as a sign that I now know enough about what I have to do that I can actually break it down into relevant tasks.

There’s a metaphor that is sometimes used around my campus that we may have to build the plane while it’s in flight – it tends to get used when we’re forced to get a project up and running without the planning time we’d have liked. Right now, it feels like we have a very short runway of the next seven days, and then hopefully we’ve built enough of the plane that we can in fact get the rest of it built mid-flight.

Teaching Goals for Spring 2020

The start of the spring semester is looming all too close (about 60 hours left to go), and the pressure is exacerbated by having spent the past two weeks in intensive committee service (it is, apparently, possible for five people to sit in the same room for six hours multiple days in a row and churn out productive work, but it is exhausting and your evenings are not productive) and having a new course launching this spring. I’m trying desperately to get my ducks in a row (note to self: perhaps duck sorting would be a good programming exercise…) but also to take the time to step back and keep in mind what my high level goals are for the term. Because once classes start, it’s going to be all trees all the time (though not literally, data structures isn’t until next semester).

So, high level goals….

  1. For my programming course, I’m adjusting how I provide feedback on their code, to focus more on providing the type of feedback that helps them find and diagnose their issues rather than pointing out problems in specific lines of code. So, do more suggesting a test case they need to look at again or pointing out a portion of the specification they need to re-read and see how they aren’t lining up with it. There will be times when I know I’ll still point out an issue on a specific line, but I want to press myself harder to do that only when it’s the best way to provide the feedback in question. I feel like my mix of the two types of comments has strayed too far towards the specific line-by-line feedback and I am going to work on doing that less.
  2. For my artificial intelligence course, my goal is to keep careful notes on what works and what needs to be revised the next time around. I know that my first stab at AI for both majors and non-majors with no pre-requisites (no programming or math assumed) is going to have some rough patches. I already plan to go in being honest about this with the students and giving them space to let me know where we need to adjust as we go along. But I’m also going to be diligent of keeping track of the ups and downs. I’ve never been good at this type of note-keeping about my courses, instead telling myself I’ll remember for the next time. I intend to keep better track for this course.

Finally, I always start each semester reminding myself to be present for my students. I can’t let research or committees or other parts of my work follow me into the classroom. The tires that need to be replaced or the roofer that has to be called will still be there in an hour. If they’re working in groups on something, I will do anything except check email while waiting to start walking around and talking to them.

Personal Memories of the 2010s

Wrapping these series of posts up about the past decade, I looked through my various calendars and journals and thought about the major events and accomplishments of the past ten years.

Professionally, this decade will be hard to top. I received tenure and then was promoted to the rank of Professor. I ramped up my rate of publishing and received an NSF grant. I developed new courses in game design, eye tracking methods, gender and technology, and artificial intelligence. I supervised student research projects in nine different areas, including sentiment analysis, biometric identification, the accuracy of fitness tracking devices, and eye tracking to understand cross-racial face perception. I co-edited a book with amazing colleagues and contributors. And I got to lead curriculum revision projects at both the department and college-wide level.

This decade, I tried to push myself outside my comfort zone and say yes to opportunities. I joined the Pittsburgh Knit the Bridge group and helped create the world’s biggest yarn bombing. I got more involved in the SIGCSE community. I joined a gym and learned to do proper push-ups. I ran a Game Jam and coached a programming competition team.

This decade, I accepted my age. I started watching my diet. I got bifocals. I decided that however much grey hair starts coming in, I’m not going to dye it. I still stay up too late playing video games sometimes.

This decade, I helped my grandmother celebrate her 100th birthday. A couple of years later, I sat with her as she passed away.

This decade, I attended the defense of my first undergraduate advisee to go on to receive a PhD in computer science. I attended weddings of former students and congratulated them on their new babies. I celebrated their professional accomplishments with them.

At the opening of this decade, I found myself the only one of my siblings in the Pittsburgh area after my post-graduate school return and their subsequent departures. As the decade draws to a close, they have moved back and I find myself living near my entire immediate family for while I am endlessly thankful.

Favorite Books of the 2010s

I’ve wandered in and out of various on-line solutions for keeping track of the books I am reading, but thankfully I’ve never fallen out of the habit of logging all of the books I read in a paper journal that dates back to the fall I started graduate school.

Flipping through what I read in the 2010s, here are some favorites and other observations…

If I had to recommend a single set of books I read, it would be Connie Willis’s Doomsday Book and then Blackout and All Clear. They’re a blend between science fiction and historical fiction, with a grounding premise that time travel is possible, is controlled by academics, and is used for research purposes.

The books in my list that most caught my eye as “oh, that was fun, I should re-read that” were Cline’s Ready Player One, Cornell’s London Falling, Stephenson’s Anathem, Weir’s The Martian. So I read some good sci fi this decade.

I read a lot of mystery novels, but the standout is probably Laurie King’s Mary Russell series. My enjoyment of that series has led me to read a pretty wide range of Sherlock Holmes spin-offs this decade. I also read my way through almost the entire collection of Agatha Christie novels.

On the non-fiction side, I spent the first half of the decade mostly on technology topics, including some classics I’m surprised I only read this recently like Norman’s The Design of Everyday Things, and Margolis and Fisher’s Unlocking the Clubhouse. Of the many video game texts I read, Bogost’s How to do Things with Videogames and Koster’s A Theory of Fun are standouts. More recently I’ve been reading non-fiction about higher ed; I quite liked Roth’s Beyond the University: Why Liberal Education Matters and Felton et al’s The Undergraduate Experience: Focusing Institutions on What Matters Most.

The most random books I read are probably Extra Virginity: The Sublime and Scandalous World of Olive Oil by Mueller and The Phone Book: The Curious History of the Book that Everyone Uses but On One Reads by Shea.

Finally, I’m not sure how this summarizes the 2010s, but the first book I read in January 2010 was Pride and Prejudice and Zombies by Austen and Grahame-Smith. The last book I finished in December 2019 was Cheating Lessons: Learning from Academic Dishonesty by Lang.

Best Cooking of the 2010s

I keep a moderately updated Pinterest board of recipes that I’ve made or want to make. Some of my memorable cooking of the decade is there, but a fair bit isn’t.

For example, I got a smoker this decade, and now smoking our Thanksgiving turkey is an annual tradition that, if I believe what they say, my whole family looks forward to. Homemade smoked salmon, slow-smoked brisket, and even the half dozen extra chicken breasts I throw on the smoker whenever I use it and then freeze for later – this is my absolute favorite way to cook meat, though I do it less than I’d like because of the time investment.

Each summer, I now also make at least one batch of homemade salsa from the jalapenos and tomatoes that seem to be the only things my garden reliably yields (supplemented with grocery store onion and cilantro). I’ve had one yummy success with jalapeno jelly as well and have almost eaten through the whole batch, so that’s probably on the to-do list for next summer again.

And, I’ve been learning to brew beer in the 2010s. So far just from kits or recipes so I can master my technique. I’m thinking that the 2020s may be the decade where I start branching out and designing my own recipes.

For day to day meal prep, there are also some go-to recipes that I have kept coming back to. A reasonable number of them are from Smitten Kitchen – definitely my favorite recipe weblog. Looking through what’s made it into my recipe box, I’d heartily recommend the following:

Sheet Pan Meatballs with Crispy Tumeric Chickpeas

Farmer’s Market Shepherd’s Pie (vegan)

Khoresh Karafs (Persian Celery Stew)

Chiarello Chicken and White Bean Chili with Veggies

Charred and Raw Corn with Chile and Cheese

Summer Squash Gratin with Salsa Verde

Blue Cheese, Apricot, and Pecan Boule

Chocolate Toffee Cookies

Elodie’s Chocolate Cake

Chai-Spiced Brown Butter Pumpkin Walnut Loaf Cake

Favorite Places of the 2010s

I’m not a big traveler, but I’ve found some places I’ve enjoyed spending time this past decade, some closer to home than others.

As far as exciting destinations go, I visited Hawaii for the first time this decade. This is the only place I’ve visited off the North American continent, and I expected it to be nice but not up to the raptures one hears about it. I’m now part of the rapture contingent. I spent a week and a half on Oahu, mostly on the north shore. I was shocked how easy it was to find secluded spots to enjoy just sitting with the scenery. I don’t think I’ve hiked as many miles each day as in Hawaii because I couldn’t resist going out and seeing more.

I did find my favorite National Park this decade: Joshua Tree National Park. Perhaps I was just in the right mindset for it when I visited, but I think it has the best hikes through the most interesting landscape that I’ve ever seen – I remember one great hike that starts off through fairly even desert and then winds through rockier terrain and ends with a climb down into a ravine filled with cacti and trees that was a bit more challenging than I planned on but well worth it.

Close to home, I got a bicycle in the 2010s – I did have one as a kid but I never really got the hang of riding it back then. That’s led me to explore much of the Rails to Trails paths in the Western PA region and I love both the Montour and the Panhandle trails. As much of my summers as possible are spent out on them.

2010s in Review

The timing of the holidays this year and my various work responsibilities makes the ending of the decade align with a week where I’ve been able to set aside time to step away from work and catch my breath. It’s inspired me to, in addition to just resting and catching up on reading and maybe even getting some fresh air, spend the next week reflecting a bit on the past decade. Not from any deep philosophical stance. But I’ve been reading through the various “decade in review” posts and articles that are cropping up and a few ideas caught my fancy – thinking about places I’ve been, books I’ve read, and things I’ve accomplished.

So, expect that here over the next few days. I’m hoping that it might also kick start me into returning to regular weblogging in the 2020s. Or at least set me up for another good round of posts in late 2029…

Education at the Bauhaus

I started exploring the Bauhaus: Building the New Artist online exhibit (companion to a current live exhibit at the Getty Center) out of curiosity to learn more about the design principles that the interactive modules present. From the blurb I read promoting it I didn’t realize there would also be significant content about the educational vision of the Bauhaus. There were elements of how the exhibit discusses the blending of fine arts and applied arts that resonated with conversations I’ve had with colleagues about the goals of education – including outside the domain of the arts.

In fact, I’m frequently struck by how often the educational considerations of artists and of computer scientists can be highly similar once you dig below the most surface level of the content. Two quotes from the Bauhaus exhibit echo this to me. Describing the painter Lyonel Feininger’s illustration of a cathedral as a representation of the school’s philosophy:

A preindustrial building form, the cathedral promised the possibility of realizing the Gesamtkunstwerk, or the total work of art, in which designers, artists, and artisans worked together toward a single, spiritual goal.

And in an excerpt from the school’s 1919 program:

This world of mere drawing and painting of pattern-designers and applied artists must at long last become a world that builds. If the young person who senses within himself a passion for creative practice begins his career, as in the past, by learning a trade, then the unproductive ‘artist’ will no longer be condemned to imperfect artistry because his skill will be preserved in craftsmanship, where he may achieve excellence.

While I know I am abstracting away some of the deeper underlying sentiment of this philosophy, there is a thread here of balancing learning with doing and with engaging in doing that grapples with the entire breadth of a messy problem embedded in the real world rather than an academically constructed puzzle. From a computer science perspective, there is a similar balance between theory and practice within education, and an ongoing tension in ensuring individual students engage with both sides of the spectrum.

The whole online exhibit, including the interactive exercises, is worth checking out. The content about the specific design principles being taught is interesting and also continue to echo the above themes in describing how they were taught, particularly in the section on Body and Spirit. I think it would be a fun read for any educator, regardless of discipline.

How we think about coding and computing literacy

I’ve been meaning to write about Annette Vee’s Coding Literacy: How Computer Programming is Changing Writing for a while now. The book looks at the current interest in “coding literacy” from the perspective of literacy studies. I picked up the book because I was interested in this outside perspective, and two quotes in the introduction immediately told me I was going to enjoy this book:

Programming as defined by computer science of software engineering is bound to echo the values of those contexts. But the concept of coding literacy suggests programming is a literacy practice with many applications beyond a profession defined by a limited set of values. The webmaster, game maker, tinkerer, scientist, and citizen activist can benefit from coding as a means to achieve their goals.

and, more pointedly,

My approach suggests that because programming is so infrastructural to everything we say and do now, leaving it to computer science is like leaving writing to English or other language departments.

There is a lot more to Vee’s book than these introductory thoughts on who codes and how they learn to code. She has great content about the history of literacy, connections between how reading and writing literacy movements relate to coding literacy movements, and how literacy, education, and power are connected. But a thread through all of it that connects to the ideas above is that what is expected in order to be “literate” shifts over time and the types of writing/coding that is considered literate evolves. This suggests that if we do achieve coding literacy, we will also see computer scientists having less ownership over defining coding literacy. Which – as Vee indicates – would be a good thing.

At the same time, I’ve been doing a lot of reading in the computing education research literature over the past month and some themes there brought me back to thinking about Vee’s book. It’s generally accepted that teaching programming is hard and we’re still learning how to do it well. This suggests that computer scientists could give our colleagues in other disciplines a leg up by sharing some of what we have figured out so far. For example – there’s a lot of evidence that collaborative learning really helps and there are some established pair programming practices for the CS classroom that could be adopted regardless of who is doing the coding.

At the same time, CS educators might consider if the goals of coding literacy allow for a broader definition of “success at programming” than we’ve been willing to consider. Can thinking about coding literacy help us refocus on the most essential first outcomes. I just read a paper from SIGCSE ’19 by Pollock, Mouza, Guidry and Pusecker titled “Infusing Computational Thinking across Disciplines: Reflections and Lessons Learned” (ACM Digital Library: https://dl.acm.org/citation.cfm?id=3287469) and while they are writing from the perspective of mentoring faculty in other disciplines to integrate computational thinking in their courses (which they have some really interesting ideas around) I thought their draft of a Computational Thinking Rubric that could be used across disciplines was also a useful reflective tool for me as a computer scientist considering what I hope to achieve in a first course that both encourages students to consider further study in my discipline but also serves students well who may not take any more courses in my program. I think there are connections to what Guzdial has been blogging about recently related to task-specific programming as well, and the “powerful ideas of computer science” identified in an essay he linked to by Marina Umaschi Bers, What Kids Can Learn Through Coding, such as using logic to order a sequence of complex behaviors.

So I’m seeing a lot of connections in various writing I’m encountering about coding literacy (under this or a variety of other labels). Turning back to Vee then, I think this quote from her conclusion is a helpful way to think about how to continue to move forward on these projects:

Studying textual literacy in international contexts, Brian Street advises understanding first what the context for literacy is, and what people want to use it for, and then afterward establishing a curriculum to support and respect those uses. Following this advice from literacy researchers, then, would mean that computational literacy campaigns can aim for certain outcomes, but they must also solicit and respond to the aspirations, ideas, and established practices of their audiences.