<p>So, I'm just about done with my second year as a computer science major at UC Riverside. I was accepted into UCLA as a transfer, and am extremely excited about the opportunity to attend.</p>
<p>However, I have some concerns about the sheer difficulty of the major. I'm considering trying to change my major to something a little less time consuming.</p>
<p>During most of my time at UCR, I found the workload manageable (my GPA is a 3.89). I had one quarter in which I took the following classes:</p>
<p>Intro to Data Structures and Algorithms
Assembly Language/Machine Structure
Multivariable Calculus (part II)
Engineering/Calculus based physics</p>
<p>My work that quarter was so intensely time consuming that I rarely had any time to hang out with friends or even enjoy my life. If upper-division computer science is also going to be this difficult, I'm going to change my major. It's not that I can't handle it, but I'm a social person and enjoy having a social life and free time.</p>
<p>So I guess what I'm asking is: Does it get easier? Does that schedule look atypically hard, or is that what upper division is going to be like as well? </p>
<p>Realistically, junior and senior year are going to be considerably harder than freshman and sophomore, unless your institution front-loads the plan of study.</p>
<p>Algorithms (not to be confused with what you’ve already had, which I imagine is more like the data structures / extension of intro programming class), architecture, and theory/languages are usually pretty rough.</p>
<p>I’d stick with it though. Like I said, any major - technical majors most of all - are going to have at least a few courses that make you hate your life.</p>
<p>im not a cs major, but my experience in engineering is that it does get easier. the courses may actually be more technical, but it doesn’t seem as hard because you get used to it. </p>
<p>the people who don’t have trouble freshman year usually hit the wall sometime later in undergrad unless they were wicked talented and came into school with enough background to proficiency out of upper-level coursework. this is rare though.</p>
<p>The math should get much easier. You will probably be done with that requirement in a class or two. As for the CS, if it was all new to you, it might be a little easier for a year, but then it will get much more difficult as it gets more theoretical. CS takes lots of time since you are mostly learning by actually doing.</p>
<p>Anything worth achieving in life will require sacrifice. If you are not enjoying the major you are enrolled in now then start giving serious consideration to switching to a major that allows you to balance your time to a level you find more desirable. Whatever your decision may be, at many points in life you will have to wade through a lot of garbage just to get to where you want to go.</p>
<p>i think that front-loading is a common practice at engineering schools. the idea is to let people know they can’t make it before they waste all their time and money.</p>
<p>There are many aspects to CS. If you don’t like hardware/assembly level problems, then maybe you’d like operating systems, compilers, or databases. You might be more into artificial intelligence, natural language processing, parallelism, or robotics, than circuits or data structures, etc. Someone may not like trees or hash tables but like neural nets or queuing theory… If you aren’t passionate about something you won’t work as hard as you would on what interests you more.</p>
<p>From what I understand, big public universities are the most likely places to find the so called “weed-out” classes. The reason for this seems to be money: student tuition alone does not cover the expenses of the university and the largest portion of funding for a public university comes from the taxpayers.</p>
<p>It costs a lot of money to teach upper division classes, especially in the science and engineering fields. Many public universities will try to weed out as many students as they possibly can into less expensive to teach areas (fields where there’s minimal investment in laboratory equipment and the like).</p>
<p>In contrast, private institutions seem to have little to no weed out classes. Funding for private institutions comes primarily from endowments and alumni contributions. It makes no sense to a private university to have students dropping or failing classes; it’s more beneficial to have that student graduate in the apportioned time so he or she can start sending donations back to the university. In fact, how often do you hear stories about people failing out of Harvard or Princeton? Just go look at the graduation rates for the top institutions: well over 80% in the vast majority of cases. Of course, this is the reason these top universities largely accept candidates that are more likely to graduate in time with a good academic record.</p>
<p>How does that tie into the OP’s situation? The OP currently attends UC Riverside and will soon attend UCLA, both public research universities in the bankrupt State of California. The OP already experienced a quarter that forced him or her to question whether or not to switch out of CS (does an intro class truly needs to be made that difficult?). Also, the OP is about to enter the 3rd year of the CS program, the point where the last hold-outs are shaken off the tree. I think it’s about to get very challenging.</p>
<p>I go back to my previous post: you obviously have the skills but your willpower is being affected. Sit down and reflect whether or not you can truly cope with not having a meaningful social life for the next 2 years. If you can, you will succeed; if you can’t, switch your major.</p>
<p>Right now you are in the very middle of your garbage ocean; 2 more years and you get to your promised land. The best part is that your true friends will be there with you. Decision time, partner.</p>
<p>Well, it certainly is a tough decision. I initially went into Computer Science just because I had so much fun programming and was always at the top of my classes. I love math, I love solving puzzles, and I love programming. However, now I also wonder if computer science is something I want to do for a living. I fear that it might pigeonhole me into a specific, technical type of a job.</p>
<p>UCLA offers this major called “Mathematics of Computation”. The major is like 3/4 math and 1/4 computer science. I like it because it: a) is less time consuming (I find math infinitely less time consuming than computer science classes)
and b) might leave me with more broad opportunities after graduation.</p>
<p>On the other hand, I worry that my desire to switch is being colored by one very bad quarter, and I may regret the move later. On top of all those tough classes I listed, I was also training for a stressful new job. That quarter was unbearable.</p>
<p>^ Normally I’d be very wary of doing something like that, but checking out the program, it looks like you could (though regrettably aren’t made to) select a collection of courses that gives you a very thorough foundation in theoretical CS, scientific computing, and applications area. The program looks alright. It seems like a shame that they make you take analysis, though. And upper division linear algebra? These things are more on the “mathematics of” side than on the “computation” side.</p>