Should I switch out of CS if I'm having trouble with programming, or stay?

So I’m taking my first CS class: CS 1. It’s taught in C++ and I find the syntax of the language very confusing and hard to memorize, at least compared to the first language I learned (JavaScript). It also doesn’t help that my professor has no clue what he’s doing and just tells us to “read the book and figure it out”. I’m given homework assignments that are out of my knowledge range, so I constantly have to spend hours on programming-related forums just asking for help. This irks me because I don’t want to constantly rely on others for help even after I start working as a professional developer; most of it should be in my head.

I would say memorizing all the functions along with the syntax is giving me the most trouble with C++. And a professor who doesn’t really teach anything makes the experience even worse. I still have to take CS 2 (Introductory Data Structures) and CS 3 (Data Structures & Algorithms), which are much harder.

But I can’t see myself majoring in anything else since they don’t fit my interests in technology. I’m 90% certain I want to pursue a tech-related career where I can build programs, analyze data, and be intellectually stimulated/allow me to use my brain.

Any advice?

I’d stick this out. If you can find others in your class to work with so you aren’t all spinning your wheels, that could help. If you are still having trouble in the next couple classes, or fail this one, then reconsider.

Use Rate My Professor if you have choices for who teaches the future classes.

@jake0810 I agree with intparent, I’d also try to stick this one out.

Yes, you will probably find yourself googling a lot for help for the most basic questions (e.g. how do I initialize a 2D array?). But that’s okay. Write a bunch of good programs and it should come more easily, and learning other languages might come more easily. Your homework assignments shouldn’t be “out of your knowledge range” – even though it might seem like so.

But yes, a professor who tells you to “read the book and figure it out” probably isn’t going to be that helpful later in the term.

The future CS classes you listed may or may not involve coding (I am TA’ing an algorithms course which has no programming), so at least you could look forward to that.

I also think it’s worth sticking with it for now.

I’m guessing you’re only a few weeks into the first semester of your freshman year? It’s definitely understandable that it can seem very overwhelming right now, and it doesn’t sound like you hit the jackpot with your professor. C++ can also be a difficult language to start with because you get really hung up on the syntax at first, which makes it hard to get the concepts on top of that. But if you keep at it and practicing, things will start to fall into place. Are there TAs for the course, office hours you can go to (professors can sometimes be different in an office hours setting that lecture), a resource center for the department? Take advantage of whatever resources are available. Also realize that it can take some time to figure out what works best for you in terms of studying and learning in college.

As for googling the simple things? I’m doing my PhD in computer science, I google seemingly stupid-simple programming things daily and Stack Overflow is still my most-visited site.

“This irks me because I don’t want to constantly rely on others for help even after I start working as a professional developer; most of it should be in my head.”

Get this idea out of your head, because it’s not true. I did a software development internship this past summer (and my dad is a software developer) and everyone, including the more senior developers, used google, stackoverflow, and/or asked other developers on a daily basis for help with programming. That’s just part of programming- even the most senior developers don’t know it all. That’s one of the reason professional software developers work on teams.