summaryrefslogtreecommitdiff
path: root/docs/ta/vg151_lab1.md
blob: 45698df7dc35f4002550c7eaf6fa4093827705b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# VG151 — Lab 1

2022-09-21

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?

2.

_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"](img/vg151_lab1/lab1_dont_understand.png)

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.

## Acknowledgement

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

![Zoom chatbox. A student PMs me "Really helpful.Thanks for the RC"](img/vg151_lab1/lab1_rc.png)

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](https://boyanzh.site/) for Joint-Teapot, an automation tool that
helped me with chores that would otherwise have to be done manually 21
times.

## Conclusion

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