I did a linguistics degree before doing my computational linguistics PhD 2005-2010. In Australia we don't do any graduate coursework, so the last maths class I took was when I was 15 or 16. I'm now pretty good at these things. You can see my work here:
https://explosion.aiYou might be interested in the machine learning library I wrote for spaCy: https://github.com/explosion/thinc . The backward propagation can be understood quite simply with callbacks.
The main problem I had, and I think you're having, is that the notation around calculus is just hopeless. It's even worse when you're trying to map between the equations and backpropagation, because what you need is slightly different. I also find the notations for functions really bad.
The other thing you need to get used to are the ways linear algebra overload the operators. This is just data, not concepts. Personally I find it much easier to just work in the Einstein summation: https://obilaniu6266h16.wordpress.com/2016/02/04/einstein-su... . Once it's debugged, you can translate into faster calls to numpy.tensordot.
Don't go back to school. School's fucked. It'll take you three years to do about 200 hours of learning. Hiring a tutor would be vastly better if you need some help.