<p>I've been considering pursuing a CS minor (in addition to an Econ degree) largely out of interest in the subject, and I had a few questions about going about it. Firstly, assuming I have a good deal more than average (self-taught) experience with introductory CS topics as well as programing, would it be reasonable to begin with 61A next semester? I plan to use a good portion of winter break to get a head start on the textbook (which I know is online) as well as anything else (I heard Scheme mentioned) that is recommended to me.</p>
<p>Second, I've been advised (by different people) to either:</p>
<p>1) Take Math 55; it's easier, and the stuff you learn in CS 70 won't really be necessary/helpful for just a CS minor</p>
<p>2) Take CS 70; it's harder, but the stuff that you'll learn will be important later on</p>
<p>Any thoughts on which choice to take? Like I've said, I've been told both. Right now, I'm considering CS 162, 186, and 188 as my upper-divs (although this is subject to change, as they're more than a year off).</p>
<p>Finally, whether I go with Math 55 or CS 70, is it do-able (or even advisable) to take it concurrently with CS 61A next semester? I wasn't that great at Math 54 (took it P/NP and got by; I generally understood the concepts, but didn't do very well on the tests). Besides 61A, I'll be taking Econ 101A and a breadth.</p>
<p>Any thoughts or advice would be appreciated.</p>
<p>Scheme is used in the self-paced CS 61AS; Python is used in the regular CS 61A. But the CS concepts are the same ones, and the on-line textbooks are the same except that the CS 61A version uses Python while the CS 61AS version is the original one in Scheme.</p>
<p>The upper division CS courses whose concepts you are most likely to see in industry jobs are: 161, 162, 169, 170, 186, and EE 122.</p>
<p>Being a declared CS minor does give you higher priority than non-majors for enrollment off the waiting list in up to three upper division CS courses. If you want to take more, try to take the most impacted courses within your first three to take advantage of this higher priority.</p>
<p>The math department web site says that it accepts CS 70 in place of Math 55 for math majors double majoring with CS or EECS. You’ll have to ask CS if the other way around is accepted, since it is not mentioned on the web site.</p>
<p>Thanks. I’ll check. Right now I’m leaning towards CS 70. Which leads me back to my earlier question: Would it be reasonable to take CS 70 next semester, concurrently with 61A and Econ 101A (and a breadth)? Or would there be an advantage to taking 70 after 61A? And does anyone know anything about the professor teaching CS 70 (A. Sahai, I believe)?</p>
<p>^ I’m currently doing the exact same schedule with those 3 classes and an AC. It’s feasible, but be careful since it can be a lot of work. 61A will be taught by Kamil (and possibly Harvey), whom I had never heard about except he was a graduate student at Berkeley. There is no advantage in taking 70 after 61A whatsoever because CS 70 doesn’t really assume knowledge from 61A, maybe except recursion, which you should probably know before entering 61A anyway. The heaviest kind of code you will ever be written is pseudocode for iterative fibonacci or gcd algorithm.</p>
<p>I don’t know much about Stefano, but I believe he and Card teach the class very similarly. Expect 10-15 hours on problem set on average. It’s a fantastic class, and while I have nothing against 100A, 101A always has the much better professor and cover the material in a much more interesting, mathematical way (and will pay off later if you want to go to grad school in econ or get some kind of finance jobs).</p>
<p>Anant Sahai is fabulous. If you are curious, just sit in his lectures for EE126. You are almost nearly guaranteed a fantastic semester with him next year, except that it is at… Li Ka Shing :p. I hope it helps.</p>
<p>Thanks. Any idea on how the workload/difficulty of 101A compares to 101B? I understand that it depends on the professor, but was just curious to hear anyone’s experiences taking both.</p>
<p>More generally, besides getting a headstart on the 61A textbook and brushing up on my Python, and suggestions on how to prepare for CS 70?</p>
<p>101B is wayyyy easier than 101A, though still difficult. If it is taught by Gorodichenko next sem, take it! He’s fantastic, though the grade distribution is not as generous as 101A’s (mainly because everyone does well on the test). </p>
<p>Prepare for CS70? Umm, honestly I can’t think of any, but just buy the reader at Copy Central across from Bancroft if you want to do some readings over the winter break (or go to the course website and download individual notes as they are published). They honestly haven’t changed the notes since Sinclair wrote it in 2006ish, so your reader will never be out of date. Other than that, I don’t see any other way to prepare for that class. Doing homework of this semester may be an option, but it’s a waste of time. It is a hard class, but the fun part and the real learning experience come from going to every single Thursday office hour to do the homework with everyone there. Lol.</p>
<p>And you certainly don’t need to reread Dive into Python. Rereading DeNero’s notes to brush up recursion and stuff is OK, but honestly you don’t need to do any of these. Just be very solid on your algebra (for the probability part) and mathematical reasoning (for the proof, induction, graph theory part) and you are good to go as far as I’m concerned.</p>
<p>I’m in a similar situation as you (trying to minor in cs). Here’s some thing I’ve found out by talking to counselors.</p>
<p>The counselor told me that for the minor, CS70 is required. I believe you can take the classes that require CS70 having taken Math55, but you need CS70 for the minor.</p>
<p>CS70 with CS61A will be fine. I’m currently taking CS61B and CS70 along with an upper div MCB course (you’ll have one extra course but should be fine). Also going into CS61A you will also be fine. I went into 61A with zero programming experience and I did well. They teach you everything from the bottom up so there’s no need to study up before hand. </p>
<p>One important thing about the minor is getting the upper division courses. After talking to the counselors they made it seem like it will be hard to get upper division courses since I’m not a CS major. Yes a minor is suppose to give you higher priority over non majors, but the counselor said that often doesn’t make a difference. Minors are still below CS/EECS seniors, juniors and cognitive science majors. Getting into the upper divs you want could be slim pickings. I’m trying to add my first upper div CS course for next semester right now so I’ll have to see how that goes. It seems that the wait list for all the upper div CS classes fill up quickly and the normal enrollment spots don’t. I’ve been meaning to ask about that somewhere about who is actually on these wait lists.</p>
<p>I’m actually taking 101B with Arnold right now. It’s not too difficult, but the problem sets do take some time and he has a problem (as he readily admits) writing midterms that can be done in just 80 minutes. But he’s generous enough with the curve to make up for that.</p>
<p>
</p>
<p>Thanks. I’m taking CS 70 (hopefully) next semester.</p>
<p>As for the class selection as a CS minor, I understand the restrictions and should be able to work around them. Thanks for the advice.</p>
<p>^Yea just make sure you phase 1 any upper div cs class you want. When I talked to the cs scheduling counselor he said the university has no obligation to people who want to minor in a subject. So basically its all on you to get in the classes you want. </p>
<p>Just curious, do you know which upper divs might be easiest to get into? I really do want to take 170 and 169 but I heard 169 is hard to get into and since 170 is required for the major I assume it will be hard to get into as well. If I’m fortunate enough to get into an upper div next semester, I NEED to get into two upper divs the following semester because after that I’ll be over the unit cap. </p>
<p>(I don’t mean to thread jack you or anything. Just wondering if anyone knows as the information would be beneficial to both of us)</p>
<p>169 is actually easier to get into during the spring with Necula. Right now, I know that 161 and 170 is impossible for minor and undeclared to get into because they both have good professors next semester. </p>
<p>I’d say go with 162 if you don’t mind a hardcore project class because not a lot of people take that class. 188 is another option since Abbeel is the less-popular professor compared to Klein, but he is still very good. 184 with O’Brien is another good option, along with the architecture classes (C149, 152) if you are into the subjects.</p>
<p>isn’t 162 a required class for majors too? Yea I’m currently trying to get into 188 since I’ll only have up to 61B finished by next semester. I’m interested in 184 but won’t have time to take linear algebra and don’t know C. I’m not sure if 184 would be that relevant in the real world, would it? I’d preferably like to take the most practical courses for real world jobs but I may have to settle for whatever I can get.</p>
<p>162 is required, but people try to avoid/push it to their last semester so you can still get into the class if you wait long enough. 184 isn’t really that applicable unless you’re into Pixar and all that stuff, but then again, Graphics is cool D: </p>
<p>I don’t think you need to know much linear algebra to take the course from what I’ve heard, but edX/BerkeleyX is offering the course online this November, so check that out if it suits you and see if the linear algebra part is easy enough to pick up during the winter break. You also need to know C++, which should be a relatively easy transition from C if you have taken/is taking CS61C.</p>
<p>CS 184 is very heavy on linear algebra, but the linear algebra it uses is really basic. As long as you’re comfortable with matrix operations and what they represent, you should be OK. However, your attitude towards matrices will be your attitude towards CS 184.</p>
<p>The stuff covered in Math 54 is more than enough for CS 184.</p>