Computer Science or Computer Engineering?

Mavix

Senior Member
Joined
Aug 14, 2006
Messages
759
I'm thinking of studying computer science or computer engineering next year at UKZN. What would be the major differences between them?
All I know is that computer engineering is a lot more technical.
What language(s) to they teach?
And what kind of jobs would one be qualified to do?
 

sn3rd

Expert Member
Joined
Jan 18, 2008
Messages
4,305
Computer science and computer engineering are really not the same at all. Computer science deals more with computers, and the science thereof (suprise, suprise). You do a lot of programming.

Computer engineering is just than; an engineering degree. As such, you do a very wide variety of things; maths, circuits, maths, signal processing, maths, programming, more maths, more signal processing...

At the end of the day, they're both great degrees that will give you a decent BACKGROUND. Note, that you need to make the best of whatever you do, and your own personality will decide what will work best for you.

If you don't mind circuits, maths and signal processing, and you like electronics, you should seriously consider computer engineering. It's a nice mixture.

If you prefer to program, you might consider Computer Science or related degree.

The languages taught in either course are usually dependent on the institution that you attend and the year in question. Expect to have to learn C/C++, Java, C#... Those are the languages that will probably get you the furthest in the programming world anyway. If you do computer engineering, expect to have to learn assembler too.

Didn't actually know that UKZN did Computer engineering... Is it ECSA accredited?
 

Mavix

Senior Member
Joined
Aug 14, 2006
Messages
759
Thanks for the info. What kind of maths are we talking about (For engineering)? I'm not too keen on Java, but I like C# and C++, and I wouldn't mind learning assembler too.
A search on their website confirms that they do have computer engineering. Don't know about the ECSA though, but I'll try to find out.
 

Mavix

Senior Member
Joined
Aug 14, 2006
Messages
759
According to engineering.ukzn.ac.za, all their programmes are ECSA accredited.
 

FarligOpptreden

Executive Member
Joined
Mar 5, 2007
Messages
5,396
I'm not too keen on Java, but I like C# and C++, and I wouldn't mind learning assembler too.

What's wrong with Java? It's pretty much the same syntax as C#/C++, so it shouldn't be too hard to grasp. J2EE is pretty powerful and stable in its own right and is a good alternative to an ASP.NET/C# combo.

Also, Assembler is hell. I had to do a few practicals as varsity in Assembler and its waaaaaaaaay too much effort to achieve something ludicrously simple.
 

Mavix

Senior Member
Joined
Aug 14, 2006
Messages
759
Java is a good language, no doubt, but I have an intense dislike for it, although I don't really know why. I guess one reason would be because it's so slow.
 

sn3rd

Expert Member
Joined
Jan 18, 2008
Messages
4,305
We're talking general engineering maths.

At Tuks, we did Calculus 1 (Introduction), 2 (More introduction), 3 (Multivariable functions), 4 (Sequences and Series), Differential equations, Linear Algebra, Numerical Methods, Statistics, Stochastic processes...

It's not the hardest stuff in the world, but people tend to neglect it, which is bad because (a) while it's not difficult, it IS tougher than you think, and (b) you use it a lot in your other subjects.

Assembler is good for what it's used for: optimised embedded systems, etc.

Java is a great language, especially when you need cross-platform capability.

According to ECSA's website, UKZN is accredited until 2008 only. Not sure if their renewal went well or not. Don't see any reason why it wouldn't.

Another thing to note is that the UKZN course is a BSc (Engineering) degree, whereas (classically), true engineering degrees are B.Eng degrees. This mainly means a difference in curriculum, though I'm not sure what exactly the differences are. But if they're ECSA accredited, it means you can still get Pr.Eng certified in the long run.
 

sn3rd

Expert Member
Joined
Jan 18, 2008
Messages
4,305
At the end of the day, you need to think about what you see yourself doing for a living. I find that Engineers tend to have a broader scope than Comp. Sci. guys. More engineers work in computer-science fields than the other way around. I think it's because computer-science guys aren't forced to take electronics subjects, while engineers ARE forced to take programming subjects (albeit a limited scope in comparison). And since most people straight out of varsity actually don't REALLY know what they're doing, it's still a learning curve, so easier to catch up on your programming through on-the-job training than it is to catch up on your signal processing and electronics (which require copious amounts of try-and-see methodology)
 

KamikazeHamster

Well-Known Member
Joined
Apr 17, 2005
Messages
380
Programming refers to writing code. Software engineering refers to designing, documenting and implementing a computer system. I believe it was Dijkstra who commented that the term "Computer science" is an unfortunate term, comparable to saying that surgery is "Knife science". It's only computer science, in my humble opinion, if you are designing the actual hardware. :)
 

sn3rd

