16 answers
Asked
1225 views
Do you need math to be an effective programmer?
I'm curious about the possibility of being a programmer. However, I'm not good with logic or math and haven't understood Python based on some free classes I've seen of it. #math #computer #programming
16 answers
Updated
Alfonso’s Answer
Great Question! Math and logic are closely related. What does a programmer do? Write logical instructions to be executed by a computer and get a specific result. Knowing math is helpful to master your logical thinking. Programming covers a variety of things and one of them is algorithms. For sure, you will need a lot of math and logic to figure out. It all depends on the project you are working on. There are many places online you can test your programming skills. Leetcode is one of them and it is free...
Thank you!
Beatriz
Updated
Vineeth’s Answer
Math is necessary to understand algorithms complexity, at least in the first few years of programming. Of course, you need some basic math concepts, like calculus or algebra, or logic, but the very basics of it. It depends on what level of a programmer are you willing to become.
*For graphics/game, knowledge about trigonometry, differentials, polar coordinates are highly valuable
*For Operating System design, core software design, Boolean algebra, abstract algebra (data structures), computational complexity and efficiency, optimization, etc. are very important
*For security/cryptography, knowledge of prime numbers, sieves, permutations, exponents and other polynomial algebras, etc. are needed for even the basic needs
*In general, logic, reasoning, and programming algorithms are needed, But as you go higher in any direction, you’ll be starting to need mathematics, because, accept it or not, all a computer can do is mathematics and all you have is programming concepts which are mostly abstract algebra concepts (data types, structures, objects) and many algorithms explicitly use discrete mathematics and some other need physics.
*All in all, for developing an algorithm for something, you’d need to know about that, and there’s really nothing out of syllabus thing. Because mathematics connects the universe and computers process that
*For graphics/game, knowledge about trigonometry, differentials, polar coordinates are highly valuable
*For Operating System design, core software design, Boolean algebra, abstract algebra (data structures), computational complexity and efficiency, optimization, etc. are very important
*For security/cryptography, knowledge of prime numbers, sieves, permutations, exponents and other polynomial algebras, etc. are needed for even the basic needs
*In general, logic, reasoning, and programming algorithms are needed, But as you go higher in any direction, you’ll be starting to need mathematics, because, accept it or not, all a computer can do is mathematics and all you have is programming concepts which are mostly abstract algebra concepts (data types, structures, objects) and many algorithms explicitly use discrete mathematics and some other need physics.
*All in all, for developing an algorithm for something, you’d need to know about that, and there’s really nothing out of syllabus thing. Because mathematics connects the universe and computers process that
Updated
Pra’s Answer
Programming is tricky, so don't be discouraged if you don't understand free classes at first. Different people learn best in different ways, so find what works for you! Some people learn better by reading articles, some people are better watching videos, etc.
You really don't need much math to be a software engineer, which is the most common career for programmers, but you'll also find programmers doing other things, like machine learning, which do require a lot of math.
Programming is sort of like a puzzle. For example, how do you reverse a list of numbers 1,2,3,4. You'll often draw/map out what you want to happen on a piece of paper before writing any code.
You really don't need much math to be a software engineer, which is the most common career for programmers, but you'll also find programmers doing other things, like machine learning, which do require a lot of math.
Programming is sort of like a puzzle. For example, how do you reverse a list of numbers 1,2,3,4. You'll often draw/map out what you want to happen on a piece of paper before writing any code.
Updated
Elias’s Answer
Hello Beatriz !
What a great question !
I would say not necessarily. Certain programming disciplines (crypto, graphics, physics engines etc) would definitely have a clear advantage for the mathematically inclined, but I don't think a good understanding is essential to give your first steps with programming.
I would suggest to start with an overview of Boolean logic and see how it goes.
What a great question !
I would say not necessarily. Certain programming disciplines (crypto, graphics, physics engines etc) would definitely have a clear advantage for the mathematically inclined, but I don't think a good understanding is essential to give your first steps with programming.
I would suggest to start with an overview of Boolean logic and see how it goes.
Updated
Alfonso’s Answer
I like programming but I am not a programmer though! I am an integrator. I know the minimum to perform my job effectively. However, I engage myself in programming issues since I find them challenging and sometimes teach me to think about a problem from a different perspective. Now, that being said, programming does not mean learning a particular language. There are many languages out there. All of them have pros and cons and all depends on what kind of problems you want to address and the nature of your job. Python is a good choice. It is popular, relatively easy to learn, and most importantly, the community is very big. So, you will get a lot of resources around you.
Focus on learning the basic concepts of programming. Once you master them, you should be able to learn any language. The very basic syntax in Python can be learned in 1 day working intensively. There are many tutorials online. You can try the courses in Coursera if you want to see something more formal. They are very good. Another thing to have is a GitHub account. Besides becoming a good programmer, you need to show to be a good organizer and maintainer of your codes, how to manage issues, and come with a resolution.
One more thing: Easy to learn does not mean easy to create products out of it. Learning a language and creating a product from that language are two milestones and they are far away from each other. It requires commitment, dedication, and passion to reach the level that you are able to develop a robust product. I mentioned in another answer to try Leetcode. The easy section is a good start to try out the water. Don't be discouraged if you feel lost. I felt lost when I started too! Take it as a motivation to learn! The biggest failure is not to try.
Focus on learning the basic concepts of programming. Once you master them, you should be able to learn any language. The very basic syntax in Python can be learned in 1 day working intensively. There are many tutorials online. You can try the courses in Coursera if you want to see something more formal. They are very good. Another thing to have is a GitHub account. Besides becoming a good programmer, you need to show to be a good organizer and maintainer of your codes, how to manage issues, and come with a resolution.
One more thing: Easy to learn does not mean easy to create products out of it. Learning a language and creating a product from that language are two milestones and they are far away from each other. It requires commitment, dedication, and passion to reach the level that you are able to develop a robust product. I mentioned in another answer to try Leetcode. The easy section is a good start to try out the water. Don't be discouraged if you feel lost. I felt lost when I started too! Take it as a motivation to learn! The biggest failure is not to try.
Updated
Sue’s Answer
I would think that math is fundamental to all Science and Engineering fields, especially computer programming. Hence math and logic thinking is important.
However it would be difficult to determine whether you are good at logic or math. Sometimes, one bad experience would lead you to think you don't like it and you are not good at it. It happened to me couple of times. I would suggest that you take another try to see how it goes.
However it would be difficult to determine whether you are good at logic or math. Sometimes, one bad experience would lead you to think you don't like it and you are not good at it. It happened to me couple of times. I would suggest that you take another try to see how it goes.
Updated
Padmapriya’s Answer
Hi Beatriz,
Great question.
Math is also necessary to understand algorithms complexity, but you are not going to invent new algorithms, Of course you need some basic math concepts, like calculus or algebra, or logic, but the very basics of it.
There is a correlation between understanding mathematics and being able to "think algorithmically". That is, to be able to think abstractly about quantity, processes, relationships and proof.
Mathematicians and programmers both think critically in the abstract. Real world things are represented by objects and variables. The ability to translate from concrete to abstract also links the two fields.
I have a Maths degree, but I can't remember requiring that maths a single time in my career. It was useful in terms of training my mind for logical thinking, but I've not written any code using any of the topics that I have learnt in my college.
There are lot of online tutorials available for learning Python. Keep trying and you will get it.
Great question.
Math is also necessary to understand algorithms complexity, but you are not going to invent new algorithms, Of course you need some basic math concepts, like calculus or algebra, or logic, but the very basics of it.
There is a correlation between understanding mathematics and being able to "think algorithmically". That is, to be able to think abstractly about quantity, processes, relationships and proof.
Mathematicians and programmers both think critically in the abstract. Real world things are represented by objects and variables. The ability to translate from concrete to abstract also links the two fields.
I have a Maths degree, but I can't remember requiring that maths a single time in my career. It was useful in terms of training my mind for logical thinking, but I've not written any code using any of the topics that I have learnt in my college.
There are lot of online tutorials available for learning Python. Keep trying and you will get it.
Updated
Sendil’s Answer
I think it depends on what type of programming you want to do. As far as being a programmer in the business world goes, I would say that the answer is no. You can become a great programmer without knowing advanced mathematics. When you do end up having to deal with math, the formulas are usually defined in the business requirements so it only becomes a matter of implementing them in code.
On the flip side, If you want to become a low-level programmer or say create 3D graphics engines, mathematics will play a huge role.
Updated
Josiah’s Answer
I would say you do not. But the reason math is so heavy in school is that it teaches you how to problem solve. And with programming thats the main part of your job and coding is only a small part of it.
Updated
Jacob’s Answer
It really depends on the industry you are working in.
In general I would say Math is not all that critical beyond something like Algebra 1 or 2.
LOGIC, however is absolutely critical, as it is the primary thing you are expressing when you are writing software.
In general I would say Math is not all that critical beyond something like Algebra 1 or 2.
LOGIC, however is absolutely critical, as it is the primary thing you are expressing when you are writing software.
Updated
Siddharth’s Answer
You definitely need to be good at mathematics, logic and analytical thinking to be successful at programming. After all, programming is the art of writing efficient code that takes care of all corner cases, and is unbreakable (at least theoretically). Writing code in this manner requires analytical and logical thinking, and mathematics as well, in order to understand whether all the permutations and combinations of the problem are addressed (while keeping the code short).
Updated
JAYAKRISHNAN’s Answer
Hi, Programming is all about logic and so does mathematics, if you are good in mathematics you will be having an upper hand in program solving and hence in programming
Updated
Michael’s Answer
I agree to the other answers. Math and Logic is absolutely required.
Enjoy
Michael
Enjoy
Michael
Updated
karthik’s Answer
Math is also necessary to understand algorithms complexity, but you are not going to invent new algorithms, at least in the first few years of programming. Of course you need some basic math concepts, like calculus or algebra, or logic, but the very basics if it
Updated
David’s Answer
This will depend on what specifically you are doing. A software developer will use some math but will often depending on the project, not need to use very much math while if you are working on something such as machine learning this can involve a lot of math. It depends on what project you are working on.
Updated
Jung’s Answer
I'd started my career as an engineer, and from my experience, you don't need to be good at math, but logical/critical thinking is key. Math is a great tool for developing your logical/critical thinking, and majority of logical thinkers tend to be good at math. Hence, many consider the two to be related, but not true. Being good at math is not a necessary condition for being a logical thinker or a good software engineer.
You just need to know a few basic concepts in math, and the rest is logical thinking and practice. Math concepts to understand - necessary condition / sufficient condition, variable / dependent variable, intersection / complementary set, etc.
Once you understand these concepts, then practice to enhance your logical thinking. A great tool for this was the 'Critical Reasoning' section of the GMAT. It helped me develop a logical thought process. In general, make it a habit of viewing the world through the lens of the basic math concepts - what is the problem I want to solve, what are the conditions to make it a success or fail, what variable can I control and what other variables would it impact, etc.
Logical thinking will allow you to design programs / write codes that are efficient, error-free, and M.E.C.E (mutually exclusive, collectively exhaustive - meaning you captured all possibilities, without any overlap). It is a skillset that will make you successful with any career path you choose, so you won't regret! Hope this gives you some confidence and guideline
You just need to know a few basic concepts in math, and the rest is logical thinking and practice. Math concepts to understand - necessary condition / sufficient condition, variable / dependent variable, intersection / complementary set, etc.
Once you understand these concepts, then practice to enhance your logical thinking. A great tool for this was the 'Critical Reasoning' section of the GMAT. It helped me develop a logical thought process. In general, make it a habit of viewing the world through the lens of the basic math concepts - what is the problem I want to solve, what are the conditions to make it a success or fail, what variable can I control and what other variables would it impact, etc.
Logical thinking will allow you to design programs / write codes that are efficient, error-free, and M.E.C.E (mutually exclusive, collectively exhaustive - meaning you captured all possibilities, without any overlap). It is a skillset that will make you successful with any career path you choose, so you won't regret! Hope this gives you some confidence and guideline
Delete Comment
Flag Comment