Programming in engineering first year

Kn1ghT

Active Member
Joined
May 13, 2009
Messages
79
Reaction score
0
Hi guys

I will be studying electronic and computer engineering next year. Does anyone know if I will be learning any programming in my first year? If I will, what languages? Guessing they'd want to start with Java. Just want to know if I can start with some tutorials. :)

Thanks
 
Hi guys

I will be studying electronic and computer engineering next year. Does anyone know if I will be learning any programming in my first year? If I will, what languages? Guessing they'd want to start with Java. Just want to know if I can start with some tutorials. :)

Thanks

Where will you be studying? If computer engineering at Tuks, you'll likely start with C. In later semesters, this will be followed by a range of modules where programming is not the focus, but you're expected to pick up the language as needed.
 
If I were you, I would get my hands dirty with assembler. You know, just to get down with the basics (no not that basic) ...
 
If you had programming(or whatever they call it now) at school you'll probably be fine and find it easy regardless of the language. If not then either C or Java(or maybe even python) would be a good starting point.

The stuff you would be expected to do in assembly should be fairly easy though.
 
At Stellenbosch you do C in your first year and Java in your second year when studying electrical and electronic engineering. It's no serious programming as not all first years took programming at school.
 
Hi guys

I will be studying electronic and computer engineering next year. Does anyone know if I will be learning any programming in my first year? If I will, what languages? Guessing they'd want to start with Java. Just want to know if I can start with some tutorials. :)

Thanks

Jusr relax and enjoy it (like your specs) lol
 
in UCT first year was Java, second year is C++ (and you do C in microprocessor programming, which changed from Assembler in previous years) you also learn a few CAD programs here n there

now i heard rumors they are doing Python in 1st year, and Java in 2nd year with the optional extra of doing C++ in 2nd year aswell. C still applies for microprocessor programming.
 
Kn1ghT is a bot.
Please ignore all of bot.

Yes, I'm a bot. I am programmed to destroy mybroadband. Unfortunately my creators had crappy hardware else my mission would have been completed years ago....

Thanks for the info guys. Much appreciated.

Kn1ghT the super bot
 
At Tuks:
Electronic Engineering:
- COS131, which is the introductory programming module for a variety of degrees. Really easy, C only.
It is a first year introductory module in the Computer Science department but it is taught in 2nd year level in Engineering. eg. you won't be doing it first year unless you purposefully register for it.

Computer Engineering:
- COS131, same as top but you'll do it first year instead of 2nd.
- COS110, upgrade on COS131, COS131 is just about programming basics, COS110 is more about OO and actual programming rather than cowboy coding. Will be C++
- COS121, design patterns and some basic data structures and some basic software engineering principles. All in C++ last I checked
- COS212, data structures and algorithms, this will probably be in Java or C++
- COS216, netcentric computer systems, will be in Java, essentially some intro Java EE stuff. That is server side web-applications, AJAX and web-services.
- COS222, operating systems which will be basics about OSs + some x86 assembly programming

Most of the languages should be moving to C++ now but honestly I haven't talked to anyone about it this year, I was busy with keeping up to date more with what 3rd years do. Some of it might be Java tho, unlikely it'll be anything other than C/C++ or Java unless otherwise specified (eg. COS222)

That is it for CS modules covered in Engineering @ UP.
 
Last edited:
At Tuks:
Electronic Engineering:
- COS131, which is the introductory programming module for a variety of degrees. Really easy, C only.
It is a first year introductory module in the Computer Science department but it is taught in 2nd year level in Engineering. eg. you won't be doing it first year unless you purposefully register for it.

Computer Engineering:
- COS131, same as top but you'll do it first year instead of 2nd.
- COS110, upgrade on COS131, COS131 is just about programming basics, COS110 is more about OO and actual programming rather than cowboy coding. Will be C++
- COS121, design patterns and some basic data structures and some basic software engineering principles. All in C++ last I checked
- COS212, data structures and algorithms, this will probably be in Java or C++
- COS216, netcentric computer systems, will be in Java, essentially some intro Java EE stuff. That is server side web-applications, AJAX and web-services.
- COS222, operating systems which will be basics about OSs + some x86 assembly programming

Most of the languages should be moving to C++ now but honestly I haven't talked to anyone about it this year, I was busy with keeping up to date more with what 3rd years do. Some of it might be Java tho, unlikely it'll be anything other than C/C++ or Java unless otherwise specified (eg. COS222)

That is it for CS modules covered in Engineering @ UP.

But again, much of the focus is on getting engineering tasks done, with programming being a means to an end. And in these cases, knowledge of a particular language or paradigm is assumed.
 
At Tuks:
Electronic Engineering:
- COS131, which is the introductory programming module for a variety of degrees. Really easy, C only.
It is a first year introductory module in the Computer Science department but it is taught in 2nd year level in Engineering. eg. you won't be doing it first year unless you purposefully register for it.

Computer Engineering:
- COS131, same as top but you'll do it first year instead of 2nd.
- COS110, upgrade on COS131, COS131 is just about programming basics, COS110 is more about OO and actual programming rather than cowboy coding. Will be C++
- COS121, design patterns and some basic data structures and some basic software engineering principles. All in C++ last I checked
- COS212, data structures and algorithms, this will probably be in Java or C++
- COS216, netcentric computer systems, will be in Java, essentially some intro Java EE stuff. That is server side web-applications, AJAX and web-services.
- COS222, operating systems which will be basics about OSs + some x86 assembly programming

Most of the languages should be moving to C++ now but honestly I haven't talked to anyone about it this year, I was busy with keeping up to date more with what 3rd years do. Some of it might be Java tho, unlikely it'll be anything other than C/C++ or Java unless otherwise specified (eg. COS222)

