jump to navigation

Engineers who don’t like to program November 15, 2011

Posted by mareserinitatis in computers, education, engineering, teaching.
Tags: , , ,

I admit that I’ve set myself up for some major disappointment.

My method of grading has been to basically grade assignments in a binary fashion.  Either it’s good enough or it needs to be redone.

The other thing is that I’m determining grades by number of assignments that are complete.  There are some required assignments which everyone must do to pass the class.  Then there are 9 optional assignments.  To get an A, you must complete 7 of those.  A B requires six, and a C requires five.  I didn’t mention the alternatives.

The last two assignments are Matlab assignments.  The one before that is writing up a technical presentation.

For me, I’d much rather do coding than write up a presentation.  (Yuck!)

Most of my students don’t agree.  In fact, based on my first two classes, it looks like less than 10% will be doing either of the matlab assignments.  I’m guessing this will be worse in my Thursday classes because of my cancellation of class last week.

I have to admit that I’m rather shocked…and disappointed.  It doesn’t matter what you’re doing in EE: you’re likely going to need to have a good handle on programming.

On the good side, I’ve introduced them to the material.  On the bad side, the horse is standing by the water and not drinking.

I’m trying to decide, assuming I teach this class again in the future, whether it’s worth it to develop a somewhat scaled down assignment.  Is it better to get them doing a small amount of coding, or is it better to have a bit more breadth in their initial exposure?

Maybe I’ll do an eval at the end of the semester so I can find out.  In the meantime, I’m still bummed out that most of them aren’t going that route.



1. Christopher - November 16, 2011

Good post, I have a rather lengthy comment, because I have seen this frequently during school and while working. This appears to be a perception issue. I can kinda empathize -some- being the recipient of what the students might be afraid of.

Among some EEs (dare I say most) there is this push back against programming. I think the issue is that, as an EE we work hard to earn the Engineering title/brand and, unfortunately, the vanity that comes with it. I think EEs (Engineers in general) work hard, they have to take a bunch of difficult classes as undergrads, at least compared to some other majors. EEs students have to endure diff EQ, Emags, semiconductor physics, etc. After earning their battle scars EEs don’t want to be reduced down to a *programmer/hacker*. I believe this is a reason why you see a programming avoidance and loud self proclamations “I am a hardware Engineer” or “I am an analog Engineer”.

As I eluded, I can empathize because I cringe every time my parents try to explain what I do for a living by stating: “He works with computers”, arrggggg. Also, because I have worked with too many Engineers that blantly refuse to do any programming because they believe they are above it and ridicule those that do the programming. I my opinion, you are in a very fortunate situation if you can get away with this, that is avoiding any programming. Programming is a skill an Engineer needs the same as having basic math skills! I do not want to hire a programmer because my EE refuses to write code for the hardware she designs.

I look at the inability or refusal to program, the same as if someone refusal to utilize math. Not many employers would be interested in an EE if they stated they do not know or do not want to do math. I think the same is true for programming. This day and age it is expected that an EE knows programming.

Math and programming are tools that an Engineer should have in their toolbox. And they should know when to use them and when not to use them. But with programming, in my experience, Engineers tend to have a dis-favorable view on programming and not so much on math. An Engineer will be happy to proclaim they solved a differential equation using the Laplace transform but not so proud that they saved time/money/effort programming their control loop in a microcontroller.

I don’t know what level of courses you are teaching (1st year, junior, senior) but I would not remove/reduce the programming. I would maybe make one of them mandatory. Especially since you are asking them to program in a high-level-language scientific computing package like Matlab. You are not requiring them to program in C or Fortran. If you want to have some fun make them do the assignment in C or Fortran 🙂

Opinions from a grumpy old man.


mareserinitatis - November 16, 2011

You make a lot of very good points. And I agree: an EE that doesn’t want to program is almost as bad as an EE who doesn’t want to know math. (Although there are those out there…)

These are freshmen, if it gives you a frame of reference. I think the big problem is really the intimidation factor: a lot of them don’t know how to program. I’m really surprised by that. So in this case, I don’t think it’s the pushback brought on by wanting to be hardware engineer…although I have seen that quite frequently. 🙂

I guess my feeling is that programming teaches a certain amount of logic, and that by itself is something which requires practice and mastery. My experience is that once you learn one programming language, it’s much easier to learn a second (and third, etc.). I’m contemplating making one of the assignments mandatory…but I also wonder about moving it to earlier in the semester. Part of the problem was probably self-induced because it’s not worth the effort for them to complete the matlab assignments if most of their other work is done.


Christopher - November 16, 2011

Ahh freshman, it is a littler harder. Hard to know what their programming background is. Some of my ranting doesn’t apply to first year students. I would still say keep the programming and consider making one mandatory. Students google everything anyways. Programming they can find tons of examples.

Good luck.


2. Jason - December 1, 2011

I’m a junior EE major at UND. I’m taking a programming class for the first time this semester and it’s killing me. I was told by engineers I know that the programming class would be the easier of the two that I’m taking this semester (the other being signals and systems). I completely disagree. I find programming to be much more difficult for me. It just doesn’t come naturally. This class covers MATLAB, LabVIEW and C++. I have struggled more in this class than any other I’ve taken. It’s not a matter of finding programming to beneath me or having a lack of interest. I really do want to become better at it. It is just coming very slowly.


mareserinitatis - December 5, 2011

It will get better. As you learn to program, you’ll get more accustomed to the way compilers/interpreters work. Someday you’ll think it’s old hat. 🙂


Jason - December 8, 2011

I hope you’re right! One of the other students and I just finished a project for the class where we added K-map functionality to Matlab. My partner on the project had 20+ years experience in software and was able to teach me quite a bit that wasn’t covered in the class.

The project:

I have to admit that while the project was a huge hassle, I learned a lot from it and the end result rocks. We ended up getting getting a 100%, plus some extra points. Now, if I can just do the same on my final this week, I’ll be very, very happy! 🙂


3. I have converted « FCIWYPSC - January 9, 2012

[…] that once you know a computer language, it’s often easier to learn another.  (Sadly, most chose not to learn a first one.)  This is doubly so moving from Matlab to Scilab (or, I imagine, the reverse order) because they […]


4. The calm before the storm « FCIWYPSC - November 25, 2012

[…] in the class from optional to required.  You may remember that last year, I talked about Engineers Who Don’t Like to Program.  I discovered that the majority of my students would rather do a presentation than learn how to […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: