Hi everyone. My name is Jonathon, and I am a CS professor at the University of North Texas. I've worked in industry for over 30 years before entering academia.
I have puttered around with electronics most of my life, but professionally was on the programming side. I prefer working with low level stuff (firmware, board support packages, drivers), but I do application stuff when the need arises.
I worked for National Semiconductor for several years, and they would not give me an employee discount on op-amps! Managers thought that was the stupidest idea ever. And given the cost of the things, they may have had a point. I worked on the Geode processors, and it was pretty neat having our own fab. About once a week someone would come around to all of the offices with a big box of processors. Our site did CPU design and motherboard design. My job was to get the things to boot Windows and Linux.
My undergraduate CS work was at the University of Colorado, which was excellent. We did the engineering core (because we were in the Engineering college), and there was a good chunk of EE in there too.
One thing I remember to this day was an assignment on oscillators. We were given a circuit and told to simulate it, and then build/demo the real thing. The simulation was a piece of cake, but the real circuit would not work. We poked and prodded at that thing for a week without success. I remember it was 3AM the night before the 8AM lab when this was due when we threw in the towel and decided to get some sleep. 8AM rolls around and we are the first group in the lab. The lab assistant comes over to us and asks how things are going. Awful. Oh well, write up what you have. We have a big lot of nothing to show, so one of us took out a piece of paper and scrawled "It doesn't fucking work" on it. We signed it and turned it in. Give us our zero and let us forget this... The lab assistant looks at this and asked what we tried. Everything. But the simulation worked flawlessly. And that, ladies and gentlemen, was the point of the assignment. We got an A. There might have been some violence but we were too exhausted to care.
Another fun story from the EE dept: We were given some new A/D board to experiment with. There was little documentation, but what was there said to never do "X". Fair enough. But the board wouldn't do something we needed, and again we poked at it for almost a week. It turns out that the graduate assistants had the boards for a few weeks before us and came up empty. The professor was now poking at it, but schedules being what they were the entire class is now assigned to work with the board. Our little group gets frustrated, and someone (not me) suggested we try "X". What is the worst that can happen? The board catches on fire? The magic smoke escapes? We decided that the board deserved its fate and gave it a go. The board worked! So we were one of two groups who turned in a working solution, when everyone else failed. We got at A, and the professor made the assignment extra credit since they weren't ready at the start. Fine with us. One whole lab of extra credit! A few weeks later the assignment was once again given, with new instructions. We took our previous lab report, crossed out the date, put the new date on, and turned it in (with the previous grade still on it). Then we took the week off.