<p>^No. for a BS in compsci, you don't need to take machine language. Machine language is classified as a lower level language - a language that speaks directly to the comp and doesn't need to be compiled like a higher level language, most people take higher level languages like C++, Java etc. coz it's easier. People who work with Machine level end up earning a lot more money, but the job opportunities are fewer.</p>
<p>Okay. You're just talking about assembler. My son's school requires a semester in assembler. I do assembler work - it's a good way to get the most out of the hardware architecture. Assembler isn't particularly difficult but you need to memorize the instruction set and the quirks of the architecture.</p>
<p>Yeah, Assembly language and Machine language are almost the same. The difficulty really depends on the person, I guess.</p>
<p>I'm a CE major and we did assembly sophomore year...</p>
<p>assembly still needs to be assembled by a assembler. In my undergrad cs I took 3 classed in assembly, two on mips and 1 on x86. we programmed bootstrap loaders and memory stacks.</p>
<p>as to the double major, it would have required another semester, I wanted to take other cs classes instead and take Spanish.</p>
<p>I know better than to touch the "which is more difficult" question, but I would like to offer some of Dijkstra's thoughts on the difficulty</a> of programming.</p>
<p>As a practical matter, yes, an assembler converts mnemonics into machine code but you can always just write an assembler if one doesn't exist for your architecture. The assembler class that I took was on the Motorola 68000 family.</p>
<p>
[quote]
No. for a BS in compsci, you don't need to take machine language.
[/quote]
</p>
<p>It depends on the school. Also, good grief, most of what is being discussed in this thread depends on the school. A lot of people in this forum have way too much faith in the "the engineering experience is standardized across schools" dogma, which is not true in my experience or that of my friends who have taken engineering classes at multiple schools.</p>
<p>I had a look at the ACM Curriculum Guidelines for undergraduate programs in computer science and assembler falls under the Computer Architecture sections which are recommended.</p>
<p>Programs do vary and sometimes widely. I think that I prefer programs at schools that also have an engineering school as you're more likely to find hardware courses and I think that hardware courses make for the better CS degree. Of course there are schools which have a different opinion on how to do CS and they may have good reasons for them.</p>
<p>I took a class on Computer organization and we surly went over architecture. My school offers a class on computer architecture, which I didn't take. while in the course I took we went over I386 and Power PC, in the architecture class they do AMD64 and a few others. Thogh all part of the Von Neumann architecture</p>
<p>Once you learn one architecture, you can generally learn another from the architecture documents and the Software Optimization Guide. EPIC may be an exception - those that I've talked to that learned Itanium told me that it's a particularly difficult architecture to understand. I do a lot of vector programming so those aspects of the PowerPC and x86 architectures are interesting to me. The trend in x86 architectural improvements is towards SIMD instructions and the upcoming Intel 256 bit vector instructions should be interesting.</p>
<p>It seems to me that there may be some amount of overlap in computer organization, computer architecture and even operating systems. This may not be a bad thing as repetition is useful for some. My son's uni requires Foundations, Architecture and Logic Design so he's going to see some overlap. Ars Digita has videos of an architecture class called How Computers Work which is an easy way to take an architecture class on your own time.</p>
<p>Since most ppl on this thread took or is taking some form of CS I thought I would ask how much computer science is there in electrical engineering (and chemical). For the <code>all universities are different</code> im planning to go to Waterloo. btw how well known is Waterloo in America</p>
<p>I've heard of it - either due to a conference they had there or a conference elsewhere where someone from Waterloo presented.</p>
<p>EE doesn't have to have more than a couple of programming classes... usually intro stuff. But depending on your concentration you can have a lot more programming, especially the hardware level stuff (Assembly for instance). Coursework geared towards electronic design (electronics engineer) will probably have more CS too, because you will be working at the gateway between EE and CS... cellphones and other handhelds are a good example of this.</p>