Don't let this video scare you off. If you're good at math you'll likely be disappointed in most programming jobs, because it's so rare to encounter anything requiring more than high school math. Source: Professional programmer of 15 years.
I graduated high school but I had a C+ in math. I know it's not as good as an B+ B nor A and that's why I'm not really confident in my math skills. It typically doesn't take me long to learn simple math stuff but some more complex math is usually taking me much longer to learn than necessary and then there's this part of math, where I'm absolutely lost and don't understand anything. I mostly want to do frontend development tho - like bringing design to life.
It depends on what you get into, but especially if you’re writing engineering programs your problems will tend to use the tools in the toolbox, whether it’s a hammer and a screwdriver, or a torque wrench and a caliper
The politician ask 4 contractors: "what's the total of 1 plus 1?". The first three answer "two". The last one asks : "what result do you need?" And gets the contract
Yes, but recruiters need to wake up sometimes. I have been in an interview for a company that used a library that I created as open source project (and they knew it) . They wanted to make live test if I know how to code ..... I said.. go to hell I will not work in a place so disorganized as this. They used every day code I did!
Senior Engineer with 8 years experience at a decently sized Australian tech company. I do have an engineering degree but don't consider it a necessity. I don't use these concepts often, but do occasionally. Mod and Exponential are the most useful. I don't really drill people on Log if you can eyeball a loop and explain what's happening and I can follow then that's a question answered well. Encouraging people to make mistakes and learn from them. The most important thing is to be able to think logically and be able to articulate decisions.
I think times are changing slowly more math is definitely needed for several projects. We're at a saturation level now and not the wild wild west where anyone with little skills (eg. making mice, speakers, remote controls ...eg. something like logitech can earn tons of money)
@@williammbollombassy1778 Anyone with 45 years of experience has changed technologies a lot. Many of the technologies I've used no longer exist. Hardware, languages, and operating systems come and go. New things come along. There are some constants, like COBOL, C, SQL, FORTRAN, make, emacs, etc., are still around and you can make a good living doing them. In the right niche you can even be in high demand. But generally career longevity requires constant adaptation to change.
@@bm5906 You can learn a lot in 8 years. Stop the 🧢. I have been programming since the early 90s. I have know many people with just a couple years experience become experts.
As a mathematician who has always been working in software development, I often find it frustrating, how little Math I'm actually able to use. The recommendations in the video were spot on. Though, aspiring developers should never underestimate the value of a solid theoretical background. If you have an area of interest besides computing, you should go for it and learn to code as a secondary skill. It doesn't matter if it is physics, mathematics, chemistry, economy, electrical engineering, linguistics - even history of art. Computer science is also great, as it provides a lot of insight, you will have a hard time mastering if you just focus on your practical skills.
Hi sir, actually I'm persuing Mac mathematics 2nd year along with this I want to learn some computer skills so would to suggest me any skill to learn to develop my career
@@sumaiyachand8935 The obvious choice would be a programming language. If they don't offer a programming course within your career, Python would be the one, I recommend for starters. PS: You shouldn't call a lady "Sir".
I love that programming has hardly any maths as it’s by far my weakest subject. Yeah I can somehow code and program but I suck at mathematics so I’m screwed lol
Time complexity is n*logn since for post increment I++ or post decrement i-- time complexity is n for addition and substraction . In second case it is logn for i*2 similar for division.so there is for loop inside another for loop so we will multiply both time complexities.Hence time complexity becomes n*logn
One more concept that is missing is probability. In your exponential backoff example, the true algorithm doesn't exactly back off exponentially but rather picks a random number between 0 and x^N. This ensures that simultaneous clients don't remain synchronized and traffic can get through.
One of the reasons programming is challenging is because an individual must learn and waste time on a lot of things that are never used. Nested loops are a bad practice in real world implementations yet a programmer must be aware of them anyway.
I am doing it. I am getting it every day. Inch by inch. I know that one day it will happen. As long as people like you exist! I will make it possible. Thank you so much. Keep spreading knowledge.
Outstanding video and thoughts on what can help a developer! Having not been in a math class in a LONG time, the first two I'm very rusty in, but the last three I understand. If I had thought of what I know already, a lot of coding problems/DSAs would have been easier to approach. Instead, I over complicated things by not really understanding what I was seeing and read. Thank you for this video, it really cleared up some things for me!!! Now, I can use this approach to get better and confident in resolving issues.
Honestly, I think the main point here is that knowledge is more linear than spacial than most think. It means, your scalar level grows as much as you learn, despite the actual content, because all boils down to how mature is your brain to associate problems with a solution. The actual subject is important for a specific need (like answering something fast), but in a long run, who knows when you gonna use it again? So, in the end, always keep learning, despite being engineering or math, physics or other. The more you learn, more evolved is your brain, more capable person you are.
Mathematics is not only good for software engineers but mathematics helps a common man in every field of life. By the way I love to learn new examples and solutions of mathematical problems. Your way of explaining the mathematics importance is very impressive 👍
at 3:56 generally in mathematics it is log base 10 because we are dealing with decimal number system in computer science we are generally deal with binary that's why log base 2
things to add, from my experience 1. If you are just a web dev, basic math would suffice, maybe an introduction to discrete math, graph theory, and set theory 2. Embedded systems, depending on the task can vary from simple IoT devices to full-blown embedded controllers, which HEAVILY use math (Signal analysis, calculus, (discrete)Laplace transform ) 3. AI, and machine learning programmers, heavily use graph theory and predominantly linear algebra for their optimization algorithm, gradient, and non-gradient-based optimizer. If you want to know the "under the hood" math of AI, you can read engineering design optimization by Joaquim. Although that book does not explicitly say AI ML design, but its knowledge is easily transferable to AI ML design. 4. Robotic, and mechatronic is a combination of DSP, kinematic, and dynamic mechanic 4. Dont ask me about 3d graphic engines, I never touch that subject (with that being said, I usually forgot about fizzbuzz and big O notation)
In my experience, we usually hand off the DSP (i.e. Signal analysis) work to the electrical engineers. And electrical engineers then put it on Matlab, so they actually don't end up doing any math. Matlab does it for them.
@@ArnoldSommerfeld "Mathlab? ha peasant, i use baremetal C to model a control system all by myself" -Insert a mocking elitist british accent. with that being said Matlab/scilab and ROS make dsp and control system MUCHHHH less pain in the ass
@@ArnoldSommerfeld First, you need to know math to properly use Matlab, second, it only gives you the reference (golden model) for the implementation not the solution. Even if you are working with electrical engineers, digital signal engineers, rf engineers or whatever you need _some_ understanding of higher level mathematics when communicating with them.
Thats a bit missleading. For backend guys.. sure. But as FE dev I never used any of the concepts u have noted in your video. The most difficult math I ever had to do was to calculate the final price in the basket after deducing the 20% discount. Counting with percentages is being taught at around 3 or 4 class of math pre-algebra at elementary school.
i think if you have touched the programming of robots, you may realize there are a lot of maths involved including matrix, calculus, tensors, linear algebra, .. etc. If you work with neural networks, also involved a lot of maths of different areas.
I know bit of vba excel and tried the same.....it took me some time but i figured out with values from stick breaking example for all the beginners who know excel vba it's down below Sub test() Dim N As Integer Dim i As Integer Dim j As Integer N = 32 j = 1 For i = 1 To N Step 1
For k = 2 To N Step 0
ActiveSheet.Cells(i + j, 10).Value = k ActiveSheet.Cells(i + j, 11).Value = N ActiveSheet.Cells(i + j, 12).Value = j
j = j + 1 k = k * 2
Next k Next i it may not be the best but serves the purpose.
Dude i have watched 2-3 videos on log and time complexity. And this particular topic where we use logarithm to describe time complete. I never understood what it actually meant but you just explained it so simply in a few minutes. Now i need you to teach me DSA man.
The beauty of computing is, you can test out the answer by your own by implementing your thought. Also, only a very small number of programmers are needed to focus on algorithm while most of us are just struggling in a chaotic framework world. basically you are expected to follow your manuals (doc) when you want to implement something.
Thank you my friend. I am learning programming in my middle-age. I find programming is real fun, but I also find the maths skills you are discussing are also enjoyable. Even the professor did not explain the concept of exponential to me clearly when I was studying finance, but your video did it.
Dear Power Couple, Here are some flaws I found. Kindly correct me if I am wrong. Writing based on the knowledge on R programming. 1. N is not necessary be a power of 2 and the nested part will run only some integer times say K. 2. So it will be wrong if I will write 2^K = N. Therefore the loop will run till the 2^K
I study Computer Science. In my university, I have to learn Differential and Integral, Discrete Math (Discrete Structure of Computer Science), Probability and Statistics, Linear Algebra.
Golden answer is O(N log N). However O(N^2) isn't wrong. Big-O only captures asymptotic upper bound, not lower bound. Big Theta captures both. Theta(N^2) would be wrong.
I would suggest adding propositional logic to this list. There's a frequent misunderstanding I've noticed among programmers: confusing mathematical operations with logical operators. People often mix up multiplication with conjunction (AND) and addition with disjunction (OR), thinking they work in the same way. For instance, while in arithmetic -3 + -5 is analogous to -1 * (3 + 5), this analogy doesn't hold true in logic. A common mistake is to think !three OR !five is equivalent to !(three OR five), when in reality, it aligns with !(three AND five) according to De Morgan's Laws. It's important to understand these distinctions in propositional logic for effective problem-solving in programming.
@Sahil I would like to thank you for this masterpiece explained in the easiest way! First, let me express my appreciation for the clarity and simplicity of the explanation provided. I just want to tell you that at the 4:50 mark in the video, the total number of times 'Hello World' is printed should be NX(K+1) ; Given that N=8 for onner loop, then for each iteration of the outer loop, the inner loop will run 3 + 1 times.
You certainly do not need math for web development, anyone telling you that you need math for web development is a fraud trying to sell you a course, or someone who is just a gatekeeper.
The 2 actors: 1 Systems Engineer (SE) w/25 yrs seniority, and me. The job: a large simulation project, part of the Strategic Defense Initiative (Star Wars). The phase: requirements analysis. SE thought it would be straightforward, do it all in FORTRAN, plus keep it all in memory for speed! Me: pointing out that X by Y pixels, multiplied by NumWavelengths, number of mirror scans, size of data storage, and finally by duration (all in the era of VAX computers) needed more RAM than could be engineered at the time. Also, interpolations and point-spread functions tended to slow things down. Spoiler alert: nobody on the planet marketed a machine that big, and the sim run times never got to be in real time. Lessons Learned: sometimes you have to finish back of the envelop calculations (and show your work). It helped that the compiler agreed with me, as it complained about the array sizes.
Having done programming casually since elementary school (I began teaching myself BASIC in second grade!) I can tell you that math is probably the biggest part of programming. Virtually every program-- even the simplest ones-- use variables to some extent, and usually also apply functions to said variables. Unless you're writing a "Hello, world!" program, you're using variables and by extension, basic algebra. If you ask the user for any input at all during a program, you need a variable to store it, be it a numeric value or a text string. And if you want to do anything to that user input besides repeat it back to them, you're going to have to write a mathematical expression that involves the variable that stores said user input. In short, programming IS math.
@@Holy_Desire One of the most important thing that is required in high lvl programming is a very strong understanding of basics, it's not just about understanding them but how to use them in real life applications, I suggest making a game using your selected programming language if possible, making a game can help you alot in understanding the basics and using mathematics, you have my word try making a game
@@RaghunathTambde thank You, i think that is going in a good way, from now focusing will go further on extremly clear understanding the basics in programming like in mathematic, sadly i can not write any game alone for now but concept is for sure aviable. It will be awesome to stay in tune... :D
Logarithms weren't my jam in high school but boy did that exponential curve drive the point home. Gonna do 1% better at coding and math every day. Submitting to the beginner's grind on JAVA. Working smart, Focusing on the 20% and staying healthy and mindful like you preach, brother.
@@sahilandsarra yup this is something which is really needed for any future programmer rather than videos which are made for views. Thank u for such content Really means to real future programmers.
Even if my job was just a computer technician; for me Number Theory, Topology & Calculus is incomplete without Statistics!, So to understand Computer Technology we really need mathematics as a skill in our toolbox.., just like Data Scientist did on using both Microsoft Excel & Statistics for advanced efficient calculations.
After completing my diploma and degree in mechanical engineering, I joined a company as a mechanical engineer. However, the salary was low, so I decided to change my career path and began learning web development. Unfortunately, after only two months of studying, a recession started and I am now worried about the potential impact of advancements in language models such as ChatGPT on the job market for web developers. I am currently confused about what to do next and am wondering if there is a future for web developers in this current economic climate.
Bro Chat gpt wont replace us. I'm a React,Svelte,Node developer, but in my company I have to use PHP some times which I dont know. Then I use chat gpt. Its a tool for programmers, not a replacement. I think chat gpt just replaced stack overflow, quora etc. So dont panic, just keep learning.
Shahbaz bro, don't worry about the job opportunities for web development, just focus on the skills and effort. Chat GPt will not replace jobs in a jiffy. Things like this come and go. I don't say there is no future for chat GPt but as of now there is future for you. Master your skill and put your effort. It's like saying Internet will terminate postal service. Postal service has changed what it used to be and evolved but did it close down? No.
you will apply your REAL math skill when you try to design something beyond only just software (for example robots)...math is also very useful when you want to apply it in models
I honestly don’t regret going into Chem E vs being a programmer, after we complete our research, designs/drawings are finalized, we’re going home, the programmers were ALWAYS on the clock during big projects(but they are very important). I do enjoy using math to solve problems, but not in the same way programmers use it.
greetings I have been in computer science for more than 30 years, until today I have not had to calculate how many sticks or fabrics to cut, nor have I had to calculate how long it has taken me to realize that there is a connection error (obviously) If it doesn't work for you, it means that there is something very wrong. When I design databases, the first thing I do is consult with a specialist in the business to be modeled, and I take out the tables and relationships to build, in the 10 years I've been working as Developer, only once have I needed addition, subtraction, multiplication and division, and that was when I built a financial application.
2:07 no times N is undefined therefore N="0"; and loop is done. 3:20 5 times binary also egyptian math. 5:25 6 but you can always cheat with crunch. But how was Pythagorean theorem not in there I use that in almost every robot I build how do you calculate where objects are in a 3d world without that formula. Using only cameras and yolo
I suck at math yet I’ve been THE lead developer on multiple software engineering teams, and now I’m on an enablement team that helps enterprise development teams when they get stuck. Math has little to do with programmatic logic. It does come in handy sometime but it’s grossly overrated. What surprises me is how many developers and software engineers should not be near a computer. Seriously at a bare minimum I feel like you should know what “ping” and “nslookup” do
Can you please make a video on current layoffs and what lies ahead , especially for students who are in their final year of college preparing for companies
No need to worry, tech is going nowhere. And it offers a very fulfilling and high paying career. And don’t worry, you don’t have to be great at maths to be in tech. Firstly, not everyone works for product based companies like google, and there are dozens of roles in tech other than software engineering
Explaination at timestamp 3:45 According to log identity log (a^x) = x log(a) Here question is 2^5 = 32 So, by taking log both sides log(2^5) = log(32) It will become 5 log(2)base 2 = log (32) Since log (2) base 2 becomes 1 so, we'll get 5 = log(32) feel free to correct me i am wrong anywhere in this explanation :).
Here's an another question for viewer, How many three digits numbers can be makes with the digits 0,1,2,3 Conditions Question 1: repetition is not allowed Question 2: repetition is allowed 🙂
a) Repetitions allowed sol - unique digits we have - {0,1,2,3 } -->As for a three digit number we cant use 0 at the begging(hudred's place) of that number so we have only 3 possible values to use . --->for second digit(tens place) of that number we have all 4 possible values(as repetition are allowed) and also for third digit(one's place) of that number . --->therefore in total we can make = 3*4*4=48 different 3 digits number from { 0,1,2,3}. b) Repetitions not allowed sol -unique digits we have -{ 0,1,2,3 } -->As for a three digit number we cant use 0 at the begging(Hundreds place) of that number so we have only 3 possible values to use . --->for second digit(ten's place) of that number we have 3 possible values as repetitions are not allowed. ----> and for 3rd digit(one's place) of that three digit number we have only 2 possible values as repetitions are not allowed. --->therefore in total we can make = 3*3*2=18 different 3 digits number from { 0,1,2,3}.
Following the way of "learning by doing or start doing after learning the basics" according to you said I made couple of projects but i suddenly realized that i became more of a person who google stuffs than actually understand why we are using a code in a particular scenario , although i understand which type of code to use in solving a particular problem but if someone ask me to solve the problem in a alternative way maybe i would fail to do it ... Can you shed some light on my problem it will be really helpful, i hope u understood my problem 🙏
As I see it, most programming jobs only require basic math skills. When those skills are needed they are mostly related to algorithm construction. And talking about algorithms, 99% of the time it will be simple for loops. Of course it depends on what what you work with, but for typical front and backend stuff, I think I'm correct. I'm an experienced developer that suck at math. I couldn't for the life of me tell you what a logarithmic or factorial expression is without looking it up. Despite of this I've still had a successful and relatively high earning career.
Very well made video; will definitely search more about these concepts on my own. I like your attitude, by the way, I think you'd make a great teacher.
Depends what sort of programmer you are. If you're just doing web/gui programming, then you don't need any math skills. The more interesting programming jobs are where you need to do data science, create algorithms, run simulations etc. That's when you need math.
1. Coding ( I don't know coding as I am a civil engineer) 2. logx (y) = N, ~~ loge (X) = N ~~ log10 (X) = N 3. permutation, nPr = (n!)/(n-r)! = 3!/(3-3)! = (3*2*1)/(0!) = 6/1 = 6 = 9!/(9-9)! = 9!/0! = 9!/1= 9! = 9x8x7x6x5x4x3x2x1 = 362880 4. exponetial , 2^5 = 32, X^n 5. modulus, 27%5 = 2, how? the remainder after dividing one number by another case 1, 25/5 = 0, 26/5=1, lly 27/5=2 just a remaining thing not divided as fraction leftover thing is called modulus.
The example given in this video to use a that algorithm is an edge case. Having a deep understanding of Javascript and building an Next App at large scale company does not need you to be a math bad ass. Yes data structures and algos will help you be a better progarrming. But even then how much bubble sorting does a front-end engineer need to do to optimize the front end?
doesn't matter how much math you know you will excel in things which you love. Also in order to learn lot of maths you must love it. Also world also needs other people.The best ones. so whatever good things you do you it like no-one else, become an expert and hurrah. Also pray for me.
There is a mistake in the first math question: The logarithm base is incorrectly 10 when it should be 2. The number of times "Hello world" will be printed is N*log2(N).
Another way to think about this stuff is to think about the goal in simple words - i.e. we want to reduce load on the server, and assume the server gets weak on each request. It'll automatically lead to these functions.
I really wish they'd stop teaching log(N) in Big-O. Log(N) is always going to be lower than an arbitrary constant. There's probably not a problem in existence where it is a concern.
Don't let this video scare you off. If you're good at math you'll likely be disappointed in most programming jobs, because it's so rare to encounter anything requiring more than high school math. Source: Professional programmer of 15 years.
I graduated high school but I had a C+ in math. I know it's not as good as an B+ B nor A and that's why I'm not really confident in my math skills. It typically doesn't take me long to learn simple math stuff but some more complex math is usually taking me much longer to learn than necessary and then there's this part of math, where I'm absolutely lost and don't understand anything. I mostly want to do frontend development tho - like bringing design to life.
Agreed. I've done CAD programming that required trigonometry and that's as complex as it's gone.
Most of my jobs require grade school level math.
It depends on what you get into, but especially if you’re writing engineering programs your problems will tend to use the tools in the toolbox, whether it’s a hammer and a screwdriver, or a torque wrench and a caliper
I learn in high school all the things he talked about in this video 😆
And what if you get into ML?
Top 5 Maths Skill
1. Combination
2. Logarithm
3. Factorial
4. Exponentials
5. Modulus
I would also like to add AP & GP.
Sometimes it might be useful to summarise the series and calculate time complexity.
Thanks for summarizing 🙏
And in high schools it revolves around mainly on calculus and trigonometry
@@jatin_lanje you're gonna need slightly different series that AP or GP to calculate space time complexities
How about statistic?
The five math skills I need for my job are; addition, subtraction, multiplication, division, and fractions.
what ur job
Sadly those skills are beyond most working adults. I'm a statistician in the insurance industry.
The politician ask 4 contractors: "what's the total of 1 plus 1?". The first three answer "two". The last one asks : "what result do you need?" And gets the contract
same with accounting, we even use calculators haha
😂😂😂😂😂
"We don't have the luxury to giveup the process just because we don't like one particular thing" true.
👍
This is a quote for snowflakes in the west too!
Yes, but recruiters need to wake up sometimes. I have been in an interview for a company that used a library that I created as open source project (and they knew it) . They wanted to make live test if I know how to code ..... I said.. go to hell I will not work in a place so disorganized as this. They used every day code I did!
🔥🔥🔥🔥
@@tiagodagostini Perhaps the interviewer was not even aware of this fact...
Senior Engineer with 8 years experience at a decently sized Australian tech company. I do have an engineering degree but don't consider it a necessity. I don't use these concepts often, but do occasionally. Mod and Exponential are the most useful. I don't really drill people on Log if you can eyeball a loop and explain what's happening and I can follow then that's a question answered well. Encouraging people to make mistakes and learn from them. The most important thing is to be able to think logically and be able to articulate decisions.
I think times are changing slowly more math is definitely needed for several projects.
We're at a saturation level now and not the wild wild west where anyone with little skills (eg. making mice, speakers, remote controls ...eg. something like logitech can earn tons of money)
8 years experience makes you a young mid-level engineer. I have 45 years of experience. You are nowhere near senior level.
@@bm5906 You have 45 years of experience in which technology ?
@@williammbollombassy1778 Anyone with 45 years of experience has changed technologies a lot. Many of the technologies I've used no longer exist. Hardware, languages, and operating systems come and go. New things come along. There are some constants, like COBOL, C, SQL, FORTRAN, make, emacs, etc., are still around and you can make a good living doing them. In the right niche you can even be in high demand. But generally career longevity requires constant adaptation to change.
@@bm5906 You can learn a lot in 8 years. Stop the 🧢. I have been programming since the early 90s. I have know many people with just a couple years experience become experts.
Indian instructors always manage to deliver the most useful information in the most incomprehensible accent.
lmao so true
Calculus ( even a painter needs it ) + Linear algebra + Statistics & Probabilty + Discrete math. This is what you need. For a start.
Nah lmano
What domain are you working in?
@@jeffpenrod8573Mostly generic backend infrastructure of service meshing.
As a mathematician who has always been working in software development, I often find it frustrating, how little Math I'm actually able to use. The recommendations in the video were spot on.
Though, aspiring developers should never underestimate the value of a solid theoretical background. If you have an area of interest besides computing, you should go for it and learn to code as a secondary skill. It doesn't matter if it is physics, mathematics, chemistry, economy, electrical engineering, linguistics - even history of art. Computer science is also great, as it provides a lot of insight, you will have a hard time mastering if you just focus on your practical skills.
Hi sir, actually I'm persuing Mac mathematics 2nd year along with this I want to learn some computer skills so would to suggest me any skill to learn to develop my career
@@sumaiyachand8935 The obvious choice would be a programming language. If they don't offer a programming course within your career, Python would be the one, I recommend for starters.
PS: You shouldn't call a lady "Sir".
@@mina_en_suiza tqsm for suggestions mam .. and sry for calling u as a sir...
@@sumaiyachand8935 No problem, dear.
I love that programming has hardly any maths as it’s by far my weakest subject. Yeah I can somehow code and program but I suck at mathematics so I’m screwed lol
Time complexity is n*logn since for post increment I++ or post decrement i-- time complexity is n for addition and substraction . In second case it is logn for i*2 similar for division.so there is for loop inside another for loop so we will multiply both time complexities.Hence time complexity becomes n*logn
Thanks for participating 🙏
One more concept that is missing is probability.
In your exponential backoff example, the true algorithm doesn't exactly back off exponentially but rather picks a random number between 0 and x^N. This ensures that simultaneous clients don't remain synchronized and traffic can get through.
One of the reasons programming is challenging is because an individual must learn and waste time on a lot of things that are never used. Nested loops are a bad practice in real world implementations yet a programmer must be aware of them anyway.
I am doing it. I am getting it every day. Inch by inch. I know that one day it will happen. As long as people like you exist! I will make it possible. Thank you so much. Keep spreading knowledge.
Good luck Spandan 👍
This is a brilliant piece of teaching, with one real-life case illustrating five crucial math concepts!
Thanks Yan 🙏
Perhaps if you understood the language he speaks.
Outstanding video and thoughts on what can help a developer! Having not been in a math class in a LONG time, the first two I'm very rusty in, but the last three I understand. If I had thought of what I know already, a lot of coding problems/DSAs would have been easier to approach. Instead, I over complicated things by not really understanding what I was seeing and read. Thank you for this video, it really cleared up some things for me!!! Now, I can use this approach to get better and confident in resolving issues.
Thanks 🙏
Honestly, I think the main point here is that knowledge is more linear than spacial than most think.
It means, your scalar level grows as much as you learn, despite the actual content, because all boils down to how mature is your brain to associate problems with a solution.
The actual subject is important for a specific need (like answering something fast), but in a long run, who knows when you gonna use it again?
So, in the end, always keep learning, despite being engineering or math, physics or other.
The more you learn, more evolved is your brain, more capable person you are.
Mathematics is not only good for software engineers but mathematics helps a common man in every field of life. By the way I love to learn new examples and solutions of mathematical problems. Your way of explaining the mathematics importance is very impressive 👍
There are some channels I feel proud that Ive subscribed to them.. Power Couple is one of them 👍
हो का 😏
🙏
The way you teaching mathematics concepts, It's great developer can relate concepts while coding.
Awesome
Thanks 🙏
Your graphical display of exponentials really drives the message home. Great video.
Thanks 🙏
at 3:56 generally in mathematics it is log base 10 because we are dealing with decimal number system in computer science we are generally deal with binary that's why log base 2
things to add, from my experience
1. If you are just a web dev, basic math would suffice, maybe an introduction to discrete math, graph theory, and set theory
2. Embedded systems, depending on the task can vary from simple IoT devices to full-blown embedded controllers, which HEAVILY use math (Signal analysis, calculus, (discrete)Laplace transform )
3. AI, and machine learning programmers, heavily use graph theory and predominantly linear algebra for their optimization algorithm, gradient, and non-gradient-based optimizer. If you want to know the "under the hood" math of AI, you can read engineering design optimization by Joaquim. Although that book does not explicitly say AI ML design, but its knowledge is easily transferable to AI ML design.
4. Robotic, and mechatronic is a combination of DSP, kinematic, and dynamic mechanic
4. Dont ask me about 3d graphic engines, I never touch that subject
(with that being said, I usually forgot about fizzbuzz and big O notation)
In my experience, we usually hand off the DSP (i.e. Signal analysis) work to the electrical engineers. And electrical engineers then put it on Matlab, so they actually don't end up doing any math. Matlab does it for them.
@@ArnoldSommerfeld "Mathlab? ha peasant, i use baremetal C to model a control system all by myself" -Insert a mocking elitist british accent.
with that being said Matlab/scilab and ROS make dsp and control system MUCHHHH less pain in the ass
@@mickolesmana5899 In the real world, Matlab is used.
@@ArnoldSommerfeld agree, at job not using matlab is basically shooting your own foot
@@ArnoldSommerfeld First, you need to know math to properly use Matlab, second, it only gives you the reference (golden model) for the implementation not the solution. Even if you are working with electrical engineers, digital signal engineers, rf engineers or whatever you need _some_ understanding of higher level mathematics when communicating with them.
Thats a bit missleading. For backend guys.. sure. But as FE dev I never used any of the concepts u have noted in your video. The most difficult math I ever had to do was to calculate the final price in the basket after deducing the 20% discount. Counting with percentages is being taught at around 3 or 4 class of math pre-algebra at elementary school.
i think if you have touched the programming of robots, you may realize there are a lot of maths involved including matrix, calculus, tensors, linear algebra, .. etc. If you work with neural networks, also involved a lot of maths of different areas.
I know bit of vba excel and tried the same.....it took me some time but i figured out with values from stick breaking example
for all the beginners who know excel vba it's down below
Sub test()
Dim N As Integer
Dim i As Integer
Dim j As Integer
N = 32
j = 1
For i = 1 To N Step 1
For k = 2 To N Step 0
ActiveSheet.Cells(i + j, 10).Value = k
ActiveSheet.Cells(i + j, 11).Value = N
ActiveSheet.Cells(i + j, 12).Value = j
j = j + 1
k = k * 2
Next k
Next i
it may not be the best but serves the purpose.
Finally a crystal clear answer to this question Thank You and Much Appreciated👍
Thanks 👍
One of the best videos on the subject matter I think. And you have teaching talent as well.
Dude i have watched 2-3 videos on log and time complexity. And this particular topic where we use logarithm to describe time complete. I never understood what it actually meant but you just explained it so simply in a few minutes. Now i need you to teach me DSA man.
same !! I dont understand dSa
Spent a year learning modular arithmetics and mathematical analysis after watching the video. Thanks! I enjoyed math really
Time must be passing slightly differently for you 😅
@@Gigusx that's the joke xD
Bhai topics bta maths ke jo programming me use hote hai please
I love your content, keep uploading in this manner
Thanks 🙏
These math problems are pretty easy, we used to have to solve a lot of tasks like this when I was a student in high school.☺ I loved these tasks.
Good for you
ur a badass
Good for you then.
what class did u take in high school about coding
This was an amazing video!! Thank you man
Thanks 🙏
The beauty of computing is, you can test out the answer by your own by implementing your thought.
Also, only a very small number of programmers are needed to focus on algorithm while most of us are just struggling in a chaotic framework world.
basically you are expected to follow your manuals (doc) when you want to implement something.
Wow! The way you explained the things 🔥 was great
Thanks 🙏
So much good stuff crammed into a 9min video!! Maza agya!
Thank you my friend. I am learning programming in my middle-age. I find programming is real fun, but I also find the maths skills you are discussing are also enjoyable. Even the professor did not explain the concept of exponential to me clearly when I was studying finance, but your video did it.
Wow I'm learning coding in my mid 30's seeing someone doing the same is motivating..🙂
That’s great to hear. I wish you all the luck 👍
Dear Power Couple,
Here are some flaws I found. Kindly correct me if I am wrong. Writing based on the knowledge on R programming.
1. N is not necessary be a power of 2 and the nested part will run only some integer times say K.
2. So it will be wrong if I will write 2^K = N. Therefore the loop will run till the 2^K
If you look closely, log(y) = log(N) - c where 0
@@sahilandsarra Yes. Btw I am a statistician not a hardcore programmer. Thank you.
👍
2:14
N * 2^N
6:56..... Answer is 27 (basic pnc)
I request you to correct me if I'm wrong 🙏
Thanks for participating 🙏
I study Computer Science. In my university, I have to learn Differential and Integral, Discrete Math (Discrete Structure of Computer Science), Probability and Statistics, Linear Algebra.
same but instead of "Differential and Integral" its cal I, II, and III
5 skills: Calculus, Optimization, Probability & Statistics, Numerical analysis, Algorithms
Golden answer is O(N log N). However O(N^2) isn't wrong. Big-O only captures asymptotic upper bound, not lower bound. Big Theta captures both. Theta(N^2) would be wrong.
2:07
Time complexity : N(√N +1)
Sorry if I'm wrong
Thanks for participating 🙏
I would suggest adding propositional logic to this list.
There's a frequent misunderstanding I've noticed among programmers: confusing mathematical operations with logical operators. People often mix up multiplication with conjunction (AND) and addition with disjunction (OR), thinking they work in the same way. For instance, while in arithmetic -3 + -5 is analogous to -1 * (3 + 5), this analogy doesn't hold true in logic. A common mistake is to think !three OR !five is equivalent to !(three OR five), when in reality, it aligns with !(three AND five) according to De Morgan's Laws. It's important to understand these distinctions in propositional logic for effective problem-solving in programming.
Motivation , direction , everything in one channel, for free , can not thank you enough for taking time to make these videos
One of the best video so far I came across, Thanks for such video.
@Sahil I would like to thank you for this masterpiece explained in the easiest way! First, let me express my appreciation for the clarity and simplicity of the explanation provided. I just want to tell you that at the 4:50 mark in the video, the total number of times 'Hello World' is printed should be NX(K+1) ; Given that N=8 for onner loop, then for each iteration of the outer loop, the inner loop will run 3 + 1 times.
You certainly do not need math for web development, anyone telling you that you need math for web development is a fraud trying to sell you a course, or someone who is just a gatekeeper.
The 2 actors: 1 Systems Engineer (SE) w/25 yrs seniority, and me. The job: a large simulation project, part of the Strategic Defense Initiative (Star Wars). The phase: requirements analysis. SE thought it would be straightforward, do it all in FORTRAN, plus keep it all in memory for speed! Me: pointing out that X by Y pixels, multiplied by NumWavelengths, number of mirror scans, size of data storage, and finally by duration (all in the era of VAX computers) needed more RAM than could be engineered at the time. Also, interpolations and point-spread functions tended to slow things down. Spoiler alert: nobody on the planet marketed a machine that big, and the sim run times never got to be in real time.
Lessons Learned: sometimes you have to finish back of the envelop calculations (and show your work). It helped that the compiler agreed with me, as it complained about the array sizes.
Having done programming casually since elementary school (I began teaching myself BASIC in second grade!) I can tell you that math is probably the biggest part of programming. Virtually every program-- even the simplest ones-- use variables to some extent, and usually also apply functions to said variables. Unless you're writing a "Hello, world!" program, you're using variables and by extension, basic algebra. If you ask the user for any input at all during a program, you need a variable to store it, be it a numeric value or a text string. And if you want to do anything to that user input besides repeat it back to them, you're going to have to write a mathematical expression that involves the variable that stores said user input.
In short, programming IS math.
The math skills that I personally prefer are:
1: Derivative
2: Integration
3. Limits
4. Modulus
5. Matrix
Hey Brother, could You be so good and generous what exactly skills are need for programming to be on very high lvl ?
@@Holy_Desire One of the most important thing that is required in high lvl programming is a very strong understanding of basics, it's not just about understanding them but how to use them in real life applications, I suggest making a game using your selected programming language if possible, making a game can help you alot in understanding the basics and using mathematics, you have my word try making a game
@@RaghunathTambde thank You, i think that is going in a good way, from now focusing will go further on extremly clear understanding the basics in programming like in mathematic, sadly i can not write any game alone for now but concept is for sure aviable. It will be awesome to stay in tune... :D
this is the question i asked my mentors but they told we dont need maths ...... Nice video keep going
i got a good idea nice sir
Thanks 🙏
Logarithms weren't my jam in high school but boy did that exponential curve drive the point home. Gonna do 1% better at coding and math every day. Submitting to the beginner's grind on JAVA. Working smart, Focusing on the 20% and staying healthy and mindful like you preach, brother.
please bring more such videos related to data structures and algorithms explaining the concept...love ya!
Sure ❤️
@@sahilandsarra yup this is something which is really needed for any future programmer rather than videos which are made for views.
Thank u for such content
Really means to real future programmers.
Even if my job was just a computer technician; for me Number Theory, Topology & Calculus is incomplete without Statistics!, So to understand Computer Technology we really need mathematics as a skill in our toolbox.., just like Data Scientist did on using both Microsoft Excel & Statistics for advanced efficient calculations.
Wow! Never seen a simple, short but powerful example covering all the 5 vital skills which are explained very clearly 🙏🙏🙏
Thanks a lot
This is what i was searching from long time
As all these concepts are covered in schools on secondary level in my country - it’s as obvious requirement as ability to read and write ;)
people are just getting dumber day by day and these type of youtubers are the ones who have contributed the most for this
This guy is right! You win my like and I am following now!
After completing my diploma and degree in mechanical engineering, I joined a company as a mechanical engineer. However, the salary was low, so I decided to change my career path and began learning web development. Unfortunately, after only two months of studying, a recession started and I am now worried about the potential impact of advancements in language models such as ChatGPT on the job market for web developers. I am currently confused about what to do next and am wondering if there is a future for web developers in this current economic climate.
Bro Chat gpt wont replace us. I'm a React,Svelte,Node developer, but in my company I have to use PHP some times which I dont know. Then I use chat gpt. Its a tool for programmers, not a replacement. I think chat gpt just replaced stack overflow, quora etc. So dont panic, just keep learning.
I'm going through the same situation I'm 2020 passout (electrical engineering) i don't do any job(jobless) I have started learning web development
Shahbaz bro, don't worry about the job opportunities for web development, just focus on the skills and effort. Chat GPt will not replace jobs in a jiffy. Things like this come and go. I don't say there is no future for chat GPt but as of now there is future for you. Master your skill and put your effort.
It's like saying Internet will terminate postal service. Postal service has changed what it used to be and evolved but did it close down? No.
learn to use ChatGPT to your aid ❤️
How about MBA?
you will apply your REAL math skill when you try to design something beyond only just software (for example robots)...math is also very useful when you want to apply it in models
I honestly don’t regret going into Chem E vs being a programmer, after we complete our research, designs/drawings are finalized, we’re going home, the programmers were ALWAYS on the clock during big projects(but they are very important). I do enjoy using math to solve problems, but not in the same way programmers use it.
What do you dislike about the way programmers use math? (im a non involved party here, a law student)
greetings
I have been in computer science for more than 30 years, until today I have not had to calculate how many sticks or fabrics to cut, nor have I had to calculate how long it has taken me to realize that there is a connection error (obviously) If it doesn't work for you, it means that there is something very wrong. When I design databases, the first thing I do is consult with a specialist in the business to be modeled, and I take out the tables and relationships to build, in the 10 years I've been working as Developer, only once have I needed addition, subtraction, multiplication and division, and that was when I built a financial application.
Really loved this! Thank you man! ❤️👍
❤️
6. Numbers systems: decimal, binary, hexdecimal of signed/unsigned integers & floating points (FP) special numbers periodic fractions (e.g. 1/2, 1/3rd, ...) in decimal or binary, accuracy FP calculations.
7. Numerical mathematics: algorithms to calculate constants (e, pi) & trigonometric/transcendent functions (log, sin, cos, tan arcsin, arccos, arctan ...) also Regula Falsi, Newton Approximation etc.
@I have a degree Diplom Ingenieur Technische Informatik a spezialization and mix of electrical engineering and computer engineering (covering math, techn. mechanics, techn. thermodynamic, experimental physics + chemistry, electronics & micro electronics, measurement & automation technology, control theory, communcation technology,
Computer: Hardware: architecture cpu µC rom/ram I/O bus+networks; Software: binary machine code; assembly code; FORTRAN; C; Pascal; Operating systems SHELL Script).
Here are the topics:-
Combination
Logarithm
Factorial
Exponentials
Modulus
Thanks for summarizing 🙏
2:07 no times N is undefined therefore N="0"; and loop is done. 3:20 5 times binary also egyptian math. 5:25 6 but you can always cheat with crunch. But how was Pythagorean theorem not in there I use that in almost every robot I build how do you calculate where objects are in a 3d world without that formula. Using only cameras and yolo
Such a beautiful information with Powerful delivery awesome man 👌🏻 god bless you for helping all of us. Thanks
I suck at math yet I’ve been THE lead developer on multiple software engineering teams, and now I’m on an enablement team that helps enterprise development teams when they get stuck. Math has little to do with programmatic logic. It does come in handy sometime but it’s grossly overrated. What surprises me is how many developers and software engineers should not be near a computer. Seriously at a bare minimum I feel like you should know what “ping” and “nslookup” do
Your technique of teaching is so different...🥰
Thanks 🙏
no.of three digit numbers formed using 0 to 9 digits without repetition are 648=9*9*8
Excellent video explains with simple and effective method Thanks for sharing
❤️❤️❤️
i gone slept while listening your slowly voice. then i again start listening this video very carefully and ultimately got knowledgable and motivated.
Just another quality content 😉 and another accreditation from me as to ur previous videos . Love it ✌️
Thanks 🙏
This video saved my life! Thank you!
I’m glad I could help 👍
Sir pls make a Playlist for Data structure and Algorithm...
I like the way you script the video. It has good logic structure and it is easy to follow.
Can you please make a video on current layoffs and what lies ahead , especially for students who are in their final year of college preparing for companies
I’ve already made a video on this
No need to worry, tech is going nowhere. And it offers a very fulfilling and high paying career. And don’t worry, you don’t have to be great at maths to be in tech. Firstly, not everyone works for product based companies like google, and there are dozens of roles in tech other than software engineering
Subscribed. Awesome video. Will go through these concepts
Thanks 🙏
Thanks for the video, very informative
Thanks 🙏
Thank you so much for your videos, you help me a lot to look and move forward with coding!
Explaination at timestamp 3:45
According to log identity
log (a^x) = x log(a)
Here question is 2^5 = 32
So, by taking log both sides
log(2^5) = log(32)
It will become
5 log(2)base 2 = log (32)
Since log (2) base 2 becomes 1 so, we'll get
5 = log(32)
feel free to correct me i am wrong anywhere in this explanation :).
Would N*sqrt(N) be a correct answer?
@@wokeclub1844 no the time complexity here will be N log(N)
Thanks for the explanation
This is indeed gold, great job! 👍
Here's an another question for viewer,
How many three digits numbers can be makes with the digits 0,1,2,3
Conditions
Question 1: repetition is not allowed
Question 2: repetition is allowed 🙂
a) Repetitions allowed
sol - unique digits we have - {0,1,2,3 }
-->As for a three digit number we cant use 0 at the begging(hudred's place) of that number so we have only 3 possible values to use .
--->for second digit(tens place) of that number we have all 4 possible values(as repetition are allowed) and also for third digit(one's place) of that number .
--->therefore in total we can make = 3*4*4=48 different 3 digits number from { 0,1,2,3}.
b) Repetitions not allowed
sol -unique digits we have -{ 0,1,2,3 }
-->As for a three digit number we cant use 0 at the begging(Hundreds place) of that number so we have only 3 possible values to use .
--->for second digit(ten's place) of that number we have 3 possible values as repetitions are not allowed.
----> and for 3rd digit(one's place) of that three digit number we have only 2 possible values as repetitions are not allowed.
--->therefore in total we can make = 3*3*2=18 different 3 digits number from { 0,1,2,3}.
@@Arunacr you answered smartly whole the solution except at the bottom 3*3*2=27 😅,. Any way you're genius man ☺️
I am a jee aspirant, that's easy combination. 48,18
@@funcorner7131 exactly 😊
Thanks for participating 🙏
I didn't know any of this maths right now but i will learn them .. thanks for sharing.
Good luck 👍
Following the way of "learning by doing or start doing after learning the basics" according to you said I made couple of projects but i suddenly realized that i became more of a person who google stuffs than actually understand why we are using a code in a particular scenario , although i understand which type of code to use in solving a particular problem but if someone ask me to solve the problem in a alternative way maybe i would fail to do it ... Can you shed some light on my problem it will be really helpful, i hope u understood my problem 🙏
As I see it, most programming jobs only require basic math skills. When those skills are needed they are mostly related to algorithm construction. And talking about algorithms, 99% of the time it will be simple for loops. Of course it depends on what what you work with, but for typical front and backend stuff, I think I'm correct. I'm an experienced developer that suck at math. I couldn't for the life of me tell you what a logarithmic or factorial expression is without looking it up. Despite of this I've still had a successful and relatively high earning career.
Very well made video; will definitely search more about these concepts on my own. I like your attitude, by the way, I think you'd make a great teacher.
Depends what sort of programmer you are. If you're just doing web/gui programming, then you don't need any math skills. The more interesting programming jobs are where you need to do data science, create algorithms, run simulations etc. That's when you need math.
OMG!! I just really appreciate your content, video, efforts & knowledge!
It is genuinely worth knowing & helpful!!
#lotsoflove🇮🇳❤️
5:23 ans is 3×2×1=6 by permutation and combination
Thanks for participating 🙏
1. Coding ( I don't know coding as I am a civil engineer)
2. logx (y) = N, ~~ loge (X) = N ~~ log10 (X) = N
3. permutation, nPr = (n!)/(n-r)! = 3!/(3-3)! = (3*2*1)/(0!) = 6/1 = 6
= 9!/(9-9)! = 9!/0! = 9!/1= 9! = 9x8x7x6x5x4x3x2x1 = 362880
4. exponetial , 2^5 = 32, X^n
5. modulus, 27%5 = 2, how? the remainder after dividing one number by another
case 1, 25/5 = 0, 26/5=1, lly 27/5=2 just a remaining thing not divided as fraction leftover thing is called modulus.
Now is the time I regret not having had a good relationship with maths and school in general back when I was in school..
Another great useful video, thanks 👌
Thanks 🙏
This block of code is similar to the first one:
int sum =0;
for(int i=0; i
One word , DISCRETE MATHS
Taking that now
😂
It's funny that you miscounted the number 2 given what the topic of this video is and that you're making a recommendation about math.
The example given in this video to use a that algorithm is an edge case. Having a deep understanding of Javascript and building an Next App at large scale company does not need you to be a math bad ass. Yes data structures and algos will help you be a better progarrming. But even then how much bubble sorting does a front-end engineer need to do to optimize the front end?
Even tho I'm good at all these math skills, I still struggle a bit while coding mathematical codes. Math is a must for programmers.
So true! 👍
Not every programmer, Web dev is easy
No its not important
doesn't matter how much math you know you will excel in things which you love.
Also in order to learn lot of maths you must love it.
Also world also needs other people.The best ones. so whatever good things you do you it like no-one else, become an expert and hurrah.
Also pray for me.
There is a mistake in the first math question: The logarithm base is incorrectly 10 when it should be 2. The number of times "Hello world" will be printed is N*log2(N).
Another way to think about this stuff is to think about the goal in simple words - i.e. we want to reduce load on the server, and assume the server gets weak on each request. It'll automatically lead to these functions.
👍
I really wish they'd stop teaching log(N) in Big-O. Log(N) is always going to be lower than an arbitrary constant. There's probably not a problem in existence where it is a concern.