Engineering 77 vs. CS 61A

<p>What's the difference between the two in terms of computer science content? I am told that 61A uses Scheme as its programming language, while 77 uses MATLAB, but I am also told that the language of instruction is fairly immaterial. </p>

<p>Are the two courses effectively interchangeable in terms of prerequisites? </p>

<p>For example, could I take Eng. 77 and then CS 61b; could I take CS 61A and be adequately prepared for an engineering course that has Eng. 77 as a prerequisite, such as Mech. Eng. 104? Or would I need to take some kind of bridge course such as a course in the CS 9 series?</p>

<p>I've taken both Eng 77 and CS61A and I don't think these two courses are really interchangeable. Let me preface this by saying though, it's been many years since I've taken these, and it's quite possible the curriculum has changed quite a bit since then.</p>

<p>E77 is really for learning a program language (MATLAB) that is useful for number crunching and engineering calculations - but you will not get into anything really meaty such as object oriented programming. Basically, you'll be solving engineering problems with a "fancy calculator" called MATLAB. </p>

<p>The CS series are really intended for eventual programmers and CS/EECS majors. CS series covers various programming techniques and concepts that really won't be covered in E77. In CS61A, they use scheme (a very simple "list" based language) to ultimately introduce the concept of object-orientated programming. CS61B further expands on that by introducing Java, a language that was truly built to be an object-oriented programing language (whereas scheme was not). The course then goes into learning various data structures and programming techniques to improve efficiency and speed, etc...</p>

<p>Unfortunately, you won't get the preparation you need for CS61B from E77 (sorry). Unless you already have a strong programming language background in object-oriented programming, I wouldn't suggest substituting one for the other (I don't think they'll allow you to anyway). If you take CS61A before E77 though, E77 will seem like a breeze. :)</p>

<p>Thanks. </p>

<p>Would taking CS 61A be sufficient preparation for taking something like Mech. Eng. 104 (engineering mechanics II), or the various other upper division enginerring classes that list Eng. 77 as a prerequisite? Or would I be better served by taking something like CS 9A after 61A if I do take 61A instead of Eng. 77? </p>

<p>If you're wondering why I'm asking about this, it's because I am unsure of what field of engineering I want to study so I want to keep my options open by taking the most broadly applicable courses possible in my first term. I also have to plan out a schedule to bring with me to the summer orientation.</p>

<p>I'd take both eventually. The problem is that both teach sufficiently different skill sets with enough overlap that you will find gaps in one area if you don't master the basics of the other. This is especially crucial if you are like an EECS/CS major.</p>

<p>I'm not sure what is covered in CS 9A. Also, I don't remember ME104 having a pre-requisite of E77? I took ME104 as well and I don't recall ever having to bust out MATLAB... but things may have changed.</p>

<p>MATLAB is excellent for doing matrix math. This can come in handy in the type of problems you run into in ME104. However, I don't know if they specifically assign problem sets now that need to be calculated with MATLAB?</p>

<p>In any case, I'd need to know more about CS9A to make any determination as to whether you can take CS61A and skip E77 or not... in prep for ME104. I'm also curious as to why ME104 is now requiring E77?</p>