Computer Science question

<p>So I'm a rising senior looking to major in computer science in college. But I've heard a lot of stuff about computer science, the general gist of which is "you're either good at it or you're not."</p>

<p>Given that I'm taking my first computer science class this semester, I don't really know yet. (Especially since the teacher, so far, is pretty garbage. He just tells us to write a program that does such and such and we kind of just have to fend for ourselves and figure it out). </p>

<p>The reasons I were interested in computer science was that I'm good at and enjoy math. However, I'm not great at applying it to things like physics, etc. (I'm serviceable, I'm in BC Calc right now and I got an A in Honors Physics last year, but it's not one of my strong suits). I also like stuff that just WORKS, if that makes any sense at all. It's part of why I love math. There are rules, and EVERYTHING adheres to the rules. That was the understanding I had of coding as well, which is why I liked the idea of computer science.</p>

<p>Basically after all that rambling, I guess my question is a rather useless one, but I'll ask it anyway: is it enough to be "smart" to be a decent programmer? I just wish there was a way to figure out whether I was any good at it before I committed to going to college for it.</p>

<p>See this: <a href=“http://talk.collegeconfidential.com/engineering-majors/1206849-opinions-computer-science.html[/url]”>http://talk.collegeconfidential.com/engineering-majors/1206849-opinions-computer-science.html&lt;/a&gt;&lt;/p&gt;

<p>Being smart and some work is enough to be decent. To be good, smarts and hard work will do. To get to the top, you’ll need talent.</p>