You are young. Becoming a coder is very doable at that age. I started self-teaching myself how to code a little less than a year ago just before I was 24 with no prior experience besides believing myself to be raw at math just like yourself.
If you understand math, it should not be too difficult. Everything is abstractions, and you get to create the abstractions. If you think about coding in terms of just organizing tables, it makes it really easy. Some of the fancier stuff might take some time (or some copying and pasting), but most of the syntax that is probably going to intimidate you is not necessarily useful in practice. Think of it as writing an argument in a philosophy class. What are the system’s conditionality’s? What is the end goal of the program? Sound, clean and uncluttered logic with a distinct argument and point is what you are going for.
Personally, I found that I learned very fast using PHP, MySQL, HTML5, jQuery, JavaScript, and the LAMP stack. It gave me the foundation to do AJAX (asynchronous calling) and learn a lot of the intimidatingly sounding frameworks which are not altogether that useful, necessarily (I only know as far as my opinion). But I would recommend checking out that stack. They work together nicely and are not syntactically challenging. Another thing I'd recommend is replacing your recreational gaming like crossword puzzles, sudoku, etc with Project Euler. Its an enjoyable way to learn while using competitive fuel/energy rather than draining any oil of finishing a task for a task’s sake.
However, for me, 100%, the single most important thing was setting myself projects, and committing myself to them despite my subconscious knowing they had no chance at success. The project I chose was a music new-era napster/iTunes in the cloud website. I would recommend something similar because it is relatively enjoyable to learn/code and there are a million different ways you can improve any base product you have, (offline playing, sharing at the blink of an eye, efficient uploading, and you can get rid of Spotify, Pandora, etc. You can also make it illegal as shit and feel like a cowboy and just see how great you can make it. Chances are, it will be really illegal but better than anything else you can currently get right now. Use that as motivation, enjoy the fruits of your labor, save money, and inspire yourself to keep going.

Once you've exhausted the features you can add to a music app, you can execute any idea that you come up with that utilizes the Internet, sharing, etc. You won't necessarily become a master of 4D printing, but any theory you have about anything you can test and create a physical representation of on the Internet.
Don't rush building it for the sake of finishing. Learn and understand what you are doing and your next project will have the potential of promis. I spent 3-4 months working on a website that I knew had no chance of becoming anything. However, I just kept smashing my head against the wall and making it better while slowly but surely improving my skillset to the point where new things now come easily, because I understand the philosophy.
Now that I have moved on from that initial music website I can now pursue much more innovative and intellecutually stimulating projects (which I wouldn't have been able to do had I not spent so much time on a project that I knew had no chance of success).
Give yourself a throw away project, commit yourself to it, and use it as training for the next one. If you truly commit yourself, you should be able to build pretty much anything you see on the Internet 1 year from now. That is not a guarantee! But you have plenty of time and there no reason not to believe that you cannot.