Welp, just like anything, you might like it and you might not.
- CS will not make you a hacker (you’ll have to go learn that on your own but I suppose a CS program will give you a good basis on how computers work)
- CS is not the same as IT (you probably won’t be required to take any sysadmin-y classes so you’ll have to do that on your own)
- If you want to be a technician but not a programmer, maybe look into IT degree/cert programs
- There is math, and there is no way to get around the math (I had to learn calculus and discrete math). If you have trouble with math but have your heart set on CS, schools usually have a tutoring/learning center with people who can help you out. Also, professor and TA office hours are great if you’re having trouble.
- The intro classes tend to be intro to programming, but after those, you’ll probably be learning more theory (and then applying the programming to it, I guess)
- A CS program is different from a computer engineering program (there’s some crossover as far as I know, but CS tends to focus on software, while in engineering you’ll learn how chips and circuits and stuff work)
- Software engineering/programming is a field that you don’t necessarily need a degree in CS for if you can show that you know what you’re doing and are good at it (but you’ll have to learn on your own)
I ended up picking computer science and engineering (it’s a major specific to my school that focused on both programming and engineering) to major in because I had been encouraged by my uncle to learn HTML and ended up really liking it. And then in high school, I was designing an RPG with my friend (nothing serious, mostly story and stats and weapons and stuff but no programming) and that was a ton of fun. So when it came time to pick my major, I was like, “Yo I like HTML and it’d be awesome to make games or robots or something, and nothing else is really calling to me so I’ll go with CS.” I had a rough time with the intro programming classes (although it may have been an issue with the classes I took and might have done better if I took the other intro series instead) but once programming “clicks,” you’ll have the skills to learn any programming language.
I find programming to be a sort of game or puzzle. “How can I make the computer do the thing?” You know? Like if I was making a game. “I want my guy to wiggle when I tap him.” So first you’d need to find out how the computer knows that the screen was tapped, then how you know the guy was tapped, then how to make the guy wiggle if he was. It feels really good to finally iron out all the kinks and see that little guy wiggle on the screen, because it feels like a bunch of tiny victories, especially if you somehow made 30 errors and the linker isn’t working right and ads;lkadfj;aldkf (there’s also a lot of frustration)
Also you will understand silly things like DSON.
Of course games are just a small set of things you can program but if you’re feeling like this is the kind of thing that you wanna do, then go for it! You don’t have to stay in CS if you don’t like it, which you’ll likely find out after taking the intro classes. I had a rough time at first but still liked it enough to stick with it, and I’m glad I did.
Anywho, hope that’s helpful. And any other CS majors feel free to chime in!
These are just what I’ve gleaned from personal experiences and what I hear from the people around me. I am by no means an authoritative source. Feel free to correct/add/whatever!