what if I wanted to go into computer science but couldn't take classes for it; how would handle that in college
I went to high school in a fairly rural school in the northeast US, and we didn't have a whole lot of current technology available to us. So, while I wasn't able to get the exposure to computers and programming that my peers at other schools had, I did have rooms and rooms of older Audio/Video technology to work on, including televisions, video projectors, and the local educational access television station. Joining the AV Club gave me the opportunity to learn how things worked - how to break down a big problem such as "how do I re-broadcast a foreign language channel into a classroom?" into a bunch of smaller, solvable problems. Not only was this fun, but it built up a thought process that enabled me to move into Computer Science by not focusing on specifics like C, or Java, but instead to look at the bigger picture, find the smaller problems, and solve them.
How does this relate to classes? Look for opportunities that will give you that same exposure. Higher math, like logic, graph theory, or number theory are good options. Electronics engineering helps to teach isolation and test procedures (a good coder writes good tests!). Most of all, look for opportunities outside of the classroom - I learned the most in my workstudy as a support tech for the university IT group, just talking with my peers!
A lot of people who go into college majoring in Computer Science have never touched a Computer Science course in high school. Luckily for you, colleges know this and usually have a foundational curriculum for aspiring computer scientists to take. For example, at your nearby University of Colorado Boulder, there's a course designed exclusively entering freshmen that introduces the field of CS (CSCI 1000: Computer Science as a Field of Work and Study). There are also other foundation courses for you to get a grasp of CS basics (found here: https://www.colorado.edu/cs/2017-18-curriculum-guide-csen-bscs). These courses may require you to take certain math courses at the same time (if you haven't already taken similar math courses in high school).
Overall, colleges design Computer Science curriculums with foundational and introductory courses so students like you can get familiar with the expectations and rigor of the field. With that said, you should take any opportunity right now to learn Computer Science and higher-level math to get a head start!
Kevin recommends the following next steps:
Hey Anthony, the best part of getting into computer science is that potentially all you need is a computer (mac or pc), an internet connection, and an insatiable appetite for learning and building things. I started my journey by building many iOS apps while teaching myself how to code. I referred to Stanford's iTunesU iOS Courses: http://itunes.stanford.edu/ There are many other programming courses on there as well. If you're unable to take college courses such as Algorithms and Data Structures, a coding language course such as C++, Java, or Python, I suggest dedicating an hour or two everyday and going through Udacity's free course Intro to Computer Science: https://www.udacity.com/course/intro-to-computer-science--cs101. It's a solid premier. Further, there are many online resources for getting a foundation on computer science such as from MIT: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/ . One of the best ways to learn is to build an application whether it web app or mobile or desktop. If you have an idea for a mobile app or website, just do it! Good Luck!
Omer recommends the following next steps:
A lot of people I know, myself included, eventually got into software and related industries without formal training in Computer Science. So regardless of whether you're looking to take some extra classes in college or outside of school, there's plenty of good options out there.
Matthew recommends the following next steps:
Nowadays you can watch videos on youtube or public or college libraries for resources. Like anything, you have to enjoy it and want to learn it. I have many colleagues studying Cybersecurity after obtaining their Computer Science degree 20 years ago. Their feeling is they need to keep up with the times and its truly something they are interested in. The other posters about Udacity and other platforms are spot on.