I need brutal honesty here, I can only do basic math like adding, subtracting, division, multiplication. About the Javascript course here on FCC, will I be able to complete it with basic math skills?

So I only know very basic math. Be honest with me when I start doing the Javascript course am I going to encounter sections that require math skills like algebra or geometry? I really need to know the answer to this because if so then I’m gonna forget about trying to become a front end web developer and just go back to working at fast food. Reason is, I am still learning CSS right now so I got hundreds of hours of work in front me when it comes to learning to code, and then if I had to spend hundreds of hours learning math again as well (I got up to algebra in high school but I literally forgot it all) that would be too much for me.

Though, if you google something like “Do you need to know math to be a web developer” you will see people saying that yes you do and people saying that no you dont, you’ll see mixed answers.

I mean if it takes advanced math to complete the javascript course then I literally couldn’t even do it, so be brutally honest with me?

I think from -my own learning experience - that it depends what you develop. For most websites and apps you don’t need special math skills as in superior math or university math, basics will do. Let’s say an app, website or landing page for a local business, such as restaurants, shops, etc. where you are just presenting content.

I think math is required for some specialized or hard to “problem solve” use cases. But now a days there is lot’s of tools to help you even in those use cases so that you as a dev don’t actually need advanced math. To be honest it’s hard for me to give you examples where you need math, but let’s say braking ground in animation with some innovative tech, like what the people at Pixar did, you can read and watch the story at Khan Academy. They used math concepts to model how the light needs to shine on objects to make them appear more real.

Maybe the people who develop(ed) AI concepts and tech -computer scientists- did need and do need advanced math. But there is also libraries that you can use that require almost no math.

So I guess it all depends what you want to develop. Do you want to develop something for which there are already standards, libraries and frameworks? Or is your goal to develop something is so novel that there are no tools available and you need to deal with problems in the realm of physics, chemistry, biology, etc. that their use case actually requires you to calculate efficiency, cost, logistics, simulation of complex interactions,etc.

Anyway, hope this helps. I’m just another fellow developer student. I for the most part developed projects of my own. Sites, web apps and one maybe two mobile apps, just for fun and for using my self and for a couple of friends. And I’ve never or very rarely have had the need to solve a problem by knowing math myself. That said I think I do feel curious to explore learning advanced math some time in the future.

:smiley:

All my best, fellow learner.

3 Likes

You definitely don’t need to know advanced math for coding, but at the same time, I’d recommend having a base understanding of high school-level algebra at a minimum.

Coding is inherently math-related. It’s full of lines of text that basically look like equations, and functions in math are a lot like functions in coding. There are also plenty of times when you need to know how to convert between different things, along with understanding 2-dimensional data (i.e., like the X-Y coordinate system).

That said, math is learnable, and there are online platforms you can use to study what you need to know. But if you loathe math, then I’d be inclined to say that coding might not be for you.

Also, you likely won’t get very far in CSS without knowing geometry. A lot of it is dependent on knowing geometry.

1 Like

You didn’t answer my specific question though, can I complete the entire Javascript course here on FCC with only basic math skills?

“Basic math” in the traditional sense? Then no. But you should be more specific on what you meant by “advanced math”, because to me that’s calculus and above. And you definitely don’t need to know that for most coding.

Math is a very learnable thing though, and anyone can learn it. I’d consider understanding of algebra essential for coding in any language.

Do you need advanced math? No. Do you need to understand the idea of a variable? Yes.

https://www.w3schools.com/js/js_variables.asp I understood everything on this webpage, so does this mean I’ll be able to complete the entire Javascript course on freecodecamp?

Did you do the Javascript course here on freecodecamp? Did you run into algebra?

Hey,

