My experience with 6 months of online teaching

I have been teaching online from September 2020 till March 2021. During this time, I started two new courses - Advanced Network Programming and Storage Systems, and continued running a paper reading seminar Advanced Topics in Distributed Systems. Due to their nature (seminar, lecture with programming homework), all three courses entailed a very different nature of interaction with students. Let me summarize my experience with these classes and my general experience and struggles.

Advanced Network Programming (September-October 2020) is a medium enrollment BSc. class (~70 students). As this was my first bachelors class, I had to understand the expectations, the expertise of the students, and the kind of details the students expected in the class. Furthermore, to make the matter complicated, we did not get any teaching assistants in this cycle. Hence, Lin Wang and I ran the course completely by ourselves. In a typical lecture session (1:45hrs), between 30 and 50 students joined. They were vocal, and eager to ask questions during the lecture, and give feedback on what can be improved with the teaching. However, almost all of them had their cameras off, hence, it was very hard to gauge the understanding in the class. This setting meant that many weaker students struggled to keep up with the course material and the project. The course also had a group project in which the students had to develop their own TCP/IP stack in userspace and test against a Linux server. We gave flexibility in the deployment, which in turn meant that I had to provide additional debugging instructions for network debugging (IP forwarding, TUN/TAP devices, tcpdump) various flavors of Linux and sometimes surprisingly for the Windows Linux subsystem and Cygwin. It was doable, but not scalable. Due to the lack of teaching staff, the project evaluation was done in a limited time as an online group interview. I felt that the students struggled with the format as they were not used to being bombarded with questions in a short duration. Some felt anxiety and were nervous in the online setting, which could be seen in the length of their answers. As there was a little flexibility with the schedule, I had to learn how to quickly interrupt students when they went off track, and to ask specific questions. On the plus side, the student feedback was good. Many appreciated the complex, unstructured coding that they had to do in a real world networking setting, however, some struggled as well. A few mentioned that they enjoyed reading the RFC 793 - whoever you are, you are my heroes and heroines! But almost all of them mentioned that the course covered too many topics and at times was hard to follow. We agree and we plan to revise the course load next time.

Storage Systems (November-December 2020) was a selective enrollment master class (~25 students), about 10-15 followed the class regularly. From my experience running the ANP class, I put in an additional effort to provide detailed, clear deployment and debugging instructions on the projects. The setting in the storage system was also a bit easier as there was less ambiguity in the deployment - QEMU vm with an open-channel storage device. Also, the expertise of master-level is different; the students were more independent and were happy to help each other out online, and they were more engaging on the class discussion forum. I also felt that due to the novelty of the topic (NVM storage), many students felt at ease to ask questions about anything they did not understand. In the networking class, there was an “unspoken” expectation regarding the expertise and knowledge of the students on the topics of networking. In the lectures, the students had their cameras on, and I could see and remember their names and faces. This gave me a better feeling regarding the overall tone and status of the class. A small enrollment also helped to make the experience more like a real class than just yet another online class.

Lastly, from February to March 2021, I ran a flipped classroom paper reading seminar - Advanced Topics in Distributed Systems. This was a selective enrollment, thus only a small number of students participated (less than 10). By this time, I started to feel the dreariness and monotony of online teaching. The interactive (instead of lecture) format of the class helped, also with a nice selection of eager students who wanted to learn and understand the paper reading and reviewing process. For me it was a lot of fun, but for the students it was challenging at the start. Based on the student feedback, I also revised the format of the course to decrease the number of reviews, and instead put a mini-survey at the end of the course. Flexibility helps, and that is the top insight into my online teaching experience.


I struggled with:

Let’s hope for a better world in the coming months, and years! Meanwhile, everyone stay safe and healthy.

Jekyll theme inspired by researcher