Would Computer Science be a good major for me?

<p>I've been using computers for much of my life and have always loved them as well as playing computer games and all that stuff. I have some very basic programming skills, I can make little programs on Python and PHP but by no means am I very advanced. </p>

<p>I'm pretty good at math and enjoy it from time to time (depends on material), I take all honors/AP courses in math usually get high marks (94+) and for the most part understand math concepts not just memorize them. I also do pretty well on standardized math tests 800 on SAT II Math II and a 33 on the Math section of the ACT. </p>

<p>My main problem is I can get very frustrated if things aren't working right for me and I am sure that will occur more often than not when programming. </p>

<p>Overall do you think I could handle CS or am I better sticking to another major?</p>

<p>Under what grounds do you expect anyone to tell you that "you CAN'T handle CS"?
We all get frustrated when things don't work.</p>

<p>Writing code is pretty laborious. I've never done it, but I've seen others do it, and it's something you have to love. I asked someone to show me some assignments they had written for an intro cs class, and most every assignment had some bugs. We went through several versions before we found good ones. The actual coding was nothing mega, but one had to be meticulous, pinpointing bugs and all. From the very limited experience I had with a pseudo-programming software, I think cs (if I could make a connection to what I did and what cs majors do) requires great problem-solving/consistency but plenty of repition and tedium. Plus, looking at a computer most of the time might not interest some people. </p>

<p>So, if you're interested in CS, apply as a CS major. After taking a class or two, see if you like it or switch out.</p>

<p>yes programming can be very frustrating, debugging can take days and at the end the fix could be just one line long.</p>

<p>Yeah, you actually have to SIT IN the CS classes before you can decide this one =] you may fall in love with programming, but I think a hands-on experience is crucial for you to actually be able to make a good decision.</p>

<p>I took some CS and decided it wasn't for me, for instance. I also got pretty frustrated debugging ;)</p>

<p>"My main problem is I can get very frustrated if things aren't working right for me and I am sure that will occur more often than not when programming."</p>

<p>You probably are not going to like the programming classes</p>

<p>In college you do generally do bigger things than you did in high school. You might have to write longer papers, have more intensive labs, work on projects that require more hours and work on things that require more effort, patience, focus and persistence.</p>

<p>In software engineering, you do run into roadblocks to your work. People generally have ways of dealing with roadblocks as professionals. Examples are pacing all over the building thinking about the problem, asking coworkers for suggestions, having someone else look at your code, Googling around for ideas or examples, looking at the textbooks on your bookshelf, looking for papers in your area.</p>

<p>My daughter is 16 and I've spent months trying to convince her to take a programming course and she's finally agreed. We're getting her up to speed before the course starts so that she has a bit of a jump on the course. She mentioned to me that she looks at programming problems and can't come up with a solution to them right away and I explained that you do a bunch of little problems and the experience allows you to tackle slightly larger problems.</p>

<p>We're going through the materials at CSCI</a> 230 :: Computing I Distributed Lectures which is a course in Computing I using C. She is mostly just reading the slides as she prefers it to the video lectures there. I give her problems from K&R or Deitel and Deitel from time to time.</p>

<p>It sounds like you can do CS but you have to develop some base skills and progress from there. You might also have to develop some patience. That can be very hard for someone your age but it gets easier as you get older. It can help to have someone around that can provide pointers and tips when you get stuck. This can be a person or a book. We have lots of CS books at home and one can always look for an algorithm or method or answer to a question in the variety of books here. It's comparable to looking in a university library for answers to questions or methods.</p>

<p>One other thing that would help is interest in science. Many CS programs require two semesters of physics which can be pretty rough the first year. CS programs typically involve doing a lot of labs and sometimes spending huge amounts of time on programs to where the program can be the whole grade. Similar to where the bulk of a writing course grade is determined by a term paper.</p>

<p>Debugging can be pretty frustrated until you watch someone that's good with debugging tools that is also good at debugging. You can pick up a lot of good approaches to debugging by watching someone with a lot of experience in it. Some of the debugging tools are a real pain in the neck to use and many students try to printf their way out of bugs instead of learning how to use the debugger efficiently.</p>