difficulty of a computer science major

<p>i have been thinking about this for a while, and it is very hard to find unbiased information. i am in twelfth grade and am in love with computers. it has been my passion since i was young. around tenth grade i was introduced to programming and am beginning to get the hang of it.</p>

<p>i have heard alot of things about how difficult and challenging a computer science curriculum can be. last year i took ap computer science at my high school via a distance learning program just to see what it would be like. well, i did alright in the class; i made a b, but it was a horrifying experience. i expected since i had a little prior knowledge that it would give me a leg up. i was completely wrong. needless to say the fact that it was an online course and it was basically reading a lesson and then doing assignments(easy at first but very hard once you get into oop). i dont know if it is that i am just bad at it or if it was not my fault. i was one of two people who took the course and we both received 1's on the ap exam.</p>

<p>anyways, im just looking for some solid feedback. since then i have looked at alot of college curriculums and really think i could do it with proper instruction, but at the same time i know that college is usually alot of self-teaching and i dont want to put such a big investment into something that i dont know will pay off.</p>

<p>just to give you an idea of what type of student i am:
honors english grades 7 - 12
physics chem biology
alg 1/2/3 geom
honors us history a-b, gifted gov econ
lots of information tech electives</p>

<p>i have like a 3. something gpa right now. its alot better weighted though. </p>

<p>havent taken the act yet so i cant say on that.</p>

<p>thanks for any help or good information.</p>

<p>anyone? not sure if i made sense or not…</p>

<p>There’s not all that much to say…</p>

<p>There’s more pressure in college, and it’s probably easier to get feedback with what you need to know than you’re online course was. College isn’t all just self-teaching. I’ll admit, the big lectures are, but smaller classes are much more personal.</p>

<p>If you’re wondering if CS or Engineering is really a fit for you, you could try starting out at a community college, taking the prerequisites. See how you like those classes. </p>

<p>Was there anything else in particular you were looking for in responses?</p>

<p>I prefer the approach of learning your first programming language without the object-oriented aspects and then learning the OO aspects of languages afterwards. It is a lot to absorb all at once and I’ve seen places where it isn’t particularly well done. It may have been the course or perhaps the lack of interactive help.</p>

<p>in my school, no one ever understood APCS unless they already knew how to program…so i doubt it’s an indicator of college, because many CS majors have little exposure to programming</p>

<p>BCEagle, I agree with your comment 100%; my son had to do OOP in his first programming class, and it distracted so much from just getting the simple basics of programming logic.</p>

<p>^that’s why no one understood java in APCS :)</p>

<p>it’s good that many schools and colleges are turning towards python and ruby as introductory languages…oop aspects are much more subtle in scripting languages</p>

<p>Here’s my 2 cents on the issue. As a background, I completed my bachelors with my main major being in computer science, and am currently working towards my masters in computer science.</p>

<p>In high school, my AP CS class was for the A exam, I wanted to take AB but it wasn’t offered. I took it upon myself to learn the material, and worked out with my teacher that during the AP CS A class I was allowed to do my own thing and work towards CS AB. Now in my school they let anyone that wanted to join the class join…so there were a lot of people that had no clue what computer science entailed. They couldn’t grasp an understanding oF OOP, etc. Most of the class got a 1 or 2 on the A exam, while I got a 4 on the AB. </p>

<p>I knew from what I had done that it was the major for me…I guess something clicked during the year. If you were only able to get a 1 on the exam, even though you were learning it yourself, it probably isn’t for you. In a college a lot of work in CS is left for you to experiment with and play around with…figure things out for yourself first, and then go to the teacher if needed. If you aren’t able to do that now, chances are you won’t be able to do it in college. It isn’t an easy major, and if you don’t enjoy it…it certainly is tedious.</p>

<p>Again, this is just my opinion but I saw people like you in my class that liked computers and really wanted to major in cs, but it clearly wasn’t for them. If you still want to persist with, keep working at it…you can always change majors after a semester, etc. You have a year before you start college…take an intro class at a community college, retake the AP test, you don’t have to make a definitive decision just yet.</p>

<p>i did mediocre in my APCS class…i got a 3 and barely squeezed out an A- :O</p>

<p>but there was something about that class that really felt rewarding…so im leaning towards CS versus any other type of engineering</p>

<p>The CS class I’ve taken and from talking to other people. CS is not a very difficult major. It is more time consuming than difficult. Usually if you can put in the time and crank it all out then you can get it done. Many of the problems in EE (my major) are harder conceptually. However they may not take as much time to do once you figure it out. CS takes time to do.</p>

<p>

</p>

<p>Really? The EE classes I took were jokes. None of the ECE + CS people I’ve talked to have had an ECE class as their most difficult (now, algorithms on the other hand…)</p>

<p>I don’t understand the complaints against OOP. I have TA’d a lot of people who started out without it and now struggle to wrap their heads around using the simplest OOP concepts. I started out with OOP and can grasp most functional language concepts pretty easily. </p>

<p>Back to the OP, a 1 in Java is not a good sign. Because Java is very, very easy compared to the other stuff. Now, it’s possible you suddenly get it in college, but don’t bank your hopes on a subject you didn’t succeed at.</p>

<p>I learned programming in the 70s where it was anything goes. Several years later, we had a lot of corporate training on structured programming and it was a new paradigm and took a while for us to learn. In the 1990s, we started on OOP and it again was a difficult concept to adapt to because we had been used to structured programming. If you’re used to something it is easy. If there’s a large paradigm change, moving from one to the next can be difficult. At any rate, the pace of change picked up in the 1990s and later so industry is often a moving target on tools unless you work in lower-level stuff like operating systems and databases.</p>

<p>One advantage of working in a language like C is that you can get a better feel for the hardware that you’re working on. Java is more of a black-box with-regards-to the underlying hardware that you are running on or targeting. I think that some understanding of the hardware is useful for software engineers though I imagine that a large number of software engineers and programmers never think about it.</p>

<p>And then there is Joel:</p>

<p>[The</a> Perils of JavaSchools - Joel on Software](<a href=“http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html]The”>The Perils of JavaSchools – Joel on Software)</p>

<p>Programming is just one aspect of the Computer Science major. There are far more math-oriented pieces of the major which may be harder or easier depending on your strengths and weaknesses.</p>

<p>I think that it is pretty hard for us to diagnose your AP score problems in this forum.</p>

<p>Programmers and software engineers often have to just learn how to do things by grinding it out. This can involve asking other people (who are those people?, how do you find them? how do you ask them?), finding examples (where?, how?), finding guides, debugging, figuring things out for yourself. A lot of this may involve tinkering or trying five things and the sixth one works. A lot of CS work is more time-consuming than difficult but there is stuff that is difficult.</p>

<p>

</p>

<p>Hold on dude with that judgment. It’s just a high school class & test. It doesn’t even sound like it was a good class. No one in the class got above a 1 on the AP test.</p>

<p>yeah if everyone gets a 1, then the class was bad, not your CS potential</p>

<p>Try it out. If you start out as a college freshman majoring in CS, you’ll likely only have one different class than if you majored in something else. You’ll probably take one programming class. If you suck at it then, you’ll know CS isn’t your thing. I agree with some people who say that if you can’t really figure it out yourself, then it may not be for you, because the fact is in programming and really most classes there is too much information that you can learn about. This is the same for math, science, history, etc. but the difference is that in CS, it can be information that could help you a little more often than some subtle history dates or some derivation of some proof (math).</p>

<p>But I should mention, taking a programming class is a bit of a shocker. The only thing really like it is pure math, and there’s hardly anything like that in high school. Once you get the hang of it though, you’ll be fine. I say go for it, and if it really isn’t for you then you can always withdraw from your programming class and switch your major, no harm done.</p>

<p>

</p>

<p>I’ve had plenty of terrible (and I mean terrible) AP classes, and I never got a 1. I self-studied for quite a few, and I never got a 1, so I don’t really subscribe to that argument.</p>

<p>If you have the talent for a particular subject, badly taught classes probably won’t make you fail at it. At least, I have never seen it happen.</p>

<p>I got a 2 on physics B junior year, yet I’m a physics major now. Does that mean anything? Nah, I was pretty lazy in high school. Not gonna lie, CS is not the most interesting subject even for a person like myself who knows how to program in and out. Perhaps its the methods, perhaps it’s learning from a book, but whatever it is it was an irritating class to me. So it could be a lot of things.</p>

<p>

</p>

<p>congratulations bro on getting good scores on high school tests and being really smart!</p>

<p>programming is hard enough (i really thought that programming abstractions were really awkward and didn’t make sense until i learned a little bit about computer architecture) without being in a terrible class. i don’t think that doing poorly on a high school test means that the op is doomed to fail college computer science.</p>

<p>I didn’t say it dooms anybody. I’m saying it’s not a good sign. Because I’ve never met a CS major who got destroyed in high school java.</p>

<p>I never took a a single computer science course in high school and I didn’t program before college. I have never gotten less than an A in a programming based CS class to date. Explain that Ray192. AP is great, but nothing to judge by and not really that big of a deal once you leave high school. Forget about it and follow your dreams.</p>