S
S
Ska1n2015-03-26 17:29:59
Programming
Ska1n, 2015-03-26 17:29:59

Knut - "The Art of Programming", how to master?

Good afternoon! A small indent: I have experience in web layout for more than 6 years, after I started learning javascript, then I switched to jquery (I really like the selectors in it), after that I had a year of practice in php, after which I replaced it with python, and I continue for the third year to do web development in python. The essence of this subject is this - I would like to try to master the works of Knuth in my free time, but the problem is that I am dumb at the exact sciences, at school and in a secondary institution I did not like mathematics, not algebra, not geometry, etc., now , probably, I won’t be able to count in a column, I’m so mediocre in this regard, however, mathematics itself was not needed somehow (although there were a couple of moments when it would be very useful). As far as I understand: to study the works of Knuth without knowledge of mathematics is stupid, On this question, can you advise where to start? even from textbooks from grade 5 in mathematics and further by year. There is an interest to improve knowledge in this area, only at the moment there are a dime a dozen of these textbooks, so as not to stumble upon something superfluous ... Thank you in advance for your advice)

Answer the question

In order to leave comments, you need to log in

6 answer(s)
D
Deerenaros, 2015-03-26
@Deerenaros

Yes, how funny it is ... It sounds something like this: there is an interest in learning surgery, but only I'm dumb at anatomy and biology, and my hands are crooked, they also tremble. If you're not good at math, Knuth won't help. And in general, web programming is to mathematics in the same way that ballet is to cooking. Sit still and do not worry about this, the probability that the Knut will help you in some way in your work is vanishingly small, while it can harm you once or twice: you can easily catch yourself creating bicycles.
However, there are options. The first thing to understand is discrete mathematics. It starts with arithmetic, but it is quite possible to master it in parallel. Anything will do here, even a textbook for the first or second year of almost any technical specialty. Also, Knuth himself has concrete mathematics. Quite a good piece of writing, though in order to make it easier to read, you still need to have at least basic concepts from discrete mathematics: fields with rings, and a couple of properties. It's not worth digging deep. And if so, I warned you.
However, instead of a whip, I recommend Cormen. A very thing in itself: they read it both in the first year and write dissertations on it. And it is easier to read, and there is no furious mathematics in it.

G
GreenElephant, 2015-04-02
@GreenElephant

I also asked similar questions. And here as well. As a result, I solved the problem simply - I raised my lazy fifth point from the sofa and stopped asking stupid questions. And he began to act. I found an excellent tutor who gave me an approximate list:
1. 2-3 ala "discrete mathematics for programmers." 2 I know for sure, I didn’t find the third one :) I advise you to start with the author Hagardie, he explains it in an accessible way.
2. In parallel with this, we smoke "discrete mathematics, graphs, matroids"
3. Sprinkle all this with the book "data structures and algorithms" by Niklaus Wirth.
4. Next, you can throw in Knuth's important book - concrete mathematics.
5. Then you can slowly start reading The Art of Programming.
Actually, I adhere to such a course, only in addition to books from 1 point, I also threw a wonderful course on stepik on discrete structures - a link There is also a course introduction to mathematical analysis.
Well, as a colleague, I can still recommend school books on mathematics, the author of which is Vilenkin, as a warm-up. He also has a book "Popular Combinatorics", which will also be useful. In general, the school course is overtaken by textbooks from grades 5 to 11. From cover to cover, thoughtful reading followed by problem solving. Something like this.
It will also be useful to read about mat induction and how non-standard problems are solved.

A
asd111, 2015-03-26
@asd111

No need to master the Whip - this is a reference. Take the smallest book on algorithms and that's enough for you.

M
Maxim Gavrilov, 2015-03-27
@thestump

Start from the first page and continue until you finish the volume. After completing the first volume, move on to the second. Then you can create such a simple algorithm yourself.

G
Gems, 2015-03-26
@Gems

Here is an interactive math course . There are probably more materials on the net.
You don't need to read Knut, better than Sagewick. You need to start from the very basics of algorithmization. In computer science textbooks should be. I also recommend this article .
Paper textbooks - yes, an option. They often throw it away and leave it at various points for distributing books.

U
uvelichitel, 2015-03-26
@uvelichitel

I think without systematic education you will stumble on the second chapter of the Whip. Systematic education means years of work.
An engineer with a good algorithmic background should be able to explain what a 'relaxed red black b-tree' is, why they are needed, and how to prepare them for a persistent student.
Just work on serious projects, in a strong team with a good lead (if you're lucky). Classical algorithms and data structures are very comprehensible without higher mathematics. Common sense and ingenuity is enough. Mathematical preparation is necessary for leads and architects (a project more serious than a home page is not complete without algorithmic optimization), for developers it is only desirable.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question