I mean this answer will vary based on your skillset. If your multivariate calc is not good, any of the signals or t-lines classes will be killer. Earlier than that, if your linear algebra is not good, some of the fundamental circuits courses can be pretty difficult (e.g. basic analog circuits are trivial to do with linear algebra, but hard to wrap your head around otherwise). If your discrete math / logic isn't up to snuff, architecture can be a pain (unless you already know a lot of programming and can work backwards), because thinking like a robot ain't an easy thing to get used to. (If you're noticing a common theme here about what causes difficulty in EE programs, don't neglect your math!) For me personally the two hardest things were:
- that first course that went deep into op amps (one of the analog ones, I don't remember). I still have nightmares about this over a decade later.
- one of the later microcontroller labs, specifically having to grind through all the different bus protocols (uart, spi, i2c, can, usb) with little-to-no direction. Oh god the spec sheets, so many spec sheets.
Admittedly I'm ~8+ years out of EE now, so some of this is a bit hazy. Also I can't tell you what the hardest thing after Uni is, because, well, I just went into software professionally, not EE. If the disparity between Uni & professional EE is anything like the disparity between Uni & professional software development, then I would imagine that the hardest things to learn come on the job. (Though I got the sense that Uni EE was a lot more grounded in reality than CS was, so I dunno)
What's up? Great question and I'll keep my answer brief. But the hardest thing about learning engineering is not really specific to engineering. It's specific and common to the overall college experience. You want to make sure that not too much gets in the way of your learning. So time management is something you'll want to get a handle on. But to your question...The hardest thing is to not let your work back up on you. You see, everything you learn is pretty much a tool to be used at the next level. So missing out on any previous step makes for an uphill climb. For example, if you let your math courses back up on you (or you get behind in them), then the next set of courses that depend on math are going to be rough on you. So if you can keep procrastination at bay and have good time management skills, you should be fine.