<p>I met with my friend the other day and had a long talk. He goes to UCLA and we were discussing how he want to change his major from mechanical engineering to computer science. Which I though was great, but he feared that he would not be allowed to do so because he might have failed his data structures class. Now this got me thinking about my abilities. If He is vastly smarter than me, and he still did not manage to passed a UC level data structures class, then what chance do I have at passing it, or even majoring in computer science. He excelled in math and science all thought out high school and he would have be valedictorian if it weren’t for our crappy middle school. So I was thinking that If I decided to major in computer science, I would probably get weeded out. This is why I was so hesitant about going to UCSD, since I just wanted to go there to major in CS. If I were to get weeded out UCSD’s CS, then not only would I lose CS as my major, but also UCLA. This makes it really bad since I prefer everything about UCLA over UCSD, but the major. So should I just change my major RIGHT to engineering geology and spare myself the trouble and not even try UC level CS classes?</p>
<p>I don’t really have an answer to your question, but I just want to say this. Don’t underestimate yourself or your abilities. You’re likely capable than more than you think. Also don’t get too caught up in thinking that if your smart friend struggled, then you have no chance. Definitely listen to what your friend has to say, and learn from their experience, but give yourself credit for being smart as well. </p>
<p>Take a class and see. I’m EECS, and don’t have much experience with Mech E, but I suck at Physics. Absolutely miserable at it, and EE as well. I also just graduated from Berkeley, I got an A+ in Data Structures. Different classes require you to think in different ways. I think CS tends to be more logical and creative, and you can get instant feedback on if what you’re doing is working. Your friend might just be better at Mech E than CS… that doesn’t mean you won’t succeed in CS. There could’ve been other factors to how your friend did as well, like projects in other classes or things happening outside of school.</p>
<p>I’d suggest taking your CC’s CS classes as soon as you can. The first class should give you an idea of what to expect, and if it’s your thing or not. If you do well in that, you’ll be fine in UC classes if you’re willing to put in the time. Some students just have a lot of trouble grasping the concepts, for others it comes naturally. But you won’t know until you try it! Or you might take one class and decide you hate CS altogether, also perfectly fine but better to know early. :P</p>
<p>Stick with CS, learn from your friend’s experience, and apply yourself. Spend extra hours or even this summer to get a head start in data structures and other kinks of CS… Annnnd try to avoid that same professor if possible. Comparing yourself to your friend is a big no-no! </p>
<p>@collegedropout1, I think you’re going to do better than you think. You have gotten to the point where you are overthinking, and it is leading you to more and more despair. I do agree, the choices for majors are not great. It’s either a bunch of math (or related classes) or humanities, and will humanities lead to a job? That is the eternal question. At some point you just gotta go with your heart or what you feel comfortable with. The majority of majors end up having no relation at all to the job the person eventually falls in to, so I wouldn’t overthink it. You seem to like geology. Engineering geology seems like a good fit, although I do not know what classes that major entails. Also, a lot of CEOs actually started in humanities, such as English, history and philosophy. If you like history that may be a great avenue, with a minor in cog science or statistics. </p>
<p>And BTW, the biggest avenue to a job is through networking and internships while you are in college or quickly thereafter. That is the #1 path. Perhaps pick a major that has clear opportunities for networking in the LA area.</p>
<p>As a recent UCLA graduate I can totally vouch for @lindyk8 statement… networking and internships play a big role in determining job opportunities. I wish I knew that before transferring.</p>
<p>A computer science degree is not necessary for most entry-level programming jobs. I spent a few months searching for programming internships, and the vast majority of applications said something along the lines of “Computer Science, Math or Science related degree preferred”. What’s most important with programming is that you can actually program; that is, choose to study whatever you enjoy in college, and practice programming on the side. What they really want to see is programming projects and passion. The programming skill set is in demand all over the country. I’ve met a few people who “only” have comp-sci AA degrees and who got jobs that start at around 40-50k a year. It’s doable.</p>
<p>Math underneath Real Analysis, Abstract Algebra, etc… so basically Calculus 1-3+LA/DE and under is primary monkey see, monkey do, the level of theory understanding is pretty low. CS is pretty much all theory; its more about being cleaver than anything else. Are you cleaver or do you excel in memorizing a bunch facts (or equations)? If you can answer that question you will know how well you will do in CS.</p>
<p>Personally I’m of the later persuasion. I can and did memorize a lot of random formulas, got my As in Calc but when it came to CS I was struggling hard. I COULD have forced myself to plow through it but why? I would have ended up like your friend. I was never going to be a grade A coder, never going to work for a MS or Google in programing, so It wasn’t worth the effort. I decided against CS, in fact i decided against engineering in general and switched my major to accounting. </p>
<p>Speaking of accounting, I agree with @indyk8 about the value of internships and networking. I got into a few schools that weren’t my top picks so instead of going there, I decided to stay at CC an extra year. The absolute biggest reason was because I could go look for a job in the accounting/business field. I feel that even if I transferred right now, I would have issues securing the best jobs because Major/GPA is only the bare minimum for a job, experience matters so damn much. </p>
<p>If you are doing CS, then besides your CS classes, you need to be taking part in CS events such as HackUCI or programing code for your local robotics club, hacking the iPhone, or developing android apps, etc. </p>
<p>What a surprise, another minority perusing a worthless degree, and of course, I am going to get the bill! This is an out range. </p>
<p>I really don’t think there is such thing as a “useless major”. Universities have those majors for a reason, the field is has applications, and there is interest in the subject- or they would not have the major in the first place. If you are the best at whatever you field may be, there is a great chance you would be wildly successful and or wealthy. Also, if you pick a major that some may consider “useless”, that’s fine; you can make yourself relevant by having some sort of tangible skills that are valuable to employers. </p>
<p>Most of is don’t have a blest cut path to any particular career. Whether you major in Business, CS, or Philosophy, we’re all going to have to carve out our own niche to get our money’s worth from our degrees. Study what you enjoy and what you think you can excel at, and just trust that it will lead you to a job/ career that makes you happy, and pays reasonably well.</p>
<p>Thank you @derrpy, that’s what I’ve been saying! Get the coding from an outside source like one of the dev bootcamps. </p>
<p>
You are taking CS classes now, right? It isn’t like they draw on some different body of knowledge when you get to a UC (although the pace and level step up). If you are doing ok now, there is no reason to expect that won’t continue. </p>
<p>Yo, basically any undergraduate class is possible for virtually anybody that puts in the effort. Honestly, I’m one of the smarter math undergrads out there, so I could also be totally off base. So I expect that your friend is probably like me. </p>
<p>If he’s actually a genius and basically everything is easy for him/ he normally doesn’t put forth any effort in classes, then he was just lazy and it showed through when he couldn’t manage it.</p>
<p>I have quite a few friends who aren’t super intelligent and don’t have an easy time of stuff. They put in tremendous amounts of effort in every class and those are the people who succeed most in college. </p>
<p>About learning specifically, all I can recommend is actually learning what thing’s mean rather than memorizing notes and such. If you have a textbook, do all the problems and talk to the TA’s about the subject in office hours. Don’t talk to them about specific assignments, but rather about cool things in the subject that are applications of your data structures. Actually, I’d recommend connecting all your primary data structures via analogies. </p>
<p>The important point here is don’t give up just because someone else failed. I’ll reiterate my most important point. Learn and practice the material, rather than memorizing solutions and notes. Good luck.</p>
<p>I got my current (awesome) internship by programming my own video game and publishing it on gitHub, and I only have CCC coursework under my belt! CS employers want to see that you are passionate about programming and that you can actually code. If you build cool personal projects, attend hackathons, build a slick personal website, etc. you will get attention. Your major is just one line on your resume, it’s up to you to fill the rest.</p>
<p>Congrats @DescartesQ! my younger daughter’s friend in high school has already created a bunch of stuff. I am assuming self-taught.</p>