Initially I was a Chem major, and I probably would have said Physical Chemistry, but I never even took the class. Just looking into the course material before taking the course was enough to finally make up my mind that I did not want chem to be my major.
Now I'm a Computer Science major, and I find it funny how subjective difficulty in learning can be. Nearly constant replies about Calculus and Discrete Mathematics in this thread, and walking around campus, you'll find some young student struggling with Calc I every 50 feet or so. Luckily I find Calculus to be one of the easiest forms of mathematics out there. For the first two semesters of Calculus, if you really lock in a few core concepts (understanding limits, how to find a derivative/anti-derivative, etc.), you can cruise through the course material. Now for a new Calculus student that's really only familiar with algebra, these concepts are entirely new, so I understand the initial understanding can be difficult.
I took Discrete II this past semester, and most of my peers in class discussion groups (GroupMe, Discord, etc.) were complaining about our professor and their teaching methods, the lack of reinforcement of basic ideas used, and other things nearly constantly. But I found a large portion of the course was just a retread of Discrete I, so if you passed the first semester, shouldn't you easily pass the second?
Meanwhile, I'm pretty sure my Composition I and II professor (same person for both) wanted to tell me several times that I'm just a shit writer, but I did the work, so I passed in the end. The prof was actually great, and while the workload was pretty heavy (I wrote eight papers over two semesters on top of tons of other assignments), the deadlines were set up in a way to force you to do a bit of work every day, and guided you to getting everything done.
As for my answer: I also took Computer Architecture this past semester, and wow was that terrible. Assembly code is a nightmare if you ask me. First time one of my programming assignments was not fully functional. We had to create two algorithms that did the same thing, one iterative and one recursive. No matter what I did, I could not get the recursive function to work.