<p>@ anon5524485:
What do you mean when you say taking Physics 7A-7B for no reason is crazy? It’s a requirement for all students in the college of engineering and since I’m a Freshman EECS (my change of major just got approved today! yay, no more BioEngineering for me!) student, I had to take it along with anyone else in the College of Engineering.</p>
<p>I was just saying essentially this:
“This CS major is for students enrolled in the College of Letters & Science (L&S). There is no difference in the CS course content between the B.S. and B.A. programs. The difference is in what else you take: mainly engineering, or mainly humanities and social sciences. In particular, an interest in hardware suggests the EECS route; an interest in double majoring (for example, in math or cognitive science) suggests the L&S route.” -EECS website</p>
<p>Note: Oh I just figured out what you meant LH, like a student in L&S taking Physics 7A-7B if their major doesn’t require it. yeah I guess that would be insane.</p>
<p>A student in some other math-based major who wanted to learn about physics may prefer a more math-based course over something like Physics 10 or Physics 8. On the other hand, Physics 7 takes three courses and may be more work than one would want to get into as a non-major.</p>
<p>Though probably the demand for an intro / overview course in physics for non-majors with math is small (too small to be worth offering).</p>
<p>^yeah true when it comes down to it I guess it’s all personal preference. You should go and do/learn the things you like, not because of it’s grade distribution or popularity.</p>
<p>Perhaps an actual choice between two courses of similar workload with different levels of math would be Economics 101A (more math) versus 100A (less math). Non-majors who like math and are good at it may prefer 101A because it may be more interesting and easier to understand for them, even though it is less popular and considered by many to be “harder”.</p>
<p>But the assumption - at least on this thread - is that they would be. After all, the target audience on this thread is not just anybody, but presumably those who are actually good enough to get into and earn a degree from Berkeley. {If you can’t even get into Berkeley, then this entire thread is irrelevant to you anyway.} Anybody who is good enough to graduate from Berkeley, regardless of major, is probably good enough to develop a respectable level of software programming skills through self-study sufficient to obtain a quite respectable job - certainly one that pays more than many Berkeley humanities or social science grads make. (Let’s face it, graduates from the Berkeley English program don’t really make that much, despite the program purportedly being the #1 ranked English program in the country. Yet the English major graduates almost as many students as does the EECS and CS majors combined. ) </p>
<p>Furthermore, one only need to scan Dice, Hotjobs, Monster, or other career websites for the job requirements of even entry-level software developer positions to note that few if any of them require an actual formal computer science degree. What they may say is that they desire either a BSCS or the catchall escape hatch of “equivalent experience”, which basically translates to meaning that they don’t require a BSCS at all. (What some may require is a bachelor’s degree, but that degree could be in anything.)</p>
<p>And like I said, there are plenty of successful developers who don’t have formal CS degrees, or any degrees at all for that matter (or, heck, sometimes not even high school diplomas). All you really need is to develop a modicum of skills sufficient to land your first programming contract, even if only for minimal pay, or heck, even for free if necessary. Right off the top of my head, I can think of at least 10 people who would love for somebody to develop a dynamic web app for them, but they just won’t pay much to do it. Surely somebody who is intelligent and motivated enough to get into Berkeley can figure out how to code these projects, which are not exactly rocket science. From there, you can develop sufficient programming experience and skills necessary to land better and higher-paying jobs.</p>
<p>^Yeah I suppose I can see that for computer science jobs that involve the upper levels of programming (Application Development). But for more theoretical and lower level programming (compilers, computer security and such), as well as EE (Electrical Engineering), I would argue that it might be much more difficult for non-EECS major to be able to just “pick that up”. Job employers in that field probably want an EECS (Electrical Engineering & Computer science) or EE (Electrical Engineering) or CE (Computer Engineering) degree (depending on what program your university offers, or what they decide to name it).</p>
<p>Sure, but the truth is, many, almost certainly most, developer jobs do not really involve theoretical programming, but rather involve higher-level app development. Like I said, it doesn’t exactly take a genius who is well-versed in compiler analysis or complexity theory to build the very first versions of Facebook, Twitter, or Groupon, as those were relatively simple web applications. {Now, granted, to scale those apps to millions of users may necessitate a stronger grounding in software fundamentals, but that’s a terrific problem to have, and can be readily solved through the lavish venture capital funding you will surely attract by your large user base.} Again, one need only scan the software job specs on Dice or Hotjobs and note how few employers are actually asking for lower-level theory knowledge vs. app dev skills.</p>
<p>Unlikely to be true, or else most of those humanities and social studies graduates would have been able to get software development jobs through self studying enough computer science to be able to do a good job at it. And if that were true, computer science courses would be widely seen as the easiest courses on campus to take.</p>
<p>
</p>
<p>Which simply means that those hiring software developers are somewhat more open to self-educated (not uneducated) people in the field than those hiring into some other types of jobs. It does not mean that self-educated people in the field are the norm, or that the employers expect most of their successful candidates to be of the self-educated type.</p>
<p>
</p>
<p>Relative to the total number of people over 25 who have bachelor’s degrees in other fields (~75 million), or who have only high school diplomas (~62 million), or who did not even graduate from high school (~26 million), that number of self-educated people in computer science, while seeming plenty if you just see a few of them, is quite small.</p>
<p>If all of those people could easily self-educate computer science as you say, why haven’t they?</p>
<p>Oh, almost certainly true. Most software skills, frankly, are not that hard to attain. See below.</p>
<p>
</p>
<p>Unfortunately, the premise of your logic is wrong, and I suspect that you know it but just don’t want to admit it. The fact of the matter is, just because a skill can be learned doesn’t mean that people will actually choose to learn it, which has more to do with social and organizational incentives than with the inherent difficulty of the task.</p>
<p>Let me give you an example. It’s not that hard to learn how to perform basic auto repair and maintenance such as changing your oil filter, swapping a flat tire, or even simply jumping a dead battery. *Nevertheless, I continually run into college graduates - including many from top schools such as Berkeley - who do not actually know how to do it.<a href=“Heck,%20%20it%20seems%20as%20if%20every%20month%20or%20so,%20I’m%20helping%20somebody%20who%20graduated%20from%20college%20with%20some%20basic%20auto%20repair%20task%20that%20they%20don’t%20know%20how%20to%20do”>/i</a>. Now, granted, some auto repair techniques such as engine overhauls are indeed complicated, but we’re not talking about that. We’re talking about basic auto maintenance tasks that plenty of otherwise highly educated people do not actually know how to do. </p>
<p>Now, is anybody going to seriously argue that these tasks are truly so difficult that even somebody who can get into Berkeley has no chance of figuring out how to do them? Really? Most auto techs never went to prestigious colleges, heck, many of them never went to college at all, and plenty never even graduated from high school, yet they’ve clearly learned how to perform these tasks. And a Berkeley graduate can’t? </p>
<p>I’ll give you an even more egregious example. I know one guy who is about to finish his PhD and place at a tenure-track position at a decent university. But, get this, he doesn’t even know how to drive a car. Heck, I’ve periodically had to give rides to this guy. I doubt that anybody is going to seriously argue that driving a car is a particularly difficult skill to learn. Heck, plenty of high school dropouts nevertheless know how to drive a car. </p>
<p>The core issue has to do with social incentives to learn various tasks. There are no tangible academic incentives to learn auto repair, or if you happen to have always lived in major cities with strong public transportation systems, to even learn how to drive a car. Learning these skills do not improve your academic record or class rank, which seems to be the goal that most Berkeley-bound students are pursuing. Put another way, if basic auto repair was a testable section on the SAT’s, where your score was determined by having students enter a garage test-bed and change the oil filters of actual cars, students would be coming out of the woodwork to learn how to change their oil. </p>
<p>The same is true of the software skills of which I speak. They’re not that hard to attain; what is lacking is an educational organizational structure that incentives students to learn them. Put another way, if U.S. high schools, rather than requiring 4 years of English, instead required 4 years of software programming, and where those with the best such grades are likely to be admitted to the best colleges, our high schools would surely be churning out armies of competent programmers. </p>
<p>
</p>
<p>Again, absolutely wrong. We are talking about software skills, not about software courses. Course difficulty is entirely arbitrary and has more to do with the attitude of the professors towards grading. {For example, if American Studies courses adopted the same grade curve as EECS, then American Studies would instantly become one of the most difficult majors on campus.} </p>
<p>But, again, the skills themselves are not that hard to obtain. That is why you have so many people in the software industry who prepared through self-study. It’s not that difficult to learn how to develop a decent Web app on your own recognizance - even a reasonably motivated high school student could do this (and many have). </p>
<p>
</p>
<p>But, again, we’re not talking about people who are the norm. We’re talking about people who are good enough to get into Berkeley. Certainly I agree that a 2.0 GPA high school kid lacks the motivation necessary to learn any software skills. But that guy can’t get into Berkeley anyway. </p>
<p>
</p>
<p>See above. Why hasn’t my (nearly) PhD friend learn how to drive so that I don’t have to keep giving him rides? Why was I recently called in to unclog the toilet of the apartment of 2 girls - both Berkeley graduates - who didn’t know how to do it themselves (and which took me less than 10 minutes to complete, and I’m hardly much of a plumber)? Why did I have to connect the home TV/DVD/cable-set-top-box arrangement for those same girls who didn’t know how to do that either? Why haven’t they learned those skills for themselves? </p>
<p>Honestly, what’s more intellectually difficult - figuring out which cables connect to which sockets so that you can watch a movie, or deconstructing Elizabethan poetry? The problem is not intellectual difficulty but rather social incentives. The former doesn’t earn you an ‘A’ that boosts your GPA, but the latter does.</p>
<p>Some people choose not to do auto maintenance because they would rather pay someone to do it than deal with messy oil drippings and stuff like that. Although not changing one’s own flat tires is often more of a matter of lack of physical strength and fitness among a large part of the American population.</p>
<p>Some people choose not to drive because they can (mostly) get around by walking, bicycling, or using public transportation. And your friend knows that you will give him rides, so that you are providing an anti-incentive for him learning to drive.</p>
<p>Some people know that they can call you to unclog their toilet and connect their entertainment system instead of doing it themselves. Again, you are proving an anti-incentive for them to do it themselves.</p>
<p>But would you say that a humanities or social studies (or biology) graduate who is unemployed or stuck in an unsatisfying low end low pay job has no incentive to self-educate computer science enough to do well paying software development jobs, if it were as simple as doing basic auto maintenance? The *social incentive<a href=“or%20is%20it%20%5Bi%5Deconomic%20incentive%5B/i%5D?”>/i</a> is certainly there in this case.</p>
<p>And your claim that software skills are no more (intellectually) difficult than changing the oil in a car or changing a flat tire is quite far off the mark. The latter are described in a few pages of instructions in a car owner’s manual or service manual. Would you claim that learning software skills takes only a few pages of reading?</p>
<p>Let me put it to you this way. I come from a high school - that shall remain unnamed - in which the guys are obsessed with playing sports throughout the school year yet who are also the very same guys who take minimum wage jobs at the local shopping malls throughout the summer. {To be fair, I also played sports, so I know these guys.} I suspect most readers here on CC can tell a similar story. Such behavior makes zero economic sense, for in the entire history of my high school, not a single graduate has ever made it to the professional ranks. Nor is sports exactly a light commitment, consuming hours of after-school practice, and even more hours of game-time and travel. From a purely financial standpoint, there can be no dispute that they would be better off taking the exact same allotment of time that they use for sports - for which they are not only paid precisely zero, but are not developing any marketable skills - and instead devoted that time to learning, say, software programming. It is precisely their lack of skills that relegates them to stocking shelves and manning cash registers at the mall during the summer, because that’s all they know how to do. Employers don’t care about all the time you spent tackling each other on the football field. That’s not a marketable skill.</p>
<p>Given that, why do those guys continue to expend so much time playing sports? The answer seems to be perfectly clear: a powerful social hierarchy exists to encourage young boys to play sports. Sports excellence earn social capital, which, to impressionable young men, is far more valuable than financial capital. </p>
<p>The same can be said for cheerleading. There’s no money to be made in cheerleading. Employers don’t care that you know how to incite a crowd to spell out the name of your school mascot. Yet how many hours are spent by high school girls on the cheerleading squad, again, by the very same girls who also are relegated to minimum-wage jobs in the mall during the summer? </p>
<p>Sum all of the time that those students spent on sports or cheerleading throughout their entire 4 years of high school, devote that time instead to learning marketable skills such as software development, and I think there is little dispute that they would be competent coders who could be hired for a respectable wage. </p>
<p>
</p>
<p>Which fails to explain their prior anti-incentive. Why didn’t they ever learn these skills before? Even more intriguingly, why did they instead spend years learning, frankly, unmarketable skills such as the intricate deconstruction of Shakespeare or how to comparatively analyze Elizabethan vs. Victorian poetry? Are those skills really easier to learn than how to drive or connect your TV to your cable box? </p>
<p>I said it before and I’ll say it again: people learn whatever they are incentivized to learn according to the organizational and social structures that confront them. High schools require 4 years of English/humanities study. Students who want to win admission to a top college - or even to graduate from high school at all - know that they have to learn how to analyze literature, despite it not being a marketable skill. (Again, nobody outside of academia is going to hire you because you know how to analyze literature). What if high school instead replaced those 4 years of required English classes with 4 years of required software development classes? High schools would surely then be minting armies of competent software developers. Heck, what if high school required 3.5 years of English, and a mere 0.5 years were spent learning practical tasks such as basic plumbing, auto repair, and consumer electronics? Then those girls would surely know how to care of their own domestic business rather than having to call me all of the time. </p>
<p>Software development is not generally learned not because of the inherent difficulty of the material but because it lacks institutional backing. We as society, through the curricular and social structure of our schooling system, steer students towards certain skills and disciplines and away from others. High school kids learn English literature because it’s required and learn football because it provides social status benefits. Software development provides neither. What it does provide is a marketable skill in the way that English literature and football does not, but that only illuminates the point that they don’t really care that much about purely financial incentives. I’m sure the high school kid stocking shelves at the mall for minimum wage would rather be paid more, but at the same time, he’s not willing to give up football practice to learn those skills that would pay him more.</p>
<p>I never said that it was. That example simply illustrated the point that plenty of people do not bother to learn intellectually trivial tasks. The fact that those tasks are indeed trivial only highlights the point.</p>
<p>Software development is not trivial as changing your oil, but is almost surely intellectually comparable to, say, studying literature for 8 years (4 years in high school, 4 years in college), as in the case of those two girls I mentioned who were humanities graduates. Yet society requires that you study at least 4 years of literature if you want a high school diploma, whereupon it is a simple matter of inertia to choose to study literature for another 4 years to earn a relatively easy college degree. {It may not be easy to earn A’s, but it’s practically impossible to actually fail.} Yet no high school that I am aware of requires that students learn 4 years of software coding. </p>
<p>Surely anybody who is good enough to get into and graduate from Berkeley, even in a humanities major, is good enough to have built reasonable software development skills if they had chosen to devote the same time and effort. Again, let’s be perfectly honest - the vast majority of practicing software developers did not get into top colleges, but rather were relegated to average colleges. The average Berkeley student has more intellectual talent and work ethic than them. Granted, those developers do not obtain top software jobs, but they do obtain jobs. Berkeley students could have matched that, if they had developed the same skills.</p>
<p>But, as I believe I’ve established, people tend to behave in accordance with the social and organizational incentives placed before them. Guys in my high school, including myself, spent countless hours playing after-school sports because that was the ‘cool’ thing to do. Your friends were doing it, and you wanted to be with your friends. We all study Shakespeare because high schools require that you study Shakespeare. What if all of that time had instead been devoted towards learning software? Do you really think those students could not have become competent programmers?</p>