Please chance me for a few schools

GPA: 3.17 unweighted
3.4 weighted

sat: 2100
760 m
660 Cr
680 wr

4 ap classes

senior year schedule:
ap calculus ab
ap Physics c
Advanced topics in ap computer science
principles of engineering
English 4
study hall
physical education

Extracurricular activities:

3 years Iphone app development( since beginning of freshman year)
software internship summer after junior year(Made Iphone app that 51 hospitals bought)
knowledge of 3 programming languages( Java, Objective-c, c#)
4 years spring and winter track and field
2 years cross country
1 year football
40 hours tutoring in high school

I really screwed up junior year and ended up with a C in ap computer science. I know it looks bad, especially since my intended major is computer science
As a senior I am taking the class: “Advanced topics in Ap computer science” and currently have a solid A(94%)
Will the A make up for the C i got junior year in ap computer science?

can someone tell me which of these schools admit by major versus which admit into a certain school and ask you to declare your major after sometime?

State: New Jersey

UMASS - Amherst
Rutgers - New Brunswick
Penn State
Purdue
UIUC
University of Maryland- College Park
Drexel University
NJIT

You have excellent extracurricular activities, and a great SAT score. However, if it’s possible, I would try to raise your
gpa. Unfortunately, many schools look at unweighted gpa. Here are the averages for some of the schools you listed:
Penn State: 3.59
Purdue: 3.7
Drexel University: 3.47
NJIT: 3.49
As you can see, the schools you listed are somewhat competitive. You won’t have to raise your gpa too much since you are taking so many ap classes- try to get it to about a 3.3 and you will have a good chance of getting into these schools. I would also recommend taking some easy classes over the summer that you can get an A in to raise your gpa. If you can get a lot of good grades this year, then it will make up for the C you got (as long as that’s the only C you have).

Good Luck!