I’ve got a Bachelors of science majoring in mathematics, I don’t recall really needing any of the advanced maths I know for the FCC curriculum, linear algebra is helpful, but I don’t think it’s all that necesaary, if there is a problem you think requires algebra you can bring it to the forum and you will get some help pretty quick. This course only covers the basics, once you complete it, it’s up to you to go in whatever direction you want, alot of those potential directions don’t seem to involve too much maths to me, but maths definitely comes in handy sometimes, it all depends on what you want to do. I would say there is alot that you can do with only very basic maths, but maths definitely opens up some more options, I’ll probably never touch alot of the maths I learnt in my degree again, it just helped me become a better problem solver in general, but I imagine you can develop your problem solving skills without maths, through developing apps.

If you wanna brush up on some practical math in a programming context, project Euler is really cool, and starts off pretty easy.

3 Likes

I mean, the hard part of algebra for most people is the use of variables. As long as you can understand and use variables, you will probably be fine.

https://www.w3schools.com/js/js_variables.asp I understood everything on this webpage, so does this mean I’ll be able to complete the entire Javascript course on freecodecamp?

I already answered this question. I can’t promise that you will finish, but I think you will probably be fine. It’s hard to say until you try.

if you feel the need to know more math or review some stuff, Khan Academy is amazing in that.

2 Likes

I’ve done some of the JavaScript curriculum on freeCodeCamp, but not all of it. Yes, the very first section in the JS curriculum uses a lot of what’s usually taught in algebra classes. It goes over strings, arrays (including 2-dimensional arrays), functions, equality operators, conditionals and Boolean logic, objects, and loops. All of which you should know algebra for in order to best understand.

I’m not great at maths either. Many of the challenges do use maths, but, what I would say is this: get started on it and see how you get on. Any new knowledge is good for you. Arrays are not maths, even if they seem to be presented as though they are. Secondly, things like event listeners (making things happen when users click or press things) are really cool and don’t need any maths. Besides, you can always look up formulas online as you need them - follow someone else’s calculation method.

Basic math is fine for the curriculum. Variables in programming are not much like variables in math, and really more like labels for values, some of which can change over time. There’s only one “mathy” challenge, and I’m not fond of it being there, but it’s really just about looking up the formula and plugging it in. Algebra helps with that one.

There’s other approaches to learning programming that are much more math-oriented, but FCC doesn’t teach that way. Most programming is really more about language skills like written composition combined with logical thinking. It’s a very specialized language skill, but it is similar to composing and decomposing complex paragraphs.

1 Like

While variables in math and programming are different, I have found in engineering mathematics with programming courses I’ve taught that my students that were comfortable with mathematical variables were also comfortable with programming variables and vice versa. My experiences in that regard are somewhat specialized, but I think that they are illustrative. I saw similar things when I taught discreet math.

I think that the core concepts of data abstraction to variables and problem abstraction to algorithms or processes are common between the disciplines. They are different but at least in my experience the core mental sticking point is similar. There’s just less social baggage surrounding programming.

Which is a lot of words to say that I agree with you with the caveat that people are taught to think about math and programming more differently than they really should be.

TLDR: programming and math are very similar to me, but math is taught like garbage and has bizzare social hangups. If you can do one, you can do the other but hating math does not preclude you from being good at code.

1 Like

totally, with a science/maths background, I am instead pants at putting together something nice with the markup languages…

1 Like

I do wish programming was taught on more well-founded mathematical principles, but I’m thinking more category-theoretic stuff like Functors and Monoids and such. Discrete math comes in super-handy for algorithms, but after the computation model is built up.

We’re still teaching computation models like we were programming Fortran and C to squeeze out every last machine instruction possible. The ironic part is, most compilers nowadays are a lot more functional below the covers than the code they compile.

For, me one of the most important C skills is writing code in a way that it can be vectorized by the compiler. The math skills connections feel strong in those cases. Rearranging the same math (or code) in a more useful way is a key math skill.

Fun example - log1p is not vectorized by many compilers but you can replace it with a series approximation and get significant speed improvements. Or adjusting the order of nested loops to provide contiguous read/write access on the interior loop can improve vectorization.