<p>You know your limits better than we do. If you’re good at math and love techy subjects, I think it’s do-able. But your background (any highschool physics? self studied CS? etc.) and professors (ask around, what are the rumors, the workloads?) can drastically affect things. You’ve been at your CC for a year already, so you should have a feel for how much work different kinds of classes will assign.</p>
<p>When it comes to taking extra/more CS classes… well, yes and no. I think it helps during admissions, since it shows you’re really interested in the subject, can’t wait to take more, and that you (hopefully) get an A+ in every CS class you take. You should also have a plan B in mind… Berkeley admissions are unpredictable, especially for EECS, so you should aim to be on track for other UCs as well… even a 4.0 doesn’t guarantee anything. That said, I was ~3.7 when I transferred, so non-4.0 won’t kill you either. But chances are other schools you apply to probably want those CS classes you’re considering. I’d also suggest taking Discrete Math if you haven’t already, it won’t articulate at Cal but wow it moves fast. Having a solid background with proofs/induction/probability can really help when you hit CS70.</p>
<p>Computer language classes would probably be a waste of time. Berkeley will throw you into new languages constantly, and you’re expected to pick them up pretty quick. If you know Python/Ruby and Java/C++/C#, you shouldn’t have trouble picking up anything else that’s thrown at you. Learn one or two languages very very well, learn general CS concepts/principles, and it should be easy to pick up new languages.</p>
<p>As for two years vs three… it doesn’t sound like you’d have much else to put in your schedule? Maybe try writing out the other version of your schedule and decide whether or not you’d be totally bored by it. But you’ll get better answers to “is this schedule too much” if you ask people who know your specific CC/professors.</p>