Misconceptions about computer science, computing, and programming

There seem to be widespread misconceptions about Computer Science. A common one is — only Computer Scientists can perform Computing. Of course, they can. It is their job. They eat computers (metaphorically), they dream about computers, and they live on computers. As a result, Computer Scientists are good at designing and building computing tools efficiently. That does not mean that people of other disciplines cannot perform computing or develop computing tools. Many people in non-computing subjects are excellent at developing computing tools. By computing tools, I refer to software tools to ease computing needs.

Some common misconceptions regarding Computer Science and in general, Computing are listed below.

  1. You have to be super good at math to learn Computing,
  2. Only engineers and scientists can learn programming,
  3. You will earn a six-figure salary if you know programming,
  4. Computer Science is a complicated discipline,
  5. Computing is for men, and
  6. People develop games after studying Computer Science.

The article describes each of these misconceptions.

Misconception 1: You have to be super good at math to learn Computing

If you want to learn Computing, you will need to ask yourself why you would like to learn it. The “super-good at math” part kicks in only when someone does complex coding of mathematical problems. Take a look at first-year undergraduate students in Computer Science. Do you think that they are super-good at math? Many of them are, and many of them aren’t.

Notice that even the best freshman Computer Science undergraduate student has no more exposure to math than a high school graduate. Computer Science undergraduate students learn advanced math during their bachelor’s studies. You might be surprised to know that most of the advanced maths kick in after they get exposed to a programming language. Therefore, being super-good at math is not a massive requirement to start learning computing.

Misconception 2: You cannot learn a programming language if you are not in a science or an engineering discipline

There is a common misconception that only people with engineering or science background can learn programming languages. It is completely incorrect. One can be in Liberal Arts, Education, Business, or in Nursing, yet learn and be good at programming language. There are no restrictions on learning a programming language. Prerequisites in learning a programming language are minimal.

You might ask, how learning a programming language would benefit someone in the field of Liberal Arts, Education, Business, or Nursing? It is an excellent question. Learning a programming language will probably not be beneficial unless you feel from your heart that you need to program. Generally, people feel the necessity of learning a programming language when they need to solve a problem that they cannot solve using off-the-shelf software tools. If you already have software tools that you are applying for your work and if you think that they are excellent and efficient enough, then you do not need to go for programming languages yet.

Many people, who are not in the Computer Science discipline, prefer to learn a programming language as a skill so that they can develop software tools whenever they need to solve a problem for which no standard software is available. Also, programming skill gives some extra mileage in many professions.

Misconception 3: You can earn a six-figure salary if you know a programming language

It might be heartbreaking to learn that knowing a programming language does not instantly make you someone who can draw a six-figure salary. At least one of my cousins in high-school thought so. I do not have any knowledge of how he got that idea. It is not the programming language that makes you a skilled person; it is the problem-solving skill that makes you a six-figure salary person.

Allow me to elaborate more. Suppose I learn how to make a piece of furniture by becoming an apprentice of a famous carpenter. It takes me six months to learn carpentry. Now, I have the skill, and I am out in the wild. My knowledge of carpentry will not make me even a penny if I cannot make excellent pieces of furniture. If I learned it as a hobby, I am quite satisfied with making a few pieces of home furniture. However, if I want to earn money with the skill I learned,  I will have to take my expertise to the next level in such a way that the pieces I come up with can compete with the products other carpenters make.

Programming language skill is similar to the example of my carpentry skill. One can learn a programming language in a few months or even in a month, but if you want to make software development a profession, you will need to master problem-solving using your programming skill. People hire you with the expectation that you will provide a solution to them using your expertise, which is problem-solving using software.

If you want to use programming to develop tools for yourself or your own business, then you do not have to worry much about client satisfaction. You can keep updating the software that you are building over time. You do not have to pay programmers a fortune to develop software for you. On the way, you keep mastering the problem-solving skill. Earning a six-figure salary by becoming a professional software developer is not always the goal.

Misconception 4: Computer Science is a complicated discipline

Each discipline has its complexity. Some subjects are well-understood by a group of people while topics outside of those subjects might feel hieroglyphics to that group. Many of my friends during their bachelor’s studies told me that if they were in any other discipline, they probably would have quit college.

Computer Science clicks well to some and might not click that well to others. It does not necessarily mean that Computer Science is a complicated discipline. In my career as a Computer Science faculty member, I meet many students to whom programming is a piece of cake. These students write programs as smoothly as they speak with people. On the other hand, many students struggle in the beginning. I am sure instructors of every academic department find students who are great at the subject matter as well as students who do not perform that well. Therefore, doing great and doing not so great is a common trend of any discipline.

I guess, all I am trying to say is — Computer Science is not a complicated discipline. In another sense, it is as complicated as any other discipline.

Misconception 5: Computing is for Men

It is a well-discussed topic. :-) How come one subject be for men, and another be for women? Sorry to say this — the United States is quite behind in the STEM (Science, Technology, Engineering, and Mathematics) disciplines in the sense that the academia is struggling a lot in attracting female students in STEM.

Attracting women who are interested in STEM to Computer Science is more complicated than other STEM disciplines. Many misconceptions — such as only nerds study computer science; you have to be excellent in math to do well in Computer Science; programmers work in cubicles and do not socialize — have kept many women away from computing in the recent years. If you seek the truth, you will find the female programmers who created the modern tech. Computer Science is a fascinating example of how a discipline initiated by women turned into a massively male-dominated one. Trends come back over time. Hopefully, pretty soon, both women and men will work as equals without associating Computing with a gender.

By the way, my wife is a Computer Scientist. She has a Bachelor’s, a Master’s, and a Ph.D. degree in Computer Science. I, too, have those degrees, but we are not talking about men in this section. Therefore, please ignore my degrees. :-) I guess, what I am trying to say is simple — those who think Computer Science is for men are fools. Sorry for using the “f” word. It was a necessity to shatter some misconceptions.

Misconception 6: I can develop games if I study Computer Science

Yeah. You can build anything — a piano software, or guitar software. Can you help your mom by writing software to cook for her? Yes, you can. You can program a robot to do that. Unfortunately, robots still do not have enough controllable limbs. Have patience and wait another decade.

Can you develop games? Why on earth do you prefer to make games after studying Computer Science or learning to program while you can do so much more? You can write software to save household energy by automatically controlling electronic devices. You can build smartphone apps to help elderly people shop or help visually impaired individuals reach a destination by providing instructions via their cellphones.

If you still have the question in mind whether you will be able to develop games after learning to program, probably you are a teenager. If you are not a teenager, then I have only one suggestion for you. Please, grow up. :-)

Written By Dr. Mahmud Shahriar Hossain