The quarterly review — Q5

An unbelievably long, yet short quarter ended last week. Leaving aside the oxymoron, I was relieved when the clock struck 3am on Saturday. I had published the finals grade after a marathon 7-hour grading of my TA course. The long finals week had finally ended. I could finally sleep without having anything on fire.

This quarter was odd at best; I took a non-AI/ML course for the first time in more than a year. I took 17 credits - by far the highest I’ve done. That was insanely stupid, but rewarding in retrospect. I kept work to the end, dancing on thin ice. I finally took CSE250B - Learning Algorithms and CSE 231 - Advanced Compiler Design. I was also a Teaching Assistant for CSE 101 - Algorithm Design. I continued my research in recommender systems. Like always, I also attended the AI seminars.

I began my quarter with an asinine jetlag (caused by no sleep on the flight from India) that just refused to go away. My week 1 flew by as I slept during the day and worked during the night. I can vaguely remember talking to MS advisors about my quarter and considering my options as I didn’t want to drop anything. 17 credits felt like a mountain and I was unsure if I could make it. CSE 250B was more like revising what I already knew about Machine Learning. However, it strengthened some aspects where I was uncomfortable in. It also introduced me to some cool aspects like VC dimension and generalization theory. I loved the toy programming assignments (prototype selection, coordinate descent, word embeddings). It was an elementary course I should have taken in Fall 2016, but better late than never. Prof. Dasgupta’s teaching was exceptionally good! I now know why he receives such lavish praises from students.

CSE 231- Compilers was fascinating. Prof. Lerner made it look simple! Being a grad class, the class focused purely on optimization. I learnt about lattices (YAY!), data flow graphs, control flow, program representations like SSA, and much more! The most challenging aspect of the class was the LLVM project. We had to implement analyses frameworks in three phases. Working with LLVM was fascinating as I was back to coding in C++. However, the first phase was gruelling; it primarily involved understanding LLVM and Intermediate Representations (IR) - going through LLVM documentation was a pain. It made me feel less confident initially. However, phase 2 went spectacularly well with the coding of the reaching definitions being pure C++. Phase 3 was down to the wire, having begun the project in finals week. It was deviously tricky to get the setup ready for liveness analysis, but the may-point-to analysis was a breeze. We also went through a couple of papers on the optimizers of the past and present. TA-ing CSE 101 under Prof. Andrew Kahng was the hardest class I have TA-ed so far. The course is heavy, being a cornerstone course of undergrad CS. The course begins with graph algorithms (DFS/BFS/Prim/Kruskal/Dijkstra’s), and covers greedy, dynamic programming, network flows, linear programming, NP reduction, and approximation! As mouthful as it seems, the course has challenging 7 homework and 4 programming assignments in just 10 weeks! The dynamic programming homework was one of the hardest undergrad DP homework I’ve seen so far. In one of the programming assignments, students had to not only implement Prim and Kruskal algorithms but also study a combined version of them.

I observed a couple of things TA-ing this class:  - Grading undergrad algorithm homework is easier than graduate algorithm homework (LOL!). The mathematical expertise in grad students leads to complex proofs that require significant grading time and lots of tearing your hair out   - Undergrads take a lot of workload. They managed CSE101 with four other courses and passed with flying colors in 101. Unbelievable!   - With 5 TAs and 5 Tutors, I still felt we were understaffed for a class that had a final size of 232 students. It could be because the initial class size was around 400 which petered as the quarter progressed.

I finally made progress in my research. I have been going back and forth in some aspects. I took some time to do some extra literature survey in the area of POI recommendation (and not general item recommendation). The question of original work lingers faintly as I am not sure where to put my foot in (plus my master’s has an end date of mid-June, which is in less than 3 months). Stuck with TensorFlow at the moment (bleh), and lots still left to do for just my Master’s thesis, which has a much earlier deadline.

This was how my finals week went:

  • Sunday: 250B finals, CSE 231 project - Monday: CSE 231 project, CSE 101 grading - Tuesday: CSE 101 finals, CSE 231 project - Wednesday: CSE 231 project, Research - Thursday: CSE 231 finals, Research - Friday: Research, CSE 101 grading marathon - Saturday: Sleep like a baby

Compilers took me away from the comfort zone of familiarity with AI/ML courses. 250B was chill, probably because I took it for S/U and learnt what I wanted to learn without any pressure of clearing grade requirements. Compilers - I had to for systems requirements. TA was incredibly hard with the amount of work to do. Research perhaps suffered to an extent, but still progressed much better than I expected. Looking back, I am proud of how I dealt with uncertainty. There were several times when I felt I had lost it, and I felt like a train-wreck. Add to that, the crazy San Diego flu that left me unwell for a week. Losing a week in a quarter system is literally losing 10% of the already short quarter. This was in the 8th week of the quarter, adding more fuel to the already burning feeling of going down. What I am proud of is how calm I was regarding deadlines and pretty much the quarter. To put it bluntly, I couldn’t give a f*** about things because they were already out of my control. So I did them my way. I could have never imagined doing the entirety of a project in the last minute. But I did. I watched Psych when I felt like I was going to panic, and it helped me keep cool.

The only downside is my fitness went down. 60+ hours a week of working, and no workouts/football made me fat. :( Hopefully, I can regain some of the lost fitness this quarter. I start my next quarter with lots of hope and positivity! It’s my last quarter as a Master’s student. I can’t believe 5 quarters have flown past. Time indeed flies when you are enjoying every moment.

Updated: