<p>There’s no need to understand C++ to be a good computer scientist. That notion is absurd on the surface. If you can understand algorithms, you’ll be fine. Here’s an example of a simple algorithm:</p>
<p>LinearSearch
Input: a list of integers (a<em>1, a</em>2, …, a<em>n) and a search target T
Output: k if a</em>k = t, and -1 if there isn’t an a<em>k that equals T
- Let position equal 1
- If a</em>position = T then return position
- Otherwise, increase position by one.
- If position is less than or equal to n, return to step 2.
- Otherwise, return -1</p>
<p>This isn’t code; it’s a natural language description of an algorithm that you could do by hand, or which you could rewrite using C++ so that a computer could do it. You probably use algorithms all the time without even realizing it: common algorithms for addition, subtraction, multiplication and (long) division, for instance.</p>
<p>Studying computer science will help you understand which problems can be solved using algorithms, and what the properties of those algorithms are. It can help you do all of the following for the above algorithm - as well as many, many more complicated ones:
- prove or disprove that the algorithm is correct;
- determine how long the algorithm will take to complete;
- prove or disprove whether there might be better algorithms for this problem;
- determine how sophisticated a machine must be to solve this problem;
- etc.</p>
<p>Learning a real language at some point will likely be necessary to get a job in industry, but that’s not the important part. Anybody can learn how to write C++; trust me, anybody can. What’s much more important is the ability to think analytically, your attention to detail, and your patience.</p>