I've never been great at math but want to major in CS. Thoughts?

As the title says, I’ve never been great at math. It has never really interested me and as a result, I never put as much effort in as I should have. Here’s what my HS math curriculum looks like:

Algebra I (Freshman) (C+ and a B)
Geometry (Sophomore) (B and a B)
Honors Algebra II (Junior) (B and a B)
Pre-Calculus (Senior) (In Progress)

Although I am not great at math, I really like computer science. My interest in CS started with Web Design. I taught myself HTML, CSS, JS and AngularJS and I plan on learning python on my own before college. So, do you think it would be logical for me to major in CS even though I lack skill in math?

Also, I haven’t applied to schools yet but I am very soon, and if I am not accepted to any of the schools I want I will be doing a 2-Year community college route into a very selective school that will likely have a rigorous CS program.

Web design isn’t strictly computer science. Although there’s a connection one doesn’t really imply you will enjoy the other.

Also if you do major in CS you’ll need to learn to love math, because at the minimum you’ll have to take calculus 1, calculus 2, calculus 3, differential equations, linear algebra, and discrete mathematics. And also a full sequence of calculus-based physics. If you’re questioning your enjoyment of math I would consider other majors too, because you’ll have to take 7 or 8 math classes.

You might want to consider CIS, Computer Information systems instead which has less Math courses. If you plan to go into any type of CS/Science related major, Math classes will always be a requirement so as above poster stated “learn to love math”.

Well, it will depend on where you go as well. Some schools have a more theoretical bent for computer science, and will make you take courses on the theory of computability, which isn’t that fun for people who like to do mostly implementation. Some have lighter requirements, and your hardest courses may only be discrete mathematics and algorithms. There are some schools that don’t require things like calculus, but most do require “math for computer scientists” = discrete math.

Rather than hard-core CS, I suggest looking into majors like Interactive Media or Human/Computer Interface. You will still the the computer programming part without the more CS theory part which needs the higher level math.

^^^ this! The programming you’re teaching yourself is not the same type of programming you would study in a Computer Science curriculum. What you are self-studying is considered front-end development. A CS degree typically prepares you more for back-end development, architecture, and the like (heavier in languages such as Java). As @jrm815 said, it’s the theory part of CS that would be your weakness - and honestly if you want to do web design/development that isn’t critical. You’re better off supplementing your programming language studies with courses on graphic design (if interested), web communication (content strategies), usability, and information architecture (as opposed to software architecture).

Definitely recommend you look at schools that offer majors more tailored to web design and development. That might be in the same area as computer science - or it might be more closely tied to communications.

If you like computer science, spend some time with a good math book or website to improve your skills. I like Aleks.com, but there are others. Don’t give up on a major you like just because you got a couple B’s. I’d invest some time in strengthening your math skills before you start working on Python.

You might want to explore the requirements for various degrees to see what is truly interesting to you. RIT has some great programs that can show you the differences in courses you would take going straight CS vs. Human-centered Computing vs. Web and mobile development. They even offer an exploratory year to help students determine the best path for them.

Read the descriptions of the various degree programs offered here: http://www.rit.edu/gccis/academics/undergrad and explore the courses required for each. That may help you identify the best course of study for you.

You can do a lot of web design, with even just a few courses. You don’t mention how complex your work is (or your goals are,) but the advice here is great. There’s a solid creative and problem-solving skill set that comes from math and is useful in CS, even necessary. Look for the right alternatives for you.