I read a lot of blogs and forum posts about mathematics in programming and made a conclusion for myself that basic mathematics is needed in programming. I'm not a good mathematician. But is it somehow possible to improve my logical and algorithmic thinking without going deep into science of mathematics? Are there any exercises or some books that could help me to improve these skills so that I could become an good architect?
Thank you in advance.
In mathematics, Closure refers to the likelihood of an operation on elements of a set. If something is closed, then it means if an operation is conducted on any of the two elements of the set, then the result of that operation is also within the set.
Math teaches students how to analyze their work. In a day's worth of programming, any computer scientist is guaranteed to make a mistake. As such, programmers must know how to assess a problem, analyze their work, and fix errors. Math is one of the few subjects where students analyze their own work in this way.
A closure is the combination of a function bundled together (enclosed) with references to its surrounding state (the lexical environment). In other words, a closure gives you access to an outer function's scope from an inner function.
Some languages have features which simulate the behavior of closures. In languages such as Java, C++, Objective-C, C#, VB.NET, and D, these features are the result of the language's object-oriented paradigm.
Work through Project Euler.
The beginning of CLRS Algorithms has a bit on number theory, discrete math, combinatorics, probability, graph theory, and other really useful stuff. It's teaching exactly what is applicable to algorithms, and skipping everything else.
http://en.wikipedia.org/wiki/Concrete_Mathematics <-- Written specially for you by Donald Knuth!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With