Spring 2020 Goals, Revisited

Back in January I posted some goals for the Spring semester here, with the intention of revisiting them at the end of the term to see how I did. I was tempted to let myself off the hook, but I did have half a term during which things were relatively normal, and reflection is good, so let’s see how I did.

Goal 1: Provide feedback as guidance more than correction in my object-oriented programming course.

I think I did pretty well here. I definitely kept this in mind all semester; as I graded I tried to focus on whether there was either (1) content in the assignment I could point towards or (2) a test case I could provide to help illuminate the issue. Having those two options for providing feedback at the top of my mind seemed to work pretty well for distinguishing cases where the student needed to rethink their problem solving, perhaps looking again at the guidance given in the assignment, versus cases where the student had a syntax error or misunderstanding of a method that I could clear up.

Something that I think also helped was I told students I would be doing this. I told them that I also knew it would be frustrating to have an error pointed out to them and just be referred to elements of the assignment and test cases that helped show that error if they had already found it but hadn’t been able to fix it. So, if they included a comment in their code documenting the issue and what they had tried, I would provide feedback specifically responding on their comment. This worked well – students were good about documenting the issues they knew existed and so even in the cases where I did provide specific guidance of what to try next to fix their code, it was after they had reflected on the problem.

And, I don’t think moving online had a big impact on this. In fact, because I was providing feedback electronically without writing directly on their source code, it was probably easier to remember to provide this type of feedback.

So, goal met and was very successful. I intend to keep doing this.

Goal 2: Keep careful notes on what works and what needs to be revised for the next offering of my artificial intelligence course.

I made this a goal because I knew I was bad at this, and I would say I did okay. I certainly did well marking where my lesson plans for a class session had too much or too little in them to help plan ahead for adjusting the pace next time – this offering, I ended up just rolling content into the next day or pulling content planned for the next day forward as needed and it worked out fine. But I’ve added a task to my to-do list for next week to write up some of the changes I ought to make. I ended up entirely changing the plan for the final exam to be focused on research presentations and structured conversation and I think that worked great, so I want to wrap that into the course as the plan from the start, even if we’re meeting in person. On the other hand, I made the final implementation project less open-ended – originally I wanted them to find any data set they were interested in and work with it, but I pre-vetted some options and then had them choose from among those. I think the open-ended version will be better but given the situation, it made sense to prioritize some level of consistency and reliability this time around. So, overall, I did okay on this, but it’s a practice I need to get better at. I’m considering if I need to actually come up with a structure that I use for all my classes for this type of note taking to make it a habit.

General Goal: Be present for my students while in the classroom.

I’m glad I had this goal, because I think this became even more important as we moved to remote instruction. I can’t honestly remember how I did at this in the first half of the semester – I think okay? It’s usually the second half of the term when things get chaotic that I struggle more with getting distracted by thinking about the email I have to answer or the meeting I’m going to have while students are working together in groups. Being online certainly made that harder – when we met synchronously I pretty much always had students working in pairs or groups and rotated between them, checking their progress. It would have been pretty much invisible to them if I had quickly checked my email during class. Fortunately, “walking” between groups in their various channels or chat rooms gave me plenty to focus on.

The biggest issue was having chat messages crop up from students in another class while I was working with a class in session. Perhaps there would be a way in Teams to set myself as available to just one group but unavailable or in do not disturb mode for the rest of my students. But that is the place where I did fail here. In person, I would never have other students wandering into the classroom with a quick question, and if they did, I’d have felt comfortable pointing out that I was in class and could they email me or find me later. I felt more pressure to answer chat messages that came in during class – clearly it wasn’t the same on the student side, as they were just sending a message, not knowingly walking into my class. But on my side, when a message popped up, I had to read it to tell if it was from a student in the class I was running with a direct question. And there were many cases where, once I read the message from a student not in my class, I was already halfway through formulating the answer by the time I finished reading it, so it seemed easiest to answer it at the time. I also don’t think there was a way to mark those messages as “unread” to make sure I remembered to go back and deal with it later if I did ignore it at the time. So, there was a bit of blurring between being present just for the students actually in class with me and fielding questions from other students.

So, overall, not bad for a semester disrupted halfway through…

Knit Lace Sampler: Pattern Six

Knit Lace Pattern Six

