Don’t Give Up on the Computer Science Degree
Now, if you really don’t like programming or the classes you’re taking it’s time to take a look at other options, but for those down and almost out keep reading.
To understand why computer science is so difficult, think about how a computer works compared to what your education has taught you so far. Really take a moment and think about this point. When you write an essay, what do you do? Do you get it 100% right? What is 100% right in essay? Obviously nothing is 100% right in writing, however you were taught (hopefully) to express yourself and ideas in a clear and concise way. I’d say computer science is closest to math, but the type of math in computer science is significantly different. Math you read a problem and are responsible for producing steps to and solving the problem based on those steps. A computer can’t read a problem and solve it for you (ML/AI has a long way to go), so you have to be perfect with clear and concise instructions.
Not to get to long winded, but that’s the main difference is you HAVE to be perfect in computer science when programming. Otherwise the software will operate incorrectly. In math, the steps don’t have to be repeated by anyone, they just have to be understood to be graded well. If you write an essay, it’s up to interpretation what people think about it.
Now to my main point, are you perfect? Is anyone perfect? No and that’s what makes computer science extremely difficult in school. I’ve always felt that the introductory classes are much more difficult than any other class that’ll be taken down the line (besides algorithms). So don’t be down on yourself if that first exam went bad, or the coding doesn’t make sense. You can’t be perfect and understand how a computer operates. Computer science is a new language, new way of thinking and a new form of math. So what if it takes some extra time to wrap your head around the concepts. That’s what school is for, to learn, not to pass.
Second, a personal anecdote from me who’s now a software engineer. I completely bombed my first round of introductory programming classes. I essentially somehow passed the first class giving me a hard dose of reality taking the second introductory class and completely bombed. While a hard blow, after taking a quarter to do other classes I decided to pick up a book and start again along with starting back at the introductory classes. What I realized through the experience was the concepts I didn’t understand in the first class came to bite me badly in the second class once those were built on top of. However, I realized those concepts after seeing them a bunch throughout the classes they suddenly clicked when I was reading. Maybe it just needed to be smacked into my face a couple times before I got it. However, I will say this new way of learning takes a while so don’t stress about it.