How to know if CS is for me?

Do you guys have any ideas on what type of person is a good fit for CS? I am good at math and like thinking logically, so I was thinking about majoring in engineering. However, I don’t really like Physics that much so I thought engineering was out of the questions. Instead, I looked in CS which requires Physics at most schools since its in the engineering department, but it seems to be mostly math focused which would be great for me. I don’t have any coding experience and we don’t have CS classes at my high school, but I’ll try to learn a little from code.org or codeacademy(are these sites good?). If I try to learn some code and enjoy learning it, like and am good at math, and enjoy problem solving/critical thinking, would CS seem like a good fit for me? Of course the obvious answer is to try it first in college and drop it if you don’t like it, but I want to really think about it before wasting time in college switching majors.

If you take CS as a major, you will most likely have to take a few classes that deal with digital logic and circuitry. It’s required at my university. Honestly, the engineering part is probably your biggest issue if you’re not an engineering fan. Programming is really easy for me, and I’ve never been the best math student either. I took a Java programming class in high school and I loved it, so I’m now a CS major. If I had to explain it, it’s like using a calculator, but instead of just pressing buttons, you’re essentially speaking a different language. Programming doesn’t involve a whole lot of math per se, but it does involve abstract thinking. If it interests you, go for it.

Physics really isn’t very prominent in CS - you might have to take a class on it, but that’s more by virtue of the fact that it’s a useful topic to know. It’s also a topic that you will probably appreciate more when you start to realize just how strongly it is rooted in mathematics at every level. You don’t really have to like it and most won’t. Personally I am of the opinion that being a programmer who knows how to do little more than just programming really isn’t anything special. People who can code in “technology” proper, i.e. companies like Google, Facebook, and Microsoft, are plentiful, but people who understand how code can be used to make life better in mathematics, economics, science, engineering, etc. are valuable. Physics, if appreciated, is key for that.

Coding through those kinds of “teach yourself” websites is honestly a crapshoot. To put it frankly, anything that can be taught in an online format without the structure of a full course is so elementary that it won’t help you. There have been times when I had to learn 4-5 new languages in the span of 1-2 weeks for a new project at work - it wasn’t hard, since they’re all the same after a while, but that’s true by virtue of the education you get in school. While a lot of people do like these online resources, I am of the opinion that taking your schoolwork seriously is the best way to get a solid level of competence in writing code.

I think CS would be reasonably close to what you want to do. Mathematical logic has a lot to do with what computers are made for.

Take an intro programming course. That will give you an idea of whether or not you have the potential.

Do you need to take any CS classes in HS to be successful in college?

@GriffBaum
No. You are not expected to know any CS for a CS degree.

In fact, pretty much all fields don’t expect students to know much about the field
(except from my limited experience, pure math if you are considering a top grad school as pure math has become extremely competitive recently with foreign competition)

Thanks!

I wouldn’t write it off because of one component like physics. I almost wrote off computer science, engineering, and robotics before trying them because I hadn’t done it and assumed I would be bad at it, wouldn’t like it, or didn’t think I would do well at the necessary math classes - I was intimidated by it. I ended up minoring in CS, doing a master’s in engineering, and will be starting a PhD in robotics in the fall. You may surprise yourself what you like when it’s in the right context or with the right instructor. Does your high school have any engineering or programming classes you could take to test drive them?

@nanotechnology We have intro to engineering classes but no computer science/programming classes.