I’m not thrilled with out pattern six turned out. Perhaps blocking with help, but my sinuous lines of eyelets seem uneven to me and overall the piece looks a bit messy. I’d suspect my tension needed to be tighter, but that would make the eyelets even less visible. But there is supposed to be a subtle shading difference in the way the stitches lay in the lower and upper portion of each curve, and that just isn’t coming through in my work.

I am curious how this might look with a ribbon yarn. It might emphasize the lay of each stitch more than they yarn I’m working with here. It might also require some discipline to tighten up my stitch tension within the knit sections and then purposefully loosen up during the eyelets.

Six patterns in, unblocked, the sampler is now exactly two feet long. Soon I’ll have to start rolling it up to keep it managed.

Adding Check-in Meetings to Projects

One of the things I tried this semester for the first time was adding a mandatory one on one meeting with me for every student where I would review their progress on the final project. Having completed those meetings, I am very glad I chose to do them and think they were a huge contribution to the remote learning versions of my courses. I have mixed thoughts about whether I will continue them for in-person instruction.

For my OO programming course, this was a major addition to the course and a big win. I’ve always counted on students dropping by my office with questions or my spotting them in the lab and checking in on them. And tons of that has always happened and it was certainly productive. For students who were on track and didn’t want to meet with me, not having a meeting seemed like it was not imposing an extra hoop for them to jump through. But across the board, every one of the meetings I had was valuable. For the students who got the project and ran with it and had a pretty complete implementation already done when we met, we had really good discussions about design choices – what looked good and where they could do better and even some reflection on why I wrote the project the way I did. For students more in the midst of their work, they seemed very grateful for the chance to confirm they were on the right track or get a red flag if they were starting to veer off course. And I noticed that even for the students I’d answered questions for over the prior weeks, the nature of this conversation was different. I had them email me their complete set of code prior to the meeting so I could guide the conversation to elements I thought we needed to discuss and the context led both the student and I to step back and have a more high-level check-in about the shape of the project rather than why they were getting a weird exception in one place. This was a sufficiently positive experience I will try this in-person at least once to see if it is equally valuable in that context.

For my AI course, the students were completing a more traditional research project and a written research update was always intended as part of the assignment even if we had remained having in-person class. I’ve done this in other courses with similar projects and I give written feedback and call a few students in who seem to be particularly struggling and we move along. But when I do that, I know I often get a lot of students asking quick questions after class about my feedback, and I also wanted to make sure that I was doing a bit more than usual to keep students moving in productive directions, so I incorporated a required meeting associated with the written research update. Before each meeting I read their written document and took notes on their progress towards each of the required elements of the project and any advice I had. But I opened the meeting by asking if, having written their update, they had realized they had any questions for me. Everyone did, and they were all great questions that lined up with things I’d already written above. The conversations were good and I did a quick revision on each of my feedback documents to reflect our conversation before sending them along to the student. So, it was a positive experience. It was also only possible (even after canceling a class session) by holding over half of the meetings after 5pm or on the weekend. In part this was because of the shorter amount of the term left after spring break and also needing to complete all of these meetings before starting with the meetings with my programming students. I think it may also just happen to be a course with more students with complicated schedules in this current situation. I also felt like the meetings were good but that a lot of the benefit was just the act of checking in on the student, making sure they were okay, and reinforcing the personal connection that I, at least, find harder to maintain in an interactive audio or video conversation with several students or the whole class as compared to when I am in the classroom. So my take away here is that I’m very glad I did this and think it was excellent for the remote version of the course, and there might be less time intensive ways to get similar value when I’m teaching the course in person again.

Knit Lace Sampler: Pattern Five

Knit Lace Pattern Five

Pattern five involves only a single repeat to highlight the single row of diamonds across the sampler with flat knit stitching all around. Of the patterns so far, this one turned out the most like the image in the book. If you look closely you can see the more prominent diagonals running left to right downwards across the diamonds, which matches what I see in the source sampler.

The pattern was a bit involved to keep track of because the start and end of many rows were different, and with only three repeats across that resulted in a lot of my time knitting being spent on “special cases”. No, I haven’t jumped on board with knitting from the diagram as I said I would.

This almost cross the line to me of perhaps not being lace and being an inset panel. I wonder if it could be used in the case of color changes to give the impression of argyle in a sweater but with lacework.

