Option #1) Go to a junior college, do your best and transfer to a real school. (EDIT: In Cali, your grades will count as full "university" grades, so a 3.5 GPA will be taken as a true 3.5 university GPA when transferring)
Option #2) Simply try to get it the best school possible, top tier or not.
If you aim low, guess what? You're gonna have low results.
There are universities that exist to privide workers for the economy (ie, ITT tech). These schools just fill the vacant seats as currently required by the industry and don't teach you much that requires brains, or that will be required X years from now. These schools typically teach you the current popular programming languages and stuff like that. People like to call these "hands on," but it really means "no theory."
"Better" schools provide thinkers to the economy. These schools teach you principles and will make you study Scheme/LISP and implement quicksort and other algorithms like that. These schools want to teach you principles that you can apply to any language. You learn specific useful languages mostly on your own time. They might adopt something like C++/Java/etc as a "core" language, but the emphasis is always on the algorithm, not the language.
Sooo.... The choice is yours... Where do you want to study? What people do you want to surround yourself with?
You still have time, make a good choice.
EDIT: I see you live in Cali.... I stress option #1 above, that's the route I took. To put the two kinds of universities I talk about above, compare UC (University of California) system versus the California State University system. Why are there more CalState universities than UC? Because more labor is needed than brains, and more people just want to get out and work rather than think and go on to bigger things. Do your research.
The junior college route can work well. I went to Orange Coast College for 1.5 years and then transferred to Stanford. Many of my friends transferred to Berkeley. There are some really good instructors at junior colleges here in California. You'll have to do your research to find out which ones they are, but when you do, they will often take a personal interest in your success. You'll save a ton of money, get the education you deserve (read this again), and leave with a nice brand name on your resume. Highly recommended.
The only downside is that most of the value of college isn't the classes or even the professors, but the relationships and friendships you form with your student peers. It's tougher to find people you'd want to be friends with at a junior college, and when you transfer, you'll have to start all over again. But it worked out fine for me.
No kiddin'? I wen to OCC as well! It's a good school... I was pre-med and comp sci back then, the quality of the courses was very high at OCC, it prepared me well for later opportunities.
There is a theory that community/junior colleges offer higher quality of education for the first two years because that is all they do. Certainly at OCC that seemed to hold true.
I've worked with/known several SJSU (a CSU University) graduates and I definitely wouldn't call the education you get there anything like ITT. You can see the curriculum here: http://www.cs.sjsu.edu/Programs/bs_in_cs/requirements/CS_req...
(yes there's also Java and there are courses in UNIX system administration, so the "straight to work" track is definitely available but real theory - formal languages, data structures, architecture - is required).
That being said, if you can afford a UC and can get in (particularly UC Berkeley) - including through the community college transfer option - you should go for it.
Option #2) Simply try to get it the best school possible, top tier or not.
If you aim low, guess what? You're gonna have low results.
There are universities that exist to privide workers for the economy (ie, ITT tech). These schools just fill the vacant seats as currently required by the industry and don't teach you much that requires brains, or that will be required X years from now. These schools typically teach you the current popular programming languages and stuff like that. People like to call these "hands on," but it really means "no theory."
"Better" schools provide thinkers to the economy. These schools teach you principles and will make you study Scheme/LISP and implement quicksort and other algorithms like that. These schools want to teach you principles that you can apply to any language. You learn specific useful languages mostly on your own time. They might adopt something like C++/Java/etc as a "core" language, but the emphasis is always on the algorithm, not the language.
Sooo.... The choice is yours... Where do you want to study? What people do you want to surround yourself with?
You still have time, make a good choice.
EDIT: I see you live in Cali.... I stress option #1 above, that's the route I took. To put the two kinds of universities I talk about above, compare UC (University of California) system versus the California State University system. Why are there more CalState universities than UC? Because more labor is needed than brains, and more people just want to get out and work rather than think and go on to bigger things. Do your research.