Electrical Engineering and Computer Engineering (Degree choosing dilemma)

Hi everyone. Currently I’m studying at a Canadian university in a computer engineering program. Right now, I’m in second year, but it seems that I have been having second thoughts about my degree. The way which my school works is this, in first year, all engineering students share a common year, and on the second year they go off into their individual disciplines.

But since electrical and computer engineering share very similar qualities, my first term consists of identical courses with EE students. And the point of my post is, can anyone give me some advice in which degree I should follow? And can any present Computer and Electrical Engineers give me some feedback on their jobs and the degree which they have?

Well I guess I should first tell you guys what I want to do. I would love to work with computer hardware, designing chips or boards and stuff like that. But I absolutely HATE programming. I’m currently taking a Java course right now, and eventhough I consider myself to be pretty good at it, I absolutely loathe it. It just too tedious and frustrating! And one thing which I’m very afraid of is that even if I come out with a CE degree, I might have to do programming and be stuck with the title “Computer Programmer”. This is not what I want.

I would really be interested in working with consumer electronics such as cell phones, laptops, MD players, sound systems, cool stuff like that. But I would hate to be working with things such as power generators and grids and that sort of thing. I want to work on fun things.

I guess I might as well tell you about the courses I’m currently taking.

  1. Electric Circuits
    I don’t mind this course, but sometimes the material seems kind of hard. We mostly do circuit analysis using techniques such as Node voltage, Mesh current, source transformations, stuff like that. And right now we are dealing with capacitors and inductors and steady state responses. I consider this the hardest course I’m taking right now, and sometimes when I can’t do those stupid problems, it feels so frustrating.

  2. Java
    As mentioned about, I hate this course with a passion. I don’t want my career to be related to programming at all.

  3. Digital Logic
    This course seems fun. We are working with boolean algebra, logic gates, CMOS/PMOS/NMOS, multiplexers, Karnaugh maps, Flip Flops, etc. But lately I’ve been really confused about what is going on in the class. We are doing flip flops and they make ABSOLUTELY NO SENSE TO ME. But if i get the hang of it, I think I would like it.

  4. Differential Equations
    This is more of an easy course really. It’s not directly linked to EE and CE, so I can’t really say much about it. We deal with ordinary differential equations, Laplace transforms, stuff like that, with emphasis on applications to electric circuits.

  5. Electrical Engineering Lab course
    This course is alright. We mainly put circuits together using resistors, capacitors, inductors, stuff like that. We use a breadboard, and a function generator, and analysis is done on an oscillator and voltmeters and ammeters. It’s interesting doing that kind of stuff, but I wouldn’t call it exactly fun.

My situation is really stressing me out right now. I have approxiamately 3 weeks to decide to switch or not. After that, I’m stuck in CE. I’ve been talking to friends which consists of CE and EE students, and I’ve been talking to counsellors. But what they told me was mostly vague, and it didn’t help me alot in deciding what discipline to go into. So I’m asking for your help Dopers!

Also, is it true that CEs can do jobs in their own field, but EEs can do jobs in their field AND CE jobs? I looked up “Computer Engineer” in Monster.com and what I mostly got was programmers, and “software engineers” (which I think is the same thing), and people maintaining databases and doing TECHNICAL SUPPORT(!!!) To me, that’s now what a CE should do. Eventhough there were some jobs which suited my needs, there were only a few of them. But when I searched for EE, I got TONS of results in a variety of different fields, all of them sounding very important. So can anyone tell me about the market for CEs and EEs currently? Info on Canada would be even better.

So that is my problem. Should I switch to EE or stick with CE?
Thanks alot for reading my long winded post. Any feedback is GREATLY appreciated. Have a nice day!:cool:

I ended up with a BS in computer science, after failing too many EE classes :wink:

At my college, CE was a ‘specialization’ of the EE degree, where you take more digital logic classes and learn about processor building and such. BS in CS is the typical ‘programmer’ or ‘software engineer’ degree, but a CE can end up taking more ‘programming’ classes than an EE (usually, they will involve more low-level classes than a CS major will take, I’m kinda surprized that you’re starting in Java, as that’s the language that’s the most removed from hardware). This allows a CE to take jobs aimed at CS majors.

CE is a degree that isn’t as widely granted as a EE degree is, hence more job offers for EE degrees. You should not, I believe, hesitate to apply for a job advertising as ‘EE’ with a description that matches the skills you learned in school.

Now, for you aversion to programming: You are certainly going to have to do ‘programming’ in your CE-specific classes, and not just at the ‘programming language’ level. Your next class or two in digital logic should show you that you need to understand navigation through state tables, designing the logic that gets written into PALs, etc. This will be intensly logic based, and if you don’t like the digital logic class you should definitely switch.

On the other hand, you’re going to have more classes like your circuit design class no matter which path you take, and they are going to get much harder. If you think you feel stupid now, wait until you get a problem wrong because you applied the right-hand rule with your left hand. It’s stuff like that that turned me into a CS major.

-lv

There’s not much difference between a EE and a CompE if you do hardware design, so if you don’t like programming, stick to the EE curriculum.

