Almost 3 years ago, I started my experience inside a computer science university. Now some years are gone by, and I can really say, it wasn’t as I expected. I think I fell into a trap, that I see a lot of other students make: computer science is not all about programming.

Now, I’ve been lucky, since I really enjoyed it anyway. However, I’ve seen a lot of students dropping out in the first years, because of this. Now, let’s put things into context. I refer to programming (or coding) as the act of writing code, any type of it. On the other hand, according to wikipedia:

Computer science is the study of processes that interact with data and that can be represented as data in the form of programs. It enables the use of algorithms to manipulatestore, and communicate digital information. A computer scientist studies the theory of computation and the practice of designing software systems.

The definitions can easily be misinterpreted. And the difference between the two, lies in the skills involved. I can tell from experience, I knew how to code long before starting university. However I started understanding computer science only in the last few years.

Coding requires you to understand what tools you’re working with and how can you use them to find a solution to a problem. Computer science, is far more broad than that. Computer science, contrary to what someone may think, actually involves a lot of math. By learning it, you’ll go through operating systems, algorithms, data structures, compiler design and so on. These topics represent all that is the basis for being able to make deeper evaluations in dealing with a particular problem. You’ll end up with a broader knowledge, that’ll let you understand what type of solution is required to solve a particular problem and why.

Real-life example

The easiest example I can think of is the sorting problem. You see, before university I relied on any sorting algorithm that did the trick. What did I care? In the end, I only wanted to get my list sorted and that was it. However problems began to arise after taking the Algorithms and Data Structures class. I remember that my professor gave us the task of implementing merge sort and insertion sort, to sort 20.000.000 integers in 10 minutes. Now, if you think something is wrong, you probably know what I’m talking about. In fact, insertion sort cannot sort such a wide dataset in as little as 10 minutes, because his complexity doesn’t allow it.

The next step

Sure coding and programming are part of computer science, it’s just not the most part. Anyway, if you didn’t already, Do yourself a favor and take a good look to some of the topics of computer science, before heading on in a computer science university. 

Ensuring that this topics actually interest you and you want to dig deeper in them, is very important. It’ll let you have a better understanding of what you want to know and why, and maybe you won’t drop out that easily if you start.

What do you think? Are you in the same situation? What is your experience with computer science university? Discuss in the group