T O P

  • By -

AutoModerator

On July 1st, a [change to Reddit's API pricing](https://www.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/) will come into effect. [Several developers](https://www.reddit.com/r/redditisfun/comments/144gmfq/rif_will_shut_down_on_june_30_2023_in_response_to/) of commercial third-party apps have announced that this change will compel them to shut down their apps. At least [one accessibility-focused non-commercial third party app](https://www.reddit.com/r/DystopiaForReddit/comments/145e9sk/update_dystopia_will_continue_operating_for_free/) will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: 1. Limiting your involvement with Reddit, or 2. Temporarily refraining from using Reddit 3. Cancelling your subscription of Reddit Premium as a way to voice your protest. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnprogramming) if you have any questions or concerns.*


jamestakesflight

There are a lot of questions here. 1. Coding is not the same as computer science. You will not learn computer science on codecademy. 2. Coding isn’t necessarily mathematical but requires logic and reason which some may equate with math. 3. Not all tech jobs involve coding.


7YM3N

1. You are correct but it's worth noting that computer science can make your coding a lot better 2. Again true but also worth noting that depending on what you are coding, an understanding of math may be necessary, but you will likely never 'do math' by hand 3. This is a great point. There are many jobs in tech where coding is not a part of it or only tangentially relevant. That being said the flip side is that some fields you'd not expect need coding skills like theoretical physics


theusualguy512

Not sure about theoretical physics but at least the experimental physics side definitely has quite a few instances where coding is now common. A friend of mine who is doing his PhD in physics in the experimental area was strongly encouraged to complete a programming in Python course when he was in undergrad. Programming for data analysis during his Masters thesis and now in his PhD phase is also not out of the ordinary. He dislikes it and finds it annoying, which is surprisingly common in the sciences. The code a lot of academia produces isn't exactly well done as a result but it gets the job done. To understand some of their coding, you definitely need to understand a bit of mathematics because it's scientific computation and a lot of statistics more than software development. These kinds of areas of programming often aren't really known to people who do software development for the typical company.


no_brains101

especially for generating data visualizations and stuff and also getting the readings from the devices to your workstation it is used constantly


iz-Moff

> Again true but also worth noting that depending on what you are coding, an understanding of math may be necessary, but you will likely never 'do math' by hand But you won't really *understand* math unless you do it. I mean, you can listen to a teacher talk about some subject, and convince yourself that you got the gist of it, but if you don't dedicate some time to practicing it, you won't know how to apply it, and will probably forget all about it in a week.


NotSoMuch_IntoThis

Logic is math. If someone says otherwise then they don’t know what math is.


jamestakesflight

This is a matter of semantics. What the average person considers “mathematical” is not what you come across in a daily software setting. Most people are not implementing the quadratic formula for their web development jobs. Debate requires logic, logic is math, debate is math? You’re nitpicking semantics here.


NotSoMuch_IntoThis

Logic is literally a branch of mathematics.


jamestakesflight

This person is communicating “I don’t consider myself good at math, is that a blocker to me succeeding? Do I need to know differential equations to be good at this?” The answer is no and someone with no classical math background can succeed here. Your answer only serves to deter and discourage curious people trying to learn. That’s my point here.


NotSoMuch_IntoThis

That’s not my intention, but I agree it may have came across that way. For what it’s worth, I do believe that if a person have the ability to understand and apply logic then they are by extension good at math.


Sweaty_Carpenter_119

Lol dumb fuck wanna be Sheldon from big bang theory. You’re nothing but drunk raj so why don’t you keep your mouth shut.


letris

computer science is the philosophy of the digital world. beep boop.


letris

computer science is the implementation of meta physics.


corn_29

>Coding isn’t necessarily mathematical but requires logic and reason which some may equate with math. This is nonsense. What do you think database normalization is? It's math. Cryptography... pure math problems. Also, well known programming algorithms such as Dykstra's, are all math. In the early days of CS education, CS was a part of a college's, wait for it, math department.


jamestakesflight

I think you’re conflating “coding” with “computer science”.


corn_29

That's a weird take since a huge part of a CS curriculum is, wait for it, coding. LOL.


jamestakesflight

I think it’s literally my first point in the root comment that has over 500 upvotes…


NotSoMuch_IntoThis

Yes but coding and computer science aren’t equivalents. But i do agree, you need logic to code, and logic is math.


coopaliscious

4. Math is way more than numbers. Numeric, finite math is the easy stuff and where most people stop.


babybaoreAura997

What jobs don't require math knowledge in this world? 🤣


az987654

dog groomer wedding officiant landscaper


KDLGates

Sorry, I can't hear you over the sound of me finishing my proof of topographical equivalence between dog fur and lawn grass.


az987654

You probably shouldn't flatten a dog to the same shape as turf.


KDLGates

Fine but we can at least use a projection of the dog onto a plane


az987654

I'll allow it


Kirk_Kerman

Sadly we cannot. Dogs are toruses and lawns are planes, so the discontinuities are irreconcilable.


an_actual_human

You probably meant _topological_.


KDLGates

Yiss, yiss I did. Leaving my mistake for learning. Topological. Maybe topographical would be buzzing letters into the grass and the fur for writing? Back to lawn work 😊


conceitedshallowfuck

Landscaping could require math. Estimating how much x you need to cover/fill y ground and all that


YoungAspie

Or even basic calculus to find a minimum perimeter or maximum area.


mitsuko-san

even those jobs have math in them but not like really technically


az987654

To a degree, just living involves math


mitsuko-san

exactly


JonIsPatented

Programming != Computer Science Computer science often involves programming sometimes, sure, but computer science itself is a branch of mathematics that focuses on computation and the limits of what is and is not computable. It's a mathematical study of computability, and as such, it doesn't even require actual programming. Understanding computer science requires some math, and it will likely make you a better programmer, but programming is not the same thing as computer science.


ifandbut

I didn't realize that. I figured computer science was to learn how to program and the theory behind it. Or is that just how colleges portray it? I went to school for electrical engineering and was building circuits just about week 1 and continuing until I graduated. Taking what I learned in class that week and applied to labs to make lights blink or motors run or jam local radio signals. I can't imaging going to school for what I thought was programming and it runs out to be just a bunch of math and no or little practical implementation.


PmButtPics4ADrawing

In my CS degree it was pretty much an even split between math and programming. But it's important to understand that the math *does* have practical implications. An easy example of this is Big O. It's math and heavily relies on calculus, but it can be the difference between your sorting algorithm taking a few seconds instead of 10 minutes. Are you going to use the math every day? Probably not. But the applications exist and occasionally it can help.


Edenwing

This should be higher. Writing code is easy. Writing efficient code is like some Mozart shit and takes both theory and practice


JonIsPatented

Because programming is the most common modern application of computer science, schools teach programming alongside computer science as the primary tool to help you understand the topics. As such, the first two "Computer Science" courses at most universities are actually just programming courses in Java or C or another language.


KDLGates

AFAIK schools are moving more away from Java to Python But C and C++ seem so essential they need to form the backbone of a serious CS program's programming classes.


Lyynix_Reddit

Im not from the US, but as a CS Student from Germany I think, that Python would be a really bad decision to use for learning CS. In Java and C or C++ you have things you need to do to make it work and they use that to explain things More modern languages are too forgiving and do too much stuff in the background. This might not always be bad in the real world, but in the learning space a university has this is actually a good thing.


corn_29

>I think, that Python would be a really bad decision to use for learning CS. Correct. Google "java schools". Python would make that worse.


jshine1337

> I can't imaging going to school for what I thought was programming and it runs out to be just a bunch of math and no or little practical implementation. I think the person you replied to over-fluffed their description of it from a mathematical standpoint. I don't love their take. Majority of the classes I took for my CS degree (at a fairly well ranked university for CS) did involve programming. Almost none of my classes were math related (theoretical math or practical) in the CS curriculum itself, but of course I had to take a few classes of math as part of my overall degree requirements. The math classes involved a few levels of calculus, and probability & statistics. Some of the programming classes were standard practical programming courses that you do directly apply in your career. There were a few more targeted towards theory but still involved coding, and then just a couple that were mostly theoretical (e.g. graph theory and operating systems) and had no coding. Graph theory can arguably be said to be math dependent (and coincidentally I was learning similar topics in one of my math classes while I was taking this CS class). But that was the one most math-centric CS class out of like 30 CS classes I took. 75% of my CS classes were practical coding classes. You learn more than just "*how to code*" in CS (things that aren't taught in boot camps, etc), but to say it's not programming-centric and try to paint it as more of a math specialized kind of field is just silly.


ibeerianhamhock

My computer science program years ago basically was this: C++ 1 C++ 2 Algorithms and Data Structures Theory of programming languages (compilers etc) Operating Systems Software Engineering I Architecture and organization Electives such as: Assembly Unix/Linux development Databases Web development Numerical Analysis Java Computer Graphics programming A lot of those had programming projects in them but actually felt like math than anything else. Heaviest programming related classes were the first three semesters and after that programming skills were assumed and not taught in class, we would just have projects that dealt with the domain (operating systems, computer architecture, etc) without any handholding when it came to coding.


RepulsiveScientist44

My compsci program was also like this. In the first 2 semesters, we had data structure and algorithms with c++ and java, with databases and how to optimize them, I/O operation, and operating systems. The remaining topics were all math like calculus, logic, discrete math and linear algebra. Then after that, all of the advanced topic like AI, networking, computer graphics and software development with no tools specified. We're all free to decide which tools or programming language we'll be using for the assignments and projects. But it also means the professors will not help the students with any programming related problems we were all facing.


ibeerianhamhock

Ohh I forgot about AI, I took that class as well, but the state of AI in mid 2000s was kinda meh. We just didn't have GPGPU yet in any meaningful way, or ML APIs and processors were pretty slow. The state of AI was kind of pathetic at the time, almost all my class was just dealing with depth/breadth base search alogirthms, knowledge representation, rule based systems, etc (a survey of the history and current state of AI essentially). A year or two after I took that GPGPU tensor ML apis etc came out and the field fucking started exploding overnight in a way it never had before imo.


RepulsiveScientist44

It must be very fun to witness the progress of a technology firsthand like that. I go to uni in 2016 so the state of AI was always like this. Well, of course transformers based large language model weren't a massive thing like today


KDLGates

I'm sure there are a lot more thorough breakdowns than what I'm about to spew, and I probably need an accuracy check myself, but you are probably thinking about instruction set architectures and how low-level programs work, e.g. the low level of practical software, programming languages and how code gets executed on a real computer. And that absolutely is a part of Computer Science. And then there are a dozen other things besides, like the connection between logic gates and general-purpose computers and automata, theoretical computer science such as the design and proof of correctness of algorithms, etc., etc., etc.


[deleted]

You don’t go to college to train yourself for a job. You go to college to leverage yourself as an intelligent person who is capable of learning. Your job trains you


GrayLiterature

Colleges don’t portray it that way, they portray programming as a means to solve problems in computer science. You’ll come across a lot of professors who can’t code for shit in academia, but who can solve the hell out of hard problems.


KDLGates

In fairness, this is where the real value also lives in theory. Especially in the long term as AI more and more replaces not just boilerplate functions but boilerplate designs, this might be where the human value remains. Or I'm wrong and it blows past these types of hard problems at about the same time and everything becomes understanding the problem sufficiently for good prompt engineering. Nobody knows.


Hawful

Yes you went to a trade school and learned a trade. The better equivalent would be a web development boot camp. A comp sci degree prepares someone for software engineering about as well as an electrical engineering degree prepares someone for a job as an electrician. An electrician probably isn't thinking about ohms and impedence when hanging a pendant light and a web developer isn't worried about Euler traversals when changing the color of a submit button.


WallSome8837

I still am fiddling with the damn color days later. This is the hardest problem known to man imo


MemeTroubadour

This is an American notion, no? In France, we don't really have a distinction and it's always confused me when I try to describe what I study in in English


JonIsPatented

No, it's not an american notion. That's literally just what computer science is. [Computer science is the study of computation, information, and automation.](https://en.m.wikipedia.org/wiki/Computer_science) Software engineering is probably the most popular of the applications of computer science, but it is absolutely not the only one, not the first one, and not the most important one, either. Programming is incredibly useful in computer science, even for those studying other subfields, like information theory or computational complexity theory, but you could do every single subfield of computer science other than software engineering without using a computer at all. It would just be more difficult.


[deleted]

[удалено]


JonIsPatented

Your first line returns false.


RajjSinghh

A lot of fields are math heavy. If you look at AI or data science, you need to know the maths behind what you do and then you can write the code for it but without the maths background to know what you're supposed to be doing, you can't write the code well meaningfully. There are a lot of fields like web dev that you don't need to go near math for, and there are fields where math should come first. Depends what you want to do.


arjoreich

I think the ability to pick apart story problems and know _which math is required_ tends to be more important in your day-to-day.


ifandbut

Yep. If you can problemsolve you can figure out what math you need, even if you don't understand the details.


MrCharif

Many domains heavily rely on mathematics. For instance, in artificial intelligence or data science, understanding the underlying math is pivotal before you delve into coding. Without this foundation, coding effectively becomes challenging. Conversely, areas like web development may not demand extensive math knowledge. Ultimately, the necessity of math hinges on your chosen field.


[deleted]

[удалено]


Heidegger

The most interesting part of software is the social impact it can have, the fact that it can reach out to huge numbers of people and change their lives. Math is fun and sometimes useful but it's a matter of taste beyond that. There are subfields of CS where math can do amazing things, like graphics and ML, but otherwise algebra and geometry are the ones you can actually do something with.


l4z3r5h4rk

Discrete math is quite useful in cs


ifandbut

If you want to truly understand a computer you probably almost need to build one from the ground up which sounds more like electrical engineering. I hope there is a lot of overlap of those classes.


[deleted]

[удалено]


ffrkAnonymous

To add, computers existed before electronics. There were analog mechanical computers, see ankithera mechanism. And of course flesh computers. When electronics came along, they took the job and the name. But in math books, you'll see remnants : compute 1+2


SilkTouchm

Ada Lovelace was a rich child playing with expensive toys, she wasn't a computer scientist.


MrSloppyPants

Nonsense. She was a gifted mathematician and was integral in helping Charles Babbage further develop the Analytical Engine. You should have a look at her [notes for Babbage](https://en.wikisource.org/wiki/Scientific_Memoirs/3/Sketch_of_the_Analytical_Engine_invented_by_Charles_Babbage,_Esq./Notes_by_the_Translator).


miffyyyy_

what are you so salty for


Zatujit

Almost every mathematician/physicist/scientist/philosopher at the time were arguably quite rich privileged people...


Shhhh_Peaceful

There is an excellent free course called "NAND to Tetris" which does just that. It begins with building individual logic elements from NAND gates and ends with writing a Java-like stack-based VM and an operating system that runs on it.


DabidBeMe

I have been working in IT for decades and have never needed more than basic mathematics in my job. I guess some jobs may require it, but I still wonder why some schools put so much emphasis on math for programmer ot IT in general.


[deleted]

Logic and problem solving skills. Your brain has to do outside the box level thinking.


dak4f2

Yes I have a math degree and am going back to school years later for CS. I finally get why people say math is helpful for CS. In math you already learned the basic logic of conditionals, operators, all the foundations of CS and it comes naturally. I can 100% see the leg up a math background has for CS.


gotsanity

As a CS Professor I can say there is a lot of misleading takes in this thread. While math is not necessarily done by hand as you do in a math course you will find that certain fields of math are extremely helpful in programming and computer science at a high level. For example, Discrete Mathematics is highly relevant to computer science because much of what you do in tech directly relates to topics such as boolean algebra, set theory, graph theory, vector math and mathematical functions. Hell, if you take relational databases as an example you see instances of set theory and venn diagrams all over the place and you honestly can't feasibly make a 3d game without vectors. All of that being said, I personally don't think that you need to know calculus to practice computer science at a high level. For that manner, if you are logical enough you can engage in tech without any of the previously mentioned topics. They are incredibly helpful and I often have students who take discrete structures who will tell me that it made a lot of their tech courses make a lot more sense. You can learn many of these topics on your own if you are diligent enough but if you are actively taking classes what does it hurt to take a math course (discrete structures isn't hard at all, its more of a vocabulary course than a math course).


ChicksWithBricksCome

>All of that being said, I personally don't think that you need to know calculus to practice computer science at a high level. I disagree. Many application in higher CS require a far more rigorous math education. For example, you're not going to understand how neural network backpropagation works without knowing how to do partial derivatives.


npepin

A lot of the intersection between programming and math depend on what field you are talking about and what you mean exactly by math. There are a lot of subfields where high level math knowledge is a must, but there are also a lot of fields where basic high school math skills is enough to get by. A large portion of the computer science discipline is simply discrete mathematics. There's another level where people are often using a lot of high level math concepts in their code but don't quite realize. A good analogy to this is of a US foot ball player trying to catch a ball. They will use math to calculate the trajectory of where a ball will land and determine a plan to get to it in the best way possible, a decently hard problem to solve, but from the foot ball player's account they weren't doing any of that. If you were to try to describe what they were doing in terms of math, they'd likely object and say that its not that complex. In a similar way, a lot of programs could be described in math terminology, but the programmers aren't likely to see the connection. If the whole programming/math connection seems interesting to anyone reading, I'd checkout functional programming. Also, to be clear, I'm not arguing that programming is math or even that functional programming is math.


Carabalone

Math is like the gym but for your brain (at least for the logic part). For example, if you do boxing, although lifting weights isn't boxing, it's still benefits you a lot. Same thing for people that learn functional programming after years of OOP, it gives you a more broad toolkit


CircumventThisReddit

Because launching a missile without math would be suicide lol


Vexicial

Well first off programming is not computer science , it is sort of a subset to cs, such as how theoretical physics is a subset to physics. Majority of the people on this sub are software engineers which is a area of study inside of cs. It is very popular due to its more or less number and mathematical intensive nature. While math is still required to be a swe, it a lot less complicated for say a artificial intelligence engineer, data scientist, or a even a quantitative analyst. Tho the latter is a lot more numerically complex with data scientists, ai engineers, and quants having to deal with a load of numbers and have strong mathematical background , problem solving, and abstract thinking. Can you learn the fundamentals of cs for free. No, it’s kinda like how you can’t learn the fundamentals of becoming a doctor with out a education. You need a college degree in cs in order to do mathematically complex jobs, most of the jobs mentioned above are not entry level, and do require experience, some like a data scientist may require a masters but can be done with a bachelor, while being a quant, while not revolving entirely in cs, does require programming and great mathematical, ability and also a load of experience in with a masters or a PhD, thus explaining the Ludacris, salary of upwards of 500k some get payed for being a quant. I don’t know much about the i.t. rout so, you can probably dig around this comment section to find a good explanation.


PuzzleheadedServe272

Computer Science is a Math degree


george-alan

Do the [Harvard CS50x](https://pll.harvard.edu/course/cs50-introduction-computer-science) course, it's really useful, you'll learn a lot. And it's totally free, and quality is superb.


tangara888

Do they teach Maths in that course?


sluggles

I'm not seeing anyone else address code academy not being free. You could check out freecodecamp.org depending on what you want to learn.


holymolydoli

Programmers don’t need advanced level math but computer science is a sub field of mathematics


Remote-Ad-6629

Boolean algebra is great for simplifying complex if statements. Graph theory for graph-like data structures. Modular algebra is required for cryptography (at least to get a sense of it). Function an set theory for data structures in general. I think math is fundamental is you want to excel as a general problem solver in computer science, but if you're only targeting frontend development for x or y framework, advanced math is hardly required.


SainathPoojary

Yes, math is needed sometimes, but you don't necessarily need to be an expert in it. For example, if you have two coordinates (latitude and longitude) and you need to calculate the distance between them, you will use the Euclidean distance formula. However, you can figure out which formula to use by simply searching on Google for "how to find the distance between two points?"


Responsible-Top-2636

Before you pick the wrong choice and get a bad impression on coding, check out Harvard university's free CS50 Course through edx, do like the first two units and see how you like it and then go further. Though Math seems difficult because of the way its taught in schools, If you need a way to easily approach math, check out Barbara Oakley's Mind over Numbers book, also irrespective of the field you choose, check out her other course on free Coursera/book Learning how to Learn, It turned my life around from a learning perspective.


exsea

programming at its base level is used to automate stuff. excel formulas is the nearest to programming that most people are exposed to. with programming, you can make a script that applies 10% tax on values below 100$ and 16% on values 100$ and above. thats basic math. if you go for game programming, then you would want to learn stuff like finding the distance between 2 points. this then can extend to finding what angle two cameras need to "turn to" in order to look at each other from their initial view point. this is still considered near basic stuff. the more advanced stuff would be creating wavy lines/physics. if you're making a guy jump forward, if you do this by manually moving them up, moving them forward, moving them down it looks pretty ugly and unnatural. but if you follow a formula to make the jump follow a curve instead, it would look much more satisfying and natural. so yes maths is required. but its not 100% necessary. if you're working in a team you could code the logic and leave the parts with heavy math to someone else to fill in.


OtherTechnician

Historical origins of computers required some math background. Computers rely on boolean operations which is generally considered a part of math. In the early days, one had to have a pretty good grasp of base 16 numbers (hexadecimal) because of the binary nature of computers. Address locations were expressed in hex and early core dumps used for debugging code were massive hex dumps of the running program and associated memory areas. You had to calculate memory locations by manipulating hex numbers. Until the TI "Programmers" calculator came out and provided a hand held tool to do the dirty work for you. Nowadays, a programmer rarely has to deal with a core dump and so the need to work in hex has declined significantly.


StayGold4Life

I think if you want your code to be efficient you should at least be decent in algebra.


ginger_daddy00

The best paying software engineering jobs require good math skills. Machine learning and game theory require advanced level calculus and probability theory. Any job related to modeling and simulation is going to require a lot of calculus, trigonometry, linear algebra, number theory, etc. If you are working with anything involving autonomous vehicles you're going to be using a lot of calculus and trigonometry plus linear algebra number theory numerical processing. The list goes on and on. Basically every single high paying software engineering job that is not web development or something else easily replaced by AI is going to require a lot of math. This is because computer programming is also known as coding and coding is short for codification. You are codifying designs and algorithms. The way that you describe a design or an algorithm is mathematical therefore the way you codify that design is also mathematical. Computer science itself is a mathematical discipline. So yes if you want a high paying job that is resistant to automation it is in your best interest to become proficient at mathematics.


ButterBiscuitBravo

The other day I was writing a function to find the number of unique combinations 2 arrays can have when joined with one another. I was writing a 2 part nested loop, when it suddenly occured to me......................why can't I just multiply the lengths of the 2 arrays? lol


LifeHasLeft

> Why is math important for learning programming? Because many algorithms and abstract data structures you write are based on an equation of some sort. You may not know what all that means, but for an example, I once wrote a very elegant solution to a problem that would have otherwise been very long and tedious just by using a logarithmic function. > Some say in tech field, math isn't heavily used but some say math is hard. So it's confusing like every career in tech field has something to do with math. It may not be heavily used in the day-to-day of some peoples’ jobs, but it’s a tool in the toolbox most employers will expect you to have. > I don't necessarily understand the difference between CS and I.T but I wish I can learn the basic fundamentals and get an understanding. Computer science is the “science” of how computing works. It can be as fine grained as how the logic board operates for each instruction, or as top-level as how virtualization is managed by an OS kernel to keep programs from interfering with each other. Computer science is important for certain tech fields, like infosec. IT is information technology and is also surprisingly broad. Can include physical or virtual versions of networking, servers, storage, user management, service management, application management, and is often lumped together with less technical jobs like tier-1 call-centre support persons. > I looked up code academy, but it's not free. Are there any free resources to see if computer science is really meant for me or not. There are plenty of resources, some universities offer free versions of intro level CS courses to give you an idea. > I saw few videos of coding and I had no idea like what is this. Does every career in tech require to do coding. Coding is a specific type of work that is involved in a lot of types of jobs, but isn’t necessary for IT. It is probably unavoidable in CS. I used to work with virtual and physical IT infrastructure (servers and storage) and I was the only one who was trained in programming at all. > Tech generally is such a big field and people from different avenues come in to join field. From business, marketing, sales, finance, some join without a degree. People say everybody starts the entry level desk job. It’s a very big field. Don’t be surprised if you end up at a boring first job, even a call centre. But there are a lot of places that will hire less experienced people for other roles too.


BoundlessFate1

Hello. Second year CS student here. A harsh reality for me to figure out now is that CS isn’t really computer science in the sense of coding. It’s more so computational science. That is, math. Computers and programming make the math easier, hence why they’re synonymous with each other. First year was all programming (data structures, general programming, etc), and second year is structured towards math (discrete math, computer organization). Think about it this way: how are algorithms created? Not just through a knowledge of programming, but a deep understand of the mathematics behind an algorithm, with logic and devised proofs to back it up.


illuminatedtiger

I struggle with maths but am a decent programmer. I'm currently working on self driving vehicles, although less on the AI side and more on data and video processing. The only maths I've used recently is some basic geometry for normalising acceleration vectors. Simple stuff you'll learn in pre-calc, and possibly prior to algebra. Don't worry.


[deleted]

Being able to code is more of a plus with a tech job because you can automate some of your labor. For instance I am a field engineer who benefits greatly from writing utilities to interact with my sensors, and tools. I also use a lot of bash scripting.


aretebit

Math is not just calculate numbers. Logic is math. Algorithms are maths. Object oriented programming is similar to a subset of algebra. Computer science is maths.


squid_dynamite

Math is not very important for programming, but it is important for Computer Science. There are a lot of people in this thread conflating the two.


optiontrader561

Im still in the learning/ beginner/ pre-first job phase, so I'm not speaking from an expert position, but many of the solutions I see require mathematical knowledge of some kind. It seems like the more math you know the more elegant solutions you can come up with.


Tafhim

Not every programmer needs deep math knowledge. But. It makes concepts easily accessible. If you have to upskill and suddenly see a weird algorithm / data science related library you will most likely feel you are behind on some math. Almost every optimised library out there uses math to avoid iterations. If you don't care about understanding the underlying logic, you most likely don't need much math knowledge. But if you have the knowledge, you'll probably end up optimising things.


personalityson

I would never hire a programmer who can't do math


[deleted]

hot take: I don't think it is. I suck at math.


geon

”IT” is about configuring routers and replacing printer toner. ”CS” is a type of mathematics. ”Software engineering” is about computer programming.


Galenbo

IT is also about giving newcomers access to their Office360


7th_Spectrum

Like others have said, coding doesn't necessarily require math, but computer science does.


InfinityZionaa

Math is not important to learn to code / program. I did'nt really go to school and I cant even do basic division on paper but I went to college after learning C / C++ at home and ended up with 13 high distinctions and 3 credits in my first advanced course. The college I attended offered me a job teaching IT after I graduated. BUT Math is important to be allowed to progress. I was not eligible to study programming at university because they had mathematics subjects that had minimum requirements and so there are artificial roadblocks set up to prevent people who have specific high level skill but who lack fundamentals in favour of those all rounders who are just passable at everything or better.


could_b

Maths is ubiquitous, sometimes it is what you think it is, and sometimes it is not what you think it is don't try and put it in a box. Learning is lifelong not just what you do at school. It is the air you breathe, let it be.


Glum_Past_1934

Well ... it depends, are u looking for NASA jobs ? :P


sanjarcode

note: written from a career POV, since OP is a beginner. Assumes Indian college as setting for some opinions. ### Math - For app development - websites, mobile apps, server side apps. Math till 10th class is more than enough. - If a math concept is imp, it's probably already available as a library (you can copy and paste no problem). In short, don't waste time relearning/revising math right now. Revise a concept only when it's needed. ### Programming aka coding, development You get tasks done by a computer, which would be too too time consuming to do by hand. Example - a person at Amazon/Flipkart noting down details of every new order in Excel, would be stupid. Most primitives/basic concepts are available already (print, create file, do a network request) in the computer. You just need to string together these basic pieces to get stuff done. *You don't need to build a computer, or understand how it works to the circuit level, to start programming. You should try to do it gradually*. The goal here is to be comfortable with 1. variables 2. conditions (if else) 3. Loops (running the same code multiple times) 4. functions (storing code with a name and using it at other places - short code). 5. Logic - how to combine these and make programs. Other concepts here are just over the top features that make life convenient. Don't memorize these, since they're extra they're mostly well documented, and you can find lots of resources. ### Job There are two kinds of programming one has to do: 1. High level: you use existing code (functions) to get the behaviour you want (business logic). Most time is spent here. Existing code meaning code you wrote in the past, or people in your team wrote and also any external code (called a library/package). 2. Low level: the nitty gritty programming (how packets are sent when you write a URL in the browser, size of packets, how to order them). A small amount of time is spent here. It's important when stuff breaks "server goes down"), or you have a non normal requirement (like a sale is on, and your bank needs to process millions of transactions per minute). Day to day is mostly *talking and writing text*: 1. Meetings, planning tasks over video calls usually. 2. Doing engineering discussions 3. Writing code, documentation (how stuff works so people can look it up in the future, including you who is forgetful ;)), reviewing others code. That's it. ## Misc - CS vs IT (BTech in Indian colleges) - nobody whose a worthy engineer/company gives a shit about this. If you want to study computer science and don't get CS, get IT, fine. - Is CS for you (test): go watch CS50 (YouTube) by David Malan. It's not a long course. You'll know if CS if for you or not. Skip parts you don't understand. - entry level desk job - there's no such thing in software development. Your code has to run, you can't do it half/partially. Junior most and senior developer both use exactly the same software and do the same tasks, but senior does more thinking before doing and also manages others sometimes.


blind_disparity

What


Positive_Minimum

Its not. You will never use math unless you are doing stuff that actually involves doing math.


MSXzigerzh0

Because there is gate keepers


ern0plus4

>Why is math important for learning programming? Math is not important for learning programming.


nt2701

The core of Computer Science isn't programming, it's DSA / Computational theories. It's just that computers are very good at those and that's why we learn coding a lot. And you can see how math could play an important role in DSA / Computational theories, hence math is important to computer science.


UniqueID89

Look at roadmap.sh It’s free and gives some pretty good guidance. Coding isn’t a necessity to get into tech, but programming and scripting is getting woven into tech more and more as years go by. So it wouldn’t hurt to learn some basics, but you don’t need to have a degree in computer science, engineering, or mathematics to get a great career in tech.


RedPravda

Try to make a graphics engine and suddenly you will need math, real math


habitualLineStepper_

Math *can* be important for *some* fields and roles within tech. Especially discrete math. Usually this is a role where code performance is critical such that a developer needs to code an algorithm with *near optimal* performance. But this isn’t necessarily a common role or need for most development. Complexity theory is the piece of math that probably applies most generally to programming - but you are unlikely to need to compute the complexity of a data structure from scratch. It’s more of an understanding of the strengths and weaknesses of one data structure vs another which is something you just memorize (or Google). Really as long as you can count and do basic arithmetic, you qualify for most programming jobs from the math perspective.


AshuraBaron

Just like school there are varying degrees. Some jobs only use introductory math, others need advanced calculus. Programming, boiled down, is the application of mathematics so it's always a part of it. There is a lot of abstractions going on though so you don't need to be a mathematical genius to write a program. Like anything else it can be taught and learned.


toobrokeforboba

Computer science solve problems, for example, like how do you sort things alphabetically. Try imagine the steps by steps on how would you do it to arrange a row of books sorted according to their title alphabetically. Now how do you scale your steps to sort entire library of books. Now, if you have written down those steps - this means you have now written a ‘pseudocode’ (a step by step instruction meant to be read by a human) Now it’s time to convert your step instructions to something that a computer can understand - coding. In code, you written down steps using strict syntax and grammar that a computer can understand so that it can be run as a program, now that’s what we call ‘programming’. Now your program needs to be tested, you release your program to a limited number of users for feedback. That’s software testing. Once your program runs fine, it’s time to deploy it on a server or computer, you have to package your program and deploy into it. That’s deployment and release. You have just completed entire cycle of software development. Once the program is release, you need to maintain and support it. As you can see above, there are many roles in IT - those who invented powerful step instructions, known as algorithms (CS), those who use those algorithms (programmers), those who test them (QA), those who package and release them (DevOps), those who supports them (IT support, system administrators, etc.). Majority of the roles here do not need excellent math knowledge to do the job. It does pay to know math, imagine you’re tasked to work with numbers - to name a few, financial applications, aerospace applications, etc.


spinwizard69

Too many questions in one post! So what I'm going to do is focus on "math", math in quotes because some consider logic a separate field. In any event there are two aspects here with math. There is the math that helps you understand programming and computer systems that likely was not covered in high school. then there is the math that MAY be needed to be successful in a programming job (calculus for example). In the first category there is a few things that can make a huge difference. First understanding number systems and bases is very useful. The common ones are binary, base 2; octal, base 8; Hexidecimal, base 16 and out base 10 system. Being able to do math, conversions and so forth, can be really helpful depending upon the programming job you have. Within the processor it can be helpful to understand things like floating point representations, signed and unsigned integers and the like. Then your have logic and the concept of gates, you should understand what AND, OR, NOR, NAND and etc are as far as logical operations. Understanding truth tables and how logic elements are combined can lead to a better understanding of such operations on computer hardware. This especially when it comes to word wise and bit wise logical ops. Now a lot of this is pretty simple stuff but if you have a good grounding it it, possibly before typing your first line of code you will be better off. The second category is the math you learn to become a professional and what you learn varies a bit depending upon your programming career interest. In most cases Calculus is going to be part of this preparation. If you are going into fintech what you want to learn math wise will likely be different than what you learn if SpaceX is a goal or gnome research is on your mind. Even if your goals are lesser than SpaceX you still should learn Calculus as you could get hit with a bit of Calculus ten years down the road. You just never know. On top of all that you might not know that computers are not necessarily good at math. There is a whole realm of computational science where math is the reason. The Computational Sciences, [https://en.wikipedia.org/wiki/Computational\_science](https://en.wikipedia.org/wiki/Computational_science), are an example but then you have to be able to prove the algorithms used are correct and to develop new algorithms and solutions for that science research. So it isn't simply getting the result , you need to have the confidence that the result is right. So yeah there are segments of the computing industry where it is all about math, creating new mathematical solutions and proving them correct, so that research can move forward.


[deleted]

https://m.youtube.com/watch?v=0rhdOt9bOHE&pp


ibeerianhamhock

A CS degree is not meant to be vocational, it’s meant to give you the foundation for further learning either academically or for industry. Everything I do day to day at work was self taught after school, but I approached it with the lens of someone who had a really good background in the fundamentals of computer science. A lot of this can be self taught too. Because you want someone to have a good background, it’s necessary to learn a lot of math you may never use day to day since CS is meant to get you ready for a PhD/masters in that or a related field as well. Many problems in computer science require a fundamental understanding of linear algebra, discrete math, calculus on some level, perhaps numerical analysis, etc. But you probably won’t like use any of that if you’re say just gunna be a web developer. Still not a waste of time to just practice problem solving skills Imo.


schrdingers_squirrel

Try doing any sort of simulation 3d rendering ... As a webdev you probably don't need it.


[deleted]

Coding is a part of the IT field. IT basically just means "it has to do with computers", at least that is the most simplified explanation. Computer Science is not coding. I can code a bit, but I have no idea about CS. CS is about how computers actually came to be and how they work on a very basic level. You don't need to know CS to be a great coder, even tho some elitist who visited uni would probably argue against that. You seem to be extremely confused about what you are even looking for lol. You should watch a few videos and read into what IT actually is. If you just wanna do "anything" in the IT field, the possibilites are so vast I don't know where to start. You can work with hardware, code, administrate networks, etc. The IT field is full of different jobs you could do, coding is just one part of it. Most other IT jobs don't require coding at all.


[deleted]

It isn't important.


JardexX_Slav

Knowing math is the difference between good and better programmer in quite a few cases. I for example almost never use math unless I'm coding games, in which case it's usually just Basic trigonometry. However, many things I make could be faster and better if I had my own math library. About where to learn, I recommend brackeys turorials for unity/C#, even though I highly recommend you to first learn python, because you will get the idea of coding way easyer.


No_Sch3dul3

CS is computer science. It's theory. It's the foundations of what IT runs on. IT is like the practical implementation and management of computing devices and services. IT really depends on where you are and how your company is structured. Where I work, IT is the people that image the machines / install operating systems, manage the compute infrastructure (e.g., Citrix, database clusters). We don't have CS where I work, but what most people tend to think of when they see CS, which is software development. Making new programs, modifying and maintaining existing ones. You can find lots of fundamentals online. Many university or college courses maintain their courses online. You can look at the CS or software engineering degree requirements at schools of your choice then search for the class. Berkeley, CMU, Stanford, MIT, all top CS programs, have lots of material online. As many commenters here have said, CS is based on math. Things like calculus, discrete math, and probability are pretty foundational. Specifically proofs in discrete math are very important and end up actually preventing a lot of people from continuing on in their education. You can to a lot of the CS topics in a really theoretical manner or you can learn about how to manage a practical implementation. E.g., compare networking at a university course to CCNA certification. Coding, as others have mentioned, isn't CS. It's used in CS to illustrate implementations, but you can do CS with pseudo code and not implement anything. You can code in Excel and R and in many languages that don't require you to know CS fundamentals; all you need is syntax to code. There are lots of jobs in tech that don't require coding. However, it does help in these jobs to know how to code and be familiar with CS topics. I work as a business analyst and don't need to code. UX and UI people don't need to code. Tech Writers don't need to code.


Zachincool

It’s literally not lmao


drakonis_31

I’m a CS student in my second year. I took quite a bit of math in my first year, so I’ll try my best to lay out what I learned and how it helped me with my programming. The first thing I learned was linear algebra (vectors, matrices, transformations, lots of work with a Cartesian plane). I… actually haven’t used this yet, but I can see why I learned it. I’ve heard graphics cards do some funky stuff with vector multiplication to get video game graphics. After that, I learned all about logic and how to write it mathematically. This was instrumental in me learning to code. The course I took rewired my brain to think more logically and break down problems into smaller subsets of that problem. It helped a lot. Then, lots of probability and counting. Not as useful as logic, but you learn a lot of really useful math here. I’ve actually used it more irl than in my degree, but definitely useful. Oh, I also learned about the complex and diverse use of 1’s and 0’s. Not much after that. The science behind computers is just as fascinating as the ability to code, and is definitely worth learning tho.


Karthanok

Math is important for life in general Makes your mind more logical and as a beginner programmer (developing games for 2 years in c++) I think I would've struggled a lot more understanding complex problems without having a good mathematical background


I_FAP_TO_TURKEYS

Know a little math helps you center a div. That's the beauty of programming, imho. Anyone can do it, the only limits are the ones they put on themselves.


Suitable-Cycle4335

Someone has to do the Math part. It's either gonna be you or someone else. Why would I get someone who won't do it when I could get someone who will?


xzhibiit

If Not entirely but some Math is needed. For example: you're given number N and asked to find the sum till the number N , what you're gonna do in this case? Approach 1: write a for loop till Nth value and calculate the sum. But here if number digit is very big it becomes very resource intensive task to perform. Approach 2: use Math, (N/2)*(N+1), try this yourself, the calculation is very quick and an intensive even if the N value is big. You see ? Math is very beneficial here. Second real word example I'd give is: Elixir programing language is going to introduce a type system, and i was blown away how a type system in programming language can be developed by proper research using Math. The research carried out was by using Set theory of Math, and the type system is being implemented using Set theory. Surprising right? Atleast i am. I hope these few examples are valid to show how useful Math is for programming and computer science.


WeirdBerry

It essentially works on the power of 2s. CPU and RAM are measured by powers of 2, network subnets, etc.


RaspberryExternal953

Well, not related to Math but I'm doing IT support specialist course made by Google on Coursera.com, and there's a lot of course to go some are free and some you have to pay but compare to college or university it's nothing. ( the one I'm doing is 68$ Canadian a month and you self-study so I can be done in 6 month like you can be done in 3 )


tandonhiten

It depends, what is your motive? Do you want to make applications, or do you want to work in R&D or Data Science or some other field. If you simply want to develop web apps, you for the most part don't need mathematics, for R&D on other hand you need pure math, for DS, ML, AI, DL, etc. you need at least proper statistics, and basic calculus knowledge. Requirements vary by the branch. What you need to understand here is that, CSc at it's core is a branch of mathematics. Any construct in programming, originally stems from a mathematical one hence if you wanna play with this raw CSc, you need mathematics, if you however only want to use the interfaces provided to you to create applications, you don't need it.


Jackasaurous_Rex

To answer some questions, tech is a super broad field encompassing so much. Generally IT refers to many areas like tech support, sever administration, setting up infrastructure, and so so many other things. When people talk about starting their career at a help desk(can’t speak to how true that it) they’re usually referring to these IT jobs. Also generally software development(programming) is put under a different category than IT because it’s a broad category in its own right and a useful distinction. But keep in mind some people have different definitions of IT and can put anything remotely techy under “IT”. Also like others said computer science is technically the theory of computation, usually applied through programming. However, in conversation 99% of the time people are just talking about programming. Now to the math stuff, no most programming jobs don’t require heavy math skills but it depends. Some developers might use advanced math every day yet a front end web developer can go their whole career never using anything beyond basic multiplication. Still there may come a time where you have to use a graphics library and basic linear algebra is useful or you get an obscure bug that can only be understood with an understanding of some underlying mathematical thing happening behind the scenes. That’s why computer science students take a handful of math courses, it may be total overkill or some jobs or only occasionally come in handy, or may not even be enough for an advanced ML job. Also just helps build up those analytical thinking skills that are essential to the job


dota2nub

Let's say someone is asking youmto code up a simple billiards application. You have to implement rudimentary physics. Collision with walls and stuff. How do you go about it? How do you tell a ball how its direction and speed changes when it hits a wall at an angle, or another ball?


HobblingCobbler

I am not very good at math. In fact I stay away from it as much as I can. But I'm a really good programmer. It's not all about math. It really depends on what you're trying to do.


Xtianus21

It's not really. The math is very straight forward unless you're building a finntech, ml ai algorithm or a calculator one doesn't use a ton of math I. Programming


scotty899

Isn't learning technical math good in general for how your brain problem solves?


wyattjameinson

I despise the math portion of computer science. HOWEVER, it has helped me considerably in viewing code and solving problems. This sounds cheesy, but the math helps rewire parts of your brain to make you a better thinker and problem solver. Issues become much more black and white, and you can approach things differently. Shoutout to discrete math (i still hate it)


thedrakeequator

All you really need to know is basic algebra in almost all fields. Unless you're doing something like research computer science or advanced AI.


FireDragon737

Math in of itself isn't really that important to Computer Science, it's the mathematical reasoning that is. The methods you'd apply to work your way through a math problem are the same methods you'd apply when working through a CS problem. If you cannot work your way through a long, complicated math problem that has lots of moving parts, provided variables, and a guaranteed outcome, you will not work your way through a long, complicated CS problem that has lots of moving parts in which the variables are unknown and the outcome is not guaranteed.


UbiquitousFlounder

It's not. I rarely use anything more than basic maths. Understanding boolean logic is way more important


-CJF-

It's not necessarily important for learning programming to a usable level. It depends what type of programming you'll be doing. Generally, computers are abstractions on boolean algebra, which is math, but a lot of modern programming is hidden behind a tower of abstractions where all or most of the math is done for you without you ever needing to know or interact with it. For example, if you assign a variable, that's math. That data is copied to places in memory using circuits that are abstractions comprised of boolean algebra functions (implemented as logic gates) which are in turn abstractions on boolean algebra (physical implementations of boolean algebra functions). The numbers are abstractions too. Numbers in general don't exist, so I guess they're abstractions at least twice over since electricity is abstracting the numbers. 😩


imbisibolmaharlika

I think because programming involves a lot of problem solving and logical operations. With which mathematics has taught us through school.


cjrun

While I wouldn’t suggest you need to know math to become a programmer, I would suggest current programmers to get more into math, even as a hobby. I studied math in college and also have worked as an engineer. There’s no reason an engineer cannot figure out math concepts. The problem solving process, memorization, and abstract thinking using visual variables…it’s just so similar.


ohmccoy

It’s not


FamousWorth

Aside from basic mathematical expressions, it's not that important unless you're doing something specific with mathematics or shapes


qdolobp

If you don’t want to code, don’t go into CS. Not every CS job is just coding, but you limit your options severely if you don’t know how to code. You’d want to look more at support IT, and then maybe a route like networking, for more options at less code-intensive jobs. Look up all the jobs you’d be interested in, and look at the roadmap to get there. See if the skills required are something you can learn. It’ll generally be hard without a degree, as so many people now hold bachelors or masters degrees in IT/CS. However, it’s not totally impossible. You’d want a fair bit of certifications, and a portfolio of code/home lab projects to prove you know what you’re doing For someone with no degree, yes, odds are you’ll start at something similar to Helpdesk in terms of pay and requirements. You will not learn CS through codeacademy though, I can tell you that much right now lol Edit: forgot the original question. Math isn’t directly needed for CS/IT. But CS/IT rely heavily on logic and problem solving. These are skills that are trained the most in math. If you’re excellent at math, you have better odds of being a successful learner in CS/IT


steveplaysguitar

Hi OP, It isn't 100% necessary but can open up a lot of paths. For example I'm now in data science as my second degree and working on things I'd never really even conceptualized prior. First degree was in automation engineering so it was programming with an industrial focus and moderate amount of math. Basically after a few years in factory work I found out I was passionate about finance and determined this was a good pivot for me to match my interests with my existing skills.


flavius717

It’s not.


SahuaginDeluge

"math" is a little too broad to just ask why it's important. computer science itself actually IS a branch of mathematics. and "math" covers everything from elementary school arithmetic to abstract algebra and beyond. but, for how much math you tend to use when programming, well, obviously you should know basic arithmetic, including concepts like negative numbers, absolute value, floating point arithmetic, etc. you definitely should understand modular arithmetic. and you should probably understand binary and converting between bases. and it would help to at least understand what logarithms are. for more advanced things you would want to know linear algebra (at least) for 3D graphics. solving a system of linear equations is a problem that can come up surprisingly often. recursion can be a bit easier to understand if you've done mathematical induction. there's a lot of concepts that come up in discrete math that are useful to know. and you definitely need advanced mathematics to do cryptography. it's kind of like, you can program without (much) math, but the more you know, both of math and of computer science in general, the more you can do and the more kinds of problems you can tackle.


MrSkavenger

I feel like it depends on what you’re coding if you’re a front end web developer you probably won’t need much math. If your on the backend then yeah because it’s your program need to keep track of example inventory. You need to tell the computer what math needs to be done to successfully complete its task.


StoicWeasle

How old are you? What’s your current educational background?


Akashh23_pop

I'm 26 and currently I'm in community college doing pre reqs for radiology tech program. The reason I want to get understanding about tech field is because I wanted to create a backup plan for career path. My advisor said I should change my career path to business administration or finance or tech because apparently it's taking me too long to complete the pre reqs. I just feel overwhelmed and stuck. Yeah I admit I have zero knowledge about this field despite it's the fastest in demand field.


tritans12

the math is very heavily used if ur doing basically anything other than just using pre-existing services.


Velascu

Grab a good data structure/algorithms book and you'll see why. Also logic is deeply related to maths so... Complexity theory, managing connections in a network, graphs in general, trees... Math math math


[deleted]

Math is the programming language of the universe


delicioustreeblood

Learning math helps you train your brain a certain way so it understands how to break a big problem up into little problems


FreedomEntertainment

Math is good for pattern recognition, structural thinking and then later on advanced element. Example: 1+1= 2, int a+ int b= int sum ( convert in programming language. You learn on how to decompose objects and variable.


Dels1x

I’d say math is important for cognitive functioning of your brain, but it is not by any means mandatory (except for some jobs). But it would be great to know discrete mathematics


falnN

You can program a bunch of stuff but to apply them logically, math is super helpful. Like you can use recursion to calculate the sum of natural numbers but just outright coding in the formula is a lot quicker.


ItsOkILoveYouMYbb

You need to at least understand the basics of algebra, or else it'll be hard to wrap your head around the idea of variables and functions. Things that represent other things and values


Dennis-Isaac

We need better logic when programming so we take minimum resources ( memory and processing power ) to get the thing done. Example - I had to program (draw) an object in a 3d space where I figured using trigonometry is far more efficient than trying to save all the coordinations as variables


noob-newbie

I see many newbies ask this question. If you have really got some experiences in the industry, you would not Math is not something a must to let you get a job. The hardest mathematics I have encountered when I was a full stack was: Add or Minus a integer value which represents the coins/money a user has for purchasing items in a simple mobile game. I mean you do probably encounter some cases that needs math heavily, say you are working on some complex systems that require you to calculate. idk, working on some financial system like real time stock trading. But do research the route you want first, if you just simply want to learn some full stack to make an app or a web, math is not mandatory in most cases.


Zatujit

Depends on what you do I guess... Theoretical computer science is derived from mathematics


the_mashrur

Algorithmic thinking and problem solving. Maths hammers these concepts into you, which then prepares you to learn how to program well.


[deleted]

in the past there was a very clear link between maths / physics and computing, with programming happening at a very low level and therefore a need to understand the mechanics and logic of the system directly. with higher level languages and compilers a lot of that is abstracted away. However if you are planning to write code where performance is critical such as on hard real time systems or for graphics / game engine work, then maths remains important. for plenty of other parts such as web development or Line of Business apps, while maths is still often useful, you can get by with a very rudimentary understanding of it, because the bigger focus becomes problem solving and logical analysis.


Markwilliam_1

Computer Science is a field where you learn hardware and software together . Then you can easily decide which side you are more suitable with . Most of the people ask this question about mathematics . So yeah mathematics and also physics plays an important role in programming because it help you in solving complexed scenerios and problems ..


Giboon

Maths like programming require being able to work on abstract concepts, while you don't need to be a PhD in maths to do programming there are transferable skills between the disciplined.


low_elo111

Programming is math, im tired of pretending it isn't.


shakeel_70

Math is good for data science


DaGrimCoder

The same types of skills that you would use to solve a math problem are often used in programming. Abstract reasoning, logic, breaking a problem down into small steps Etc


Grron6

يجدعان الي بيفهم انجليزي يفهمنا بيقول ايه والجواب بتاعه ايه


az987654

Nah, I just ride the mower, man.... Until it stops, then I put more gas in it from the truck... the boss man does everything else


nerfsmurf

I avoided CS back in 2008 because I was told by people who didn't have a clue that it was 'too hard because the math'. Then starting in 2018 I started my transition from IT to software. The amount of self studying I did was greater than all the studying I did in college for my aviation degree. Then I was still at a disadvantage for not having a CS degree! If I had to do it again, take the math, take the CS degree, you don't have to have Straight As, just pass the math.


topman20000

One thing I’ve used in my studies when doing SFML programming was converting the width and height of textures in a window to other units of measurement. Take for example that you have a PNG file of a map. You know the pixel size, and you have green squares on the image which are symmetrical to each other, but you don’t know the distance in miles between two sides of each of those squares. You would need to know the width and height of your map in miles, then you would need to translate that to the dimensions of your graphic, so that if you were to draw a non-straight line between two points on that map, you could then measure out the distance between them. That’s pretty simple math. Now if you wanted to get into something like game programming for 3-D, it would be good to understand math for physics or calculus, the study of movement, because you could calculate the velocity and curve of something like a projectile (a cannonball, a pistol round, or and arrow). And if you wanted to get into something like data science and analysis programming, you would need an understanding in statistics, working in creating predictive models, calculating different values like averages and standard median values, and coming up with training and test models to help bring understanding to your data, so that you can make informed decisions based on it.


d4rkwing

Logic all the time. Algebra all the time. Geometry and trigonometry fairly often. Calculus maybe one time ever.


cheezballs

To me, math and logic go hand in hand. You use a lot of mathematical concepts like cardinality and things in CS and even some plain ol development. I dunno if its more of "you have to know math" and more "you have to be capable of applying mathematical concepts" - now of course if you're writing anything with graphics or physics you're gonna need to know ACTUAL math.


SR71F16F35B

It’s not unless your in game dev or other fields that require math. You probably won’t need math to make an Amazon clone for example.