Expert Member
Joined
Jan 18, 2008
Messages
4,305
Programming refers to writing code. Software engineering refers to designing, documenting and implementing a computer system. I believe it was Dijkstra who commented that the term "Computer science" is an unfortunate term, comparable to saying that surgery is "Knife science". It's only computer science, in my humble opinion, if you are designing the actual hardware. :)

Fair enough comment, but bear in mind that BSc Computer Science entails much more than just code.

And to be pedantic, software engineering refers more the the design, documentation and implementation of a computer software system.

And this is of course very different to Computer Engineering, which is a broad field that encompasses much of what Computer Science (in the sense that you use it) has to offer.

But what's in a name :p
 

Gnome

Executive Member
Joined
Sep 19, 2005
Messages
7,208
Computer Engineering = Electronic engineering with programming that focuses more on practical implementation (IE. getting the job done). Even their engineering modules it's not a science so much as formulas to get a guesstimation (excluding the engineering math modules).

Computer Science = A high level of abstraction, you'll focus more on theory. 1st year will have lot's of programming but after that should be more abstract. Everything is mathematically proven no guessing, etc. At least that's how it is at Tuks.

At the end of the day, you need to think about what you see yourself doing for a living. I find that Engineers tend to have a broader scope than Comp. Sci. guys. More engineers work in computer-science fields than the other way around. I think it's because computer-science guys aren't forced to take electronics subjects, while engineers ARE forced to take programming subjects (albeit a limited scope in comparison). And since most people straight out of varsity actually don't REALLY know what they're doing, it's still a learning curve, so easier to catch up on your programming through on-the-job training than it is to catch up on your signal processing and electronics (which require copious amounts of try-and-see methodology)

I disagree, signal processing is of no use in 98% of the work done on Computers, it's hardware after all. In any case the degree has changed since you were there, BSc(CS/IT) has been changed for accreditation, those modules you did are all 1st year modules now because it is considered the basics. In addition all IT students now need to complete a module that's equivalent to ERS220 now but with a bit more content so I feel they learn enough about microelectronics, they learn how to build the basic digital circuits which is basically what I think a Computer Programmer needs. More than that and the scope becomes distorted, the focus is on software engineering not hardware.

Also that theory we learn in CS is useful, engineering is focused on getting it done while the CS is focused on doing it right, especially when it comes to programming.

If you like theory and abstraction you'll like CS, if you like getting your hands dirty building circuits and tweaking until it works you'll like Engineering. Sure programming has it's hacking and slashing but not in the same sense as the circuit building (which is fun don't get me wrong).
 

sn3rd

Expert Member
Joined
Jan 18, 2008
Messages
4,305
Computer Engineering = Electronic engineering with programming that focuses more on practical implementation (IE. getting the job done). Even their engineering modules it's not a science so much as formulas to get a guesstimation (excluding the engineering math modules).

Computer Science = A high level of abstraction, you'll focus more on theory. 1st year will have lot's of programming but after that should be more abstract. Everything is mathematically proven no guessing, etc. At least that's how it is at Tuks.



I disagree, signal processing is of no use in 98% of the work done on Computers, it's hardware after all. In any case the degree has changed since you were there, BSc(CS/IT) has been changed for accreditation, those modules you did are all 1st year modules now because it is considered the basics. In addition all IT students now need to complete a module that's equivalent to ERS220 now but with a bit more content so I feel they learn enough about microelectronics, they learn how to build the basic digital circuits which is basically what I think a Computer Programmer needs. More than that and the scope becomes distorted, the focus is on software engineering not hardware.

Also that theory we learn in CS is useful, engineering is focused on getting it done while the CS is focused on doing it right, especially when it comes to programming.

If you like theory and abstraction you'll like CS, if you like getting your hands dirty building circuits and tweaking until it works you'll like Engineering. Sure programming has it's hacking and slashing but not in the same sense as the circuit building (which is fun don't get me wrong).

Well, yes, using "computers" as a loose term. But when it comes to computer systems and telecommunications, it's extremely important.

In any case, I think there's a misunderstanding here. I'm saying that, in the job market, it would probably be easier for an engineer to move over into the computer science graduate's field than for a computer science graduate to move over into an engineer's field.

And I am NOT knocking CS guys at all!

I didn't know that CS guys now have to take electronic courses, but honestly, ERS220 (Digital Systems) is a joke. If you can do binary math, you can pass the course. However, I've also heard that CS guys need to do EMK310 (Microprocessors), or at least they are encouraged to by the course structure. That course is quite a bit more advanced. In fact, IIRC, the CS guys that took it with us excelled at it. Probably due to their more rigorous theoretical background as opposed to the engineer's way of (as you say) "hacking and tweaking" it.
 

