C
C
cthulhudx2015-02-14 14:15:31
Java
cthulhudx, 2015-02-14 14:15:31

Benefits of Olympiad Programming, Myth or Reality?

Such a question has ripened. Is it worth spending a lot of time and memorizing algorithms on graphs, combinatorics, sorting to the holes, or should we focus on knowledge of technologies and a superficial study of algorithms will be enough?

Answer the question

In order to leave comments, you need to log in

7 answer(s)
A
Alexey Yeletsky, 2015-02-14
@cthulhudx

Is it worth it to spend a lot of time and screw up algorithms on graphs, combinatorics, sorting to holes, or should we focus on knowledge of technology and a superficial study of algorithms will be enough?

No difference. The main thing is to responsibly approach the study. In the process of work, knowledge gaps will be filled by themselves (as tasks come in). Of course, it is better to have a basic understanding of everything.
If you choose your career path, be sure that whatever you choose, you will have to reconsider this choice many times.
Olympiad programming:
- gives an idea of ​​the complexity of algorithms, optimizations and "internals" of algorithms;
- teaches you to make quick decisions and write "template code" (in the good sense of the term);
- teaches well-coordinated teamwork (if the competition is team, for example ACM);
- does not give any idea about the architecture, readability of the code and its support.
Because of the last point, it is difficult to work with many former Olympiads until they retrain, and this is a long and difficult process, because. their whole experience contradicts it. Due to the fact that such people can usually keep a much larger piece of the problem in their heads, working with their code turns into hell for colleagues.

V
Vlad_Fedorenko, 2015-02-14
@Vlad_Fedorenko

It seems to me that there is as much benefit from Olympiad programming as from higher mathematics - a tenth part is useful in life, but it puts the brain in order. And it won't hurt no matter what you do. In the choice between technologies and algorithms, I would stop at the second one. Technology changes, algorithms are fundamental

V
Vladimir Martyanov, 2015-02-14
@vilgeforce

It depends on what you are going to do: riveting sites is one thing, and going through 2 ^ 48 options in the shortest possible time is quite another.

D
Dmitry, 2015-02-14
@EvilsInterrupt

Before deciding to choose between one thing and another, I would recommend asking the question: "Are there any more important things?". I mean, now you can choose between the theory of algorithms and technology, but at the same time, there is suddenly a more important skill that is not pumped as you would like. I would venture to suggest that all of a sudden you need to pump a mega-skill for any programmer: "English at the level of reading technical literature." If I guessed it, then you better spend time on it!

L
leventov, 2015-02-14
@leventov

Unfortunately, this is a very subjective question, because it is impossible to make a pure experiment - take one programmer, in one universe he went into sports programming, and in another - not, and compare his successes. Everyone who did it will most likely praise it, those who didn’t do it will say that it’s necessary.
I practiced and I will say this - practice if you really get high, feel the excitement, count the days until the contest. And if it turns into suffering - quit without regret.
Here's a comprehensive overview of the pros - codeforces.com/blog/entry/1851 This is all true, but it doesn't come close to answering the question of whether you need it or not. Because the list of things that would be good to learn / master / upgrade / try / do is endless, and life is finite.

D
Dum_spiro_spero, 2015-02-14
@Dum_spiro_spero

The benefit of Olympiad programming is that you are a) able to find non-standard solutions b) not afraid to apply them. The second aspect can by the way be a minus. For example, you came up with an ingenious, algorithm of something - masterfully used the knowledge of undocumented features of your favorite language, operating system, etc. ... And then the boss comes and says - the concept has changed - besides this - they also need support for Windows 3.1 - they have it there the drilling rig turns out to have built-in computers from the 80s. Well, just the same - recompile the project under it and that's it. And you understand that from the beginning you need to do absolutely everything.
The second point is that many of the algorithms set forth in the books of the 70-80s are already outdated today - though I’m more likely to solve difurs numerically, I don’t know about graphs and sorting.
In general, as he saidvilgeforce - what will you do? If you don’t know yet, then of course it’s better in breadth than in depth. It is better to know that algorithms exist for something, they behave like this and they have such pluses and such minuses - than not knowing about them at all and blinking when communicating with the boss.

P
Puma Thailand, 2015-02-14
@opium

to be
honest, my whole base in IT is one year of school when I won the programming olympiad, everything that they gave me later was minuscule compared to this one wonderful year in the computer science class

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question