Don't make two topics in PH. stick to one.
as a teaching assistant, i found most students could be grouped into two categories: 1) the people who enjoy programming and found it interesting prior to college and 2) people who read that CS majors make money and havent tried programming before. you sound like the second bucket. My advice to anyone in high school thinking about starting a CS major is to spend some time programming on your own. if it's a struggle, you might want to consider other careers before you get your heart set on something you never tried.
one important concept to understand is that "programming" isn't the same as "syntax" and "keywords". syntax and keywords are very simple. java has something like 50ish keywords. a real programmer can pick up any language. programming is the problem solving aspect, which isn't something for everyone; in fact, it's probably not for most people. you may have seen people make comparisons to math. in general, if you're the kind of person who hated word problems, then you probably won't like programming. when you get a job, every assignment you get is a word problem. boss gives you functional details ("i want an iphone app where users can request sick days off"), and you have to convert it to technical details.
Before you write code, i suggest you focus on the logic of the program. instead of thinking "what word do i type next?" you should be thinking "how do i solve this problem?" write out pseudocode and don't worry about java or the syntax. after you have the logic done, you can start with the syntax. take one of your previous assignments and try this process on it.
/edit: in general, if all you learned was from school, you probably wouldn't pass the interview at google, though you'd probably be fine at a "normal" company. people who learned out of school probably have the advantage since they don't have the "i'm graduating from an ivy league school" arrogance
This post was edited by carteblanche on Dec 12 2015 01:49pm