That is it for CS modules covered in Engineering @ UP.

Lol, I was there when COS214 was still around. What a BITCH.
 
Truth. To an engineering student like me, COS214 with its whole 'design patterns' BS was like someone who studies humanities and claims it's a real science.

I was there. It wasn't that bad. I pwn'd it.

Honestly, engineering students can learn a lot from design patterns and practising engineers use them all the time, not only in software.
 
I was there. It wasn't that bad. I pwn'd it.

Honestly, engineering students can learn a lot from design patterns and practising engineers use them all the time, not only in software.

Sure, re-usable schematics but we don't have a whole pseudo-science about it.
 
COS214 with its whole 'design patterns' BS was like someone who studies humanities and claims it's a real science.

Are you somehow implying that Computer Science is not a Science or did you just hate the idea of design patterns? As with all things there is a practical and theoretical side. COS214 was aimed more at the practical side. I know similar modules exist in engineering because I did two of them, namely ERS220 (Digital Circuits) and EMK310 (Microprocessors), both of which was pretty much the same as any COS module aimed at practical work IMHO. Those two modules were as much science as COS214 IMHO, which is to say it isn't. You put into practice theory.

Wish they would rename CS @ Tuks anyway, should really be called Software Engineering because we do too much engineering in CS and too little actual CS. Although it has improved somewhat recently with things focusing more on branches of mathematics concerned with computers, algorithms and computability (eg. they've added more math, science and statistics and changed the CS modules to be more theoretical with more challenging practicals).

All those modules are fairly easy but it is true that many EE/CE students have trouble passing them (especially COS214). But it has since changed to COS121 which might be easier, so hopefully things will go better.

I think the problem really is they focus on other modules. Same thing happens in CS, students keep failing modules other than CS modules (well unless they are useless and don't belong there). Most of the time they don't feel compelled to study said module. Was my experience at least. I had to do accounting which I found tedious (soooo boring, my personal hell would be attending FRK lectures for the rest of eternity) and obviously got much less attention (eg. didn't even attend class). Others were better tho, thoroughly enjoyed the two engineering modules I did, although I feel a few things should be different (like using actual microprocessors rather than PIC and using a programming language rather than assembler). Especially liked building circuits, something most CS students hated but I learned plenty from that experience (for example when I started building my first ERS practical circuit I couldn't understand why it didn't work, anyway I didn't understand pull up resistors back then, must have been really funny to the Eng. guy we asked to help us, some 4th year guy, when he saw what we did. Digital circuits are a lot more analogue than I had thought in my mind ;) ).

Anyway gl to the OP, if you like tinkering, you'll certainly enjoy Eng. I made the mistake of doing CS, after doing 2 Eng. modules I realized that should have been my field of study but I was already committed. Now I'm stuck with a CS Hons (well actually I'm done, gonna start working) and find it quite boring and little challenge (at least in Eng. I got to work with my hands).

It is important to do many modules first year so you can be sure what you like!
 
Last edited:
Are you somehow implying that Computer Science is not a Science or did you just hate the idea of design patterns? As with all things there is a practical and theoretical side. COS214 was aimed more at the practical side. I know similar modules exist in engineering because I did two of them, namely ERS220 (Digital Circuits) and EMK310 (Microprocessors), both of which was pretty much the same as any COS module aimed at practical work IMHO. Those two modules were as much science as COS214 IMHO, which is to say it isn't. You put into practice theory.

Wish they would rename CS @ Tuks anyway, should really be called Software Engineering because we do too much engineering in CS and too little actual CS. Although it has improved somewhat recently with things focusing more on branches of mathematics concerned with computers, algorithms and computability (eg. they've added more math, science and statistics and changed the CS modules to be more theoretical with more challenging practicals).

All those modules are fairly easy but it is true that many EE/CE students have trouble passing them (especially COS214). But it has since changed to COS121 which might be easier, so hopefully things will go better.

I think the problem really is they focus on other modules. Same thing happens in CS, students keep failing modules other than CS modules (well unless they are useless and don't belong there). Most of the time they don't feel compelled to study said module. Was my experience at least. I had to do accounting which I found tedious (soooo boring, my personal hell would be attending FRK lectures for the rest of eternity) and obviously got much less attention (eg. didn't even attend class). Others were better tho, thoroughly enjoyed the two engineering modules I did, although I feel a few things should be different (like using actual microprocessors rather than PIC and using a programming language rather than assembler).

I agree with the first part of what you said (regarding the science of things, and theory vs practice).

However, I disagree with the second part. The PIC IS a microprocessor, and more. i.e. it is a microcontroller. As you mentioned, ERS and EMK are engineering subjects. As such, they are geared more toward providing students with exposure to the kinds of technologies that will be required later (i.e. everything in the degree basically leads up to your final year project).

This year, for example, they have started to increase the focus on FPGAs, a move that I think is incredibly beneficial to engineers. The past showed that many students who take final year projects requiring the use of FPGAs and DSPs struggle because a lot of time is spent becoming aquainted with the devices. Now, however, new students are issued an FPGA, and modules will begin to incorporate them into practicals.

In addition, the use of Wavecom modules is being introduced earlier. Previously, students taking Wavecom projects had to attend a crash course in Wavecom. Whereas in the future, the Wavecom will be something that students are already acquainted with. And even students who don't take Wavecom projects will benefit.

Regarding the use of the PIC + PIC assembler, I think it's great. PICs are used extensively in industry, and while assembler is less common in many applications, with PIC Basic and C often being preferred, the focus on assembler (IMHO) promotes a different way of thinking about embedded programming.
 
Top
Sign up to the MyBroadband newsletter
X