←back to thread

157 points tdhttt | 1 comments | | HN request time: 0.199s | source
1. AdamH12113 ◴[] No.45129064[source]
As an EE who changed majors from CS in college and who has also done a lot of programming, I can see where the author is coming from. But electrical engineering, by its nature, is a low-level field. If CS students spent their first couple years doing algorithms and data structures in assembly, they would also find it difficult!

A key purpose of the repeated exercises in circuit analysis is to build up the student's intuition for how electricity works. Mathematically, it's "simple" -- just systems of (possibly complex) equations and basic diff eq. But for sophomores, all that is still new, and most students don't enjoy going deep into derivations.

Building kits and plugging pre-made modules into microcontroller development boards is fun, but it's not really engineering. You don't hire an EE to plug off-the-shelf components together, you hire an EE to do design work, to make sure everything is going to work under all operating conditions, and to diagnose problems when something goes wrong.

Finally, software is just easier[1] than hardware. Modern software is a mathematical idealization that runs of top of decades of high-level tools and abstractions. That's why it's so cheap and popular!

[1] This does not mean that everything in software development is easy, just that you don't need to deal with physics or chemistry or manufacturing or the procurement of physical goods in order to create new software.