professor
Baishakhi Ray

Dec 2020

Overall, Professor Ray tried her best to be accommodating during this difficult semester, often adjusting assignments and exams based on what she interpreted from the class feedback. The problem is, I think she misinterpreted a lot of what we had to say, which just served to add to the stress of this course. A good example is the final exam. Students expressed that the midterm was difficult because of the time constraint, so the professor removed this restriction for the final. This would be great, if the final didn't end up being orders of magnitude more difficult than the midterm. The professor claimed the exam would require 3 hours max, but the overwhelming sentiment on the Piazza was that the final required somewhere over 10 hours to get through. The professor justified this by explaining that the TAs were able to finish the exam in 3 hours, but this doesn't make sense as they were probably A+ students in the semester they took the course. The final wasn't difficult because the material was poorly taught or inaccessible, but because the questions, diagrams, and code snippets were overly complex to the point where it was more about keeping track of random information instead of the actual material being tested. Obviously, it was hard for everyone, so the curve reflected this, but frustrating nonetheless. The TAs also have a long way to go in terms of being effective. While they were willing to let people bring concerns about the class to them on Piazza, they almost always became incredibly defensive whenever any problems were brought up. Even though the instructor and TAs made the grading scheme and schedule more lenient, they often required a large amount of people to complain for fairly obvious issues, like homework being due on University holidays or a few days after a previous assignment. They seemed really out of touch with the class, making long posts explaining that they weren't out to get students. If you have to make a post explaining that you don't want to rule the world, you've gone wrong somewhere. The assignments are not that difficult, you just implement basic tree traversal algorithms and find the correct function to use from the LLVM API, and generally took 4-5 hours each. A big plus is that you don't have to do a group project like other PLT sections. Honestly, I would probably take this course again just because I felt like the assignments weren't that bad and there is no group project. Just be prepared to be endlessly frustrated by Ray and the TAs.

Dec 2019

Very disorganized professor - every homework/programming assignment needed last minute clarifications. Teaching was disorganized (didn't learn a single thing from lecture), and what was discussed in lecture was completely different from the homeworks. Doing the homework assignments depended on going through the source code of LLVM, navigating around documentation on your own, and trying to figure out what was going on. This was justified by the professor because she said that obviously theory taught in class will be different from applications on homeworks. But had a student not posted a Google Doc on Piazza of research that she had compiled and shared with the class, honestly I wouldn't even know what LLVM is. Grading was very arbitrary. Overall, I think the professor cares very much about teaching her students and making sure that we understand. This is apparent because she took time in class to ask for and answer questions. However, I had no questions because I didn't even know what to ask. All her slides are also adopted from other professors and better versions can be found online. I would recommend taking PLT with any other professor if possible.

Dec 2019

Incredibly poorly run class. Homework grades released months after assignments were submitted, rarely in time for exams. Only 1 homework covered material on the final exam, incomplete answers were released 5 hours before the final. Programming based assignments barely reflected theory learned in class, most of the work was done in reading documentation of the framework we were working in. Professor refused to release answers to last programming assignment publicly (answers required for extra credit assignment due during finals period), and students had to chase after TAs to get the solutions mailed individually.