Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How important is Programming in EEE

  1. Jun 26, 2012 #1
    Hllo guyz please i wanna know or better still get enlighten on the importance of programming in EEE.

    Cos i have a kid brother who wants to study EEE and wants to know if he would be needing programming.

    Thanks.
     
  2. jcsd
  3. Jun 26, 2012 #2
    How important programming is depends on what area of EE he goes into.

    This question comes up a lot and there are those that will speak down on its importance; there are those that will regard programming is critical.

    From what I've seen, we almost all do some level of programming whether it is coding for our PCB software, excel macros, or straight embedded development. How prominent that is and how involved that is tends to vary greatly.
     
  4. Jun 26, 2012 #3
    Thanks man.
    So what you are saying is that he will definitely need it right?

    So if you are to advise him, which books would you recommend since he is new to programming and websites where he will get the E-books.
     
  5. Jun 26, 2012 #4
    If he studies EE at school, he will most likely be exposed to programming of some kind.

    The right programming language to learn would depend on the person's interests and current education level.
     
  6. Jun 26, 2012 #5

    psparky

    User Avatar
    Gold Member

    He could just learn it in school like most do. It will only be relevant if you get hired in a field that uses it.

    Passing the EE curriculum should be his first concern...not easy by any stretch of the imagination. Programming will only be a small slice of the pie.
     
  7. Jun 26, 2012 #6
    He's right. Programming is something that you pick up by doing rather than reading books. Programming books and lectures were by far the most boring books/classes - they took all the fun out of it. He'd be much better off refining his math, physics, and electronics skills if he's going to make an effort to prepare for EE.

    If someone wants to be an expert programmer, then eventually they will have to read some literature. To learn the basics and pick up programming as a hobby for fun, its best to just download a compiler, find a website with good examples, and start programming projects. Even web design will give some basic programming concepts, and I know a lot of people, including myself, who first started programming by making websites for fun as children. You don't even need a compiler for basic web design, and interest or ambition could easily lead into javascript or flash script programming to make more elaborate web designs.
     
  8. Jun 26, 2012 #7
    I am in the electronics industry and at work I am into some sort of C variant almost everyday. Programming is very useful as you can quickly write up apps to help you solve problems - I do it all the time. C is a good language to work towards as almost every microcontroller can be programmed with it. Higher level languages like c# and java are also very useful and a foundation of each should probably be persued.
     
  9. Jun 26, 2012 #8
    Unless you are very good in analog circuit design, it is very important to learn programing. The line between hardware and firmware is blur at best, you need it if not for writing the real program, at least write test programs.

    Even for analog old fart like me, I did not get away!!! I still had to learn and use FPGA programing....which is just like another software language.
     
  10. Jun 26, 2012 #9

    rbj

    User Avatar

    i can't think of any sub-discipline of electrical engineering in modern times where essential programming skills in a language such as Fortran or C or, at least, MATLAB would not be needed.

    you are about to design some system and you are asked to simulate it, to have an idea if the thing is gonna blow up or not, before you build a prototype. why build and test the prototype after finding out that the simulation blew up all to hell?
     
  11. Jun 26, 2012 #10

    rbj

    User Avatar

    yung, i don't get the "Unless" caveat. even if you are very good at analog circuit design, you still need to do some programming. how else do you mathematically model what your doing?
     
  12. Jun 27, 2012 #11
    I was a firmware engineer when I first started. I don't like programming and I never have to do programming since.

    Programming is not the same as using simulation programs. I design all sort of analog, transistor circuits, I designed IC before that was all transistors. Never have I even use PSpice before. It is not until I got into RF, then math, simulation become very important. At that, I use a lot of Excel stuff I wrote, never even learn C. Those programming are easy, when I need it, I'll learn it. Just like FPGA, I had to design FPGAs in one project in my last job, so I just learn AHDL in like 3 weeks and designed all sort of big FPGAs.

    Analog theory is harder to get, but once you learn to think that way, a lot of them become intuitive. You don't necessary calculate the circuit, you "see" the circuit. There are people that are very seasoned heavy duty analog designers here, you can ask them. I doubt they design using detail calculation on the first pass. You "see" the circuit!!! You use approximations. You just have to know the theory inside out so you know where you can slide and where is absolutely important. It was not until early this year when I was introducing distortion elements into the circuit to see the effect before I found the need of PSpice. So I learned LTSpice to look at the waveform. This was the first time that I ever even felt I need a simulation program for this kind of low frequency stuff.

    It is only in the microwave world, then it become not as intuitive when looking at the Smith Chart. Then you start to need calculation. At that, I actually spent over two years learning how to "see" the circuit on the Smith Chart, how to "see" the impedance and reflection. That I use Microwave Office to plot the Smith Chart and learn how the value of different components affect the graph.
     
    Last edited: Jun 27, 2012
  13. Jun 27, 2012 #12

    psparky

    User Avatar
    Gold Member

    I'm on the power side of EE. Medium and high voltage wiring for factories including all the components that come with it. I assure you there is no programming needed.

    Programming is great, you just won't always use it at your job. And yes, I do know how to program....just won't be using it anytime soon.
     
  14. Jun 27, 2012 #13
    Not all EE job need programming. I can assure you if you doing all analog design, you never need to do programming.

    But, most of the so call "hardware engineer" design digital electronics and programming become very important. And there are more jobs like that. Also a lot of people afraid of analog and RF and don't do good at these, they have no choice.

    Programming is much easier, just learn it!!! You can't go wrong learning it and it always help. I spent two years as a firmware engineer long time ago doing PASCAL and Assembly, the knowledge and experience help even I made sure I don't have to write another program anymore. It helped in learning FPGA programming as it is pretty much the same with slightly different flare. You learn one language, you learn all. The first one might take you a while to learn, but the rest are just about learning the syntax. I remember after my first FORTRAN class, learning PASCAL and Assemble were just easy, two to three weeks each to get up to speed. Even learning AHDL became very easy.
     
  15. Jun 28, 2012 #14

    rbj

    User Avatar

    no one would know this more firsthand than you...

    ... but that, i disagree with.

    assembling a program, and i mean from blocks, which if you drill down far enough eventually are instructions (so don't mean what an "assembler" does) is conceptually no different than assembling and connecting components for PSpice or LTSpice or whatever variant of Spice you're using. when you lay out the nodes and what goes in between the nodes, you are essentially programming.

    i don't mean that a SPICE simulation is equivalent to a full-tilt Von Neumann model (a.k.a. "Turing machine"), but it could be if the elements of the language have primitive enough members in the set (and it might, depends on how many arbitrary bends you can put into the volt-amp characteristics of a component).

    think of it this way: you enter in all of the "data" of your PSpice simulation, this data becomes bits in semiconductor memory and that computer with those particular bits, high and low, is itself simulated (with a very big program) in PSpice. the fact that a sequence of instructions is the same as a set of data that fully describes the sequence of instructions means that when you program SPICE, you are programming. i 'spose, if i had infinite time, i could wire up an ASCII word-processing program in SPICE, and it would make comparisons of ASCII characters with diodes and BJT switches that become elements in the SPICE program.

    entering in data into PSpice for PSpice to chew on is qualitatively no different than programming in instructions for a compiler or interpreter to chew on. it's the same thing. it's the same abstraction.
     
    Last edited: Jun 28, 2012
  16. Jun 28, 2012 #15
    We are talking about different PSpice, we draw schematics for LTSpice and my understanding is people draw schematics for PSpice also.

    Microwave office only accept schematic drawing for simulation.
     
  17. Jun 28, 2012 #16
    Thanks guys i really appreciate your contributions towards my question(s), you've all made my day. At least my kid brother now has an idea where to start from.
    Once again thanks to you all.
     
  18. Jun 28, 2012 #17

    jim hardy

    User Avatar
    Science Advisor
    Gold Member
    2016 Award

    My thought is this:

    i cannot imagine any engineering curriculum without programmming.

    Fortran forced me to develop a logical, focused, step by step thought process. The computer executes one line at a time, and only a fortunate few think step by step like the computer does. We average bears have to learn to do that. Programming forces that. Programming is more a language than a science or a math.

    I still like BASIC. Too bad Microsofthead doesn't support it any more.

    old jim
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook