What’s up guys?
Mathematics – as they said in school – the queen of sciences, and also a very important and useful skill for a programmer.
No matter what you do, if you are familiar with this science, it will be easier for you. Mathematics is used in programming everywhere, from machine learning, where you need to know linear algebra, to the creation of any physics engines, where a full range of different mathematical and physical techniques and knowledge can be useful.
In this article we will talk about books and resources for studying mathematics, which in my opinion are quite useful. Begin.
And in this article I would like to start not with books, but with useful online resources for studying mathematics. I know two of these:
mathprofi.ru – a resource on higher mathematics, which was created by a teacher of mathematics and computer science specifically for university students.
mathter.pro– on this page you can find material for the actual repetition of all school mathematics.
For repetition or use as a reference book or even a textbook, these two resources are quite sufficient.
Now let’s move on to the books:
Jay Abramson (and some others) – Algebra and Trigonometry. A fairly detailed book on algebra and trigonometry, but there is a caveat – it is entirely in English. In general, the book covers all the basic aspects of algebra, trigonometry and some analytical geometry. The book also contains self-test exercises with answers to them.
If what is presented in this textbook was not enough for you, then the same publishing house has three more books:
Algebra books by level. They discuss some issues in more detail. They also have tasks and answers.
These textbooks/books are publicly available and can be downloaded from the company’s website openstax (publisher of these books).
The Matrix Cookbook – a very small book-cheat sheet on matrices. English language. This book can be useful to anyone who does anything related to data analysis and linear algebra.
ET Jaynes – PROBABILITY THEORY – Fundamental book about the theory of probability. There is probably a version in Russian, but it’s better, of course, to read it in the original.
Now closer to books in Russian.
I.A. Maltsev – Discrete Mathematics – a textbook on discrete mathematics, which examines such topics as: sets, combinatorics, graphs, logic, finite automata, theory of algorithms, theory of numbers.
Mike X Cohen – Applied Linear Algebra is a rather interesting book, which can also be a textbook on linear algebra. The book is aimed at data scientists, all examples in it are given in Python with the NumPy library.
These were the main books, I also decided to add two books to the section “you can read”:
Boris Elkin – Mathematics for those who have not opened a textbook is an interesting book, but as for me, it doesn’t contain much of anything new and interesting if you studied mathematics at school. But overall, if you have free time, I recommend it.
Mathematics – a complete encyclopedia – I understand perfectly well that in our time an encyclopedia as a book is not as convenient as the Internet, but this book was useful to me and I included it here.
In conclusion of the article, I will give some tips on reading any technical or scientific literature:
Don’t overload yourself with information. Don’t read too much at once.
As soon as you come across something that you don’t understand in the book, immediately study this topic. If you don’t do this, it will only get worse.
Practice everything you can practice. If any algorithm is given in the book, understand how it works and try to recreate it; if it is a program, rewrite it and figure it out.
Retell what you read. After reading the theoretical one, try to retell it (to yourself or someone else) in as much detail as possible. This way you will remember the material better.
If possible, read books in the original. This way you are less likely to stumble upon translator and editor errors.
This concludes the selection of books, thank you to everyone who has read up to this point!