<p>Outside of a BCIS class, I have never had any computer science. My dad has a degree in it, my brother is working on a degree in it. Both my aunt and uncle have degrees in it, and even my grandma has a degree in it! (she got it later in life, her original degree was in physics, but she only has a bachelors).</p>
<p>Since I am great at math and science (have through math BC, am taking AP chem right now, prefer physics but it wouldn't fit my schedule) and I am in Mu Alpha Theta and Science Honor Society (and others). </p>
<p>I am thinking maybe computer science could be the way to go for me. But I have never had a computer science class! My brother suggested starting by teaching myself Python or Java. I will have no access to any sort of computer science class before I graduate high school. My dad says he had no computer science before college and obviously my grandma did not either. But my brother had through AP computer science before college and had such a passion for it, that he was often programming before then anyway. </p>
<p>What do you think? A real possibility for me? Or forget about it, I should have had classes already?</p>
<p>If your serious about it, then go ahead. You can always download a free IDE like Eclipse or Vim and learn from there. As far as I know a Computer Science class will teach you the same things you can teach yourself at home.</p>
<p>It is not generally a requirement to have CS courses before starting as a CS major in college.</p>
<p>There are on-line course materials for various introductory CS courses on the web, if you want to preview them and try the examples and exercises to gauge your interest.</p>
<p>Tell your brother to calm himself. You don’t need any background in programming to excel at CS. In fact, there are times when an extensive HS programming background is counterproductive.</p>
<p>^ That last point. I have seen it. So painful.
I tutored an intro class for CS that worked with Racket/Scheme (a functional programming language). There were a lot of smart kids in that class who had already learned Java or C++. And they had a really hard time breaking out of the practices they had learned and adapting to this new design. I saw very accomplished programmers fail that class the first time around.</p>
<p>But having some experience could give you a bit of a confidence boost and make sure you know what you’re getting into, somewhat. I used Codecademy.com to learn JavaScript and Python. If you don’t have any programming experience, they ease you in pretty nicely.</p>
<p>My brother did not tell me I couldn’t do it. In fact, when I told him I was considering and asked his help, he seemed excited at the idea. I told him I really wanted to try learning some, and he was the one who suggested Python or Java.</p>
<p>I started off teaching myself python. It’s straight forward! It’s also fun to use because you can do so much on it!</p>
<p>I recently made minesweeper in python to brush up my skills. It was quite enjoyable and relatively straight-forward so maybe give that a try? I was trying to reverse engineer minesweeper so that I could come up with a bot to solve it automatically. You would need knowledge of basic probability but it’s definitely possible. </p>
<p>Failing that, image processing is always a good thing to work with. It’s easier to motivate yourself when you’re doing something connected to the real world (either through static images or video.) You could try creating a motion detector/bugler alarm</p>
<p>I wholeheartedly concur with what others are telling you–no need to have CS in high school! DS is majoring in CS at a good college, didn’t have it in high school, and didn’t take it until his sophomore year of college. It’s going just fine for him. Go for it.</p>
<p>The very first program I wrote was as a Freshman in college in PASCAL. I ended up with a B.S. in Computational Mathematics (basically a hybrid Math/CS degree) and took a bunch of extra CS courses in college.</p>
<p>I am now in year #24 of being a software engineer.</p>
<p>Heck, my grandpa ended up teaching college CS without ever having taken a course. Mostly because courses didn’t exist when he was in college because computers didn’t exist yet…</p>