<p>I have been able to get into the EECS classes I want, but this is partially because I have senior standing in the registration system due to all my AP and community college credits. If not for those credits, I could potentially have a tough time getting into the very popular CS classes; these classes have many people on the waiting list due to overwhelming demand caused by a combination of a popular subject and popular instructors, though many people who want to take the class eventually get in.</p>
<p>These classes are not representative of the majority of EECS classes, however, and it is entirely possible to graduate in four years (and even fewer), though one may have to settle for less popular classes or professors.</p>
<p>
</p>
<p>The classes I took during high school (including community college classes that I took simultaneously) that helped the most were probably AP Statistics, discrete math, and linear algebra. My school didn’t offer any EE/CS classes (despite being one of the most competitive public schools in CA), so I learned a bit of programming and computer science concepts outside of class, eventually starting a CS club with some friends that were doing the same. I ultimately didn’t come out of high school with much programming experience, however, so I was not as prepared as some of my peers, who had significant programming experience and participated in programming competitions. Despite this, I was still able to do well in the introductory CS classes, and I don’t think I’m any worse off than most of my classmates now.</p>
<p>Hi, thanks for doing this thread! I have a couple of questions:</p>
<p>1- Since AP CS credit doesn’t waive any requirements, is there any way to get out of the intro CS classes like CS61A if you have prior programming experience or does pretty much everyone take them?</p>
<p>2- Do you have any recommendations on what type of laptop to bring? Or does it not really matter?</p>
You can’t skip out of 61A or 61C unless you’ve taken fairly similar courses. I think 61A is pretty unique to Berkeley, while 61C is similar to a few courses at a few other colleges (I’ve heard of a couple at Stanford and Princeton that are similar), so it’s unlikely that you’ll be able to skip out of those.</p>
<p>As ucbalumnus says, you could take 61AS and try to finish early, but if you’re prone to procrastination, you might be better off taking 61A. I think 61A is worth taking, even if you have prior programming experience, though it could be pretty easy (personally, it is the easiest course I’ve taken at Berkeley so far). There are very very few people that skip 61A here (if any…), and there are a lot of people with prior programming experience taking 61A.</p>
<p>If you’ve taken data structures (which is one of the more common courses), you could try to skip out of 61B or take 47B, which is much lighter and covers some material that tends to be taught in 61B but not other data structures courses. This is more common than skipping out of 61A or 61C.</p>
<p>
</p>
<p>It doesn’t particularly matter. A lot of people use Windows, a lot of people use OS X, and a lot of people (at least CS/EECS majors :P) use Linux, so you probably won’t be alone regardless of which OS you use. If you bring a bigger/bulkier laptop or a laptop with bad battery life, it may be inconvenient for taking to class, though.</p>
<p>Are there any negatives to taking 47B as opposed to 61B?</p>
<p>Also, what computer science student organizations are there? I know of CSUA, but are there any others I should know of? I’m a girl, so any female only organizations work too. On a related note, how many girls do you normally have in your classes?</p>
<p>@energize: Btw, this is random, but I just realized that you answered one of my questions like two years ago. What a coincidence, thanks for then too lol.</p>
<p>Note that Laney College in Oakland is probably the only California community college offering a course that articulates to Berkeley CS 61A.</p>
<p>CS 47B is a self-paced course intended mainly for transfer students who took a community college course that covers part of the material in CS 61B. CS 47A and 47C are analogous courses for CS 61A and 61C, although these are much less commonly taken than CS 47B.</p>
There is Hackers@Berkeley, which is the most popular one and hosts workshops every now and then to acquaint you with Javascript, web development, hardware hacking, and all sorts of cool stuff. Upsilon Pi Epsilon (UPE) is the CS honor society (for L&S CS majors), Eta Kappa Nu (HKN) is the EECS honor society (for EECS majors), and IEEE is the EE-specific student organization; these hold events every so often as well, and help out with company info sessions/tech talks. Society for Women Engineers (SWE) is a female-only student organization, but I’m not aware of any others (probably because I haven’t looked into them).</p>
<p>
</p>
<p>In the intro classes, the proportion of girls is somewhere around 20% (I think it’s even higher for 61A), while in my upper div classes it’s more like 10-15%. Note that these are very rough estimates, obtained from looking around the room. The official ratios are 23% female in L&S CS and 12% female in EECS (see here: [UC</a> Berkeley Fall Semester Enrollment by Unit](<a href=“http://opa.berkeley.edu/statistics/DashboardFallEnrollmentbyUnit.html]UC”>http://opa.berkeley.edu/statistics/DashboardFallEnrollmentbyUnit.html)), so I’m probably underestimating a bit.</p>
<p>If you are admitted as a frosh into the EECS major, you have nothing to worry about. However, if you are admitted into something else (other than College of Engineering undeclared), then changing into EECS requires applying to do so into a competitive admission process.</p>
<p>Also, I was wondering, as a CS student at Berkeley - are we required to know a particular programming language? I have learnt Java all my life and have little idea about other languages. Is there any programming language given more preference than the other?</p>
<p>You’ll be fine if you only know Java before you start here. As ucbalumnus said, the introductory classes cover Python/Scheme, Java, C, and MIPS. Most upper division classes use at least one of these; compilers and graphics use C++, and databases and software engineering involve Ruby on Rails (though not as the only language).</p>
<p>How difficult is it to transfer from L&S to EECS (assuming one meets the GPA requirement and took the prereqs)? Do you know anyone who was successful in doing so?</p>
<p>I think it can be a bit difficult (with essays and such), but I don’t really know anyone who has attempted to do so. (I probably just don’t know enough people.) Sorry.</p>
<p>
</p>
<p>Yes, you will have to learn Python, unless you take the self-paced version of CS 61A (CS 61AS), in which case you will learn Scheme. Depending on the classes you take, you may also have to learn C++; classes that use C++ include compilers and graphics.</p>
<p>I don’t know where you got the idea that just knowing a programming language is sufficient to skip the introductory CS classes. Programming languages each serve different purposes for different situations, and it is unlikely that you could have a good foundational knowledge of computer science (what the CS 61ABC series gives you) knowing only one language. In addition, computer science is not just learning how to code. (This is a common misconception, and if you don’t think this, I’m sorry.)</p>
<p>You won’t be able to skip all three just based on the fact that you know Java, and it is unlikely that you’ll be able to skip any of them unless you’ve taken a data structures course or AP CS AB (not AP CS A!). I suggest you look into the material covered in those classes to get an idea of what the introductory classes cover. Your idea of computer science seems to be lacking, and it’s probably not your fault.</p>