Skip to main content

Coding and Mathematics ( Importance Of Maths In Programming )

Everyone wants to become a good coder but only a few manage to achieve this you know why?
BECAUSE everyone wants to code and no one really wants to be a good mathematician which is the basic requirement to be a coder, yet very few know this fact and try to be a mathematician first than a coder.

What exactly is coding?
It is the process of solving different technical problems using a programming language. The technical problems can vary from printing a simple "Hello World" program to solving "2 SAT Problem" using mathematics.

You might today be able to solve a few problems using your technical skills but it would help you in the long run only if you're fundamentals of mathematics are also clear.
By mathematics, I don't mean the whole of it but some important topics such as Discrete Math, Algebra, Number Theory, etc.

Here are some concepts of mathematics that you will use mostly in solving the technical problems :


  • Fundamentals
    • Binary Exponentiation
    • Euclidean algorithm for computing the greatest common divisor
    • Extended Euclidean Algorithm
    • Linear Diophantine Equations
    • Fibonacci Numbers
  • Prime numbers
    • Sieve of Eratosthenes
    • Sieve of Eratosthenes With Linear Time Complexity
    • Primality tests
    • Integer factorization
  • Number-theoretic functions
    • Euler's totient function
    • Number of divisors/sum of divisors
    • Discrete Log
    • Primitive Root
    • Discrete Root
    • Montgomery Multiplication
  • Number systems
    • Balanced Ternary
    • Gray code
  • Modular arithmetic
    • Modular Inverse
    • Linear Congruence Equation
    • Chinese Remainder Theorem
    • Factorial modulo
    So, it won't be wrong to say that both Programming and Mathematics go on Parallelly.
  • Without mathematics, you may understand the code for a moment, and then you may cram it but you'll be only able to optimize it and recreate it when you know the flow of code and what exactly is happening in the code. Mathematics is a key tool that would enable you to do the same. So practice mathematics and be a great coder.
    Go through the above topics as they are of utmost importance to all the coders.
    Happy Coding !!!

    Comments

    Post a Comment

    Your Feedback Will Help Us To Improve...

    Most Popular Posts

    100+ STL Algorithms, "I Bet If You Know Even 20 Out of These..." ( C++ 17 )

    So, In the previous posts, I've been telling you about the various containers in STL and their implementation. I left a few of them purposely such as unordered_map, unordred_set, etc. so that you also do some homework. This post will entirely be about various functions available in STL and it would be your task to completely code & implement them. Do tell me if you have any doubts related to it in the comment section below. Some common Data Structures Implementation In STL : Stack Syntax : stack<data_type> stack_name Example  : stack<int> st; Built-in functions such as top() ,  push() , pop() , empty() , size() etc. are available in STL for Stack. Queue Syntax :  queue<data_type> queue_name Example  :  queue<int> q; Built-in functions such as push() , pop() , empty() , size() , front() , back() are available in STL for Queue. List ( Doubly Linked List ) Syntax :  list<data_type> list_name Example  :  list<int> l;

    On Which Coding Platform Should I Practice?

    Which is the best online platform to practice, how to improve my coding skills? This post is all about giving answers to all such questions. If you're a beginner who has got no idea what programming is then I would recommend you step by step practice any programming language on Hackerrank. Hackerrank has modules that are self-explanatory and would slowly make you understand all the terminologies which are generally used and with practice, you'll be better at it. Moreover, if you're still not able to understand anything you can always search for your answers on GeekForGeeks or HackerEarth both of them provide one of the best tutorials on any topic. If you're an intermediate who's comfortable with any programming language then you can always improve your problem-solving skills studying Data Structures and Algorithms and practicing it. You can also improve by competitive coding. The best place to start with competitive programming according to me would be

    Left & Right View Of a Binary Tree Made Easy!

    When talking about binary trees then the view of a binary tree is something that has the most probability to be asked in a coding interview. In this blog post, I'm going to talk mainly about the Right & Left views of a binary tree. There are so many ways available on the internet, that it's really a very difficult task to choose which method you should follow. Suppose, you're using one method for Left View and another method for Right View, now you need to know two different methods for two similar questions. In this blog we'll discuss a single approach by which you can solve both Left View and Right View problems.   Before diving directly into the approach we need to understand what exactly is this Right/Left view. For your better understanding I've created a binary tree : So let's try to understand the right view for this binary tree. Right View simply means looking at the tree from its right side and the only nodes visible from that view are required to b