Between Semesters

I am in the place after the end of a semester and close to the beginning of the next. The semester break begins with the uncontrollable joy of having survived and the glowing hope of planned productivity. Or so it started for me.

The workload was high in the last semester. I was taking 3 graduate classes: Advanced Operating Systems, Theory of Databases and Internet Censorship. Unsurprisingly, graduate classes are way more work than undergrad classes. And each comes with a twist. My OS class depended entirely on building a 64-bit OS. The Internet Censorship class was taught by my advisor and we were expected to read nearly two research papers for every class. Along with that there were paper presentations, projects and so on. Theory of Databases was challenging for me because I am not too fond of the subject and was taking it only to complete the requirements of my PhD program.

Had it just been about classes, the semester would have been magnitudes more enjoyable. But, the excruciating bit about last semester was TA’ing a class of 80 undergraduate students. It was painful, no exaggeration. In the middle of writing code for my research project, I would need to make a context switch to correct 80 GUI based assignments and make individual grade-sheets for each student. Uploading the grades on a server was not enough, I had to make individual grade-sheets (with comments) and a breakdown of marks. Then, I was required to send them to each student via email. What made it worse was having to repeat the grind every week. This was not all though. Add to it proctoring exams, correcting exam papers, making assignment solutions, holding office hours and so on.

So my first TA experience was not great. I felt that my time and effort was not respected. I also felt overburdened. In the beginning, I was up the entire night correcting submissions and then I spent 2+ hours to send the grade-sheets to the students. It was a nightmare. Then I realized, I could not sustain this workflow. The one way to survive this grunt work is automation. I spent the next weekend writing tools that would help me do some drab parts of the TA work without much manual intervention.

I made a spreadsheet with the names, IDs and email addresses of all the students in my class. Then I wrote a Python script to parse this spreadsheet and create directories for each student, create a blank grade-sheet file for each student. I named the file and directories as per the students’ IDs. Then I would go through the students’ submissions and add comments to their pre-created blank grade-sheet. The correction took time, usually ~15 hours. But I could not automate the correction since they were not command line based. GUI based submissions had to be looked at, their output needs to be verified manually. I also wrote a script that would go over each student’s grade-sheet, attach it to an email and send it to the student’s email address. The automation saved me ~4 hours of time every week considering the class had 80 students. If you find yourself facing a similar ordeal, feel free to look at my scripts here and tweak them to work for you.

All things considered, the semester ended on a positive note. Like all things hard, the semester left me with a sense achievement. I wrote a 64 bit preemptive OS, started my research journey and realized I have a lot to learn. And about two weeks back, the winter break started, with its infinite possibilities. I did some soul searching, decided things I needed to do better and planned the break out. As is customary, the plans were beautiful. I planned to finish online classes, read books, visit nearby places and so on. The first week of the break washed over me as I grew accustomed to the availability of time in my life. The second week saw me re-calibrating my plans and life aspirations. The third week is when I started brooding over the end of the break and started following my plans. I have a whole new post planned to discuss these plans for the coming days and this new year. I also have a colorful post describing my day-long tours to New York City!