Gnome

Executive Member
Joined
Sep 19, 2005
Messages
7,208
Yeah I did both those modules, was fun but with ERS you'll understand what I mean, your circuit might work on paper, all the logic is correct but in practice you'll need to tweak it for it to work properly. I had trouble with some of my circuits where the chips would flip out even if the fanout was properly calculated, in the end I just changed the circuit and then it works (less optimal tho). It was fun but it's more hack and slash if you catch my drift. CS is more applying patterns, algorithms, etc. and it'll always behave as expected.

And yes CS will can't go into Engineering simply because of the fact that you need a degree ;) But after doing ERS and EMK I learned a LOT of stuff on my own, not so much some of the advanced stuff like analogue circuits (IE. amplifiers) but digital circuits I was able to learn quite a bit! Just needed to get the ball rolling.
 

sn3rd

Expert Member
Joined
Jan 18, 2008
Messages
4,305
Yeah I did both those modules, was fun but with ERS you'll understand what I mean, your circuit might work on paper, all the logic is correct but in practice you'll need to tweak it for it to work properly. I had trouble with some of my circuits where the chips would flip out even if the fanout was properly calculated, in the end I just changed the circuit and then it works (less optimal tho). It was fun but it's more hack and slash if you catch my drift. CS is more applying patterns, algorithms, etc. and it'll always behave as expected.

And yes CS will can't go into Engineering simply because of the fact that you need a degree ;) But after doing ERS and EMK I learned a LOT of stuff on my own, not so much some of the advanced stuff like analogue circuits (IE. amplifiers) but digital circuits I was able to learn quite a bit! Just needed to get the ball rolling.

Finally we can agree on something :p

This thread should be stickied for further questions of this nature ;)
 

Mavix

Senior Member
Joined
Aug 14, 2006
Messages
759
Thanks for the replies guys.
Computer engineering sounds good.
I like programming, but I'm looking for something more interesting and challenging, which I think I'll get if I do computer engineering.
 

Gnome

Executive Member
Joined
Sep 19, 2005
Messages
7,208
Depending on where you study and what you choose to do both can be incredibly difficult. I know BEng(CE) is quite hard @ Tuks but for example BSc(IT) Mathematics Option is basically a BSc(CS) degree rolled together with BSc(Mathematics). Same for Computer Science, you pick your modules, you can pretty much do almost an entire BSc(Financial Mathematics) degree (AKA Actuarial science pretty much considered the most difficult degree at University Of Pretoria) along with computer science if you pick certain options with Computer Science. Music,Art, Biology, Law, many others are also possible options.

Computer Science is always combined with "Enrichment modules" which is a pretty way of saying you need to fill up your degree with modules from other departments, I my self did CS combined with Engineering modules, Financial Accounting, Business Management, Multimedia, Informatics and some Information Science (really boring). I did more modules than I needed so no-one stops you from doing what you want.

All depends on what you like to do.

Either way both good options, just thought I would say the degree can be incredibly varied.
 
Last edited:

FarligOpptreden

Executive Member
Joined
Mar 5, 2007
Messages
5,396
...OR if you decide to study at Tuks, you can opt for B.IT, which is the degree I did. It gives you a broad scope of the IT world with minimal choices during the first 2 years. It covers Computer Science, Informatics, Information Science and Multimedia. You also have a few Mathematics, Business Management, Accounting and Philosophy subjects thrown in for good measure... It's a pretty comprehensive 4 year degree (like Engineering) and is one of the few degrees that forces you to get industry related experience. The "research" subject (SIT700) in your last year requires of you to gain about 6 months worth of industry based experience and write your thesis based on what you learned...

You can then follow up your B.IT degree with M.IT if you wish and get a bit more "management" knowledge of the IT world.
 

Gnome

Executive Member
Joined
Sep 19, 2005
Messages
7,208
Yeah only problem I have with BIT is, you can do exactly the same as BSc(CS/IT) except it's 4 years. Whereas doing BSc(CS/IT) you do your 3 year degree (exactly like BIT) and then get a Degree (unlike BIT) and after that you can still choose to complete your Honours, except in BIT you do a module on 4th year (IE honours) level where I hear you have to get a job, basically you are paying the University of Pretoria, to get a job. Also heard rumors that part of your paycheck goes toward UP, but I'm not 100% on that.

I honestly and truly do not see the benefit of BIT except perhaps if you don't have the required 60% for all modules on 3rd year level you can still complete your "honours" whereas Honours(CS) requires 60% average on 3rd year COS modules.
 

Moederloos

Honorary Master
Joined
Aug 18, 2005
Messages
12,476
Bsc Information Technology is my degree. I did Comp Sci for two years as well - did not enjoy it.
 
Top