Here’s the big, bad fact of life: No matter what engineering discipline you take, you’re going to be programming. Learn to like it now. Even VHDL layout is done in Java these days.

I specialized in digital hardware in college, and graduated in 1984. I’ve been a programmer ever since, and actually it’s where my true talents are. I’m also a bit of a rarity where I work, because the HW guys expect the SW folk to be ditzes when it comes to hardware, and I walk in and can get down and dirty with them.

Good luck

VunderBob

Hey, McLeo - do you go to Mac? My SO is a Software Engineer (3rd year) at Mac, and loves it, but obviously you don’t want to program, so veer away from that :slight_smile:

I can’t help you with your decision (I’m a biochemist), but I just got the impression you were at Mac, and I thought I’d say hi!

Thanks for your responses guys.

LordVor
So Digital Logic is actually related more to CE than EE? I always thought it was the other way around. I think that if I actually understood what is going on in class right now, then I would like it. But don’t EE students also have to take alot of digital logic courses?

Ya, we do java for first and second year in our school, and start C++ in third year. I really don’t know why, as students from U of T and Waterloo start C++ right from first year. A few people had been complaining about this actually.

As for CEs applying for EE jobs, if the job stated that EEs were wanted, wouldn’t they want to hire the many EEs applying for the job rather than the CE, even if they have a similar set of skills? This worries me a bit.

vunderbob
Is it really true that all engineers have to do programming somewhere in their lives? I find this dissapointing, actually. So let’s say if an EE’s job is based purely on hardware design, they would still have to do programming?

mnemosyne
No I don’t go to Mac, but I actually did apply to that university and did get an acceptance to their engineering program. Their campus is lovely, by the way. I’m currently attending Queen’s right now, and it’s a great school.

It’s not just EEs. MEs, Civils, Chemicals ALL wind up programming. You may be doing MATLAB models, finite element analysis, or gate array layout, but it’s all dependent on your ability to program.

It doesn’t sound like you’re terribly enthralled with either of your opportunities at this point. But if you want to minimize the amount of programming you do, EE is definitely the better choice.

I guess that would explain why my roommate, who is in environmental-civil engineering, has to take VB in the 1B term, and the chemicals have to take C++ in 1B.

Oh, btw, at Waterloo they’ll be teaching C# next year in 1A E&CE, which has stirred up quite a bit of controversy.

I’m pretty interested in how this thread turns out too, since I’m in comp eng but I’m not in passionate love with programming.

If you want to minimize programming, EE is the better choice. In some ways CEG gets more ‘real world’ programming than the CS people do. But do expect to do programming as any kind of real engineer.

Narile <=== BS CEG; going for MS CS. (I enjoy the programming more than the engineering.)

Yes. Digital Logic is the core for CE, processors and intelligent circuits are built up from the NAND/NOR gate level. EE also needs their share of Digital Logic (as the degrees are very similar), but they usually do a lot more with analogue circuits (resistors, capacitors, etc) than a CE.

Quite simply, no. Chances are your CE background might actually fit the job description better than a typical EE program would. And if it doesn’t, if they are really looking more for EE skills, then it’s not a job that a CE major would necessarily want.

It sounds to me like you have some basic misunderstandings of the requirements and focuses of both degree paths…any chance you have an ‘advisor’ who can talk with you one on one about how these things work at your particular university?

-lv

Not unless you want piss-poor VHDL. :wink:

But the point is correct. VHDL itself is distressingly close to programming for someone who likes playing with breadboards.

I got my BS in EE and MS in ECE, and have been working as an EE for 3 years. Most of what I do is VHDL, which if you haven’t got to it yet, is a cross between breadboarding and programming.

Picture a programming language where you say “take a flip-flop, connect a wire from the output to an AND gate, etc…” That’s the lowest form of VHDL. You can write higher level stuff that looks even more like a C or pascal program, although you still have to have a ground grounding in the basics of hardware to do it right.

I’ve seen really bad VHDL written by C programmers that think they can just learn it like a new language.

I love my job (I design chips for cell-phone towers) but I do think back whistfully to plugging TTL logic chips into breadboards or wirewrapping. The thing is, no one really does that anymore, at least not for large-scale products. I’ve done some small run stuff that worked that way, but once you’re designing FPGA’s or ASIC’s, there’s just no way to prototype like that. The chip I’m working on now has something like 10 million gates. That’s a lot of breadboard.

From what you’ve said about your courses, Stay away from CE or CS. If flip-flops make sense to you eventually, go for EE. If not, perhaps you need something else entirely. Or maybe you can muddle through and go into analog stuff that doesn’t require Flipflops. (If you need help with flipflops, post a new thread, I’d be glad to help.)

But really, there isn’t a whole lot fo difference between CE and EE, it’s just a shift in focus. You will have to program in some language eventually, but you might be able to dodge Java if you stick wtih EE. C or Matlab might be more your style. And you’ll definately need Verilog or VHDL.

Oh, and regardless of what you might think now, Diff EQ’s is MAJORLY related to EE. Pay attention now, or you’ll be lost soon in circuits.

Stick with EE over Computer Engineering. EE is a much more recognizable degree, and you’ll be more marketable as a result.