<p>Does anyone know what the typical upper division course progression for an EECS student who is planning on taking a whole breadth of courses (I'm not sure what I want to do, so I want to take at least all of the main upper div courses).</p>
<p>After next semester I'll have taken 61A-C, and EE20N/40. So I should have all of the prerequisites for courses like 150. </p>
<p>I think the next step is to take CS70, but then I'm not sure where to go after that. I'm thinking for CS, the next step is to take CS 150, and for EE it is to take 105 or 120, but I'm not sure. Is there a typical progression akin to:</p>
<p>CS: 150 -> 152 -> 160 -> 162 -> ... ?</p>
<p>Or are there groupings that they recommend taking them in? I'm trying to plan my next three years so that I can take 20+ upper div EECS courses without killing myself. Thanks for any advice.</p>
<p>There’s not really a progression for CS courses unless you want to do theory (in which you probably want to do 170 -> 172/174).</p>
<p>For EE though, there is some progression, depending on the topics you’re interested in. Just check out the prereqs.</p>
<p>IMO, the main upper div courses for CS would be 150 (if you’re into digital design stuff), 162 (useful class in general) and 170 (useful class in general). </p>
<p>For EE, you probably want to do 105,120 and 126 first.</p>
<p>Dang are you a freshman? EECS kids are so far ahead. I think EECS is pretty laid back since you only got to do 20 units of EECS upper div which is just 5 classes to graduate, most people do much more, but how much more i’m not sure. I kinda decided to switch to EECS this semester w/o the EE and CS prereqs… but I am focusing on EE which i think has less people than CS. I know that 105 and 120 are important for EE since they are prereqs for other upperdivs.</p>
<p>Any awesome professors you guys recommend for upper division classes?
Which upper divs are your favorite? </p>
<p>I heard if you’re planning on going into software, you want to take CS 170 asap. People say it’s essential for interviews and it’s good knowledge in general.</p>
<p>I think everyone should take 170 and 162. They are my favorites because I felt like I actually learnt something valuable. I recommend taking them as soon as possible if you are on the CS side.</p>
<p>EE122 and CS161 were rather useless and I wouldn’t take them again. 188 has en easy curve because of all the Cogsci majors in there (no offense ;)) and it’s interesting but not necessarily useful. 186 was an okay class, not particularly great/useful but not bad either.</p>
<p>Wagner is supposed to be a very good teacher for 161 but I didn’t take him myself. Else, take Hilfinger if you want a challenge.</p>
<p>Hey Ramblin I’m doing something similar in that I’m taking my first upper div CS fall sophomore year but I noticed that upper div CS classes are are given priority to EE(CS) majors. </p>
<p>When are you officially switching from Eng Undeclared to EECS? I asked this because I’m not declaring my major (LSCS) until next year fall as I have to finish all my prereqs first. If you aren’t switching to EECS until next year, are you just going to phase I waitlist the upper div CS classes? (I think upper div EE classes aren’t restricted like CS ones are)</p>
<p>170 and 162 are probably the best first upper division CS courses to take, due to their general usefulness.</p>
<p>Although it is not an official prerequisite, if you wish to take both 164 and 172, you may want to take 172 first, since the language theory will make the first part of 164 (scanning and parsing) easier.</p>
<p>In terms of workload, lab or programming type courses will be about twice as much work as other courses. Non-lab courses like 170 and 172 will be about as much work as a math course.</p>
<p>Adding votes for 170 and 162. Both are now mandatory for new CS majors so Option III/IV EECS students should take both.</p>
<p>EECS is a very nice major because there are so few dependencies. This means that after completing the lower-div requirements you have more scheduling flexibility than almost any other major. If a certain class is full or you don’t like the professor one semester, you can always sign up for it later down the road, unlike many other majors where missing one class can result in a delayed graduation. The EECS dept has set up this free-form structure and everyone loves it.</p>
<p>I can think of only a few upper divs that are prereqs:
170 -> 172 and 174
188 -> 189 (right now it’s a 194)
*150 is not required for 152</p>
<p>As a freshman you probably don’t know what area you like best so plan to try lots of different things including a summer internship. EECS career fair should be coming up - definitely go.</p>
<p>As for professors/semesters, some rough tips, may very well change…
188 in Fall is always great
164 is equally demanding in Fall/Spring but Fall focuses on language design/integration, Spring does compilers
122 in the Fall looks more at TCP/IP implementation, Spring looks more at communication
186 is pretty consistent, but you might learn more depending on the professor
150 is a toss-up
160 does Android in Fall, iPhone in Spring
184 varies based on professor but is usually great
For the rest you can read HKN ratings.</p>
<p>On the EE side 120 is probably the most important upper div. 105 is mainly if you go to pursue circuits, but you can get away without it for robotics, etc.</p>
<p>170 was my favorite class of all my classes in all my semesters at Berkeley. You should definitely take it ASAP if Papadimitriou or Wager is teaching it.</p>
<p>Thank you all so much. I think I might start with 170 or 162, but I really want to take 150 (just the way Harvey introduced it at the end of this semester).</p>
<p>My problem is definitely that I want to take all of the EECS courses, I just don’t exactly know how I’m going to do it, lol.</p>
<p>The catalog lists about 35 or so upper division EECS courses. It may be hard to take 9 EECS courses for each of your remaining 4 semesters… that would be a lot of work even if they were non-lab courses (but a lot of them are lab courses).</p>
<p>On the EE side, it looks like 105 and 120 are listed as prerequisites to several other courses, so you may want to take those first if you want to take some EE courses.</p>
<p>I actually have 6 semesters to take upper divs, but I’ll probably forgo some courses that I have no interest in (<<< than what I am interested in).</p>
<p>I’m thinking I’ll take 150 and 105 (or 120) and CS 70 in the fall. Then 170, 162 (or 160) and maybe EE 120 (or 105, depending on what I do in the Fall).</p>
<p>This thread has been incredibly helpful. I was searching for this information this summer and couldn’t find anything (chose courses that hurt my gpa somewhat), and I want to thank everyone who’s contributed.</p>
<p>188 is good in the fall because Klein teaches it. He won one of the university’s top teaching awards last spring, quite an accomplishment since the nomination/awarding process takes ~1 year I believe and technically every Berkeley professor is a candidate for the award. </p>
<p>150 vs 162: cs61c will help you decide. You’ll cover C/MIPS/CPU architecture. If you like the software side more and understand C and caches, go on to 162. If you prefer the project where you build a CPU then 150 is more in that realm. You have the time to take both eventually but 150 is good if you want to go into embedded devices and 162 will be the beginning of your software experience.</p>
<p>difficulty - general sentiment seems to be that 162 is harder (plus group coordination and design docs) but 150 takes more time (time management can get you extra points)</p>