What will you choose?

Hey Habr!

What will you choose? Who to study? Should I go study computer science or become a software engineer? These questions are very relevant in our time.

What will you choose?

People who are just starting their journey in the IT field and are going to enroll in some technical university or are simply looking for programming training programs, most often come across a huge number of directions. The point is that in each of these areas the subjects are similar, especially in the 1st and 2nd year.

For clarity, we will divide all areas into two camps - Computer Science and Software Engineering. The fundamental difference is that the first direction is more flexible and they study fundamental things better, while the second is aimed at more practical skills in creating programs for the market. Whichever of these areas you choose, you will eventually become a programmer. Most likely, you will go somewhere to work after or during your studies, and exactly what development sector you will be allowed into and what you can apply for will determine which direction you choose.

Both camps cover similar subjects in the first 2-4 semesters, such as linear algebra, calculus, discrete mathematics, and differential equations. All this mathematics is usually studied in both camps, but Computer Science adds one more course in discrete mathematics and differential equations. Also common to all areas is an introduction to general Computer Science, and this is where the differences begin. In the Computer Science direction, they talk about computer architecture, the theory of computing algorithms, data structure and their analysis, how programs work and how they can be written using classical designs, operating systems, compilers, and so on. That is, a larger foundation is being covered. In turn, Software Engineering talks about OOP design, software testing, the basics of operating systems, and so on. In other words, the study of techniques is being covered so that the student can learn to use ready-made solutions and, with the help of them, solve a different range of business problems. All this is usually studied in the first year of study.

Further, already in the 2nd year, both camps begin to study subjects such as computer architecture and operating systems, but Software Engineering studies these subjects more superficially. This is due to the fact that they train people who will have little connection with these subjects. Starting from the 2nd year of study, Computer Science begins to put more pressure on the microarchitecture and OS kernels, and in software development they place more emphasis on user interfaces, testing, software analysis, all sorts of management techniques, etc. In particular, OOP is studied in both directions is quite in-depth, since this programming paradigm is very popular nowadays and you just need to know about it.

The 3rd year of study in Computer Science is devoted to the study of combinatorics, cryptography, AI, the basics of software development, 3D graphics and compiler theory. And in Software Engineering they study system security, networks and the Internet, software management and management in general. But depending on the university, these subjects and the depth in them may vary.

Perhaps the main question of this article remains the question of where it is better to go. It all depends on your preferences. If you want to be a very flexible and versatile engineer, then you should go to Computer Science. And if you want to connect your life with software development and be able to create some useful programs for end users, then Software Engineering is just for you.

What will you choose?

To summarize, I would like to say that in Computer Science you will be taught to solve problems and come up with elegant ways to solve these problems, and in Software Engineering you will be turned into a business programmer who will be able to manage projects, people and create up-to-date software.

Source: habr.com

Add a comment