Answer the question
In order to leave comments, you need to log in
How can mathematical/logical thinking be developed to solve problems?
I've been learning programming for about a year and a half now. I started with python, switched to pros and java, did not delve into any of these languages seriously, because I was looking for exactly the area that would interest me. About 3-4 months ago I became interested in web programming (php, sql, html, css, js) And I really liked this area. at the moment, as it seems, I figured out the basic principles of php, namely: I know and understand how cycles, arrays, conditions work, why OOP and its basic concepts are needed, even if they give some code, I will most likely figure out how it works .
But as it only comes to solving any problems (slightly related to logic / mathematics), I get stuck, but it's not even about how well I understand mathematics, because at school I had no problems with it, I understood what follows from where and where certain formulas/theorems come from. I tried to find similar questions on various forums, but all I found was advice like "solve more puzzles" or "google a site with logic problems and solve them" I tried to do this, but after reading the problem, I tried to solve it in my mind , and on a sheet, but simply after hours of thinking, I just lost my temper, and when I looked at the solution, it became clear to me that I could translate this task into a program form (php, python).
From you, I would like to hear advice on which book to read, or maybe a site that will help me in this "difficult" situation (after all, I have enough patience, I will not budge until I understand something 100%).
ps When I was learning python, I read a book by Aditya Bhargava, "Grokaem Agorithms", it completely turned my understanding of logarithms, queues, credits, percentages and numbers in general. Maybe there is something similar to this book, only with an explanation in php code?
Answer the question
In order to leave comments, you need to log in
Try to solve problems on algorithms, it develops logical thinking well. You can learn how different data structures work, for example:
Set, List, Queue, Deque, Map . ( This is from Java, but I think every language has these collections )
These collections have different interesting implementations, look at the source code, try to understand how it works from the inside, try to implement simple versions of these collections with the main functionality.
You wrote that you read the book "Grokay Agorithms", find a use for these algorithms. Only by solving problems can logical thinking be developed.
There are some tasks here:
www.itmathrepetitor.ru/zadachi-po-algoritmam-i-str...
www.itmathrepetitor.ru/zadachi-po-programmirovaniyu
Mathematics is considered to be the science of calculations and problem solving.
In fact, it is her bad education that makes her so.
Mathematics is the science of how to reduce a problem to a problem.
To learn such mathematics, one must not diligently solve template problems, but get out of the plane - that's why all sorts of puzzles and logical problems are advised.
Cramming algorithms in this regard is rather useless, it makes sense only as an acquaintance with techniques and general logic.
And it is useful to collect shit and sticks in a pile and collect from them, albeit awkward, but your own.
There was such garbage, very similar. Now people will come here who will say that mathematics is not needed for web developers. Although if you talk to them, it turns out that they are well acquainted with her. A few algorithms, discretes, mat. logic, algebra, geometry, etc. Once I got stuck with one task and realized that I don’t even remember how fractions are solved. I hired a tutor, passed the exam, studied for several years at the university - the brains fell into place. I also recommend a tutor, books, you can go to a university (but keep in mind that 90% in the CIS is garbage). In three years - you can do it (but this is not accurate).
Well, you just have to admit that some people are naturally better at algorithmic tasks. Someone here by nature runs better, for example. Nothing wrong with that.
And in order to learn how to solve algorithmic problems, you need to solve them, then look at the solutions of other people and analyze them. In the end, the skill of solving such problems will appear.
Another victim of the cult. Exhale, there is no sacred knowledge in programming, no matter how you are assured of the opposite. What tasks in logic and mathematics do you encounter at the beginning of your journey? I've been skipping math classes and copying homework since the fifth grade. When at the beginning of my journey I wrote a utility in assembler that exploited a NetBIOS vulnerability to freeze a computer, there was no mathematics there. When I wrote chat in Perl, it wasn't there. When I wrote asynchronous network services on Syakh, it didn’t exist either. When I did online stores in Python, it didn't exist. When I wrote all sorts of ERP for the bloody enterprise on JEE, there was none. Even now, when I write loaded distributed banking systems, I also don’t really come across mathematics. mkone112assures that I know the discrete, I just came to this knowledge as a result of practice. If so, then this is an intuitive understanding, you can just as well blame spiders for knowing the sopromat. The work of the vast majority of programmers, especially applied programmers, has more in common with linguistics or literature than with mathematics. Our task is just to clearly describe the problem in some language. Just worry less and practice more. Start with simple programs, gradually complicate things, try to solve practical problems, and not count Fibonacci numbers. Do not listen to advice on solving puzzles and logical problems, the practice of solving puzzles only teaches you how to solve puzzles.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question