An Upside to Text Chatting about Code

I’ve slowed down on posting about the remote education situation because now most of the challenges have to do with supporting specific students. While these are still interesting challenges, being at a small school with small classes, any amount of detail about these situations can easily end up revealing personal information. So, take it as given – students are struggling in unique ways and individualized solutions need to be found. I think that’s universal to all of our courses right now.

In terms of updates I can make, I noticed a nice benefit to having students use chat for problem solving today. I’m having students discuss strategies and outline pseudocode before independently writing and compiling their own programs. In the classroom, if someone had a compiler error, a teammate would just look at it and say “oh, change this here”. Now, students are asking what the compiler error is and having to envision what would cause that error and brainstorm solutions without seeing the code. I like that students are practicing talking about code instead of just looking at code together. I’m noticing students are asking each other to clarify their questions and suggesting proper technical language that might be what they mean – not to correct them but because they are seeing how using the right terms helps them understand. It’s thrilling.

I’m getting better at remembering to tell students when class is over and they can stop conversing (though making it clear they aren’t being kicked out of the chat, much like they can continuing talking in the hallway after class). I’m trying to remember to thank each group for their good discussion or collaboration as we wrap up each day.

Further adventures in adapting to remote learning

I spent a lot of the past two days dithering on whether to keep a day of content in my AI course or to replace it with a “personal working day” to give the students space and time to work on their research projects before we have our one-on-one conferences. I’m sure any of you reading this are yelling at me “personal working day, not more content!”. Which is obviously the right answer. But the lost week of class and the much slower pace once we returned as I let students get accustomed to the new format definitely has me making some hard choices. I’m comfortable with what we’ll have ended up covering, but I also think I’ve reached the point that some of what I’ve cut I’ll want to put back when I teach the course again in a normal length semester. This was my first semester teaching this course and I definitely have learned some things about what works and what doesn’t, but there are some things I’ll still have to be working out on round two of the course next spring.

I’ve also worked a required one-on-one meeting with me into both of my course projects and am making space for that in the schedule. This is something I’ve been thinking about doing but so far not done in my courses, as compared to making a point of spending more evenings in the labs once we get to the end of the semester. But this seemed like the right time to try it out and if it goes well, I’ll look at whether I want to retain it in regular offerings of the courses as well.

I’ve yet to figure out the pattern between which students have a better connection talking to me through Teams and which have a better connection through Zoom. Currently, I’m defaulting to Teams with Zoom as an alternative I offer for those who prefer it. If I were teaching security this semester, that decision would probably feed a whole week of class discussion.

I was talking to a colleague today and asking how they were doing. They replied that they were okay but behind where they want to be. I observed that it’s mid-April, and we’d probably all be behind where we wanted to be at the best of times. They found that a surprisingly reassuring thought.

Knit Lace Sampler: Pattern Four

Knit Lace Pattern Four

Pattern four is finished! It is a subtle pattern, and I can tell I need to start taking these photos against a better backdrop. My knits aren’t as tight as those in the sample photo so I can tell the contrast in this piece isn’t as strong between the open work triangles and the solid bands surrounding them.

It might be a result of the yarn I’m using. It has a fair bit of stretch to it which works against wanting to have a very tight knit. But I also like that because it is the most likely type and weight of yarn that I would use when knitting lace for a scarf or shawl or even a table runner. How frightening that I’m considering I might knit a lace table runner, but I have a beautiful burgundy yarn in the same weight as what I am using for the sampler and I am keeping my eye out for a pattern that might be good for a holiday accent piece.

This was another very simple pattern to work based on all of the same stitches that I’ve been using for the first three patterns. Only one row with a modified stitch pattern at the edge. I have three full repeats of the pattern here.

Observations on Day to Day Life

Teaching is continuing apace, so I thought I’d make some observations about how day to day life is going…

I’m getting a lot less physical mail than usual – largely due to the lack of junk mail and advertisements. It’s really refreshing. Some days I don’t get mail at all. I would be entirely happy to see this continue.

Procedures around grocery shopping continue to evolve – shifts in the open hours, limiting the number of people in the store at once, asking people not to use re-usable bags. It’s all fine and my local store’s website is doing a pretty good job keeping up with all of the changes. But on top of trying to limit trips to the store, it adds to the unsettled nature of the trips when you have to read up in advance on how shopping is going to work this time.

