VG151 — Lab 1


Last night I held my very first real lab this semester, lab 1.

The single worst thing is, it had to be online. Fall semester last year was offline, but this one only lasted four hours before campus imposed a lockdown and forced us online. I cannot overstate how disruptive this is. I was about to speak shit of some people but my lawyer advised me not to.

Gather All Students Challenge (Impossible)

Before the lab I needed to ensure everyone was on our self-hosted Gitea and Mattermost in the department server. They were not. It simply was not possible to get everyone to follow steps as simple as clicking an invite link, even if we four TAs together held three lab 0 sessions last week to help them sign up on each of them. We even sent a Canvas annoucement. Guess how many didn't listen?

5 out of 83.

Yeah, it's natural to forget things in the first days of university, especially in such turbulent times. But guess how many remain unreachable even after we sent them a personal email?


Well guess you don't care about this course then

As a result, at the beginning of the lab, several homework groups were lacking a member. There are supposed to be four. One even lacked two.

Attendance and Atmosphere

Attendance was not great. I expected 27 students; 15 showed up on time. At the peak there were about 20.

I tried using sketches and puns to cheer up the atmosphere, but you can't really expect anything online. I was virtually talking into a vacuum, but I don't mind. I am not paid enough to.

Git, Gitea, and Getting everyone confused

Online labs are just amazing. Nothing feels better than helping a clueless student to figure out what an error message means. Via Zoom. In the chatbox. Where a message takes a dozen seconds to write and another dozen to read. Just fantastic.

I asked every attendee to set up their git repos and follow a tutorial that past TAs wrote. It's about submitting a hypothetical homework, h0. I spent half an hour demonstrating, then gave them another half hour to follow it. The git part involves:

  • git clone
  • git checkout
  • git add
  • git commit
  • git push

And gitea:

  • Opening PRs
  • Assigning teammates
  • Reviewing PRs
  • Merging PRs
  • Releasing

Rudimentary, yes, but most of who I'm talking to were completely fresh to git. So many students had zero idea what I was doing, let alone what they should do.

Zoom chatbox. An attendee says "Ummmm.....I don't understand what we are
doing from the beginning to now..." and five more say "+1"

Unfortunately this was the best I could do, so all I could say is, you gotta follow the tutorial I sent you.

Fresh students often struggle to understand how placeholders work. For example, one student asked me why they got an error on this step:

git checkout -b <your_student_id>

I checked and sure enough, they thought these angle brackets were literal ones. Fortunately this sort of misunderstanding usually happens only once.

Update: another student did the same on the Wednesday section.

While each group was trying out git and gitea on their own, I closely inspected all their repos on gitea. A common, obvious mistake is that some of them were using arbitrary strings as branch names, whereas it says "your student id" in the tutorial. This was my fault; I used alice and bob in my demonstration for "simplicity", but quite the contrary, it misled students.

I was in charge of 7 groups. At the end, two were very close from completing everything; others had varying levels of success. Many individuals hardly did anything at all. (They might be doing things locally, but come on.)

Rule 0 of online labs: no one will speak

Absolutely no one unmuted their microphone. I believe I was the only one that ever spoke. Kinda expected that, huh?

Anyway, I survived an awkward interaction via chatbox, and ended the lab leaving most attendees still confused.

I also made a mistake when explaing the difference between A' and A.' in matlab. I thought they both transpose A because I am an inferior being constrained to the real number line, unaware of the complex plane. Apparently A' is the complex conjugate and A.' is the real transposition.


At the end of the lab I got this one PM though:

Zoom chatbox. A student PMs me "Really helpful.Thanks for the RC"

Technically this isn't an RC, but I'll take it. Thanks!

I would like to thank Manuel, Mack, Menako, King and Fly for their support in my first lab. I would also like to thank Boming for Joint-Teapot, an automation tool that helped me with chores that would otherwise have to be done manually 21 times.


Lessons learned:

  • If students will use a document, keep it on the side of my screen while I demonstrate anything and constantly remind them of where I am
  • If I need to demonstrate a gigantic heap of steps, I'd better partition them into ingestible chunks
  • I should probably go harder on the students and force some of them to show their work
  • Do not simplify things too far