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.