I’m guessing that people are actually being careful to go to the store less often, because I discovered on my trip today that all produce and meat (what I’m interpreting as anything perishable or with a strict shelf life) was a flat 10% off.

So far, the hardest thing about cloth mask making is discovering that my already fairly beat up sewing machine (it’s been held together by duct tape for a few years now) has finally decided to refuse to run in reverse and is moody about whether it will actually feed fabric under the foot or if you have to pull it along by hand. I picked up a few of my mom’s old sewing machines from my dad’s house to see if they would work any better and now I have three broken sewing machines at my house. Working on remedying that situation.

I’m doing pretty well maintaining a regular schedule – having a 9 AM class MWF is good for that. Even if the students aren’t required to be “in class”, I’ve committed to being at my computer ready to help them during official class time, and I think it’s been good structure. And, students are taking advantage of it. I suspect some of them are finding it is good structure for them as well. I never know if I’ll get pulled into a video chat, so I’m also making sure I’m up and presentable at the start of each day – my major concession to working from home is I’m usually barefoot.

I’ve also been able to talk a walk around my neighborhood almost every day, usually during a break between class and meetings and such since there are fewer people out on the street than after dinner. I am so grateful for the warm weather and being able to watch the flowers and leaves come in.

Knit Lace Sampler: Pattern Three

Knit Sampler Pattern Three

Pattern Three in my knit lace sampler is a very pretty open work diamond grid. Looking at the portion from the original sampler, that knitter finished off the tops with solid filled-in triangles next to the top edges of the last diamonds – I followed the pattern through up to the end and like the way it looks.

Stitch-wise this is the simplest pattern so far – just knits, yo and ssk. I have never been happy with my yarn over technique in knit lacework in the past so I’ve been really focusing on it here (including reading the documentation in the back of this book carefully) and I think it has paid off. The diamonds full of yo spaces turned out as open and lacy as I hoped.

This is another pattern that will benefit a lot from a good blocking, but I could see using it in the future. There’s a lot to keep track of row to row but with a few post-its I even managed to watch some television during the second half of this pattern.

Reintroducing Collaborative Problem Solving

I think it is a good sign that I’m not making new discoveries in online teaching on a daily basis anymore. But, this past week, I finally felt like the students had got used to the general rhythm of watching video lectures, taking short quizzes or posting in the forum, and doing coding activities while I was available for one on one questions. I was hearing the students were starting to miss interacting with each other.

So, this past Friday, I got students back working together on coding tasks during class time. I’m not worrying about audio or video – I know some of them are having connectivity issues (heck, I’m having bandwidth issues I never used to have…) And I’m really pleased with the results.

My morning programming class went particularly well. I created a bunch of chat rooms and assigned students to them in groups of 3 or 4 as they let me know they were “in class”. I had a set of coding exercises that usually I ask students to write up solutions for on paper or the whiteboard – instead, I asked them to discuss possible solutions in their chat room. Once they were done, they would test their solutions by actually compiling and running them and debugging as needed. I spent the class session rotating between rooms at a pretty frequent pace. Early on, I had to remind each group not to just write the code on their own and then copy their solutions into the chat when they were done – they were supposed to be discussing. But, with a reminder, they all went along with that strategy and had really great conversations about the problems they were solving. For the few students who weren’t able to be in class, I gave them their own room they could use at a different time outside of class to do they same exercise but still get the benefits of collaborating.

Looking ahead, I think I’ll finish out the term with each class having at least one day where they interact live during class time if possible, and one day where they don’t have to necessarily be “in class” (though I will always be available during class), and the third day being played by ear. This seems like a good mix of maintaining some collaboration and community, but also giving students space and flexibility in their schedules for everything else going on. And, of course, making the option available for students to complete in-class activities at other times if needed. I’m posting these schedules at least two weeks out so students can plan.

I know nothing I’m creating here is new or particularly earth shattering in the realm of online teaching. But I’m pleased to be finding options that work to let me adapt my course without having to throw out all of the preparation I’d done for the second half of the term. And I suspect that the success is as much based on the students having settled into the new routines enough they are ready to work together again.