<p>This question is for all the CS majors. My friend tells me that he's seen some of his friends that are really smart fail some of their CS courses. Are the upper division courses really that hard? Or is it just the time squeeze to get things done for the projects so its more of a "do you have time" than a "do you understand" factor that makes it difficult?</p>
<p>It depends. I would say that doing reasonably well (~B) is more of a time thing. It doesn’t have to do with intelligence. Given you did well in your lower divs you should be intelligent enough to also be able to do well in upper divs.</p>
<p>Based on my experience people who do really bad have problems managing their time or priorities. They may have too many classes or time-consuming ECs. Or they just don’t study enough, or not in the right way. Also depends on course scheduling, don’t take too many project-heavy courses during the same semester. I don’t exaggerate when I say that some classes take 5-10x the amount of work that others. This not only depends on the class but also the professor. For example, I easily aced CS161 by studying maybe 2-3 hours a week and a bit more before exams. I barely made an A- in CS150 by spending at least 15h/week in the lab, doing 10 all-nighters there, skipping my other lectures to finish up the project milestones, plus studying the regular material and exams. Given all that, I think that everyone who is did well in lower-div CS classes can do reasonably well in upper-div CS classes if they have good time management skills and a reasonable schedule. </p>
<p>That being said, getting excellent (=A) grades will often require a bit more than good time management. First of all it depends on the classes and professors. Some are more lenient and give a lot of A’s (CS188? ;)), other’s don’t. Second and more importantly, you will either need to be smarter or much more hardworking than other students since almost all classes are graded on a curve.</p>
<p>To make it short, my opinion:
- Getting at least B’s should be possible for everyone who has good time management skills and is hard working.
- Getting A’s requires skills beyond that. Either you’ll have to work really hard or be smarter than other students. Or you’re just lucky with an easy class/professor (Like I was in 161).</p>
<p>Ahh I see. Thanks, that was really helpful. In regards to your comment on the classes being graded on a curve, many classes are graded on a curve so is it just that CS contains more exceptional students that throw off the curve? Or is the same as other curves generally (for upper divs not lower divs)? I ask because I am a MCB major who’s thinking of minoring in CS and my upper div courses are curved but I don’t find them to be terribly difficult.</p>
<p>I’m not sure about that since I haven’t taken many upper-divs outside of EE/CS. I took some COGSCI classes but I don’t remember the curve, if there was any at all.</p>
<p>That being said, there are definitely a bunch of extremely smart people in the classes who throw off the curve. Possibly more than in other departments but I’m not sure about that. Maybe also due to the fact that the EECS program requires you to enter it as a freshman. So people who are in it have been specializing in CS/EE for a long time, probably even before entering Berkeley. Thus they may have a lot more knowledge and experience in the field than people who are coming from L&S CS or tranfering from other departments.</p>
<p>This is a bit dated by now but maybe interesting to look at: <a href=“http://www.cs.berkeley.edu/~hilfingr/report/report.pdf[/url]”>http://www.cs.berkeley.edu/~hilfingr/report/report.pdf</a></p>
<p>I have a question. Is Computer Science hard in general??? I’m applied for EECS, but I’m hoping to concentrate on CS not the EE. I REALLY struggled at the EE (electricity, circuits, capicitators) in physics in high school.</p>
<p>EECS and CS are very similar; it’s mainly the breadth courses in CS that make the difference.</p>
<p>In terms of difficulty: CS is one of those subjects where some people get it while others don’t. If you’re part of the group that gets it, it’s as difficult as any other major. If you’re part of the group that doesn’t, it’ll seem impossibly hard.</p>
<p>As an EECS major you are not required to take any EE classes except for EE20N (which isn’t really EE but systems in general) and EE40 (Circuits). After you’re done with that you are free to take CS only. EE40 was the class I hated the most during my time at Cal, not because it was really difficult, but because I struggle with EE in general as well.</p>
<p>As for difficulty, what excelblue said.</p>
<p>EECS doesn’t require that you enter as a freshman. You can also enter as a Transfer.</p>
<p>Oh yeah, you can enter as a junior transfer from a CC/other school as well. </p>
<p>I just meant that it’s different from other programs at UC Berkeley where you basically do 2 years of GE and then decide what you want to major in. If you go to Berkeley as a freshman you have to apply to EECS as a freshman. Transferring from another UC Berkeley department into EECS later on isn’t that easy.</p>