1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Importance of programming for engineers

  1. Apr 5, 2008 #1


    User Avatar
    Homework Helper

    So I'm taking a programming course right now, my first and I have to say I don't like it at all. It seems to be completely different from all the other classes I've taken so far. But the question is, how important is knowing how to program competently important to say, an electrical engineer? I mean, what kind of employment can I expect if I graduate without skilled programming knowledge?

    By the way, EE is my major.
  2. jcsd
  3. Apr 5, 2008 #2

    Vanadium 50

    User Avatar
    Staff Emeritus
    Science Advisor
    Education Advisor
    2017 Award

    I would be shocked if you could graduate with a BSEE without a single programming class.
  4. Apr 5, 2008 #3


    User Avatar
    Staff Emeritus
    Science Advisor

    Science and engineering are heavily computational these days, and simulations and data processing are a big part of that. Pencil and paper, slide rules, punch cards, tapes, main frames have largely been replaced by microprocessors in PC's and workstations.

    Each field of engineering not only has generic applications, but there are a variety of specific applications like circuit design and analysis software packages, or EM simulation programs. Even a EE should be knowledgeable in programming.
  5. Apr 5, 2008 #4
    well, if you're going into something like microelectronic design i would assume that you're gonna need some kind of hardware design language (HDL). i'm not too sure about power systems or mechatronic-types.

    To be honest, i would expect ECEs to do a fair amount of programming... heck even as a chem eng, i had to take a digital computation course and C++.
  6. Apr 5, 2008 #5


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    For a technical field, I would expect that you would be at a disadvantage [compared to other applicants] if you lacked programming skills.

    Now, that doesn't mean that you need to learn a particular programming language.
    If, for example, you don't like C++, try to learn something like Python.
    I have to admit that I didn't enjoy learning programming from taking Computer Science courses. I learned to program by trying to solve a particular problem of interest to me.
  7. Apr 5, 2008 #6


    User Avatar
    Homework Helper

    I'm just wondering, did anyone here started out without a background in programming not liking their first CS class, but later found it enjoyable when they did later programming classes? I'm referring to those without programming background.
  8. Apr 5, 2008 #7
    Super duper important. Know how to use matlab.
  9. Apr 5, 2008 #8
    It's very important - learn to like it. You can do almost anything with programming. It's there to make your life easier.

    Do practice problems, make simple programs. Companies use C/C++ to do hardware verification, for example. You could be coding in Matlab, to do DSP analysis. You can be using VHDL to implement a function on a FPGA. Programming is everywhere.
  10. Apr 5, 2008 #9


    User Avatar
    Homework Helper

    Which programming languages do you guys recommend I learn as an EE major? Cyrus suggested Matlab, anything else?
  11. Apr 5, 2008 #10
    It's difficult to overstate how important programming is to electrical engineers. It's right up there with circuits, linear systems theory, calculus and E&M. There are probably about as many EE's employed as programmers as there are CS graduates. Many EE grads never see circuits or E&M after their junior year of college, and spend their entire careers producing software.

    Slim to none. The question is which programming languages you should focus on becoming an expert in. A very high level of Matlab proficiency is basically mandatory, and then you'll need to know C/C++ and assembly if you go into signal processing or computer design or embedded systems, various hardware layout and simulation languages (VHDL, SPICE, etc.) if you go into circuits, some kind of E&M simulation languages for RF/microwave work, or stuff like Simulink and Labview for controls and systems. Proficiency in at least one general scripting language (python, bash, perl, whatever) is a big bonus for employability as well. And you should be comfortable with at least one flavor of unix, and probably linux as well.
  12. Apr 7, 2008 #11
    Good EEs must be competent programmers. I worked at Cisco Systems for 7 years. Even the EEs who do not program on a regular basis are always communicating with the software/firmware guys who are doing most of the programming for the project. The level of detail required in that communication mandates that the EEs have decent programming skills.
  13. Apr 7, 2008 #12
    You may not like learning programing through your intro classes required for your major but once you being to use those skills to write code to solve a meaningful problem you will learn to like it more. Your dept. probably requires at bare minimum one class in programing which will be just an overview and basic skills in one language, however you will learn the most from application. Once you start doing research with a professor or group you can learn a lot by simply thinking about how you can use code to help with your problem and then actually taking action
  14. Apr 19, 2008 #13
    Any programming language would do. I learned a bit of C++ in school and that has been of great help at college. I needed to work with MATLAB, and although I had no idea of MATLAB, it took me very little time to get accustomed to it. So, infact if you practice any programming language it would be of gr8 help to you. I'm still in college and so can't say about its future use.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook