Majoring in CS?

<p>I really like to do software engineering and possibly develop a mobile that gives them ideas on what to make for certain meals throughout with certain ingredients in their house, but I hit a couple of road blocks. When I start programming, I get really stressed out quickly and forget certain fundamentals that will help me code. On top of that, my Eclipse compiler gets "buggy" sometimes. I took an intro to java class in HS, but dropped. I really liked the class, but my teacher never really gave me advice on what I was doing wrong. It also didn't help when he questioned if I belong in his class or not. I don't know if it was because I was black (sorry to use the race card) or the fact I was a senior in HS taking a comp sci with freshmen, sophomores, and with other very few seniors in the class. </p>

<p>I feel like when I program I either get stressed, distracted, or give up on myself because I second guess myself. Now I'm at a CCC confused what if I should give CS a shot again. I know I will have to manage my time and build on my knowledge on math, but I feel like when people tell me I shouldn't do CS or put me down for being a programmer, I keep second guessing myself to major in CS or not.</p>

<p>I'm always on the computer throughout the day, and I always been the kind of person who wants to know how computer programs work and on how to build/update them. When I visited Facebook and Google, saw these employees "hacking", and working together, I thought I could see myself doing that. I work well in groups, but people who program at my CCC are antisocial. On top of that, some of the teachers have this pompous/arrogant attitude towards students who can't program well.</p>

<p>I guess what I really am trying to ask if I should not major in CS? Is there a class I should take before I take an intro Java/C ++ course like discrete mathematics? Also, any other tips and advice are helpful as well. I just want to get people''s opinions on my situation.</p>

<p>If you really want to do CS, don’t let others’ opinions make you second guess yourself. An intro C++/Java class is a sufficient introductory step to a CS curriculum, and you’ll eventually have to take discrete math anyway. How much math have you done? You’ll at least have to get past Calc 2, plus discrete and linear algebra.</p>

<p>Computer science isn’t software engineering. You probably won’t be doing much software engineering for a computer science major (for example, there’s only one class for this where I attend).</p>

<p>You can check this book out:
[Welcome</a> to the SICP Web Site](<a href=“http://mitpress.mit.edu/sicp/]Welcome”>http://mitpress.mit.edu/sicp/)</p>

<p>From it, you can learn some of the fundamentals of computer science with fewer of the complex syntax issues of Java and C++, which may give you a better idea of how you will like majoring in it.</p>

<p>Typically you’ll learn more software engineering stuff through internships.</p>

<p>If Eclipse doesn’t work well for you, try another compiler. My favorite was always one called BlueJ, it’s free, incredibly lightweight, and it doesn’t crash my computers like Eclipse and Visual Studio do.</p>

<p>For getting started, at a CC, Intro to (pick a language) is probably the best way to start, especially if you’ve already got some of the basics (variables, loops, etc) figured out. Personally, I’d say Java is a little easier to start out with, since you won’t need to worry about pointers or garbage collection, though the two languages are very similar.</p>

<p>Discrete structures typically gives an introduction to proofs, boolean logic/algebra, graph theory, probability, more proofs, inductive proofs, and other little odds and ends. Some of it ties into the CS a little bit, but taking one before the other doesn’t give much of an advantage either way, at least not for a CC level of CS.</p>

<p>For getting help, well, the first step is usually to look at the error, see what it says. If it’s a runtime error, look at the stack trace and see what broke, from there maybe you can fix it on your own. Debugging is a great skill to have. If you’re stumped, try talking to some of the other students in your class, they might’ve hit a similar issue. Otherwise, try talking to the professor, tell them what you’ve tried, what you think it might be, ask for tips, etc. The nice thing about CS, there’s always a logical reason behind problems, and code either works or it doesn’t.</p>

<p>You wrote "When I start programming, I get really stressed out quickly and forget certain fundamentals that will help me code.</p>

<p>“my teacher never really gave me advice on what I was doing wrong. It also didn’t help when he questioned if I belong in his class or not.” </p>

<p>“I feel like when I program I either get stressed, distracted, or give up on myself because I second guess myself.” </p>

<p>“I work well in groups, but people who program at my CCC are antisocial. On top of that, some of the teachers have this pompous/arrogant attitude towards students who can’t program well.”</p>

<p>Based upon what you have written my first impression is that CS is not a good fit for you. You get easily frustrated/stressed with programming. The fact that your HS teacher and CC teachers all seem to share the same opinion is telling. </p>

<p>I don’t think that people should necessarily give up their dreams simply based on someone else’s opinion. But, I’ve also seen people pursue dreams long after the signs are clear that they can’t succeed. Since we don’t really know where you stand on abilities I think that trying self study is probably worthwhile. Try to educate yourself in programming and see whether you can make it happen. The most important thing to overcome IMO is the stress/frustration. If you can’t get past that then you will always struggle. On the other hand if you begin to have success programming and the stress/frustration with new projects goes away then you have a shot.</p>

<p>Good luck with your decision.</p>

<p>You guys have been so helpful with this. I think why I get so go stressed is because when I leave school, I go straight home and home isn’t the most stress free environment. I figured out a way to relieve some stress when I program from that link ucbalumnus recommended, I just need to play music that has violins or pianos in the background. I’m going to start going to the library to do my studying. I think another thing that is the is the facr I took these comp sci classes online.</p>

<p>I just used Eclipse because that was what the Java teachers use at my CC, but I like Bluej now. </p>

<p>I’m taking preclac right now (2nd sequence), but don’t you just need geometry, algebra II, and trig to understand programming? </p>

<p>Is there a forum for programming I could ask people about programming questions so I won’t flood these forums here?</p>

<p>The UC I want to go to, UCSD, has this software engineering cluster (5-7 classes) that I can focus on. So I was wondering if I should take all my classes I need to take to get in two years or spread out my classes in three years?</p>

<p>Go the self study route and take your time to learn the fundamentals. I would recommend checking out coursera.org for some of the intro programming courses to aid in the learning. Just find simple programs to write to practice. I guarantee you will get used to things if u work at it enough.</p>

<p>

</p>

<p>Not too much, but you need discrete mathematics.</p>

<p>I’ll take discrete mathematics next quarter and then java after that</p>

<p>Coursea didn’t have Java as a self study, but I will self study the compiler and javascript classes to get some background in programming</p>

<p>Compilers is probably too advanced. I’d recommend starting out with a data structures class.</p>